I can end up complaining when I have things I’m chewing on and want to see better. New strategy: turn that emotional churn into something positive by writing what ought to be instead of kvetching about what is.
I can end up complaining when I have things I’m chewing on and want to see better. New strategy: turn that emotional churn into something positive by writing what ought to be instead of kvetching about what is.
Open issues on this old side project at the start of the day: 35. Open issues now: 25. 8 fixed, 2 won’t-fix. That’s a pretty good day.
The only thing left to do in my entire seminary career is one short final, which I’ll take Monday morning. That’ll be a good feeling.
In the last week I found several blogs that explained logic (as a discipline, and some of its particulars too) well. Unsurprisingly, given my enjoyment of software development and programming languages, I really like logic. Too bad none of my prior introductions were any good!
Wanted: a hermeneutically and historically rigorous book on discipleship which is less interested in sweeping claims about having the solution to all our churches’ woes than in humble fidelity which both honors the Great Tradition and contextualizes for today.
Minimalist/keyboard-shortcut-happy tip for using Mail.app on macOS: just turn off the toolbar and favorites bar.
Nothing like doing a
brew upgrade and watching everything on your machine crawl to a stop because you have to recompile
gcc. I think I’ll kick that off again next time I’m out of the house for three hours.
It was rainy today, so I decided to use my five-minute pomodoro breaks for push-ups and pull-ups.
My arms are getting a bit tired. 💪🏼
Programming (/life) pro tip: if you can’t see the value in a pattern someone else finds useful, assume you have something to learn, instead of concluding that the pattern itself is useless.
And that’s a wrap on my SEBTS J-Term class. One last class—a 1-week intensive over spring break—and I will, at long last, have my M. Div.
I was fed up with JIRA, and then I remembered that I have Bee. And I’m so happy I remembered, because it’s good.
Was delighted to be a guest on the new Remote Works Podcast! These guys are making a great show. (My episode will be out in February.)
My Kobo Aura ONE arrived today. I really like it so far. I’ll write up some more detailed initial impressions (with photos!) later this week.
It’s been years since I last used Apple’s built-in Mail app on macOS.
Surprise: it’s actually great now.
It’s been well over a year since I switched to FastMail, and I remain extremely happy with the service.
Registering a new domain for a new podcast I’m doing with Jaimie. It’s going to be massively fun.
I’m extremely excited to be adding a new format to New Rustacean: discussing good crates in the Rust ecosystem. Suggestions wanted!
Watching a movie with little kids is fascinating—not least, in teaching them what to feel in response to what happens on the screen.
Here’s someone else making one of the same points I made last week about the indie web—but much more succinctly!
Oh man, I wrote a blog post only to find out later that @chriskrycho has written a much better version of it… “Even With a cool domain name, RSS-Powered Micro Blogging Is Still a Mirage”
— Mustapha Hamoui (@Beirutspring) January 8, 2017
My only real disagreement with @Beirutspring there is that I think (and hope) there’s room for centralized services and the open web.
Started writing the script for the first “Crates You Should Know” episode of New Rustacean tonight. I’m pretty excited about adding this format to the repertoire.
I am deeply enjoying “getting things done” so far this year: keeping my email at Inbox Zero and making (achievable) tasks in OmniFocus and hitting (or if necessary rescheduling) them every day is profoundly satisfying.
An important elaboration on my productivity this week: 30 hours under those circumstances is a bit more notable when you remember that Monday was a holiday. 😜
Managed 30 hours of work this week and maintained Inbox Zero and OmniFocus Zero.
Decent start to the year.
Especially given I’ve been parenting solo since Wednesday, what with my wife being out of town. :wide, slightly frantic eyes: (My little girls have been amazing, actually.)
Growing a Language, by Guy Steele is without competition the single best technical talk I have ever seen.
Even with my horribly basic level of skill, and even just using it for incredibly simple mockups, ProCreate is an incredible piece of software.
Consider this a formal reminder: John Williams is (and has been for half a century!) a total boss when it comes to film scores.
Setting up MailChimp so people (like my wife!) can track with my blog without having to set up an RSS reader. MailChimp is impressive.
For the record: LifeWay has the single most user-hostile ebook policy I’ve encountered anywhere. Shame on whoever made these decisions.
This only just came home to me: working remotely is an incredible time multiplier. A 1-hour daily commute = 30 8-hour days in a year.
One big personal upside to this documentation project: I’m going to know Rust a lot better before I’m done.
This is a great summary of what I enjoy about Rust: it just lets me get stuff done—quickly, usually elegantly, and it’s always speedy:
— nrc (@nick_r_cameron) December 30, 2016
A thing I just learned:
cargo doc --open: full, local docs for every dependency your Rust crate has.
Trying to get set up with Jamon Holmgren to live-stream some pair-programming.
This is not a solved problem. Good grief.
Final solution (so far) includes both Screenhero and Hangouts on Air. :headdesk:
That got us most of the way there; now we’re actually using Hangouts+Zoom. This. is. bonkers.
All those words are a huge part of my incentive to build a CMS-of-sorts that actually does do what I need. #lx
I just ran the numbers for my end-of-year blog post, and it turns out I wrote over 200,000 words this year.
That’s a lot.
However, I have to say: it’s painfully obvious to me on macOS that Code is developed by people who aren’t Mac-native. Atom is.
And that’s okay—but it means that as many things as I like about Code over Atom, it always just feels a little off to me.
Ultimately, what I want is the extensibility promised by both Code and Atom, but with actually native UIs and native performance.
So on that note… @raphlinus, how’s XiEditor coming along? Because its approach is what we all really want, I think.
And he replied!
@chriskrycho I've been focused on porting it to Fuchsia, less lately on the core or Mac port. I expect to get back to those soon.— Raph Levien (@raphlinus) December 27, 2016
Guess who’s drafting New Rustacean News Episode 2 right now?
Setting up AppVeyor for Lightning so I can be sure everything works cross-platform. 🎉 But for the record: batch files are barbaric. 👎🏼
This is fun: Lightning now loads the YAML configuration I defined. Doesn’t do much of anything with them, but it loads them!
(I’m developing Lightning totally in public, so you can follow along here.)
Just had my first experience of writing a lifetime-requiring function in Rust and inherently knowing exactly what lifetimes it needed.
When we watched Lydia for Tim and Til Jones a few weeks ago, she made this face. So I made it back at her.
One of the great joys in programming is when you start to feel even just a little bit fluent in a technology.
I keep trying to read documentation about templating engines in Rust and getting distracted by e.g. restyling rustdoc output.
(That’s not a thing that’s happening, though I’d happily chip in if it were, just a thing that distracted me. Web Inspector.)
Your friendly reminder that docs.rs is an incredible piece of software that is invaluable for working with Rust.
I have a deep, deep enjoyment of my Apple Magic Keyboard. It’s hard to explain, but it just feels really good. The traditional keyboard layout does wear on me, though—if someone made an ergonomic layout with these keys, I’d pay in a heartbeat.
Things VS Code still needs to fix to be awesome:
And let me turn off the ridiculous smiley-face feedback icon!
To be clear: Code is already very good. But it’s not quite awesome. (It’ll get there.)
Spent a chunk of the afternoon figuring out how to implement Rust’s
Result type in TypeScript. Pretty cool!
I had gotten in an insane state where things just stopped working that had previously been working as I updated to Ember CLI 2.6.
After much tearing of hair, I started over from scratch and repeated the upgrade process.
Everything works now.
rm -rf node_modules bower_components and test again.
Nothing works now.
Consistently, it works fine after the upgrade and
ember init finishes. Then, if I do a clean install of the dependencies, it fails.
And it fails in the same ways. So ultimately I’ll be chasing those, because we’re not going to get stuck here.
But this is an infuriating experience. If you’ve ever believed npm’s claim that non-deterministic installs aren’t a problem… consider this a data point in the opposite direction.
┻━┻ ︵╰(°□°)╯︵ ┻━┻
Aaaaand I think I’m about to have a crash. Helllooo, let-down. (Don’t worry: I’m fine. I just need to sleep. A lot.)
Finished the last of my SEBTS classwork for 2016. Saw the opening showing of Rogue One with my wife and friends. Good night!
Just saw the 2017 budget plan for Olo. I think we’re a real unicorn in startup land: a startup with realistic goals and a business plan. (I’d say we’re not a startup at 10-years-old, but since we’re still funded…)
Today, I will finish the last of my classwork for SEBTS in 2016, and go see Rogue One: A Star Wars Story with my wife and two of our best friends. I’m a little pumped.
I cannot express the depths of my loathing for DRM. It punishes legitimate users and does nothing to deter pirates. Utterly infuriating.
We’ve mistaken excellence for being exceptional.
They’re not the same, and confusing them can only do us harm. Just do your best work.
In the midst of pulling 10–12-hour days every day this week, I am profoundly grateful for Counter Culture Coffee’s “El Moral”: a single-farmer lot from Colombia which has been consistently fantastic. Hats off to Francisco Gomez and Counter Culture for this coffee.
While watching a theology lecture for school, I may have also spent some time learning how to do newtypes in Elm.
For the second day in a row, I’m starting things off with Arvo Pärt. It’s a good way to get goigng at the start of a work day.
Currently almost 7 hours into this work- and school-day, at 2:30pm, and expecting it to be about a 12-hour day. Time to coffee up some more.
There’s nothing like building something real in a language to find all the weird little corners. Even something small will get you there.
Pro-tip for dealing with
HashMaps in Rust: the
entry API is often your friend.
The more time I spend looking at houses, the more I hate the American obsessions with cars. I don’t want a front-and-center garage. THANKS.
Also, describing anything suburban as “sitting majestically on 0.2 acres” inevitably just makes me facepalm.
Seriously, GitHub—one of your mostly harmless robots thinks I’m not a human, because I’m on slow 3G in the mountains with lots of retries?
Current status: Counter Culture coffee and Videri Chocolate 70% dark chocolate and Ember.js for Olo. This is a good Tuesday afternoon.
My 4-year-old is in her room by herself during her rest time… reciting the first question and answer from the Heidelberg Catechism. #winning
Ben Sasse’s strategy for getting things done, discussed in this Twitter thread, is roughly the same as mine.
Call me a cranky old man, but Medium increasingly just makes me sad. I like the uniqueness—including, at times, the ugliness!—of real blogs.
Lots of compilers tell you “Foo is broken!” I love that both the Rust and Elm compilers try to explain why and how to fix it.
One of the things I most enjoyed working more on Lightning this weekend: the Rust compiler is so helpful.
The one upside to tabs (over spaces): they can be whatever visual width you want. (Relevant when, like me, you like a really unusual width. I’ve always been a 3-spaces-wide guy.)
Minor Rust surprise (though namespaces help):
std::fmt::Write are not the same (and for good reason).
If “pray for the president” responses from #NeverTrump evangelicals confuse you, read 1 Peter 2:17 and 1 Timothy 2:2—written under Nero.
Pro tip: use
Map and not
Edit: Belay that: the problem was an allocation-speed issue: I wasn’t reallocating a
Map. Updating in-place is much more comparable.
Front-end web development in one screenshot: macOS Safari on the left, iOS Safari on the right.
I’m just starting my workday, and it feels like it’s time for my second cup of coffee. ☕️
I’m listening to the recording of Dvořák’s Symphony No. 9 by Sir Colin Davis and… wow. This is a fantastic presentation of one of my favorite symphonies.
Editing one of the most pure fun episodes of Winning Slowly we’ve ever done.
It’s about libraries.
Just registered for my last semester of classes and applied for graduation SEBTS. A good feeling, but a strange one.
Writing Rust just makes me super happy.
Using ML-style types to reason through things—even just as a reasoning tool, without language support—makes such a huge difference.
I’m rewriting a hairy, often-buggy section of HolyBible.com’s user logic, and using type definitions for reasoning was invaluable.
I’m apparently that weird developer—maybe the only one?—who thinks both Microsoft and Apple’s events this week showed neat new tech.
I’m simultaneously incredibly sad to be missing Rust Belt Rust and so relieved not to be traveling any more this year.
Just used LetsEncrypt for the first time.
This is wonderful. ENCRYPT ALL THE THINGS!
And then I set up a cron job to renew it every three months. My maintenance burden for this app just went waaaay down.
Spent a good chunk of the evening working on this static site generator—by contributing to another library. #opensource software FTW.
Discovered that Syntect can do highlighting for HTML as well as for editors. More Rust awesomeness.
Pro tip: if you need an ingenious reading of a text to justify your view in light of it… you should probably just give up your view instead.
I really like John Frame on a lot of things. But his arguments for Sabbatarianism are just special pleading on top of special pleading.
It looks my options for HTML templating in Rust are… quite varied. This is good!
Curious: I noted during my drive back from vacation today that whenever other conscious thoughts lapsed, my Rust CMS project came to the fore.
My online writing needs are weird. I have searched for years, and unfortunately… I need to write a custom CMS.
I thought briefly about hammering together what I need with Metalsmith.io and its plugins. But that would be a stopgap.
So the inevitable comes to pass: I commit to, however slowly, build the CMS I need.
Probably in Rust—so it should be crazy fast.
Status: looking at C bindings for Pandoc and thinking about implementing a Rust wrapper for libpandoc vs. shelling out to pandoc. 🤔
First pass: just going to shell out on the command line. Second pass… well, if speed is what I’m going for…
I’ve guessed this for a while, but I can confirm it now: Clap is a really fantastic command-line argument library.
For posterity’s sake (ha!) it’s worth note that the original link here was to
lightning-rs. I actually noted as much, writing:
That repo name is for “Yet Another Static Site Generator (This One’s In Rust)” because I feel so creative today.
Note the headdesk-worthy initialism failure: it should have been
My two-year-old woke up super sad from her nap, and her mom needed to take a shower. So The Empire Strikes Back it is.
And, on evaluating that table… I need to pull about half of it out: too much code.
This morning I… carefully built a 3⨉16 table comparing Rust and Swift syntax. Exciting, right? 🤓
People, React is great—truly! But the fact that you only learned about the ideas it uses from React doesn’t make React itself the paradigm.
People, React is great—truly! But the fact that you only learned about the ideas it uses from React doesn’t make React itself the paradigm.
After two years of using a Garmin 920XT, my considered opinion is: Garmin makes great hardware, and their software is utterly mediocre.
My kingdom for an IDE with the smarts of JetBrains’ IDEs and a real, non-Java, native UI on macOS.
Wrote ~500 words and nailed down a chapter’s structure this morning. Good start to the day!
I really, really wish that YouTube were just using HTML5 video so I could do picture-in-picture on macOS Sierra.
I just realized: like a complete dolt, I forgot to update the show feed for Winning Slowly when I published 5.04. :facepalm:
Looks like subscribers get two episodes in their feed today. 😬
Dear North Carolina, it is October. It is time for you to stop being 80° now.
Wondering what it would take to build the Rust equivalent of Swift Playgrounds (which are like a REPL on steroids).
Playing Harmy’s Unspecialized Star Wars for my girls while I write some more this morning. 💕
Remember to find little ways to say thanks for the F/OSS you use. It doesn’t have to be a lot—even a small gesture goes a long ways.
That doesn’t begin to pay back the value he’s provided for me and many others—but even so, I know from experience: a little gesture is nice.
This has been a fascinating weekend of conversations, many of them about systems and institutions and technology—with everyone from Lyft and Uber drivers to Trevin Wax, Joe Carter, and Matthew Lee Anderson.
The conversations Stephen Carradini and I have been having on Winning Slowly over the last couple seasons, and this season ahead, all seem more important to me than ever before. Not because the show itself is very important—it isn’t—but because these issues, and one question in particular, seem increasingly urgent in our day.
That question is simple: Can we say no to given technologies or opportunities, not only as individuals but as communities?
If we cannot, we are slaves to whatever idea someone dreams up next, whether it is good or bad, beautiful or wicked. Our tools will own us.
If we can, then at least some things I believe we ought. The question then will be: what technologies not only can we but must we refuse?
The answers to those questions are more than a tweetstorm can disentangle, indeed will require years of hard work and thought to search out. But as of right now, too few are even asking them—we think instead, “We can, and we may do some good, and so we must!”—heedless of the cost.
These questions press especially on those of us in technology, those of us who teach, and those of us in positions of influence. The things we choose—including, sometimes most importantly, silence and refusal—will shape not only our own but also many others’ lives.
Reading Darrell Bock and other progressive dispensationalists, I often want to say: “You are not far from the kingdom [of covenant theology]!”
My #firstsevenlanguages—looking strictly at what I’d used at all; ignoring HTML and CSS):
In terms of what I learned well enough to use, though:
After a few weeks of noodling around with an idea, I nailed down the hook for the processional I’m writing for my sister’s wedding. Love that feeling. Now: to turn it into 2 minutes of music!
I was just messaging a friend about parsing, using text-to-speech; it came out, “So, I am trying to get up to speed on cursing in general…” Whoops.
I’m reading a book featuring an in-house debate between progressive and traditional dispensationalists on hermeneutics and theology.
Dispensationalist friends, I love you. Also, let’s have an intervention.
The book I’m reading deserves a better cover.
When you want to comment on something but doing so would come off as subtweeting someone with whom you have no beef so you keep quiet.
…do I get bonus points in life for this? It feels like I should.
The “user guide” is an implementor’s guide, not a user’s guide. :sigh:
Gladly, asciidoctor.org makes it easier: “What is AsciiDoc” and “Writer’s Guide” and “Syntax Reference” are all on the front page.
Wrote 700 words of the script for New Rustacean e017. Should finish that script tomorrow (and maybe record, too!).
Speaking of podcasting: my current goal is to ship an episode of New Rustacean every other week (the off weeks from Winning Slowly), after this coming week (when they’ll hopefully both have an episode). Lots to do!
Just made the requisite website tweaks for Winning Slowly Season 5!
5.01 coming Tuesday. GET EXCITED.
I signed a contract today for a neat little writing project broadly related to my ongoing Rust and Swift series. Probably means a bit of a hiatus on the series itself, but there’s a lot of fun ahead. More on that as it develops.
Inbox Zero is such a good feeling. I need to get back into the habit of staying that way (as I have in the past).
Well, I had a cup of nitro cold brew coffee at about 3pm. So… it seems I won’t be sleeping for a while yet tonight.
Aim for “Well done, good and faithful servant” rather than “Wow! You’re such a great teacher!”
I hate JIRA’s Wiki markup so much. Why in the world they feel the need to stick to that instead of just supporting Markdown, I do not understand.
I’m quickly discovering a desire for actual, enforceable types as I’m trying to compose a series of functions. It’s hard without them.
Here’s the thing with ad blockers, WIRED: I only whitelist sites who don’t track me. Fix that and we’ll talk.
I’m so used to dealing with layout distinctly from behavior with the HTML/CSS/JS separation that learning how to lay things out in macOS apps feels weird.
After a week of being sick, I’m finally getting back on track with my schedule. I’m tired, but it feels good.
The more time I spend looking at F♯, the more I like almost everything about it. The only pain point… is that Microsoft foolishly choose to PascalCaseAllTheThings. 🙄
Either Medium actually thinks this, or they’re willing to sell their product with it but don’t think it. Either way, it’s nonsense. “Moving thinking forward”? Really?
I have a problem and it is called: “I run further than I probably should given the heat and my readiness level.” 😳
Well, I might have stayed up too late tonight writing what has ended up being a 1700-word post on Tolkien and typology for Mere Orthodoxy. But it was fun!
Note to self: don’t forget to use the
--jobs flag when doing builds with Cargo. Parallel = faster when building a bunch of things.
I have busted out the scary dad voice twice already this morning. Could be a long day. (Pushing is not allowed. Neither is disobeying mommy and screaming at her.)
Finished the New Rustacean material for e016. But I’m sick, so now I’m going to bed. Bleh.
I may have spent over an hour this morning writing about allegorical interpretation and The Lord of the Rings instead of finishing the book I was reading for an independent study. But I’ll blame that on the book, because its authors just got Tolkien very, very wrong. 😜
I didn’t get done everything I hoped, but I read a bunch and wrote a bunch for New Rustacean e016. Hoping to release it this week!
The day you accidentally run 20 miles, and then the day after…
I do not eat KFC often—but every year, on the day I take my longest run of the year, I eat KFC, and I am glad. This year, today was that day. I just ate KFC. I am glad.
I accidentally ran 20 miles instead of just 16 today. 😬 I am now profoundly uncomfortable in a number of surprising ways.
I am trying to fix a bug in a Node.js back end I wrote 18 months ago. And I have never been so tempted in my life to rip out the entire Node back end and replace it with one written in Rust.
Things I did tonight:
I really, really prefer codebases which remember that readability matters. Getting everything on one line, at the expense of the line being 234 characters long, is not a win.
Open-source developers who are still using mailing lists for tracking bugs are not on my good list. sigh
I haven’t gotten almost anything done today. I think I’m calling today my day off for this week and I’ll hammer at productive things later.
Wow: a minimal (but extremely useful) lodash install is only 4kb minified and gzipped. I… need to have this available to use everywhere now, please.
Doing the same little programming task again at regular intervals is a fascinating exercise. Seeing how you’ve learned to tackle the same problem, but better, is illuminating.
I know the
Vehicle example is sort of canonical in teaching object-oriented programming. But it’s wildly disconnected from real software development problems. I don’t like it.
Unfortunately about to do the mobile carrier switch dance again. We really like T-Mobile. Unfortunately, it doesn’t cover our apartment. 😕
Autoplaying videos are bad. Do not autoplay your videos, website owners.
I’d love—love—to see an open standard for embedding browser engines (a la Chromium/Electron) emerge, so you can embed whichever you like.
The build worked on
develop last night. We have made no commits. Now it fails.
Current best guess: transitive dependencies. Thanks, npm.
I’m such a grumpy old man. I’m on a group text where everyone else uses Bitmoji and they make me so… grumpy.
The first thing I do when I start playing with a new language/framework/etc. (like I just did with Elm) is download the Dash docset for it. The time it saves is extraordinary.
So I love the Rust compiler (and it’s improving all the time). But the Elm compiler is a revelation. Just… wow.
Got a weird diff report on a change in GitHub. Tracked it down to find it was a byte-order mark issue.
Thanks, Windows. I hate you.
Also, to be fair, Sublime Text 3 gets a little of my ire for changing the encoding on the fly. Don’t do that.
Lambda calculus. Church numerals.
This is my reading for a day when I feel terrible and just need to rest. I note and embrace the oddness.
When you go to the Y to get in an evening swim and only realize when you arrive that they close an hour earlier on Fridays:
Dear fellow students: do not mark up library books. Mark up your own as you like. But little annoys me as much as your personal notes.
Listening to Harry Greyson-Williams’ score for The Martian 🎵 and finishing the New Rustacean e015 script. 🎙
Someone seems to have hit me with an attack that gave me a -2 effect to agility and dexterity today. MI feel so clumsy.
Delightful discovery: Ginger Labs’ Notability will save web pages as PDF. Now I can take notes with an Apple Pencil on any article I want.
We’re sitting here with a friend, talking about two’s complement representation of negative numbers in binary. We are nerds, people.
Here I am, at the end of the week off, and what am I doing? Writing a Rust RFC. Yep.
When looking at an intimidatingly large software project, just ask: what is the very smallest thing I can build that is still useful? Once you have that, you can build on top of it, and you’ll have momentum. You might rework it later, but that’s okay—you’ll have started.
I think our day trip to the beach was a success. At dinner, Ellie said, “This was the best day ever!”
Apparently, “a place to sit on the beach and play with my kids” is not what tourist departments have in mind for their wbsites. Probably because the possibilities for commerce, and therefore revenue, are small in that bucket. It is profoundly annoying, though.
So I have a week off, and what have I spent this afternoon doing? Uhh… working on some of my personal development tools, mostly. What can I say? It’s fun!
I was looking at the GitHub repository for my blog, and noted that it doesn’t include Markdown in its language stats. Which means its stats are hilariously misleading when you’re looking at the language breakdown for a content-oriented repository.
I just republished a bunch of tweets I’ve written over the last few weeks on my own website. Two observations:
So, Jason Snell’s pepperoni and pineapple pizza recommendation is great; we’ve been doing it for years. Add jalapeños for extra pizzazz!
Recorded another New Rustacean episode at last; it should be up this afternoon. Rust FTW!
And, me being me, this “news” episode ended up with a description of how the Rust compiler works. 🤓 It’ll post later!
I originally posted this as a tweetstorm, but unlike in the past, where I’ve treated those tweets as the canonical form and linked them here, I’m now treating this as the canonical and adding a tweet to the end of that “topic” linking back here. Indie web forever.
A friend comments:
FWIW you can download a big fat zip file with all the stuff you’ve ever uploaded to Facebook
it comes in a pretty simple HTML layout. I do it every 6 months or so for backup.
Time zones: the bane of a software developer’s existence.
Astounding as it is to be able to work from the middle of a bus in the sky… I’m ready to be home, for so many reasons. Working in my own office again will be nice. Having my sweet little girls come say hello while I’m working will be even better.
Oh, hey, Colorado—nice to see you again; it’s been a while!
It’s amazing how much daylight sets your body’s clock. I’m flying west in early evening, and it barely feels like it’s getting later.
P.S. I wrote that post on my iMac via SSH from an airplane somewhere over the Midwest. Crazy
I needed to write a tiny server to test out some quirky single-page app stuff I’m doing for Olo right now. So I did it with Python and Flask.
Finally at a spot where I have both the time and the mental energy to pick back up my Rust and Swift series. Initializers, I’m coming for you.
The soundtrack to Stellaris is wonderful. Really, really wonderful.
I wrote just under 30,000 words this semester. Not too shabby. Glad to have wrapped up another one!
In a few hours, Lord willing, I’ll have written a few thousand more words for an essay final and finished this semester.
Finished writing enough words. Going to take a two hour break to go hack on a potential solution to a problem that has been vexing us at work for months and which I think I know how to solve. Then come back, edit, and submit this thing!
500 words and some editing and 75 minutes to go. Put on some Ellie Goulding. Head down. Let’s do this.
Just bumped into another person who (quite reasonably) didn’t know that ES6
classes are just syntactic sugar for prototypes. I like classes… but they’re more confusing than not, I think.
750 words written today. My brain feels like mush. Time to listen to Star Wars: The Force Awakens. And maybe also drink some more coffee.
Also, I’m betting I’m not the only one who finds it frustrating that every single tool I use gives me a different word count for the same content.
~5600 words down. ~1800 to go. Yes, I underestimated yesterday by about 1500 words. Whoops.
~3500 words down, ~2500 to go. Steady on!
That feeling when you’re researching a paper and a philosopher cherry-picks all his examples and ignores every countervailing examples.
Nothing screams professionalism about a Linux distro like using a years-old default WordPress template for the site.
Good move, GitHub: unlimited private repos for the price I’ve been paying for just 5 before now. 👏🏼
One class finished. Just another 6000 words or so to write and edit before I’m done with the semester.
Wrote the first draft of my RustConf 2016 proposal. Because I don’t skip chances to chat about Rust. Not ever. You know that by now.
Trying out the Smart Keyboard for the iPad Pro 9.7. It’s a little small, but surprisingly easy to adjust to. Main weirdness is mod keys.
Verdict after working on my new 9.7-inch iPad Pro with a standalone keyboard for a bit: this is fantastic.
Tony Merida on “dress codes” in the Bible:
You ain’t got no verses for ties!
Panic’s Prompt 2 is an absolutely incredible app. Wow. Just wow.
I just had one of thos beautiful moments when I realized I’d written a beautifully generic component I could reuse throughout the app, and it made me so happy.
We got Jaimie an iPad Pro to replace her old laptop. (Sweet!) Setting it up to do Python dev basically requires SSHing into another server, so I set up a custom DNS with No·IP and local port forwarding and it’s super neat.
I sometimes ponder how weird my RSS/Twitter/etc. feeds must be for my friends/family/followers. Since it ranges from hyper-technical programming stuff to poetry and from running to massive theological essays. I’m a weird guy.
This blog post on recent compiler work in Rust is incredible: great work, and great technical writing. 💙 Rust.
Our rent is going up by 3% again this year. Up almost $100/month since we moved in three years ago. Ouch.
I think I’m sold on fish. The autocompletion alone is just delightful. Need to tweak it a bit, but even its defaults are pretty great.
It’s telling, I think, that most popular conservatism’s response to a basic income is frothing rage—but Friedman and Hayek both thought it a reasonable, possibly even good idea. I don’t yet have a considered opinion, but that should caution against knee-jerk reactions.
I hate npm’s non-deterministic installs. Reproducible builds are essential, not optional.
I’m drafting the next episode of New Rustacean on a 3-year-old retina iPad Mini and I love it. An iPad Pro looks awfully appealing.
After a few months of using Hasklig, reading code without code ligatures seems really weird to me.
Just finished a massive cleanup of about 4000 lines of an AngularJS codebase. It’s not amazing, but it’s a heck of a lot easier to deal with now.
If you want to see just how fast hardware has advanced on mobile in the last few years, try comparing a first-gen retina iPad Mini to an iPhone SE for performance on, say, a single-page web app.
Finished putting together a 200-word outline for a 25-page paper for my Philosophy of Science and Religion class. Perhaps surprisingly, I don’t normally work with outlines like this, but at larger scales, I think it’s necessary.
I still love EmberJS—but if I have one complaint, it’s that it’s slightly too heavy on convention-based magic. I want it to be a little more explicit, so that I can have a little more insight into what it’s going. Yes, even if that means a little more boilerplate. Explicit is better than implicit.
On fire this morning: just knocking things out left and right.
I love Mondays. I’m well-rested, mentally fresh, and excited about the week.
Heard in our house tonight: “No, Kate, why are you putting spinach on your toes?!”
I just ran
apt-get install zsh… on Windows 10.
Weirdest thing I’ve done in a long time. But I’m not complaining.
A bit of follow-up: that solution ended up being insoluble. Suffice it to say I’m very glad my Windows machine is just a VM; I restored a Time Machine backup and moved on with my life. Ugh.
My Windows VM for work is now stuck in an endless cycle of reboots after a blue screen of death after an update.
Between that and its starting the update without asking me, I’m not feeling especially happy with Microsoft today.
Out of everything from the original The Terminator, I think it’s undeniable that the thing that holds up best is the main theme.
Note to self: do not open YNAB when you have other things to do.
I’m not the only one who gets totally distracted by budgeting, right?
Basically: an ML, I guess.
The Kindle desktop app is so badly broken. Current state: two modals, which are blocking access to each other. 😐
Case in point: this photo of earth-rise from the Lunar Reconnaisance Orbiter Camera is incredible.
InterfaceLift is basically the best place on the web for finding incredible photos to use as wallpapers.
Nothing has cranked up the fans on my 5k iMac quite like running Handbrake to convert a video. Wow. (Notably, H.265 pushes it way harder than H.264.)
This was one of those days that didn’t feel like I worked a lot, but I just checked, and I did about 9 hours of work today. I just didn’t accomplish everything I wanted to (brain was in a fog all day). Strange how those can overlap mentally like that.
Betting I’m not the only one who thinks it a little weird that the
Event.target in the DOM APIs is the source of the event.
Affinity Photo is fantastic. They will be getting my money sometime this year.
After we watched the installation, Ellie said, “Next time the space ship comes out, can we watch?” Of course I said yes.
Watching the SpaceX with my four-year-old. This is amazing.
About to go for a run; there are 20mph winds right. Just like old times—I’ll be having flashbacks to running in Oklahoma (except with hills)!
It is utterly infuriating how many parts of the DOM API are “array-like” but don’t have the basic
Array API actually attached. Want to iterate over a
HTMLCollection? You get to use a
for loop with an index! Lucky you! 😐
Oh. my. goodness.
How have I not used Emmet before? The experience is amazing. Mind. blown.
Good tools are good.
On a 1-to-10 scale of “interestingness” for things Elon Musk companies are doing, last week’s Tesla announcement is about a 4. This is about a 9.
Experimenting a bit with BEM for CSS in a small tweak I’m doing to this site’s design. Not 100% sold.
My barista today: “You’re not a snobby and obnoxious geek; you’re a good geek.”
Discovered lately: the British English voice for Siri is much more fun for this American to listen to than the defautlt American voice is.
I 💙 the Rust team. So much.
Why isn’t this updating? :looks around for five minutes: Oh. It’s because I’m just serving an old version, and don’t have it rebuilding as I make changes.
Ellie just spotted a bald eagle out our back window. How cool is that?
I would love a simple, static, podcast-friendly site generator. (Pelican works, and I know it well enough, but I don’t love it.) Thoughts?
Few things are as encouraging when doing exegetical work for a sermon as finding that your thoughts aare not original, but stand in line with what the church has confessed about a passage before.
Successfully recorded the first episode of a new micro-podcast called Run With Me. Will be live later this week!
One of the things that’s weird about writing sermons for a class is the requirement to turn in a summary of my preparation. Why, you ask? Because it tends to look like this…
Live Photos: I know it seems like a gimmick, but it isn’t. That might be the biggest grin a little bit of tech has given me in a year.
There are about a half dozen reasons, and more mounting, why I need to set up an LLC. Just… need to pick a name. Always the hard part.
I accidentally just started playing through my entire iTunes library on random… and it’s wonderful. The joy of having lots of good music.
Oh, the difference between Friday afternoon and Monday morning, when trying to solve a problem. Spend two hours beating your head against a wall on Friday, or ten minutes on Monday morning. So it goes.
Got new phones off contract and bought a sport coat this morning. 😳
Let’s just say I hope it’s at least 3–4 years before I do either again.
Eventually, my daughters are going to discover that I am not, in fact, cool. I’m going to enjoy it as long as it lasts.
Whoa: Ulysses exposes its iCloud documents quite elegantly to Spotlight (or Alfred or your launcher of choice). Quite impressed.
On the “typography should be invisible” bit that’s been going around lately, Matthew Butterick is on point:
Typography isn’t invisible. By embracing that fact rather than denying it, we can create better typography.
A really splendid moment this evening: I looked up just as we got out of our car after small group, and got to see the ISS pass overhead (and showed Ellie!).
Inbox zero again. Finally. I’d almost forgotten how nice that feels; I need to get back to making it habitual.
Among the many things Microsoft software does which annoy me, one of the chief is this: the Office auto updater checks for updates immediately after finishing applying updates. Why?
Throwing this out there: don’t organize your apps by ‘kind of item’ (view, controller, etc.). Organize by concern. A component’s template, controller, etc. should be right next to each other.
Well, paper-writing today may have pushed me to the breaking point. An app idea that’s been bubbling for months… I think I’m going to start actually building pieces of it and learning for other bits this week.
T.F. Torrance and Karl Rahner make for wonderful, fascinating dialog partners on the Trinity. Not least because of their disagreements!
Tip: if you get a very specific piece of feedback and have a standard workaround, it probably means you have a product design issue to fix.
The new Overcast feature which lets patrons upload custom files is the best for podcasters verifying episodes before release.
I was reading some C++ yesterday, and I can’t put my finger on what it is about the language, but I just find it unbearably ugly. Rust’s syntax isn’t that different, but I don’t have the same visceral reaction. I wonder why that is?
North Carolina friends, if you’re registered to vote in the state (and really, you should be!), please take the opportunity to vote in the primary today.
debugger; is a thing. My life would have been so much easier if I had known about this sooner than ten minutes ago.
It is both nice and odd to have no analytics for my website. On the one hand, it is liberating: if no one reads, I’m none the wiser. On the other hand, it’s strange: there are posts I know are getting read a fair bit… but how much I have no idea.
I’m at the point where I honestly hope that this election cycle in the U.S. just fractures both parties and we can have some genuine alternatives rather than two nearly-identical monoliths. I’m not counting on it, but I’m wishing for it.
I’ve now written over 14,000 words in my series on Rust and Swift, and while I’ve done some revisions sitting at my main machine, nearly all of them have been written on my iPad Mini. And quite enjoyably, at that.
Pro tip for tracking down oddities with Ember.js during testing:
ember test --serve --filter '<some pattern>' is great. E.g.
ember t -s --filter 'Unit' for just unit tests.
Pro tip: if you want to use Sublime Text with any project which has local node_modules, install something to ignore specified directories (e.g. those in your gitignore) immediately. Same goes for anything with large, repeated builds (like Ember CLI). Yeesh.
My wife has a voice made for podcasting. I’m editing the newest episode of Sap.py (!) and listening to her speak is simply sublime.
Sites which rely on Adobe or Google Tag Manager for their basic functionality infuriate me. Stop. Just stop.
Seriously. All I want to do is transpile ES6 to ES5 and make it runnable in browser. And I need Browserify or Webpack for this? sigh
Trying to do a little tweaking with the lightweight scripts I use on this site. Trying to automate things with Babel, browser imports, etc.
This is still far, far worse than it should be in 2016. Here’s hoping it’s (substantially!) better a year from now."
A good rule for life: If The Princess Bride can be quoted, The Princess Bride must be quoted.
Ellie: “Yeah, then I’ll be ready for kindergarten!
“… What’s kindergarten?”
One upside of having a new 5k iMac with 64 GB of RAM: I keep forgetting that I have my Parallels VM (with 16 GB of RAM allocated to it!) running. Ridiculous. (And great.)
I am increasingly persuaded that there is a law of the universe which states: On any morning in which parents intend to sleep in at all, their children will awaken early, and with an overabundance of energy.
Every time I do Node development, I conclude again—loudly—that purely callback-driven APIs are incredibly annoying.
If you’re contributing regularly to open source on GitHub, and you use the git command line at all, do yourself a favor and go install Hub right. now. Makes life so much easier.
The sheer number of Chris Christie memes this week…
Deals with the devil really bite, don’t they?
I use two-factor authentication everywhere I can. And it’s annoying. And as a result, I basically want Yubico support in every application everywhere all the time.
Okay, I’m basically done with PodTrac at this point. It’s slow to use, slow to update, and now it isn’t showing me anything about recent episodes on the dashboard. Anyone have a good podcasting analytics tool to recommend?
I have had a “cold” for almost a month now. Between that and some secondary symptoms, I’m beginning to worry that what I actually have is a mono relapse. May it not be so…
I have an ongoing internal debate whether to hard-wrap lines in the source Markdown documents for my website (and everything else). Upside: it can be helpful when viewed in a terminal. Downside: it’s not very responsive in other editors or small phone views.
One of these days I should write up the slightly arcane workflow I use to publish Winning Slowly and New Rustacean. It’s weird.
I posted these as a series of tweets.
Fired up and played the demo for Elite Dangerous on my Parallels VM. Made me want to buy it. But of course, I’d prefer to play it natively.
Of course, it’s available for Mac. But my (more than a decade old) joystick doesn’t have any support on OS X. No drivers, full stop.
You can find software out there which recognizes it, of course—but it’s quirky and doesn’t behave well.
Looks like opportunity calling.
I might—might, I say, not will—end up seeing if I can write the requisite pieces in Rust. Because that seems like a good plan.
Parenting skills: seeing the projectile vomit beginning, and sidestepping so it only gets on the floor.
Jaimie put on a recording of “All I Have is Christ.” And Ellie is singing along. I think my brain might explode from the wonderfulness.
Stayed up way too late tonight, working on a sermon on Judges 3. Yes. Judges 3. Should be interesting.
Reading Learn You a Haskell for Great Good.
Hang on—all name bindings are just functions? So many things just clicked. Mind. blown.
First day of true spring weather. Time to get the bike out and take a ride. Tri training season, here we come!
The upside to stepping away for a bit: I just found a bug in this code… which I introduced in December 2014. :sigh:
It’s inevitably a bit challenging when you step away from a project for three months because of life and then come back to it and try to pick up where you previously left off.
Wanted: Handoff from my phone to my Mac… for iTunes.
I’m seriously thinking about trying Otto to make distinct environments for personal development projects.
We need a Creative Commons Attribution-And-You-Have-To-Tell-Me-About-It license.
Spent the last little bit reading about Rust’s type system for the next episode of New Rustacean. Heady stuff.
Writing a sermon on Philippians 2:1–10 and listening to Howard Shore’s The Lord of the Rings: The Two Towers – The Complete Recordings. Delightful.
Just noted a way my programming languages snobbery has increased: if you have
null/etc. instead of
Option/etc., I say NOPE NOPE NOPE.
Just bumped into ES6
static for the first time and was all what the heck?
Websites which aren’t capable of dealing with dashes in phone numbers, social security numbers, etc…. ugh. This is not a hard problem to solve.
Seems about right for the primary season actually kicking into gear, given the preliminaries:
Actually cleaning up my desk area—because I (a) got a new desk and (b) am getting a new 5k iMac this week. Current analysis suggests that I’ve received two USB cables, one Ethernet cable, and one VGA cable for every device I’ve ever purchased. Why in the world did I bring these cables here from Oklahoma three years ago? I’ve never used them. Not ever.
Weeks where I’m in class all day take a toll on me mentally. I just realized one reason why: the absence of music! 🎶
Published my tenth full episode (and twelfth total) of New Rustacean today. Researching for, writing, recording, and editing the 17-minute, 23-second episode took a total of seven and a half hours.
Podcasting is a lot of work, but I still really enjoy it.
Just wrapped up 3.5 years of working for one company. I’ll start elsewhere on the 19th. Always feels a bit odd. Good. But odd.
This is definitely an Arvo Pärt kind of morning as I wrap up my last week of work with this client.
So you like GitHub pull requests but not so much the resulting merge commits? Have your 🍰 and eat it too.
Christmas Eve, and I’m enjoying delicious coffee, getting my budget caught up, and doing some writing. Huzzah.
Somehow I’ve never made much (or really any) use of JetBrains IDEs’ “scopes” concept before. Quite handy.
One sermon manuscript and one easy final and I’ll be done with this semester. Let’s go.
It’s telling of the kind of nerd I am that one of the first thoughts I had on starting T. F. Torrance’s The Trinitarian Faith was “This could use to be re-typeset.” It looks like it was gorgeous. Key word being was.
Got the JetBrains Toolbox license for everything. And then realized I now have access to the ReSharper Visual Studio C++ tools. Yes!
Bizarre though it would have seemed to me just a year ago, Vim has now displaced Emacs for quick command line editing for me. Weird.
I really wish someone had explained “separation of concerns” to the person who wrote this UI/controller/blob.
The only thing keeping me sane as I work through the atrocious Win32 Shell APIs today is listening to Pärt’s Lamentate.
I really hate that a constant expression and
const-qualified aren’t the same thing in C and C++.
Really enjoying the score to The Martian this morning—nice work by Harry Gregson-Williams.
This is interesting: I’ve read some F♯ before, but it reads a lot more obviously to me now that I’ve read a lot of Rust recently. Why? Because for all that they’re very different languages, both are ML descendants. It shows.
I ended up spending large chunks of the last two hours reading about American unincorporated territories. International law is weird, people.
Today I did a code review on my iPad while walking from school to a coffee shop, using my iPhone’s data connection as a hotspot.
What a world we live in.
Related to my previous post—I really, really wish more of the fundamental papers on CS topics were freely available.
I’m suddenly finding myself with an interest in parsers and compilers. What is happening to me???
Inversion of control is a beautiful thing. Not least because it makes it so much easier to manage control over necessarily global state.
Here’s a thing I’m quite okay with:
Ellie has invented her first totally-original (as opposed to borrowed from a TV show) imaginary friend. Her name, apparently, is “Ballerina”.
Tip for copying large files between Macs (like, say, a new OS installer): just connect them with ethernet to set up an ad hoc network and copy them that way. It’s easily the fastest and easiest way to move large things between two Macs.
This week Kate learned to walk. Also, she decided to go on a goldfish-and-hotdogs-only food strike, and to wake up at 11pm and cry, shout, and scream for over an hour multiple nights this week. You win some, you lose some?
A friend recently reminded me of the work of Eric Whitacre, which I loved in college, but had forgotten about since. I’m deeply grateful for that reminder on this rainy day studying in the library.
The guy sitting next to me at the coffee shop is using Outlook 2015. What a horrifyingly ugly piece of software.
I find that I solve many software problems faster by writing them out with pen on paper. I wonder how common that is?
4 hours of work, 6.5 hours of school, an hour of hanging out with my little girls over dinner and getting them in bed, and 2 hours of editing and publishing a podcast later… I think I’m good for the day. Time to read a book and snuggle with my wife and sleep.
Why, yes, I did just purchase a season pass for Doctor Who Series 9. And yes, I am giddy about it.
I’m extremely impressed with the recently released Hack typeface. I’m currently using it at 11pt in my terminal, at 1920 by 1200 on my retina MacBook Pro—and it’s totally usable.
Ever since that 18-mile run earlier, I have been craving (and therefore drinking!) orange juice. Must be low on something or other.
I installed the OS X 10.11 “El Capitan” GM today. Apple’s advertised performance improvements are readily apparent; I’m impressed.
I took an 18-mile run today—the longest of my life so far. If you’d told me a half decade ago that I’d not only be doing this kind of thing but also feeling great afterward, I probably wouldn’t have believed you. But here we are.
I’m so glad Google Fiber is building out in Raleigh-Durham. That pushed Time Warner Cable to bump its speeds a month or so ago, and this still makes me so happy:
Winning Slowly 3.09 runs to 42:10—after 7 hours of editing that cut out quite a bit of material. I think all our listeners will appreciate the final result, though; I can’t wait to share it with all of you on Tuesday.
I have written hundreds of words of blog posts on my iPad Mini the last couple weeks: almost every word of my Rust and Swift series has been typed there. I’m surprised how workable it is. Slower than a physical keyboard? Sure. But still quite usable.
I just realized: I have no idea how to listen to music the way “kids these days do”—i.e., as singles. I only ever listen to whole albums.
I’ve been thinking about publishing my blog content in physical form, and of course I want to match the typeface. Time to start saving up to purchase a desktop license for Sabon, it seems.
Listening to the Noah soundtrack this morning makes me want to get around to actually watching the movie. Good work, Mansell.
Filed my quarterly taxes. The North Carolina Department of Revenue’s website is awful in every way: it makes the IRS site look positively splendid by comparison. Which takes some doing.
Needed to set up a simple test bed for a Python distribution with
setuptools, which depends on external DLLs. So I used Rust and linked it up with Python’s FFI, because it was a perfect chance to see them interact.
That’s kind of brutal—the new Apple Pencil with FiftyThree’s Paper app:
I really wish I had time to make N. T. Wright’s Jesus and the Victory of God the topic of my book review for my intro to New Testament this semester. And honestly… I’m kind of thinking about just going for it. I’ve wanted to read it for years anyway.
A lovely rain storm started, so I thought I would take a run. Five minutes in, the rain stopped and then it was hot and sunny and muggy the rest of the time. Goodness.
I couldn’t figure out why none of my internet acquaintances were online today, then finally remembered: it’s Labor Day. None of them are working!
I had forgotten both how good and how incredibly tired I feel after a hard fifteen mile run.
More than 2⨉ as many people live in NYC today than did in the 13 states when the US was formed.
Given that, our political institutions could probably use some revision.
Tip for other runners out there: buy last year’s shoe model (on Ebay, Amazon, etc.). You’ll pay way less.
I’m writing a bunch of C that needs to handle error returns. I’m really wishing I had Rust’s
#[must_use] annotation right now. For that matter, I just want Rust’s
Result<T, E> type available.
Observation: it is extremely difficult to compose when you have a(n adorable) one-year-old competing for the piano keys…
Of all my nerdy statements, this has to be near the top, but it’s still true: I love RSS. It’s a wonderful tool.
What are you using to track software development issues these days? JIRA, YouTrack, FogBugz, RedMine, or something else?
Last night as we were coming home from dinner with friends, the CD changer switched from one album to the next and Ellie delightedly said, “What’s this? Pride and Prejudice!” Cuteness overload.
James Newton Howard’s After Earth score is fairly generic action movie music. But it’s really good generic action movie music.
Flame war time: I’ve basically concluded that for the tasks I use them for, I prefer Vim’s modal editing style to Emacs’ not-modal editing style.
I’d still rather use Atom/Sublime or IntelliJ IDEA for almost everything, though.
Thank goodness for Backblaze. After a bad OS X 10.11 beta install, I had to revert to a Time Machine backup from mid-July—but I’m getting back all the changes I’ve made in the interval.
Sometimes it is tempting as a designer to think that users are stupid. Don’t. If the software is not working for users, that implies stupidity in another party entirely: the one that designed the software. 😉
One of the great perils of our age is to opine publicly on matters that once we would have (rightly) left private—for example, our opinions, for good or ill, of other writers or thinkers. (He says, noting the danger in himself.)
I’ve been wearing my Garmin outside my runs a little the past few days, and it receives, but cannot act on notifications. For the first time, I get the attraction of an Apple Watch. Maybe the third generation or so, I’ll get one.
Ugh. I just discovered that a support email address has been sitting unattended for eight months. (Totally my fault.) Not a lot of problems… but any unanswered emails for that long are the worst user experience. So frustrated with myself right now.
Spent most of the morning organizing and planning out my semester with OmniFocus. Time-consuming—and worth every second.
It turns out browsers render CSS transitions for positioning much more nicely than they do those for the box model (perhaps unsurprisingly, on reflection). Use
top instead of
margin to smoothly animate an item moving within its container.
CDN configured. Sites both 80% done. These podcasts will launch this week, unless something goes particularly sideways.
The domain configuration for Sap.py and New Rustacean is done, and the websites are coming along. Almost ready!
It’s nice when you evaluate a potential product’s market more closely and find your idea might actually be viable.
Where do you like to set your
--prefix when configuring personal development tooling setups? Somewhere under ~? Or somewhere else?
Dear Washington Post: Georgia was designed for high legibility on screens. You may think it’s “newspapery” to squish the letters together with
letter-spacing: -1.75px, but actually it’s just ugly.
If you’re delivering images over the web, you need to be using something like ImageOptim. No excuses.
My ASICS Gel-Lyte33s lasted me over a thousand miles. The Gel-Lyte33 3s I got to replace them lasted less than 450 miles (more in line with normal expectations for running shoes). I wonder what changed between the models?
Just a few minutes ago, I heard Ellie singing a song that mashed together “Let It Go” with something about munchkins. People who know me well know where the munchkins bit came from. “The apple doesn’t fall far from the tree!” Jaimie immediately opined. 😏
Tradeoffs time: whether ’tis better to drop in an off-the-shelf open source solution for this particular problem, and bring in all the extra weight it includes, or do it myself and pay in the time spent.
Tonight, Jaimie said that she thought Rust had turned me into a bit of a fanboy. Don’t tell anyone, but I think she’s basically right…
The uppers are coming off on both of my current pairs of ASICS running shoes. I guess it’s time to upgrade. $$$…
I found a
CEditDlg instance and went looking for it in the MSDN docs, and was a bit nonplussed not to find it. Oh. It’s a
CFileDialog subclass, and never mind the semantic ambiguity arising from the existence of a native
CEdit class. 😐
Well, hello there, Smetana’s “Má Vlast”—I don’t believe we’ve met before, but you are absolutely delightful.
This is a Chicago Symphony Orchestra playing Mahler Symphony no. 2 kind of work morning.
Ellie and Kate consistently get up half an hour to an hour earlier on Saturday mornings than any other day of the week. Coincidentally—or is it?—Saturday is also the only day we try to sleep in. It’s like they know, and plot against us!
Thinking about setting Input as my typeface for doing my development for a week or two, see how it goes.
Anybody tried it? Bugs or problems to report?
Quote of the week (3-year-old Ellie talking to her mom, who has been learning Python): “Mommy! I have a function for you!”
Hooked up my digital piano to Logic Pro X tonight and wrote the theme for a podcast we’re doing together on learning to program. It’s so good!
Don’t blame me: it’s all @manton’s fault. He started this.
New modem installed and configured. 120Mbps is something else. Now, to set up the wireless router so that I can get something above 10Mbps anywhere besides right next to the cable outlet.
About to set up my new cable modem. If all is as expected, we should get about 5⨉ our current speed when I’m done.
A minute ago, Ellie asked me to play with her and Kate. I started to answer, “No, I need to finish publishing Winning Slowly.” Then I remembered: putting that first would be pretty much exactly the opposite of Winning Slowly.
So far, at least, System Integrity Protect (“rootless” mode) is causing quite a mess on the El Capitan betas. I’m sure Apple will get it straightened out… and I’m hoping it’s by the next public beta.
Hey, Google, I know I keep telling you this, but you don’t seem to be listening. If I put a search term in the box, I actually want it in my results. I know you think your algorithm is smarter than me. But it isn’t.
I’ve now migrated all my chriskrycho.com emails to Fastmail. Still have some organizing to do, but I’m no longer tied to Google Apps there. Just a few more addresses to migrate…
Whoa! After years of demand, Confluence finally added support for importing Markdown-formatted content in its “Markup” box. It’s not native support for editing in Markdown… but it is a step forward. Good work, Atlassian.
Just recorded the first episode of a new, short, weekly podcast I’m working on. Audio should be live in about a week!
I started looking into bespoke publishers for that blog-post-book idea. First one I found has this for a logo:
Yes, that is Comic Sans. Immediately filed under nope nope nope.
I think—so I can have a hard copy—I may start printing a nicely typeset of my blog posts each year.
People often point to this (hilariously accurate) flowchart to explain how to solve tech problems… but it leaves something really important out: we “techies” know the right questions to ask. That makes a big difference.
Another little feature of Rust I quite like: the use of
traits instead of inheritance to share behavior. All the benefits of inheritance, and a few more besides, but none of the drawbacks.
An advantage to running Windows 10 in a VM: this boondoggle isn’t a problem for me, because as far as that VM is concerned, it’s talking over an ethernet connection and doesn’t have any idea there’s a WiFi network involved.
On a semi-related note to the previous post… I love the new option to hide and show the menubar automatically on non-full-screen views in OS X 10.11.
El Cap public beta 2 was all sorts of broken. Things like copy and paste weren’t working right! Beta 3 looks much better so far.
Courtesy of something in my stack not playing right, I’ve now been reduced to pushing and pulling changes between OS X and my Windows VM through Bitbucket, rather than just having a mapped drive locally. This feels silly.
Hmm, this may be telling of the future… SourceTree now introduces itself as a Git tool. No mention of Hg at all. 😟
I can feel my motivation on this paper dropping by the hour. Must. finish. it.
So… Apple Music is going to have some serious issues if it can’t get “playing music on demand” separate from iTunes store issues.
Pro tip: it turns out that generic versions of psychotropic medications may not be as effective as the brand-name version. Lessons we’ve learned the hard way in the last two months.
One of the things that impresses me most about the new DayOne sync is how blazingly fast it is. Changes are nearly instantaneous.
Me: I’m really delighted by the big girl you’re growing into, Ellie, and I love you so much!
Ellie: I really love my magazine!
Woke up to my alarm with my head feeling stuffed with gauze, went back to sleep, woke up with my wife’s alarm to find the room spinning, went back to sleep, woke up to just a plain headache. Rough start to the week…
Trying to delete an Amazon account.
Good grief, this is a labyrinthine process.
Just one more reason to dislike this company.
How in the world have I gone all this time and never listened to Krzysztof Penderecki before today? This is outstanding stuff.
My dear wife has started teaching herself Python as a hobby. She has the essential skill required to succeed as a programmer: the willingness to persevere even when it isn’t making sense to her. I’m extremely impressed.
That time when I accidentally deleted my “dev-tools” folder in /Applications.
I’m grateful for Time Machine right now.
A wished-for future Apple laptop lineup: 12- and 14-inch MacBooks, 13- and 15-inch MacBook Pros. I’d do a 14-inch MacBook and a retina iMac as my remote/at-home combo in a heartbeat.
I want so much to grind some of this single-origin decaf coffee and drink it right now.
But my 1-year-old is asleep downstairs.
Trying to decide whether the kind of “not good” I’m feeling today is the kind that will get better or worse with exercise.
Playing with CSS transforms and transitions while I listen to a lecture on Romans for my New Testament class. Keep myself awake…
Found a new use for Rogue Amoeba’s Audio Hijack: boosting audio from too-quiet vidoes. Sweet.
Working on an essay on theological anthropology. The introduction alone is 650 words long…
I cannot wait till I can switch to ES2015. Got bit by the stupid var scoping issue again. You’d think I’d be past that by now…
One of the things that annoys me most when writing C is how difficult (really, almost impossible) it is to do anything generically. The same operation for different items in a struct? Good luck. It’s possible, but rarely worth the work.
I heard someone suggest that even if the subordination of the Son in the Trinity isn’t expressly taught, it’s useful in debates, so why not?
Besides the fact that I think the idea is contrary to Scripture, we should never reduce the Triune I Am to mere means to other ends.
Q: What is the chief end of man?
A: To love work and be as efficient as possible in every task.
—the first question in the Western Technocratic Catechism
Depression is an awful, awful part of our fallen existence. I’d do almost anything to take that darkness away from my wife.
God has grace for us in the meantime. But we’re ready for resurrection bodies with healed brains.
“Come, Lord Jesus!” —Revelation 22:20
Finally giving FontStand a try.
Holy wow. This is a great tool—good software, good business plan.
It’s 96° out, it feels like 105°, and it is about 50% relative humidity. I got sweaty walking to and from my car. Gross.
I’ve been using Cardo as the typeface for theology posts for the last month or so; I’m thinking about switching again. The barrier? Greek and Hebrew support. Because of how
font-family and font-loading work, I may be able to get away with adding a custom font for them, though.
Well, tonight I seem to have finished my journey from the dispensationalist premillennialism I grew up in through the historic premillennial view I’ve held for the last few years into amillennialism.
I have been using a small notebook to jot down ideas and thoughts as they come to me the last few weeks. It’s funny, but I can almost physically feel them flipping different switches in my brain as I write with pencil and paper rather than tapping on a screen. Medium matters.
Kate kept us up late last night (no idea why). And we ran out of coffee yesterday. It’s going to be a long day…
Our youngest has been sleeping through the night for a week now. Going to bed at 9:45 & getting up at 5:15 is suddenly doable again. Huzzah!
If, in your discussion of eschatology, you skip or glide over physical resurrection, you have missed Christian hope almost entirely.
I’m reading Life Everlasting, and reminded again just how much form matters. This is heady stuff, but the authors (or their editors) seem incapable of rising above a dry recitation of the facts. It undercuts everything they say.
Tip: if you’re using Mercurial’s bookmarks to track lightweight branches, somewhat analogous to Git’s branches, use Mercurial’s special
@ tag to track whatever you want to treat as the tip of a
master branch. That way, any clone will check that out by default.
Thinking about how to structure the content on my blog. Layout, categories, etc. I think the problem is insufficient clarity about data hierarchy—a lack of understanding about how the pieces relate to each other. I’ll keep working on it.
I just taught Jaimie how to use GitHub for Mac (as she is helping a friend with his Jekyll-powered website), and explained the basics of distributed version control. She is totally a boss. And GitHub for Mac is a pretty good app.
I was inspired by the release of Tweetbot 2 for Mac to finally try seeing what utility I can wrangle out of lists. I think it’ll be a win.
I officially understand why people like triathlons. Cycling after running is just fine. Running after cycling is amazing.
Ugh. I’ve spent an hour searching for an Evernote replacement, and my conclusion is: I’m going to end up using flat text files and grep.
I think I’m going to give up on Evernote again. UI problems left and right.
So… what’s a good taggable, hierarchical, searchable notes app?
One of the tricks as I’m trying to work out what I want to do with Evernote: I have a bunch of old Evernote I want to pull in, but I am intentionally starting fresh. Now I have to decide how to bring that content over, especially as regards its tags, etc…
I am slowly working out a system for using Evernote to manage notes, books to read, etc. I have tried this before, but failed to think carefully enough about how to organize my system. Hopefully this time will work out better!
Found my wallet! After I ordered replacement debit and credit cards and driver’s license, of course. (It was in the back of Jaimie’s 2nd-grade Sunday School teaching binder…)
Wait, what’s that? The sound of an update to the about page, and one that includes a picture, for the first time since I relaunched this site using Pelican instead of WordPress? Can it be?
I’m listening to lectures on theology… at double speed. It’s surprisingly comprehensible even at that pace, and getting through the material in half the time is no joke.
In the process of replacing my wallet and all of its contents: driver’s license, credit and debit cards, etc. Not my idea of a good time, to say the least.
One of (many) irritations with using Angular: every search turns up Bootstrap solutions.
I’m not using Bootstrap.
Why do we need to model the world using abstractions invented for pencil and paper? Can we solve quantitative problems without manipulating symbols?
Answer: exploring new approaches like this is great—but throwing out patterns that have worked for millennia is… unwise.
Neat! I just created a simple workflow in Workflows on my iPhone, which lets me generate new posts like this on the fly. I’m hoping to get to a point where I can even auto-publish with it… but that’ll be a while.
Every time I watch the kids at FBC Durham during out “Extended Session”—our main service childcare session—I get sick. Take it as a mark of my love for you, saints of FBC, that I keep doing it anyway.
I’ve come to the conclusion that I really need to find a good way to organize links, notes, etc. for later reference. I’ve tried Evernote before, and didn’t love it, but I don’t know of anything better. Time to try it again, maybe with a different approach this time, I suppose?
Every once in a while, I get frustrated with doing all my website stuff a bit more manually using Pelican. But then I remember the dark days, of WordPress, and I don’t regret the switch a bit.
Currently on my mind: how to chunk up the Bible text with semantic blobs and chapter/verse trees in corresponding data structures, in order to present meaningful sections of content (paragraphs, etc.) without resorting to delivering a whole book.
This post brought to you by a brand new script, which automatically generates the file needed—YAML header and all!—to create a new microblog post on chriskrycho.com. Python for the win.
I’ve only been using tmux for about a week. I can’t even imagine trying to work without it anymore.
That time I misread a quiz time on Moodle and thought it closed at 12:05 am tonight… but that’s when it opens. :sigh:
A friend of my complimented me tonight, describing me as “intelligent and articulate.” I appreciated and accepted the compliment, but it struck me later: good as those things are, they are not the same as “wise” or “Godly”—and those are what is necessary to teach well.
On the one hand, I really enjoy (many of) my seminary classes. On the other hand, having no time at all off between the end of my Spring semester and the beginning of the summer semester makes me want to be done with my M. Div.
Microsoft Visual Studio: bringing you links in error messages… that aren’t clickable!
I’m doing Project Euler with Elixir as a way of keeping myself sane while I try to get a project that worked fine in Visual Studio 2015 Technical Preview to build in Visual Studio 2015 Release Candidate. sigh
Current status: buried in the weeds of
extern "C" and DLL linkage.
Let’s just say I’m looking forward to finishing this part and getting back to the bits where I actually make awesome things instead of just fighting with the tools.
One of the small joys of running my site through GitHub Pages is that you can trivially see the entire history of this site since I started doing it this way: just check out
gh-pages at a date. I’m especially mindful of that for future archaeology, as I’m tweaking it right now.
The screen on Jaimie’s Kindle Keyboard cracked. Now we have to figure out what we’re going to do to replace it… and since we’ve basically sworn off of Amazon (a story for another day), I guess it’s time to start evaluating other ereader options.
There are things I want to do with my website that I just can’t do effectively in Pelican (like art-directed, multi-part presentations of certain content), and which were even worse with WordPress (which I loathe). I basically need a bespoke CMS to do everything I want. Alas.
A major irritation of writing Hebrew papers in Word: unlike every other tool on my Mac, Word does not properly transition between left-to-right and right-to-left languages. I have to type the Hebrew letters in left-to-right order. Argh.
I’ve officially migrated the management of my Pelican environment (with which I build my blog) from virtualenvwrapper to pyenv. And I love it. Next up: the two remaining virtualenvwrapper environments I have.
7 pages of this paper, down. 13 to go. This is going quickly—the advantage of having done lots of good preparatory research work.
I’ve been tweaking things on this site a bit as part of my plan to freshen it up and make it more in line with my desires (and also to take a break from working on this crazy Hebrew paper…). I’m happy with the progress and changes I’ve made.
Ugh. Nothing like being up sick half the night (throwing up etc.) to start the busiest week of the semester.
This paper requires that I cite 4 commentaries; I have notes from 9 so far. I need to write ~5,500–6,000 words; I have ~6,750 words of notes so far.
I need to stop reading articles and commentaries soon…
Downside: our girls both got up at 6:30 on a Saturday morning. Upside: they both slept through the night. I think I’ll take that over/under.
I’ve been playing with pyenv. I think I’m sold. By which I mean: “How long will it take me to convert from doing things with Homebrew and virtualenvwrapper to pure pyenv?” The answer is: I should wait till I finish my 20-page Hebrew exegetical paper.
It is simultaneously exciting and unnerving when you see something delightful while doing exegesis on a passage… and none of the commentators see it.
I have flown a lot (for me) lately; it has been both wonderful and terrible. I love seeing different places; I hate being away from my family.
If you’re in a meeting and you know there’s a fight to win, fight that one as hard as you have to… and let every other, less important thing go.
People who edit podcasts take different tacks on this, but for Winning Slowly, I happily shift around interactions, cut “uhhs”, and generally improve the sound. My goal is for the show to be clear, not for it to be exactly what we recorded.
Dear TSA, allow me to resolve your worry that “it could technically be anything in that water bottle”—by drinking from it.
For a class this year, I had to subscribe to a Baptist state paper. I picked the North Carolina paper, the Biblical Recorder. The experience of the “digital paper” is awful. It’s basically scans in a copy-protected container—as un-web-native as can be. These things need to improve, or they’ll die in the next generation.