Photos I've taken recently Instagram

Cold Weather as proof against Global Warming RB


Holding up cold weather as proof that global warming isn’t happening is like hitting a winning streak at the blackjack table and saying “Who says the casino has an advantage?”


Samsung Space Monitor Optimizes Desk Space With Minimalist Design RB

The Samsung Space Monitor’s sleek adjustable display revolves around an integrated clamp-secured arm engineered to allow the 27-inch or 32-inch screen to angle from a fully upright position toward the user with only a slight pull.

Neat idea for someone unfamiliar with monitor arms and VESA mounts.

Using a newer Ruby with Alfred Workflows (rbenv)

This was a bit easier than I was expecting:

# of course you'd need your own path here
eval "$(rbenv init -)"
rbenv shell 2.5.0
ruby -v

Pipe that into Large Type and you should see the familiar ruby 2.5.0 ... etc.

How to Customize Control Center on watchOS RB

To customize the Control Center, swipe up from the watch face, scroll down (you can do this with the crown), and tap Edit. The icons will start jiggling, which means you can drag them into any order you like. When you’re done, just tap Done at the bottom of the screen. While you can’t remove icons from the Control Center, you can move the least used ones to the bottom, as just 6 icons appear on the screen without scrolling.

I had an Apple Watch for years before I knew you could do this. And then the other day I lost a few minutes trying to long-hold on the icons (like you do on Home) to get them to jiggle because I’d forgotten to scroll down to find “Edit”.

Immediately I moved DND to the top left, and it’s been great.

Passwords and Muscle Memory RB

Yesterday I was unable to login to one of my (personal, not work) computers because I had forgotten my password. …

But that still meant a few hours where I wasn’t sure if I’d be able to login to my personal computers. Which is definitely a scary thing. Even though important things are backed up elsewhere (NetNewsWire’s code is on GitHub, for instance), it’s still scary.

I don’t type passwords from muscle memory (or maybe I do, but the password itself always pops into my brain first before I start typing). I do kind of understand the fear though. Sometimes I wonder what would happen if I had a brain issue/fluke of some kind and simply forgot my 1Password master password…

Seems 1Password doesn’t have an extra “backup key” - like OS X has when encrypting your disks. I suppose you could always write down your actual master password and place it in a safety deposit box at the bank? Is any better way to deal with this? (other than turning your 1Password into a Family/Team account)

Imagine a world without ads targeted by personal information RB

Just try to imagine that world without ad targeting. It’s hard to imagine that it wouldn’t be a better one.

Indeed, just imagine. Imagine (John Lennon)

I’ll pay what they’d pay RB

Jason Fried: I wish ad-supported services could look at my average usage (# of pages I’ve viewed, ads I’ve seen, etc), and give me an option to directly pay them the same amount they would have charged the advertisers for my slice of views/clicks/etc. No ads for me, they get paid as if they were serving me ads.

I’d love to see a company or two try this. I bet for one the logistics would be a lot more complex/expensive, but I suppose they could build that into the equation. The bigger worry though is that people who feel this way are likely in the minority - most would prefer to continue to get their services for “free”, since they either don’t mind or don’t comprehend the cost they are truly paying for those “free” services.

A tiny screw shows why iPhones won't be 'Assembled in USA' RB

Caldwell couldn’t make lots of screws for Apple, even though it once had the capacity, because that part of its business was beaten by cheaper competition in China years before. (The article also quite rightly points out that U.S. workers are paid far more than Chinese workers and also don’t live under an authoritarian government that can compel them to work all day and all night.)

… they can’t simply move manufacturing back to the United States like the President of the United States keeps saying.

The older (wiser?) I get the more I realize nothing is ever as simple as it seems. Nothing is ever as black and white as it seems. The real world seems to be almost infinitely gray and complex.

A Camera is Watching You in Your AirBnB RB

Well dearest host, it is not my responsibility to tell you what I was doing. But, to ease your mind, I’ll tell you we were doing one of two things – either we were having a drug and sex party[1] with 100 of our closest friends, or we went to bed at 9:15 exhausted from kids and being on EST. What was I trying to hide on New Year’s Eve… indeed.

Absolutely hilarious little snippet in the middle of all this AirBnB camera drama. Glad they got their money back. I’ve had a few pleasant AirBnB experiences over the years.

Linux systemd Affected by Memory Corruption Vulnerabilities, No Patches Yet RB

Discovered by researchers at Qualys, the flaws are two memory corruption vulnerabilities (stack buffer overflow - CVE-2018-16864, and allocation of memory without limits - CVE-2018-16865) and one out-of-bounds error (CVE-2018-16866).

They were able to obtain local root shell on both x86 and x64 machines by exploiting CVE-2018-16865 and CVE-2018-16866. The exploit worked faster on the x86 platform, achieving its purpose in ten minutes; on x64, though, the exploit took 70 minutes to complete.

Count another “told ya so” for all the systemd haters. Not a religious issue to me personally, but I do see where they are coming from.

You are afraid of dying - and, tell me, is the kind of life you lead really any different than being dead?


Shocker: Facebook's "Clear History" Privacy Feature is Vaporware RB

Gruber: I don’t think it was hard, per se, but that the entire announcement was bullshit intended to distract people from the biggest privacy scandal in company history — and Facebook is a company riddled with privacy scandals.

Still not regretting my decision to leave Facebook years ago one bit.

Unikernels are unfit for production RB

So, what’s the problem with unikernels? Let’s get a definition first: a unikernel is an application that runs entirely in the microprocessor’s privileged mode. (The exact nomenclature varies; on x86 this would be running at Ring 0.) That is, in a unikernel there is no application at all in a traditional sense; instead, application functionality has been pulled into the operating system kernel. (The idea that there is “no OS” serves to mislead; it is not that there isn’t an operating system but rather that the application has taken on the hardware-interfacing responsibilities of the operating system — it is “all OS”, if a crude and anemic one.)

So those are the reasons for unikernels: perhaps performance, a little security theater, and a software crash diet. As tepid as they are, these reasons constitute the end of the good news from unikernels. Everything else from here on out is bad news: costs that must be borne to get to those advantages, however flimsy.

Worth a read if you think Unikernels are the new hotness.

Unikernels are entirely undebuggable. There are no processes, so of course there is no ps, no htop, no strace — but there is also no netstat, no tcpdump, no ping! And these are just the crude, decades-old tools. There is certainly nothing modern like DTrace or MDB. From a debugging perspective, to say this is primitive understates it: this isn’t paleolithic — it is precambrian. As one who has spent my career developing production systems and the tooling to debug them, I find the implicit denial of debugging production systems to be galling, and symptomatic of a deeper malaise among unikernel proponents: total lack of operational empathy. Production problems are simply hand-waved away — services are just to be restarted when they misbehave. This attitude — even when merely implied — is infuriating to anyone who has ever been responsible for operating a system.

He mentions a talk he gave at DockerCon 2015 where he received strong applause after emphasizing the need to debug rather than just restart systems. I do see the point, but I also think the industry is kind of pulling the other direction on this as a whole. If your system is generally reliable [enough] and easily distributed, then there is a certain elegance to the notion or just ignoring edge cases completely and just letting them die.

When you had one huge server any small issue with it was worthy of detailed investigation - but when you have 10,000 tiny servers and it only takes 20 seconds to spool up a new one… it becomes a lot harder to justify the debugging and pragmatism starts to kick in. Hard to say whether this will bite us in the long-run.

It probably already is having a negative effect on personal computer software reliability in general. It’s easy to forgive Vivaldi for getting sluggish after a few days since it restarts so smoothly and preserves it’s state so well, but it would certainly be nicer if I never had to restart it.

Apple's China Problem Redux RB

Apple does make great hardware — hardware so good that to some extent it sells itself. But the core of Apple’s platforms are the OS’s — the software, not the hardware. I’d much rather run MacOS on a ThinkPad and iOS on a Pixel phone than run Windows on a MacBook Pro and Android on an iPhone XS.

So true. A ThinkPad running official and supported OS X would be quite something.

If the appeal of iPhone in China is only or even just mostly about the hardware — because the software that matters is WeChat (or anything else that is cross-platform), not iOS and its native exclusive ecosystem — then China is never going to be a consistent market for Apple.

Sad, but I think this might be true. Going to be tougher for Apple in China than other places.

Stop Slacking RB

Reply to Slack messages via email. Stay focused.

What a great idea.

YAGNI to the rescue RB

You spotted an opportunity to optimize, but you were too early. You should avoid generalizing code until it is absolutely obvious that you should.

The more use-cases you have, the easier to know what to generalize. I mean, how can you know which functionality your components share if you don’t even have those components yet?

You can’t.

YAGNI, always good advice.

Mf — Abusing Ruby’s Operator Precedence RB

You may have seen Ruby 2.6’s Proc composition, but did you know there are far more operators you can abuse using Ruby’s proc coercion ( & )? Get ready for another wild ride!

Fun and potentially useful if Ruby is your thing:['name'])

Bundles and Packages RB

In this season of giving, let’s stop to consider one of the greatest gifts given to us by modern computer systems: the gift of abstraction.

Consider those billions of people around the world who use computers and mobile devices on a daily basis. They do this without having to know anything about the millions of CPU transistors and SSD sectors and LCD pixels that come together to make that happen. All of this is thanks to abstractions like files and directories and apps and documents.

Indeed, we stand on the shoulders of giants - giant abstractions - or perhaps giant layers of abstractions. Without them we’d all be sweating over the decision between NAND gates and NOR gates for every new project - and that would be no fun at all.

Also seems to be a great article in general if you’d like to learn more about Bundles and Packages.

Why It's Hard to Escape Amazon's Long Reach RB

It’s now the largest provider of cloud computing services and a maker of home security systems. Amazon is a fashion designer, advertising business, television and movie producer, book publisher, and the owner of a sprawling platform for crowdsourced micro-labor tasks. The company now occupies roughly as much space worldwide as 38 Pentagons. It has grown so large that Amazon’s many subsidiaries are difficult to track—so we catalogued them all for you. This is our exhaustive map of the Kingdom of Amazon.

I didn’t disagree with the intro, but I laughed at this whole “Kingdom of Amazon” hyperbole a little until I read the article. Yikes. It’s more than a little scary, seriously. Amazon has been slowly growing more concerning in my mind. A year or so ago I switched my Prime membership back to monthly and perhaps this year I’ll cancel it completely. Right now it’s only Kindle Unlimited that keeps me hanging on. I’ve been leaning a lot more on local libraries this past year though, and that might just be the trick that finally helps me break away.

iPhone's new Fortnite's 60fps mode tested - and it's a tech milestone RB

However, the reality is that running the last-gen A11 Bionic flat-out would overheat the device, leading to lower CPU and GPU clocks, severely impacted performance and highly compromised battery life. Epic’s solution is simple then - lock to 30fps and in the process give the device the thermal headroom to stay cool enough to run at peak frequencies.

It’s a completely different ballgame with the A12 Bionic found in the iPhone XS, XS Max and the cheaper but just as capable iPhone XR (which Epic supplied for Fortnite 60fps testing). Epic says that the extra processing power allows Fortnite to complete a frame in the eight to 10ms range, meaning that there’s still plenty of ‘down time’ for the silicon. Apple’s move to TSMC’s new 7nm process also opens up the thermal headroom required to maintain peak clocks.

Imagine a world where Apple was actually seriously interesting in gaming… what might be possible?