HNHacker News
TopNewBestAskShowJobs

tcopeland

406 karma · joined August 4, 2010

https://thomasleecopeland.com
submissionscomments
tcopeland··on Seinfeld Adventure
"What writer? We're talking about a sitcom!"

https://youtu.be/EQnaRtNMGMI?t=108

tcopeland··on First Battle of the Marne – Entente forces counter attack
Martin Crevald has a book on the USMC reading list (https://grc-usmcu.libguides.com/usmc-reading-list/intermedia...) "The Changing Face of War: Combat from the Marne to Iraq". Interesting that he uses that battle as one of the fenceposts.
tcopeland··on Two Kinds of Tech Debt and How to Pay It Down
Another scenario is when an acquisition occurs for the data a company has collected and so the codebases are quietly retired. In that situation there's still some value in paying down some technical debt - security updates on libraries and whatnot - but there's a point at which the decommissioning effort becomes the primary driver.
tcopeland··on Paul Buchheit on Joining Google, How to Become a Great Engineer, and Happiness
Maybe Mary Rose Cook live coding a game as a conference presentation:

https://vimeo.com/105955605

tcopeland··on Repair is as important as innovation
FWIW "The Box" is on the current CNO reading list:

https://www.navy.mil/ah_online/cno-readingprogram/hvo.html

tcopeland··on Where Ruby/Sinatra falls short
That's the truth. I had a thing come up the other day where a client wasn't including a content type header and thus the body was being interpreted as application/x-www-form-urlencoded. Rack middleware to the rescue on that one.
tcopeland··on Why Is Behavioral Economics So Popular?
"Nudge" is on the Center for Homeland Defense and Security reading list:

https://www.chds.us/c/hsbooks

tcopeland··on Upgrading GitHub from Rails 3.2 to 5.2
> I'd definitely include "Kill your dependencies" as a bullet point

Or at least your monkeypatches!

tcopeland··on Upgrading GitHub from Rails 3.2 to 5.2
I was always disappointed by rails:update - look at all these crazy changes, I can't do all this stuff! - until I figured out I was using it the wrong way. A good way to use it is to run it in a different branch and then scroll through the diff, picking out items that you want to update. This lets you pick and choose and do even that incrementally, so you can do some easy ones first (like removing unnecessary MIME type registrations) and then move on to more complicated ones.

Longer writeup is at https://thomasleecopeland.com/2015/08/06/running-rails-updat... - it's 3+ years old now, but, hey.

tcopeland··on The Worst U.S. Maritime Disaster in Decades
That looks great, and my local library has a copy, thanks for the pointer!
tcopeland··on Ask HN: What books do you keep on your desk?
Here's a direct link to the PDF:

http://www.benning.army.mil/armor/316thCav/ASA/content/pdf/A...

tcopeland··on Ask HN: What books do you keep on your desk?
Interesting, that's on the Army Advanced Situational Awareness reading list (http://www.benning.army.mil/armor/316thCav/ASA/ReadingList.h...).
tcopeland··on From Rails to Clojure, Then to Java, Then Back to Rails
In the "things learned from Ruby" section:

  Focus on strong object oriented programming
What I've learned from Ruby is to favor functional programming concepts - minimize side effects, isolate state mutation, etc. Ruby is definitely OO, but when my Ruby code is more functional it's less buggy, easier to understand and move around, and generally less convoluted.
tcopeland··on An Interview with the Creator of Ruby (2001)
Yes, although many changes are performance optimizations and other under-the-covers sorts of things. Here are the changes for 2.5 which if tradition holds will be out on Christmas:

https://www.ruby-lang.org/en/news/2017/10/10/ruby-2-5-0-prev...

tcopeland··on An Interview with the Creator of Ruby (2001)
> I'm planning a full rewrite of the interpreter for Ruby 2.0 [...] It will use a bytecode engine.

And so it did! https://en.wikipedia.org/wiki/YARV

tcopeland··on 30-Day Timelapse at Sea [video]
In the morning, usually setting things up for whatever operations are scheduled for the 0800-1200. In the evening, squaring things away from whatever we did that day and maybe prepping for night helo ops.
tcopeland··on 30-Day Timelapse at Sea [video]
That an interesting watch rotation to stand. At first I dreaded that one because you get less sleep. But the upside is that 0400-0800 is a quiet time aboard a ship, and 1600-2000 things are usually winding down as well.

And if you're standing that watch that means you're not standing port and starboard (i.e. 4 hours on 4 hours off) so, could be worse!

tcopeland··on Burying your dead code
Yup but coverband doesn't do code coverage during tests (like simplecov); it does code coverage in production by sampling requests and profiling them.
tcopeland··on Maybe today’s Navy is just not very good at driving ships
Seconded; this was a good one. It was on the 2014 U.S. Navy reading list.
tcopeland··on Designing state machines
Looks interesting! I've always used https://github.com/aasm/aasm, but this looks pretty good.

More generally I get worried about my ActiveRecord objects getting too bulky and business logic getting all wound up in post-transition callbacks and such. But that's something that can be managed with service objects and being disciplined about triggering state changes.

tcopeland··on C.S. Lewis's Greatest Fiction: Telling Kids They’d Like Turkish Delight (2015)
When my wife's parents come visit us from Moldova they usually bring over a box of Turkish Delight; it's always unveiled with cries of "Turkish Delight for the young prince! Ha ha ha!"
tcopeland··on Things that Idris improves things over Haskell
More generally if you like functional programming, the archives of the "Functional Geekery" podcast are a great resource:

https://www.functionalgeekery.com/

There's at least one episode that's devoted to Idris:

https://www.functionalgeekery.com/episode-54-edwin-brady/

tcopeland··on Should America Have Entered World War I?
There's an interesting bit at the end of John Barry's "The Great Influenza" about how Wilson got the flu at Versailles. Barry suggests that Wilson was physically and mentally affected and thus gave in on terms around punishing Germany for the war. Apparently until he got the flu he'd been pushing back hard against anything like that.
tcopeland··on Horlicks, a drink Brits go to bed with and Indians wake up with
When my wife's parents come visit us from Moldova they usually bring over a box of Turkish Delight; it's always unveiled with cries of "Turkish Delight for the young prince! Ha ha ha!"
tcopeland··on Scaling your API with rate limiters
Thanks for including real numbers, e.g. "Only 100 requests were rejected this month from this rate limiter". Always interesting to see how much a particular trapdoor actually had to be opened.
tcopeland··on Ask HN: Which non-technology book has influenced you the most and why?
You're in good company with liking this one - "The Box" was on the 2017 Navy reading list (http://navyreading.dodlive.mil/).
tcopeland··on Performance bugs – the dark matter of programming bugs
At one point I was working on a utility to detect suboptimal sequence of method calls; canonical example is using "[1,2,3].select {|x| x > 1 }.first" rather than "[1,2,3].detect {|x| x > 1}". These can be performance issues, although the bigger win is in readability and communicating the developer intent. More details and examples here if you're interested:

https://thomasleecopeland.com/2014/10/22/finding-suboptimal-...

I haven't worked on it much recently though because the problems it found weren't that significant. But I like the idea of runtime analysis for finding issues, especially in a dynamically-typed language.

tcopeland··on Errant Architectures (2003)
To me microservices work when you split out things that the core app doesn't always need. So "promocodes" becomes its own microservice because not all purchases need a promo code. And now the main app isn't cluttered with promo code admin logic and UI.
tcopeland··on Military Reading List
Yup, that's on the March 2014 revision of the Army Infantry Basic Officer Leader Course reading list, the April 2009 revision of the Army Chief of Infantry list, and the April 2011 revision of the Army Maneuver Center of Excellence list:

https://militaryreadinglists.com/books/1191-infantry-attacks

It's using the English "Infantry Attacks" translated title though as you can see.

tcopeland··on Military Reading List
Yup, official military reading lists include a fair bit of fiction. Recent ones that I can think of are Ghost Fleet, Starship Troopers, Enders Game, Red Badge of Courage, The Orphan Master's Son, The Kite Runner.

The really nice thing is that since many of those lists are refreshed yearly, they are an ongoing fountain of interesting books. Good stuff!

Page 1 of 4Next →