walls.corpus

By Nathan L. Walls

🔗 Fun with parsers

In The Hardest Program I’ve Ever Written – journal.stuffwithstuff.com, Bob Nystrom writes:

The hardest program I’ve ever written, once you strip out the whitespace, is 3,835 lines long. That handful of code took me almost a year to write. Granted, that doesn’t take into account the code that didn’t make it. The commit history shows that I deleted 20,704 lines of code over that time. Every surviving line has about three fallen comrades.

If it took that much thrashing to get it right, you’d expect it to do something pretty deep right? Maybe a low-level hardware interface or some wicked graphics demo with tons of math and pumping early-90s-style techno? A likely-to-turn-evil machine learning AI Skynet thing?

Nope. It reads in a string and writes out a string. The only difference between the input and output strings is that it modifies some of the whitespace characters. I’m talking, of course, about an automated code formatter.

This is an interesting walkthrough. In particular, I like the extra detail on paths pursued and later abandoned in the face of new information, new optimizations, or, particular code paths raising the Halting Problem.

Another element I appreciate here is Nystrom not trivializing the amount of work that went into the project.

Constituent letter to Senator Tillis after the Sept. 27, 2018 Judiciary Committee Hearing

Senator Tillis,

I watched significant portions of the Senate Judiciary Committee hearing involving Dr. Blasey Ford and Judge Kavanaugh today. Between listening and catching up on recaps of the questions and testimony, I’m angry.

I’m angry and I have questions that I would greatly appreciate hearing from you on:

  • Did you find Dr. Blasey Ford’s hearing truthful? If not, what specifically in her testimony was not truthful?
  • Why did you abdicate your time to a hired special prosecutor for Dr. Blasey Ford?
  • Were the questions asked during your time allotment the questions you submitted to be asked?
  • If you did not submit those questions, who did? Why did you not use that time?
  • Do you feel that Dr. Blasey Ford’s expressed wish to keep her letter confidential to Sen. Feinstein should have been respected?
  • Do you feel it was inappropriate for Dr. Blasey Ford to be represented by counsel in front of the committee?
  • Do you feel that Judge Kavanaugh’s opening statement reflected what a nominee for the Supreme Court of the United States would be expected to say? If this statement was from a Democrat, would you feel the same way?
  • Are you concerned about Judge Kavanaugh’s non-answers to whether or not he would request an FBI investigation?
  • Are you concerned about Judge Kavanaugh’s repeated disrespect of the Democratic members of the committee? If the nominee was a Democrat, would you find this behavior acceptable for any position?
  • Why, after July 1, 1982 came up as a possible date for a party or gathering described by Dr. Blasey Ford, did the Republican members of the committee adjurn and then cease the use of the outside special prosecutor?
  • Why did you chose to use your time with Judge Kavanaugh directly after yielding your time for Dr. Blasey Ford?
  • Do you feel that other recent Supreme Court nominees have been treated unfairly during the nomination process? If so, who and why?
  • Are you comfortable with the lack of public information about how Judge Kavanaugh paid off hundreds of thousands of debt suddenly in 2017?
  • Are you comfortable with pressing ahead with the nomination without a full public understanding of the role Judge Kavanaugh had as a political operative in the George W. Bush administration?
  • Are you comfortable voting to confirm Judge Kavanaugh without requiring Mike Judge to appear before the committee?
  • Are you comfortable voting to confirm Judge Kavanaugh without hearing from Julie Swetnick or Deborah Ramirez and the allegations they have about Judge Kavanaugh’s behavior?
  • If you will not be hearing from Mr. Judge, Ms. Swetnick or Ms. Ramirez, why not?
  • If you believe the Senate has a deadline to confirm Judge Kavanaugh, what is that deadline and who imposed it?
  • If “timeliness” is the issue in hearing from Ms. Swetnick or Ms. Ramirez specifically, under what circumstances would you have entertained hearing from them?
  • Before you vote on Judge Kavanaugh’s nomination, will you be returning to North Carolina and meeting with constituents in person and without condition to discuss and explain your views?

Finally, while I expect your answers to my questions, I will plainly state that Judge Kavanaugh repeatedly demonstrated throughout his public confirmation hearings that he lacks forthrightness, transparency and the temperament to be on the Supreme Court. In fact, his displays today ought to call into question his fitness to sit on the Federal bench at any level.

I appreciate your prompt consideration and reply.

Your voting constituent,

Nathan L. Walls
Raleigh, NC

🔗 MRI costs: Why this surgeon is challenging NC’s certificate of need law

Dylan Scott Writing for Vox:

Dr. Gajendra Singh walked out of his local hospital’s outpatient department last year, having been told an ultrasound for some vague abdominal pain he was feeling would cost $1,200 or so, and decided enough was enough. If he was balking at the price of a routine medical scan, what must people who weren’t well-paid medical professionals be thinking?

The India-born surgeon decided he would open his own imaging center in Winston-Salem, North Carolina, and charge a lot less. Singh launched his business in August and decided to post his prices, as low as $500 for an MRI, on a banner outside the office building and on his website.

There was just one barrier to fully realizing his vision: a North Carolina law that he and his lawyers argue essentially gives hospitals a monopoly over MRI scans and other services.

I hope Dr. Singh’s lawsuit succeeds. American healthcare in 2018 is supposed to be driven by consumerism. Call around to different providers and determine how much you’ll pay for quality care. Choose a provider based on wherever you want to land on the quality/price matrix that accepts your insurance and you’re golden, right?

No.

Healthcare is not a market. First, not all qualified players can join the market, as is the case here. That effectively prevents Dr. Singh (and others) from putting downward pressure on prices. Second, medical pricing isn’t necessarily discoverable, transparent or negotiable.

🔗 Escaping the SPA rabbit hole with modern Rails

Jorge Manrubia writes:

I remember thinking that Rails was focusing on the wrong target when DHH announced Turbolinks in 2012. My conviction back then was that offering an instant response time to user interactions was key to excellent UX. Because of network latency, such interactivity is only possible if you minimize your dependency on it and, instead, manage a lot of state on the client.

I thought this was necessary for the kinds of apps I was working on. And with that in mind, I tried many approaches and frameworks for implementing the same pattern: Single-page applications (SPA). I believed that the SPA wagon was the future™. A few years of experience later, I am not sure what the future is, but I really want to have an alternative.

This piece really spoke to me. There’s a wide world of possibility with JavaScript, front-end frameworks and Single Page Apps these days. JavaScript’s maturing and growth over the past few years are a fantastic story. What I’m less enthusiastic about is the complexity that seems to pervade front-end development work.

I think a lot of it is getting used to having these rich tools available to solve problems. I also think, in many cases, we’re over-applying these tools when simpler solutions would fit many problems better than the full framework Single Page App approach.

The Post-Meritocracy Manifesto

Coraline Ada Ehmke, creator of the Contributor Covenant, has created the Post-Meritocracy Manifesto:

Meritocracy is a founding principle of the open source movement, and the ideal of meritocracy is perpetuated throughout our field in the way people are recruited, hired, retained, promoted, and valued.

But meritocracy has consistently shown itself to mainly benefit those with privilege, to the exclusion of underrepresented people in technology. The idea of merit is in fact never clearly defined; rather, it seems to be a form of recognition, an acknowledgement that “this person is valuable insofar as they are like me.”

After reading and digesting the document, I signed on. It reflects the values I aspire to and value for myself and in my peers.

Meritocracy, as a term was always intended as critique and satire:

The co-author of a classic work of sociology, “Family and Kinship in East London” (1957), Mr. Young was also known for coining the word “meritocracy,” first used in his biting futuristic satire, “The Rise of the Meritocracy” (1958)

…but, in the libertarian space that is much of big tech, it’s not at all rare to see the term used as a value statement. Red Hat’s CEO, Jim Whitehurst has specifically defended the concept as a core Red Hat value:

Seeking consensus and creating a democracy of ideas is not what we at Red Hat would call collaboration. In fact, it’s a misstep. Rather, managers at Red Hat make it a practice to seek out ideas from those who’ve shown that they typically have the best ideas—those who have risen to the top of our meritocracy.

To get to the top, though, it’s not enough to merely have an idea; you’ll also need to defend it against all comers. That means there may be disagreements. Voices will be raised. Building your reputation, therefore, can take time, patience, and a thick skin.

That sounds like a hyperaggressive Thunder Dome where the loudest, most stubborn, person “wins”.

Whitehurst continues:

This environment can seem harsh at first. But keep this in mind: Open source software developers say, “In the end, nothing matters but the code. The code wins.”

This is a recipe that rewards “brilliant jerks” and assholes. Our industry has far too much of that. It chases valuable contributors with differing communication styles or different valuations about empathy out.

We can do better.

The Post-Meritocracy Manifesto goes in a different direction and sets a more inclusive vision:

  • We do not believe that our value as human beings is intrinsically tied to our value as knowledge workers. Our professions do not define us; we are more than the work we do.

  • We believe that interpersonal skills are at least as important as technical skills.

And, directly countering Whitehurst’s point about the code being paramount:

  • We understand that working in our field is a privilege, not a right. The negative impact of toxic people in the workplace or the larger community is not offset by their technical contributions.

I feel fortunate that my coworkers and company, from where I sit, are substantially closer to the values expressed in the Manifesto and further from the world Whitehurst lays out. I hope anyone reading this would be so similarly fortunate. However, we have to actively encourage, support and reinforce this vision of an empathy-driven, diverse and inclusive tech industry.

If you’re involved in any part of the tech industry, please give it a read and consider signing on. Thank you.