Tom Norton Has a Chance to Lead (an open letter)

DDowntown Greeley

The Honorable Tom Norton, Mayor

Dear Mr. Norton,

You have been mayor of the City of Greeley for nearly eight years. During that time, I have disagreed with some of your political positions, but I think it bears stating at the outset that you have done an admirable job of representing our town.

I am a Democrat - a left-leaning quasi-socialist who supported Bernie Sanders - but, I respect the value of difference of opinon in government of our country. I do not believe that we can be the nation to which we aspire without input from a broad spectrum of political ideas.

You have been a Republican for your entire political career, and you have been a reasonable, responsible steward of our trust, and while I disagree with many of your political beliefs I thank you for that stewardship.

However, it was recently reported by Colorado Public Radio that you were in attendance at a meeting of local GOP membership during which immigration policy was discussed in a manner that neither befits a man of your experience and intellect, nor works toward any manner of reasonable solution to the very real problems we have.

For this discussion to be made in terms of the following is unacceptable.

Michael Gale, who ate eggs at the table, liked the rules precisely because it they focus on seven Muslim-majority countries.

“We should only let people come in who are willing to assimilate into our culture. Our culture is Judeo-Christian. Their culture is warlord, murdering, lying, pedophile tyrants,” he said

I do not believe that this is an opinion that you share, and I recognize that today’s Republican Party is no longer the party of Reagan, or of George W. Bush, and that the very fact that your constituency requires that this kind of idea be tolerated, puts you in a difficult position, as is evidenced by your statement to the reporter.

Greeley Mayor Tom Norton, a Republican, said that he encourages patience when faced with these kind of complaints.

“When you walk down the street of Greeley, it’s a friendly community, and so you say ‘hi’ to a lot of people. But it takes a while for a refugee to learn some of the customs and the language.”

You, however, are in a unique, and, in my opinion, wonderful, position. You have the opportunity to demonstrate the leadership that served you so well as President of the Colorado Senate.

You can vocally, and unequivocally, condemn this rhetoric.

You can do as Senator John McCain famously did, in defense of his Presidential opponent, when President Barrack Obama’s religion was questioned in front of Senator McCain.

To characterize the entire population of people from seven countries as Mr. Gale did, is unacceptable in serious political discourse. Your party’s tolerance of this kind of hate is a significant part of the vitriolic impass we too often find ourselves facing in government today.

I implore you. Act as the better angels of your nature tell you. Condemn this kind of rhetoric. Lead your party away from this anger and hate.

In the words of John Stuart Mill, “Bad men need nothing more to compass their ends, than that good men should look on and do nothing.”

I choose to believe that you are a good man. You are now presented with the opportunity to show the citizens of Greeley the moral fortitude they have a right to expect of you.


-dave loftis

Filed under:


An Open Letter to Democrats in Red Districts

Distressed Flag

This is a tough thing to write. It is now very real that Donald J. Trump has taken over as President of the United States, and I am deeply concerned for the effects of the Republican government.

But, like a lot of people, I see a larger opportunity for liberalism and progress.

As background, most of you will know, I live in a very deeply red district. Colorado’s 4th is, according to the Cook Political Index, R+11, meaning Republicans are favored by 11 points, in a generic matchup. My Representative is among the worst, race-baiting, silver-spoon-up-his-ass-wearing, humans serving in Congress. No Democrat will beat him, until we find a dead male hooker in his trunk (and probably we will need to find that twice).

But, we have an opportunity today. Weld County, in which I live, is deeply red, but it tends to be conservative in a low-spending, responsible government manner. For example, during this past election, our neighbor, Larimer County attempted to fund and establish a county-run addiction and mental health treatment facility because they, a county that is represented by a Democrat, and which voted for Hillary, will put less money to more effective use if they stop outsourcing the work. The effort failed, and Larimer is left sending their folks to us, to Weld County, for their treatment. Weld County has no debt. We have a program which is offering all high school graduates a county-funded scholarship to college. In many ways, we are very forward-looking and progressive.

But, a Republican will win any district in this county unless something very strange happens (with one very balanced State House district, aside), simply on the historic strength of the GOP name.

That name, however, no longer represents the things that it has for decades, or the things that I believe the good people of my county actually care about.

The GOP just passed $9 trillion in spending to repeal their own ideas (see Gingrich, Newt and Heritage Foundation), and to return healthcare to its natural state of unfettered capitalist greed.

The GOP elected a pussy-grabbing con-man to carry their banner.

If ever we wish to see the political discourse return to civility, it is incumbent on us to stop doing the same things we always do, while expecting different results. To change the political climate in Weld County, and in other deep-red place in the country, we must remind people of good will that today’s Republican party is not the party of Reagan, or even of George W. Bush. It is the party of Trump.

We should remind every Republican who has ever donated to a Democrat just who they bear allegiance to.

We have more than enough data in the 12 years of VAN to identify every single person in Weld County who has real misgivings about Trump or about the direction of the country. For those people, should make toxic the word Republican.

And we should do it today, and tomorrow, and for as long as Donald Trump allows us.

The work starts today.

Filed under:


Unhorribling Online Dating

Online Dating is Horrible

I’ve been single for about six months, and I’ve been on a couple of things that one might call dates. They have not gone particularly well, but that is a story for another day. I’ve been using a couple bullshit iPhone apps which make the process feel a little like Mitt Romney’s fabled “binders full of women,” but they never seem to end anywhere.

Lately, I have been trying a particular site which looks interesting, but really is probably terrible. Anyway, I saw a particular woman’s profile on there, and she seemed really interesting, including her mention that she “rescued spiders.” I wrote her the following introductory message.

Hey -

I was checking out your profile, and I noticed that you have a soft-spot for spiders.  I guess that’s why we didn’t get closer to a 100% match than the A- 93%.

Since I can remember, I’ve been terrified of giant spiders - little, extant ones, they don’t bug me.  Giant ones, like in Lord of the Rings, or the Harry Potter movies, they scare the hell out of me.  I’m pretty sure that the fact that one of those was living in our basement was a contributing factor to the demise of my last relationship.  My ex, she WOULD. NOT. BELIEVE. ME that there was a giant spider down there.

“There is no such thing,” she would say.  Well there isn’t until it fucking grabs me when I’m in the pantry trying to get a bag of arborio rice of something.  I mean, who can blame me for feeling a bit indignant about that? I could have been killed. And eaten. Or eaten, and then killed.

So, while we’re talking giant spiders, I need your opinion.  Grammatically, the title of the movie “Eight Legged Freaks” indicates that there are eight freaks with legs, right?  If it were the spiders which were the freaks, it should have been “Eight-Legged Freaks,” right?

Alright, sorry about the digression.  I guess your profile just dredged up some deep-seated issues from my childhood or something.  Please allow me to overshare, I should have said.

I’m just a normal guy (glossing over the whole spider thing), who’s, since his breakup 6 months ago, working to reinvent himself.  New diet, bullet journal, 3-6 mile run every day, mindful, thinking about learning yoga.  That kind of stuff.

You should imagine this message, but as though I left it on your answering machine (a la Jon Favreau in Swingers).  Then, once you stop laughing, you should message me back and we can figure out if this whole 93% match thing should be given any credence.

Cheers, -dave

I have not heard from her.

P.s.: I imagine it is horrible to be a woman on an online dating site, what with all the slack-jawed troglodytes messaging you. I’m trying for humor. Finally, if you happen to know, or be, the ex- in question, I acknowledge that I took some literary license.

Filed under:


Caprese Salad, Emphasis on Crazy.

Caprese Salad can be Sushi

The Greeley Creative District, partnering with Greeley’s Downtown Development Agency throw an annual party, celebrating the glory that is farming, and the impact it has on Greeley: the AgriFest and AgriFeast.

I’ve been honored to have been a chef/participant for the past three years. First, as a partner chef, helping Roger Brindisi, of Cafe Panache, serve creme brulee and honey-peach ice cream, two years ago. The next year, I recovered rapidly from an emergency appendectomy, and made green chile collard greens, and some really great, semi-original, fried chicken. This year, I’ve got something else up my sleeve.

I’m making caprese salad. You know, that classic dish wherein a slice of mozzarella cheese is covered by a slice of tomato, and then covered by a basil leaf. You can see, though, from the picture above, that what I’ve made is a bit different.

Tomato Leather:

  • 12 oz Tomato paste
  • 1/2 oz Red wine vinegar
  • Salt

Remove the tomato paste from the can, and mix in the vinegar thoroughly. Spread the mixture, about 1/16 of an inch thick, on a silpat or parchment, on a cookie sheet. This will cover roughly a single standard-sized (a.k.a, half-sheet-pan). You should not be able to see through the paste, but you should almost be able to. Take care to smooth it out as much as you can, and to keep a uniform consistency.

Place in an oven on the lowest setting (mine was 150F) and dehydrate the mixture. Once you can touch the leather with your finger without any change to the surface, go another 30 minutes. Take it out. Let it cool for a few minutes, and remove from the silpat.

Build the Sushi:

  • Tomato leather: 5” x 10” rectangle
  • Mozzarella cheese, shredded
  • Basil chiffonade
  • Tomato, skinned, seeded, medium diced

Wet the short ends of the tomato leather with water, to help the roll stick together. Place atop plastic wrap covering a bamboo sushi rolling matt.

Cover the leather with mozzarella cheese, leaving about 1/2 of leather visible at the short side away from yourself.

Add diced tomato and basil in even lines across the mozzarella, roughly 2/3 - 3/4 of the way to the end of the cheese, measuring from your position.

Gently roll the leather and mozzarella over on itself until the exposed edge meets and overlaps the front edge, use the bamboo map to roll this as tightly as you can.

Allow to remain in plastic wrap until service.


Leaving the plastic wrap in place, cut the roll in half using a VERY sharp knife. Align the two halves and repeat. Cut four remaining pieces in half again, two at a time.

Serve with a balsamic glaze.

Filed under:


Why I love Apple, and how the government has tech wrong.

Kryptos at the NSA

Apple’s Position on Crypto

There has been a lot of tooth-gnashing lately about a conflict between the Obama administration and Apple, related to Apple’s stance that its customers are entitled to the ability to use strong encryption to protect the data on their devices. Apple has designed security and encryption into their iOS devices, at a fundamental, opt-out, level.

When you set up a new iPhone, you are prompted to set up a password, and the device is encrypted and locked with that password. If you forget the password, you cannot take the device to Apple and get them to unlock it. This is not because Apple is worried that it might be stolen, or that something else nefarious is going on, but instead because Apple has designed the system to completely protect your device and your data from unwanted eyes.

The FBI, on the other hand, wants a back door into your device, so that if you are suspected of doing things they dislike, that they can access your phone (which is very likely a complete record of everything digital you do, or have done).

What the government wants

A lot has been written about this, and I won’t cover it all. I understand that the FBI needs to enforce laws, and that prosecutors need access to evidence. I also understand that technology is always ahead of the law. We now have a situation whereby law enforcement could effectively tap your phone, your Facebook account, your text messages, your SnapChat, and your email, simply by getting access to your device. The law does not effectively deal with this shortcut to data, either.

This all got more interesting yesterday, as a Federal Court ordered Apple to help the FBI circumvent the security of a terrorist’s device. I’m a big fan of Apple’s response, but if you want a bit of background, check Matthew Panzarino’s great piece at Tech Crunch.

What this is really about

In my opinion, this is a debate about the velocity by which the FBI can have access to the data on the phone. Almost (more on that word in a second) nothing on the phone is inaccessibly to law enforcement through other means. For example, I took a look at my iPhone this evening, and other than the standard Apple stuff, I have a few social networks installed (TweetBot, Facebook, Path, LinkedIn, Peach, Instagram, and Ello). I have a few messaging apps installed, as well (Meerkat, Periscope, Facebook Messenger, SnapChat, and WhatsApp). All of this data is accessible if the FBI were to serve a subpoena on any single one of these companies.

My ISP can provide the logs of my server traffic, and a decent engineer should be able to filter that data, and reconstruct a log of the data, including data protected by SSL/TLS encryption, which the Edward Snowden leaks suggested can be broken in close-to-real-time, so are certainly insecure to a motivated investigator with the FBI’s resources.

In short, the FBI can get access to everything my phone has done, without my phone.

Except for one thing

The FBI cannot get access, retroactively, to the blue-bubble text messages I send from Apple’s Messenger app. These messages are strongly encrypted, on my phone, using a public key scheme, that ensures that only the intended recipient can read the message. Apple’s design for Messages is, in my opinion, fairly secure. Messages are encrypted in a manner that prevents them being read in transit by anyone with the proper keys, which are stored on the device, and not on Apple’s servers. Effectively, you cannot read these messages without the device.

Apple, does, however, have the “metadata.” They have to route messages to their recipients, so they do know when, and to whom, messages are sent. I suspect the FBI already has that information.

So this is the crux

This battle is about the speed of the FBI’s access, pitted against a very solid argument about our 4th and 5th Amendment rights, security of papers and letters, and the right to avoid self-incrimination. Current case law suggests, though Supreme Court law is unsettled, that you can refuse to provide law enforcement with data that could potentially incriminate you.

If you’ve ever gotten a virus on your computer, or clicked a link to an inappropriate website, or downloaded something that was not what it represented itself to be, you have opened yourself to potential liability. Might your computer or phone have something on it that you have no idea about, but which might lead someone to believe you’re doing something illegal?

Probably not. But remember what Warren Buffett said. “If a cop follows you for 500 miles, you’re going to get a ticket.”

Filed under:

Tech Privacy Politics

A Lesson in Error Handling in Go

I love #GoLang

Go, as a language, is cool. It’s fast, and it has some great features of modern languages. If you’re looking at this post, I’m sure you know that already.

One of those features, multiple return values (MRV), affords developers unfamiliar with MRV a new opportunity for performing error handling, and I’d like to demonstrate a small lesson that I learned while refactoring some code in order to make it more fault tolerant. The fact that I have not ever spent any time in a language that encourages the use of MRV really colored my thinking and created some unnecessary work/stress for me.

The old way

In languages like PHP, with a single return value from database functions (which I’ll use simply because they provide good example material), the developer has to explicitly check that things work.

$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno()) die("With a detailed message";

The developer is attempting to connect to a database, and then checking for errors. Normal enough. This paradigm is pretty standard for most language paradigms. So, because I come from that paradigm (BASIC -> Pascal -> C -> PHP -> Ruby -> Obj-C -> Go), I expected to do things in a similar manner. This made my code look like this.

stmtSel, err := db.Prepare("SELECT id FROM books WHERE id < 10")
if err != nil {
    fmt.Println(err.Error()) // proper error handling instead of panic in your app
rows, err := stmtSel.Query()
if err != nil {
    fmt.Println(err.Error()) // proper error handling instead of panic in your app
for rows.Next() {
    err := rows.Scan(&id)
    if err != nil {
defer rows.Close()

There is nothing wrong with this kind of code, but it (to paraphrase Spock) demonstrates single-return-value thinking. First, perform your action. Check for a problem, and handle it if needed. Continue executing if no error is found.

Multiple return values, however, let us turn this on its head. We can simply perform this entire structure inside nested if… statements.

stmtSel, err := db.Prepare("SELECT id FROM books WHERE id < 10")
if err == nil {
  rows, err := stmtSel.Query()
  if err == nil {
    for rows.Next() {
      err := rows.Scan(&id)
      if err == nil {
        //  Don't do anything... we got what we need
      } else {
        fmt.Println(err.Error()) // proper error handling instead of panic in your app
  } else {
    fmt.Println(err.Error()) // proper error handling instead of panic in your app
} else {
  fmt.Println(err.Error()) // proper error handling instead of panic in your app
defer rows.Close()

Don’t get me wrong. You could design a pattern exactly like this using a language like PHP, but there is not any real benefit to doing so. Because PHP is runtime interpreted, and run each time the server requests the script, rather than compiled and resident in memory, a panic() is not particularly bad. If you can’t connect to your database, then you may as well just error with a message saying something is wrong. But, with Go, you don’t want to. The application needs to continue running, so there is great value in checking for err == nil prior to performing your next step, and because of MRV, there is no significant overhead to doing so, and no need to call another function to see if an error exists. Your application just keeps going as long as err is nil.

Your mileage may vary, but this works pretty well for me, and it was useful to understand why I wrote the first set of code.

Filed under:

Tech Golang Go

Was Bernie Sanders Set Up

Important Disclaimer:

I am a software engineer professionally, and a political junkie, and reformed campaign-type guy. I do not have any inside knowledge here, other than my own supposition and bias. I #FeelTheBern, but will support Hillary if/when she is nominated. This is not an account of something that I know happened, but more a devils advocate case I would encourage a candidate to explore, were I advising him or her.

My background with NGP, VAN, VoteBuilder

My first exposure to VAN (Voter Activation Network - what I will call it), was in 2006 for a congressional campaign. I did not think the system filled the campaign’s needs effectively, though it was hard to argue with the future potential of the system’s ability to collect data. I last used the system in 2012, acting as the tech lead for another campaign, briefly. My general take on the system is that it really is not very well designed or engineered, but the data it encompasses is central to Democratic wins in recent years.

VAN is fundamentally a cleaned-up copy of all the registered voters in the country, along with a massive amount of data about those voters. Things like voting participation, registration and affiliation dates, local and mailing addresses, etc. are in there (and accessible to anyone paying for access to VAN). Also in there is a wealth of information from previous campaigns and polling data: “self-identifies as strongly Joe Biden, with a second-choice of Hillary,” “supports random state senator,” “identified abortion as primary voting motivation,” etc. That stuff is amazingly useful, and, for the most part, controlled/owned by the campaign that collected the data.

There is a lot there, but, I still believe VAN to be nothing more than a warehouse of data. To really use it, you have to export data and use it with more robust statistical/data analysis tools.

Because VAN is used by a wide range of candidates, and because those candidates often need support from voters who support them, but not other Democrats, the data is put into silos that can only be accessed by the data’s owner. This has been true for a long time, and, while understandable, it is maddeningly difficult to access data from other campaigns, even if that data is being made available to you.

The Story So Far

Today we heard that Senator Bernie Sanders’ staff “broke” into, and created lists of voter files based on information owned by the Hillary Clinton campaign. From everything I have seen online, this looks pretty well documented, and I think the campaign was probably correct in firing their lead data guy. The log file released by the Clinton campaign supports this, though it is obviously a human interpretation of automated audit information from VAN. I have no reason to doubt it. The DNC, based on this information, suspended the Sanders campaign’s access to the data.

It is important to note that no one is indicating that any data was “exported” from the system by the Sanders campaign. When using VAN, you are able to perform searches against a voter file, and against the wealth of stored “meta-data” the campaign has collected. These searches result in lists of voters, which can me saved/cached for later use. These lists can also be exported as Excel file (among other formats). Because VAN does not provide advanced analytical tools, most campaigns create parallel systems for performing analysis - e.g., Obama 2012’s Narwhal. I think it is worth noting that no data was exported by the Sanders campaign, but lists were simply made for reference.

Data Access Issues

Let’s be honest. At the heart of this story is the fact that the Sanders campaign accessed data owned by their competitor. That they did this is not really surprising to me. I know a lot of campaign guys, and I think many of them will make the rationalization that the ends (getting elected and promoting their agenda) will justify the means (accessing data that has questionable - I know - origin). I don’t think we need to spend a bunch of time dwelling on the fact that this actually happened. I am reasonably sure that, had he been asked, Senator Sanders or his campaign manager would have nixed the idea. Firing the guy who did it, solves the problem, primarily by making an example of the guy, and also by creating this PR shit-storm.

More important to me, however, is the fact that this could happen at all. This single issue: the security and privacy of a campaign’s data is a fundamental selling point of the VAN system. I’m not sure about the law, but it would not surprise me if it was actually illegal to share this information across campaigns. I am almost positive that VAN exposing Federal election data to state-level campaigns is illegal in Colorado. Illegal or not, though, I don’t think you can sell VAN as a service without a guarantee of privacy, security, and continuity (backups) of the data a campaign collects. It will surprise me if a guarantee of this sort is not in Senator Sanders’ Service Level Agreement with NGP.

Software Stuff

Since it’s a fundamentally important aspect of the service, it is crucial that VAN not make the mistake they made with a “bug” that exposed the data. Were I a senior-level developer or manager at VAN, in any way responsible for this “bug,” I would expect to be fired instantly. Modern software change management systems provide extensive capacity to identify engineers who contribute bad code, and modern software development practices like “test-driven development (TDD)” and “code review” are designed to prevent exactly this kind of thing from happening.

As a professional software guy, I am furious at NGP for allowing a “bug” like this to hit production. There is no way to excuse allowing a bug that exposed a customer’s data to a competing customer. None. You cannot exist as a company if you do that. I believe that NGP/VAN knows this. Have you ever heard of them splashing around donor lists? The fact that a “bug” entered the system that allowed folks to do this does not track with me.

I’ve been furious about the practices of government contractors and beltway bandits since Obama launched a slipshod site. There is no excuse for launching a website that doesn’t work. I do a lot of development work with Ruby on Rails. Using that paradigm, and many others, to develop software, there are a myriad of ways in which one can quantify the functionality of the system. I can create a mechanism by which I can know that my work has 1) solved a problem, and 2) not broken something I’ve built before. That we are discussing a “bug” that breaks a previously working system suggests to me that either the people who built that system are amateurs, or that they did it on purpose. I don’t believe that you can build a complicated system like VAN, with the business needs that NGP has, and not address this question. If NGP is honestly a victim in this case, I expect their entire technology leadership team to be looking for new jobs.

NGP’s Role

The NGP argument is that a team of engineers made a mistake, and the hackers at the Sanders campaign used this to their advantage. Then, the experts at NGP were able to identify the actions of the hackers, and respond to them. On the one hand, the engineers were incompetent, and on the other they were extremely vigilant and plugged in.

To me, this pushes credibility.

Further, there has been much made of the fact that this kind of privacy breach has happened previously. This suggests that NGP does not care about breaches like this, as, if this is the case, they have not solved the problem. Either way, this suggests to me that NGP bears a great deal of responsibility for the situation.

VAN is a foundational system for a campaign. VAN has to keep data private and permanently. A breach of either of these premises suggest that VAN is untrusted. VAN cannot have a bug that breaches either of these two premises. Reports of a “bug” in VAN suggest that NGP would like to claim that this was accidental on their part, and maliciously used on Senator Sanders’ part. That, in my humble opinion, is horse shit. If the “bug” was an accident, the entire engineering team needs to be fired for misunderstanding the objectives of the business. Most engineers are smart enough to understand fundamental business objectives, though. This scenario seems a bit hard to accept.

So far, I have not heard of a single person from NGPVAN being fired.


NGP screwed up, badly. The Sanders campaign may have (in my opinion, probably did) tried to take advantage of this, and got caught. The Clinton campaign or the DNC saw this, and took advantage, both by cutting Senator Sanders off from VAN, and reported it to the press. I tend to view this stuff a bit cynically, and consider this to be akin to a referee missing an important call in a football game - say giving a team from Colorado an extra fourth down against Michigan, leading to a CU National Championship.

I do think there are some unanswered questions, though. We need to see the Clinton campaign’s activity logs for the same time frame before we accept that Sanders took unfair advantage. We should also ask NGP how this happened and what they are doing about it. Is VAN a secure system? It holds huge amounts of information about every single registered voter in the country, as well as a wealth of valuable political preference information.

I would also, were I a candidate using or thinking of using VAN (i.e., a Democrat running for office), I would review my Service Level Agreement with the DNC or NGP.

Saturday update

The whole situation is over. The DNC backed down and restored Senator Sanders access. Rep. Schultz claims she would have done the same thing to Hillary Clinton’s campaign. I don’t buy that. I hope Senator Sanders continues his suit, if for no other reason that to determine what actually happened.

Now, back to the 1-day news cycle.

Filed under:

Tech Politics

Oops I Dropped the Lemon Tart, Slight Return (10th Street Supper Club)

Oops I Dropped the Lemon Tart, Slight Return

For October’s 10th Street Supper Club, I will be making a dish in homage to Chef Massimo Bottura’s “Oops I Dropped The Lemon Tart.” Chef Bottura is one of the most innovative chefs out there, and his dishes are an inspiration.

This dish is a deconstructed, i.e., broken, lemon custard pie, served with a dollop of ice cream. There are a bunch of parts, working together, but ultimately, it looks great on the plate.

Limoncello Zabaglione (custard pie filling):

  • 5 Egg Yolks
  • 1/2 Cup Sugar
  • 1/4 Cup Limoncello
  • 1/4 Cup Fresh Lemon Juice (strained)

To make this tabaglione, you are basically making hollanaise sauce, but using sugar and some limoncello. Start with a double-boiler (a sauce pan, on top of which you can set another pan, or better yet, a round bottom bowl), filled with about an inch of water. Heat the water to a simmer (don’t boil it).

While the water is heating, mix the egg yolks and sugar together in the bowl or pan which will sit atop your double-boiler. Beat the eggs with a wisk until the egg starts taking on a lighter color. Place the egg mixture atop the double-boiler and continue beating constantly.

Slowly, add, while beating, the lemon juice, and then the limoncello. Continue beating until the zabaglione begins to thicken. Then continue for another minute or so. Remove from heat, and allow to return to room temperature, while covered. Stir occasionally. The zabaglione should thicken a bit more as it cools.

  • 5 Egg Whites
  • 1/2 Cup Sugar
  • 1/8 tsp Vanilla Extract
  • 1/4 tsp Cream of Tartar

Using either or hand mixer or a stand mixer, combine all ingredients and mix on high speed until the mixture will form stiff peaks when a fork is inserted and removed.

Put this mixture in a pastry bag, and pipe onto a cookie sheet covered with either a silpat or parchment.

Cook at 275° for about 30 minutes. Outer shell will be leathery while hot, but will harden as it cools.

Lemongrass Ice Cream (garnishment):

  • 2 Cups Heavy Cream
  • 2 Cups Whole Milk
  • 1/2 Cup Sugar
  • 5 Egg Yolks
  • 2 Tbsp Honey
  • 1 1/2 Cup Lemongrass (chopped at 1/4 inch)
  • Zest of 2 Lemons

Mix the milk, cream, sugar, honey, together in a sauce pan. Heat over a medium-low flame while stirring until sugar and honey are dissolved. Add lemongrass and lemon zest. Heat to about 180-190°F (do not boil), and remove from heat. Allow to stand for a few minutes, and then strain the lemongrass and zest from the cream.

While heating, beat the egg yolks to a creamy froth in a large bowl (should take about 4-5 minutes).

Slowly (really slowly), while beating quickly the eggs, add half of the cream. This is called tempering your eggs - you want to add the heated cream slowly enough that the eggs are not allowed to cook separate from the custard mixture. Once about half of your hot cream mixture is added, you can stir in the second half fairly quickly. Continue stiring with your wisk for another 0 seconds or so.

Cool this mixture, allow to sit over night in a refrigerator, and then finish in your ice cream maker.


Onto a plate, place the meringue cookie upside-down. Cover (sloppily) with cool zabaglione, making sure to glop some extra on the plate. Cover zagablione with a bit of pie crust, or a bit of puff pastry (what Roger and I did for 10th Street Supper Club). Add a scoop of the ice cream.


Filed under:


Sous Vide Pork Belly (10th Street Supper Club)

Sous Vide Pork Belly

For September’s Tenth Street Supper Club, Chef Roger and I did some great things, but my hands-down favorite was my sous vide-cooked pork belly. It’s pretty simple, combining a nice dry rub, a short, moderately-low temperature smoke, and an afternoon in my meat aquarium.

Dry Rub:

  • 1 Cup kosher salt (coursely ground)
  • 1 Cup brown sugar
  • 1/8 Cup cayenne pepper
  • 1/4 Cup sweet paprika
  • 1/4 Cup garlic powder
  • 1/4 Cup onion powder
  • 1/8 Cup black pepper

Prepare the pork belly by removing the skin (if needed), leaving as much of the wonderful fat as possible. Cover both sides with the dry rub, wrap in plastic wrap or aluminum foil and allow to rest for about 30 minutes.

Smoke at 170°-200°F for about 2 hours.

Remove from the plastic wrap or aluminum foil, and vacuum pack the belly. Submerge in a 157°F water bath for 6-8 hours.

When serving sear the cap of the belly using a blow torch or a very hot oiled skillet.

Filed under:


Gluten-free Purple Potato Gnocchi

Potato Gnocchi

Yesterday, I visited, Cool Conifers, and the lovely Arabella helped me harvest a few potatoes. Well, more than a few. A lot. Maybe 30 pounds of amazing potatoes. Russets and Banana fingerlings are great, but I really love the Purple Majesty (purple meat), and was turned on to Mountain Rose, with wonderful red and white meat. I bought way more than I should have.

Today, I used some and made Gnocchi from some of the purple potatoes. They tasted great, but the starches were a bit different, and gave the gnocchi a moderately different texture. And they were grayish.

Here’s my recipe

  • 8 oz Boiled, drained, and riced, Purple potatoes
  • 8 oz Brown rice flour
  • 1 tsp Xanthan Gum
  • 1 Tbsp finely chopped Rosemary (fresh)
  • 1 tsp Garlic salt
  • 1/4 cup Ricotta cheese
  • 2 large eggs

I boiled more than 8 oz of potatoes - maybe more like a pound, but I only riced 8 ounces. I think I peeled and boiled 5 potatoes, but they were about the size of large store-bought red potatoes. If you don’t have a ricer, you could simply make mashed potatoes out of them, and then use 8 oz.

Anyway, combine all the ingredients in a mixer, and mix until smooth. Immediately begin rolling gnocchi.

  • Take a 2 oz ball of dough, and roll it into a ball
  • Roll the ball into a snake, of diameter 1/3-1/2 inch
  • Cut equal portions of the snake, into 10-12 equal pieces
  • Roll each portion into a ball using your palms
  • Smash the ball using your index finger
  • Use the side of your index finger to roll one side partially onto the other (and remove it from your palm)
  • Set it on wax paper

Gnocchi is time consuming, and people will tell you you need tools. It is, and you don’t, though the presentation is nice, if you have little, even grooves on the gnocchi.

Once you’re done making the individual gnocchi, let them sit for at least a couple hours. Drying the dough will help them keep separated when you boil them.

When you’re ready to cook them:

  • Bring some heavily salted water to a boil (This is true for all pasta. Don’t use a pinch of salt, use a large handful. Do it once, then tell me how good an idea it is.)
  • Once the water is boiling, put a few handfuls of the raw gnocchi in the water. It will sink. Cook it until it floats.
  • Then cook it one more minute. You’ll get the hang.
  • Remove the finished gnocchi from the water with a slotted spoon, and drain for a few seconds in s strainer
  • Toss in a little bit of olive oil. (This helps the gnocchi remain separate as you’re cooking the rest)
  • Cook another few handfuls.


Filed under: