Tech Done Right

Table XI's podcast about building software to develop better careers, companies, and communities.

Tech Done Right Newsletter, June 29, 2017

Five Things Give Or Take Two

A lot of developer related stories this week.

Developers Gonna Develop

Here are couple of essays about making teams more successful. Jessica Kerr, of the Greater Than Code podcast, starts off by noting the tension between individual performance and team performance. Then she describes steps you can take to move from one-developer “hyper performance” to better team performance. This is a nice addition to some of the issues Sarah Mei discussed on the podcast. Apparently onboarding is attracting scholarly research, as shown by this Harvard Business Review article that suggests that making new employees feel socially accepted is the most important part of the onboarding process.

Developers Gonna Develop Part 2

In the meantime, developers are continuing to build weird things. For example, Caffeine, is a live in-browser implementation of Squeak Smalltalk that you can just run in your browser. They are pitching it as a way to live-code your browser experience. Look, I love Smalltalk, I love books about Smalltalk. I even was involved in this once. And in-browser Squeak seems weird to me. Good weird, I guess, but still weird.

Speaking of unusual code, Rails has added support for a mutable global state object recently. Ryan Biggs begs to differ. I mostly agree with Ryan here, though I suspect that like many Rails features, it won’t get much use outside of Basecamp.

Developers Gonna Develop, Part 3

In a more tutorial realm, here’s a nice post by Mario Cardosa about Value Objects in Rails. Come to think of it, this should juxtapose with the last paragraph — the global state is something DHH likes that a lot of people are skeptical of, but value objects are something a lot of people like that is the kind of Object-Oriented structure that DHH has been skeptical of.

I’ve been trying to decide which JavaScript testing framework to feature in Rails 5 Test Prescriptions, and this comparison of Jest and Mocha by Grzegorz Ziółkowski was very helpful. In the end, though, it made me think that Jest is too tied to Node to be the best choice for R5TP.

Science Friday

I thought traveling with a laptop, iPad, and Kindle was bad enough, but if you are a scientist who travels with really weird stuff, like, say 3-d printed rodent genitalia, then your TSA experience is… interesting. The scientists interviewed seem surprisingly happy to get to do unscheduled science outreach.

Finally, here’s a big, classic long read from Stephen Johnson in the NYT Magazine on SETI, entitled Greetings E.T. (Please Don’t Murder Us.), a sentiment I’m sure that many of us can get behind.

On The Podcast

Our newest episode features Maci Peterson, the founder of a startup called On Second Thought, and Table XI’s Alicia Drucker. It was an interesting conversation, despite some audio glitches. Some quotes:

MACI: Quickly, we realized as we spread to 190 countries that people needed the ability to undo tons of other messages like peer-to-peer remittances that they send via like M-Pesa or social media posts … or even attorneys telling us, "I've actually sent the wrong contract to the wrong client."

MACI: That Monday, I learned that I'd been invited to pitch and through a series of miracles that included riding in cars with strangers, very light hitchhiking and flying standby, I made it to the competition. Like I said, out of the 20 companies, we won first place.

MACI: [The focus on inclusivity has] Been a huge advantage. I mean, granted, it doesn't put me in a place at privilege and it still requires me to work twice as hard in order to be considered half as good or good enough. That is still true however, I would say that there is, at least a projected, conscious, desire to make Silicon Valley a more inclusive and diverse place, and also just see diverse entrepreneurs succeed.

Below the Fold

I have two related rantlings this week, both to some extent based on Justin Searls’ essay on using the iPad as a full-time computer, which is great and you should read it. I’ve used my iPads a lot over the years, but the only time I’ve had to use one as my primary device was almost exactly seven years ago. I wrote about it then, and it’s interesting to see what has and hasn’t changed.

iPad as primary device, 2017

My conclusion in 2010 was that I was able to do about 75% of my work on the iPad pretty easily (not coding, at the time my work site had dedicate paring workstations, so that wasn’t an issue). That was before split screen, before a lot of apps were out, and before there was much support for keyboards on the iPad. I’m pretty sure I could do almost everything I do daily now, including coding, on an iPad with the likely exception of recording the podcast. Though some things would probably be difficult. And I’d miss Deckset.

Almost all the things that bothered me in 2010 have been addressed. For example, I spend a lot of time in the 2010 post (and in the actual 2010, to be honest) complaining about the sorry state of iOS text editing apps. That’s a niche that has been saturated with high quality offerings, I have at least five really good ones on my iPad, and I’m definitely missing a few. And I do a lot of writing on an iPad these days.

The Vim Rant, patent pending

That wasn’t actually what I wanted to talk about from Justin’s essay. I wanted to talk about how he was coding. Justin, if I read it correctly, is connecting to a server (technically his desktop, but it could be anything) then using Vim to code from a terminal.

Last time I tried coding on an iPad was when I was trying to make the iPad a full-service writing station for the money book, and I used a weird combination of Textastic, Working Copy (which is an iPad git client), and Coda for access to a server. It was awkward, though I bet in about six months it gets a lot better via somebody setting themselves up as a SFTP server in the new iOS 11 Files app.

The point is that I didn’t even briefly consider using Vim. Because I basically don’t consider Vim to be the answer to any question other then “Do I have to use Vim?”.

I’m sure many of you use Vim, and you can probably do more with arcane key macros before 9:30 than I do all week. That’s fine. Enjoy.

I have a few points about Vim that are well-honed.

  • If you were in a product meeting about designing a text editor and you suggested something like Vim, you’d be laughed out of the room. It’s not that attractive, the interface is not intuitive in any way, it has modes, which most UX design tries to avoid. It’s arcane, and very much a product of the limitations of display technology when it the original vi was created.
  • That said, it’s survived for a long time, and is even beloved, which I think means that our understanding of user experience for experts is not very far along. Vim has a learning curve measured in months if not years if not decades. But if you are going to keep using it, it pays off. It was pointed out to me that it’s rare to believe that a tool is going to be around long enough to justify that time investment. I also think there’s a “real programers use Vim” thing you here sometimes, which I really, really dislike.
  • I tell people I don’t use Vim because I don’t like using a programmer editor for prose, which is true, and therefore I like editors that use standard Mac keyboard shortcuts, which is also true. But it’s incomplete. Basically, I found that learning the key commands took up space in my brain that I didn’t want used, and that even with the key commands, Vim was optimizing for a part of the process that I felt didn’t need optimizing, and wasn’t making it easier for me to read and understand the code. Again, I know that many of you out there disagree and that’s great, enjoy your key commands.

See you next week,


Article Comments