Justin Duke

Someone who's still on the dock

Michael Crichton, as quoted in The Art of Editing, ostensibly talks about editing but really talks about a great many other things:

In my experience of writing, you generally start out with some overall idea that you can see fairly clearly, as if you were standing on a dock and looking at a ship on the ocean. At first you can see the entire ship, but then as you begin work you’re in the boiler room and you can’t see the ship anymore. All you can see are the pipes and the grease and the fittings of the boiler room and, you have to assume, the ship’s exterior. What you really want in an editor is someone who’s still on the dock, who can say, Hi, I’m looking at your ship, and it’s missing a bow, the front mast is crooked, and it looks to me as if your propellers are going to have to be fixed.

We're just ordinary and forever

Everyone is rightfully super pumped about 17776, the newest project by Jon Bois.

It’s awesome to see Bois get wider recognition. His work on the Tim Tebow CFL Chronicles, Breaking Madden, and other things have been plumbing the depths of absurdist storytelling for a few years now, but this is his most ambitious project, and it’s kind of amazing to watch him get linked by a bunch of media and tech guys. 1

And, to talk briefly about the actual content of the piece: it’s halfway-ish published at this point, and it’s really really great. It jumps from the aesthetics of lunchables to a Vonnegut-esque humanity of machines to the quiet crises of immortality in a way that is totally dextrous and entertaining.

Read more →

Long before wisdom

I am loathe to applaud venture capitalists for saying sensible things, but Mark Cuban said some very sensible things on Twitter (and was quoted in this relevant Quartz story):

I personally think there’s going to be a greater demand in 10 years for liberal arts majors than there were for programming majors and maybe even engineering, because when the data is all being spit out for you, options are being spit out for you, you need a different perspective in order to have a different view of the data. [You need] someone who is more of a freer thinker.

Read more →

Ten arguments

I just finished 300 Arguments, a series of aphorisms, vignettes, and truisms. I recommend it: it’s not perfect, and a lot of the observations tend towards the vacuous, but the process of reading it is so quick and frictionless that it’s worth wading through the banality – like watching an okay movie that has a couple transcendent scenes. My favorite ten “arguments”: I don’t miss the city. I miss the place it was in the nineties, when everyone else also was twenty-two and broke.

Read more →

Django vs. Flask

A great, thorough writeup on Django vs. Flask has been floating around the past few days. It’s a great technical breakdown, and I agree with the conclusion: There’s an informal perception that Batteries included may mean a growing list of ill-maintained API’s that get hooked into every request. In the case of Django, everything works across the board. When an internal Django API changes, Django’s testsuites to break and the appropriate changes are made.

Read more →

Globally accessible Vue properties

So, Buttondown uses django-js-reverse, which is a fantastic way to handle naming URLs and consolidate routing logic. It means that if I’ve got a bunch of views registered in Django like this… urls = [ url(r'^export_data/', miscellany.export, name='export-data'), url(r'^resend-confirmation-email', miscellany.resend_confirmation_email, name='resend-confirmation-email'), url(r'^confirm-registration/(?P<confirmation_id>.+)', miscellany.confirm_registration, name='confirm-registration'), # And so on. ] I can access those in a globally scoped object on the frontend, where keys are the URL names and the values are their corresponding endpoints:

Read more →

Side Projects: June 2017

Revenues Source USD Advertising 1 $0 App Revenue $720 Consulting $4,000 Total $4,720 Expenses Source USD Advertising $100 AWS $0 App Store $210 Apple Developer’s License $9 DNSimple $49 Dropbox $10 G Suite 2 $15 GitHub $7 Heroku 3 $115 JetBrains $15 Mailchimp 4 $15 Nylas 5 $0 Ship $5 Total $550 Total Profit: $4,170 And that’s it!

Read more →


Jasdev had a great post on moving too fast: But, Agile almost entirely misses the other side of the coin: regimented rest. We can’t expect teams to knock out a monotonically increasing amount of story points, sprint after sprint. Sometimes, you have to move slower now to move faster later. Somewhat adjacent to this is the best advice I’ve ever received as a developer: Focus on being the highest order derivative you can be.

Read more →

Hugo's internal templates, demystified

In my effort to throw a new coat of paint on this site, I was diving into Hugo’s internal templates to see how to improve their builtin pagination. It was invoked by calling _internal/pagination.html, so I assumed the template was something along the lines of pagination.html. Turns out all the internal templates are hard-coded in the Hugo library itself, in a file named template_embedded.go. Rather than filing a snarky comment on the wisdom of this approach, I thought it might be helpful to list them out, as it’s definitely annoying to read in the source file.

Read more →

iPad Things

As is tradition, it’s the time of year where folks have hot takes on iPads and the ~ future of computing ~. Here’s one from Joshua Topolsky: Couple of tweets about the new iPad and iOS 11. It is inferior to a laptop in almost every way, unless you like to draw. — Joshua Topolsky (@joshuatopolsky) June 27, 2017 This year’s spin on the age-old debate comes from iOS 11’s heavy emphasis on iPads and productivity.

Read more →