I told Keeva a funny joke.

A Boston terrier is panting in the warmth and looks as though she’s laughing. (She just came inside and has plenty of fresh, cool, clean water in a bowl nearby.)

If you’re writing an SDK, don’t include a section on how to fetch all the pages of chunked results. That’s your job, not theirs. Make that the default interface and provide advanced methods to fetch a page at a time if your user specifically needs to for whatever reason.

Don’t make users write this:

all_results = []
results = sdk.get_items()
all_results.extend(results.items)
while results.has_more:
    results = sdk.get_more_items(results.next)
    all_results.extend(results.items)

Let them write this:

all_results = sdk.get_all_items()

Looking at you, AWS and Dropbox.

I’m testing a new writing workflow to prepare for DEF CON. It looks like:

  1. Type something on my Freewrite Alpha.
  2. It shows up on my blog.

The advantage is that publishing is about as quick and seamless as it can possibly be. The disadvantage is that the published content is raw, first-draft quality. That’s a motivation to write it right the first time.

Scientists Discover a Cause of Lupus and a Possible Way to Reverse It - News Center:

Northwestern Medicine and Brigham and Women’s Hospital scientists have discovered a molecular defect that promotes the pathologic immune response in systemic lupus erythematosus (known as lupus) and in a study published in Nature, show that reversing this defect may potentially reverse the disease.

Please let this be true, even if it’s too late for some. Please.

Hack the Planet.

The Stream Deck sitting on my desk has a background of Razor and Blade from the movie “Hackers”, captioned “HACK THE PLANET”.&10;&10;The dust blowing in today gives the patina of a Cyberpunk 2077 nomad’s table.

My Freewrite Alpha just arrived. While I’ve barely started using it, these are my first impressions.

Cool

  • The device is even lighter than it looks.
  • The keys are really nice. That’s one of the main reasons I got it, so yay!
  • Cloud sync is quick.

Uncool

  • I see why other complain about the unlit LCD display. It needs a fair amount of light to be remotely legible. I’d be nervous typing in the dark and worrying that it has turned off or other otherwise stopped accepting my words.
  • It only allows 31 character WiFi passwords. That’s shorter than our home’s. That’s… fun.
  • It only remembers the password of the last WiFi network you connected to. No quick bouncing between home (actually our guest network; see above) and phone hotspot.
  • It can only connect to my iPhone if I put the phone in slower Maximize Compatibility mode.

The WiFi annoyances are my biggest gripes at the moment. Most of those can be fixed in software though. It’s a neat little device overall and I’m excited to put it to use!

I’m going to DEF CON next month. I’ll be live-blogging my way through it to give a peek inside wherever and whenever I have permission from the people around me to do so. If I hear a great story that can be shared, so will you.

This is an experiment. I’ll knock it off if someone tells me I’m being annoying. I’m there as an attendee, not as a journalist (which I’m not). It’s just that every year there are tales that need to be told. I’d like to help tell them.

California now requires credit card companies to assign a merchant category code to gun stores. Stripe has a list with 294 already used codes including Electric Razor Stores (5997); Glassware, Crystal Stores (5950); Massage Parlors (7297); and Shoe Repair/Hat Cleaning (7251).

Gun advocacy extremists make it sound like credit card companies are trying to do something new and unique to punish gun stores. In reality the law creates 1 more category alongside the few hundred others.

That’s one good looking butterfly.

A picture of a shark above a headline: Stunning photo reveals the ethereal beauty of the marbled white butterfly

A friend’s 6 month old Maine coon cat is already enormous. He’s such an outgoing and fun kitty to play with.

A Maine coon cat is sitting on a shiny floor. His floofy tail is longer than he is.

That job you applied for might not exist. Here’s what’s behind a boom in “ghost jobs.” - CBS News:

Fake job ads are proliferating online, with more companies admitting to posting realistic-looking job openings that don’t actually exist.

“Hiring managers are largely on board with the practice. Seven in 10 said they believe it’s morally acceptable”…

…to lie. Any company doing this is wholly untrustworthy.

Unboxing the Firewalla Gold Pro

My early access Firewalla Gold Pro 10 gigabit router came today. It’s replacing a Firewalla Gold Plus 2.5Gb router we’ve used for the last year.

Cardboard box with 'Firewalla' printed in the center

The production line isn’t fully running yet but the packaging and the router itself look like it is. Firewalla says the hardware design is finished and this is the same unit everyone else will get later this year. The software’s still under active development.

Open box showing the router and boxed power supply A yellow router in a semi-opaque wrapper A white metal box with 'Firewalla' embossed in the top

The Gold Pro is quite a bit larger than the Gold Plus and doesn’t have mounting holes on the bottom for vertical installation. It does have holes on the side for installing rack mount ears.

The front panel of a router with 2 10G ports and 2 2.5G ports The golden yellow metal bottom of the router

A fan screamed when I turned it on. It turned off a few seconds later. I wouldn’t want it in the room with me if it always ran at full speed.

Setup was mostly easy. The Firewalla app prompted to replace an old box or set it up as new. I followed the “replace an old box” process and was running a few minutes later.

“Mostly” means:

  • I had to reboot my ISP’s modem to clear out its MAC cache, and I initially plugged the WAN cord into the wrong jack on the Firewalla. Neither of those were its fault.
  • A software glitch in migrating the firewall rules from the old router to the new one stopped one of my remote servers from connecting in. This is an early access device so I knew what I was getting into. I reported the problem to Firewalla’s tech support and they’re looking into it.
Screenshot of its iPhone app showing its setup options

The end result was a smoking fast 8 gigabits down, 3.4 gigabits up connection. A speed test from my Mac Studio was faster yet.

Screenshot of a speed test showing 'Download 7989.90 Mb/s, Upload 3384.77 Mb/s'. Also, the Cardinals were losing to the Reds.

This is a beta device. It may stop working at any moment, catch fire, overfeed the dog, or call me bad names. As long as it keeps racing along like this, I’m going to be a very happy tester.

I can’t look at a number without trying to contextualize it. Today I got a new home router that can handle our 10 gigabit Internet connection. My first connection to another computer was a 300 baud modem plugged into my little Commodore 64. This new link is about 33 million times faster.

Wait, isn’t a year about 30 megaseconds? Indeed. That means I can now download more data in 1 second than I use to be able to in a year.

I wonder if I’ll have a 300 petabit home connection some day.

I walked out of the little restaurant in time to see my kid standing at a bus stop awaiting a ride. I walked up behind them:

“Want an empanada?”

“Where did you come from? Really? What kind?”

“Chicken or mushroom.”

“Mushroom!”

They reached into the bag and plucked out a steaming hot treat. I walked off without saying another word. I bet the other riders at the stop had so many questions.

Slack said they’ll start deleting old data from free workspaces. While I understand why people are frustrated, you can’t trust your data to someone else’s server. If it’s important to you, keep a copy somewhere under your control.

It might be inconvenient to self-host something like Mattermost, but perhaps not as much as having a company delete all your data.

Polyfill supply chain attack hits 100K+ sites:

The polyfill.js is a popular open source library to support older browsers. 100K+ sites embed it using the cdn.polyfill.io domain. Notable users are JSTOR, Intuit and World Economic Forum. However, in February this year, a Chinese company bought the domain and the Github account. Since then, this domain was caught injecting malware on mobile devices via any site that embeds cdn.polyfill.io.

This is fine.

The pattern matching on this shirt pocket makes me smile every time I see it.

A photo of a shirt pocket. The cloth is white with a grid of small blue and yellow lines. The pocket is so aligned with the shirt that it’s nearly invisible, except that a large coin is sticking out the top to highlight where pocket ends and shirt begins. Someone was paying attention at that factory.

Currently reading: Norse Mythology: The Illustrated Edition by Neil Gaiman 📚

Picked this up for some spa reading.

I’ll be seeing this in my nightmares tonight.

A store window is full of porcelain baby dolls sitting on cotton clouds. Many are dressed as angels. Their eyes look haunted. They can see you.

Bubbles.

A sandy stretch of beach in Pacific Grove, CA. In the foreground someone is blowing enormous bubbles, like several feet across, with a bucket of soap and a loop of rope. The giant bubbles are shimmery and reflective.