John’s Blog

My personal journal and blog. Subscribe via RSS


October 2, 2020

Trump Tests Positive for the Coronavirus

Peter Baker and Maggie Haberman, writing for The New York Times:

President Trump revealed early Friday morning that he and the first lady, Melania Trump, had tested positive for the coronavirus, throwing the nation’s leadership into uncertainty and escalating the crisis posed by a pandemic that has already killed more than 207,000 Americans and devastated the economy.

Wow. What a week this has been. All politics and disagreements aside, of which there are so many, I’m hoping that President Trump and the First Lady have a quick and full recovery without incident. No one should wish this virus on anyone else.

October 1, 2020

October

Summer is over. It’s officially October and here in Texas things are just a bit less hot than usual. (Temperature-wise, that is. The world continues to burn in so many ways.)

For the fall I’m trying something a bit new, for me. Every so often I’ll post a few links and thoughts that are on my mind or in my browser this week. Nothing too fancy. Just a place to get things down. I have a feeling the next 6 weeks are going to be quite interesting.


Blacklight – A real-time website privacy inspector by Surya Mattu and The Markup. This is a brilliant idea, and I’m glad someone took it on. Zero trackers on this site, of course.

Umami Analytics – Self-hosted, open source, and completely private analytics alternative for the basics. It’s not going to replace all of Google Analytics, but are you even using all of that stuff? I’ll be giving this a solid look soon.

The Calm Inbox Course – New course from Shawn Blanc and the crew at The Sweet Setup. Shawn’s work is always so well done. I’m not sure this one is for me–I’m already a crazy person about organizing email–but I’m glad this exists.

Jason Isbell and Amanda Shires: Tiny Desk (Home) Concert – Jason is my favorite artist these days. His new album is fantastic, and so is this performance.

Good Music to Avert the Collapse of American Democracy –  Available on Bandcamp tomorrow featuring Sturgill Simpson, John Prine, Pearl Jam, Margo Price, and more of Jason Isbell too.

32 days until the election.

October 1, 2020

Tailwind

I'm working on a few new project ideas for the first time in a few years. When you work on the same thing for a long time you can become comfortable with just what you have. Well, I do at least. Comfort is good and it allows me to move fast. But every time I start a new project I try and play with something a bit new to get outside my comfort zone.

One of the tools I've been playing with has lately been Tailwind CSS. This one is quite a bit different than anything I've used for CSS before.

Traditionally, I don't like CSS frameworks. I find them overbearing, overly-opinionated, and bloated with tons of components and utilities that I never end up using. I've worked on countless projects with Bootstrap, Foundation and the like. They are great frameworks and they certainly have their benefits. But it's just too much for me.

A few years ago, when I started working on Air Mail, I just started from a basic CSS reset and added my own components as I went along. The front-end of the public site is very simple but the back-end content manager is much more complicated. There's a ton of CSS. All of it is custom, and all of it was tailor-made for the specific use cases I had. It works great, but it all seems a bit heavy. I've been trying to figure out a better way forward.

Tailwind takes a completely different approach. I've heard it described as an "API for your design system." That's clever. Instead of building custom CSS (or using a normal framework) Tailwind allows you to use utility classes to change the look of the markup. It's almost like old-school inline stylesbut with more more power and control. Controlling variants and breakpoints from just class names is pretty handy.

The Tailwind docs give a nice example of why the utility-first approach can be productive.

I like that it provides a basic design system in a box. There are sensible defaults, all that can be customized, but then the framework just provides a ton of utilities to get you what you need. It's refreshingly simple.

One of the things I always have disliked about other frameworks is that they force you to use their outdated, clunky, and one-size-fits-all JavaScript components. I don't want to be forced into including some old version of jQuery (or any version at all nowadays) just to use your basic CSS framework. Tailwind doesn't care what JavaScript you even use. It's just a simple CSS utility framework. The interactions are up to you.

Last but not least: to fix the bloating problem Tailwind is designed to be used with PurgeCSS to remove any code on build that your site doesn't need. This is really nice.

It's not all roses, there are going to be some hiccups. That’s a heck of a lot of classes floating around in my markup and it’s going to take me some time to get used to that. This approach is new to me, but I'm excited to give it a spin.

September 30, 2020

Kottke on Trump

Jason Kottke, not mincing his words:

We’ve long passed the point at which everyone should understand in no uncertain terms that Trump is an authoritarian, racist, white supremacist (among other things). Hell, this is what many of his supporters like about him. But it should also be clear to his supporters, allof this supporters (especially the ones who hold their nose and support him because of Christian values or fiscal policy or abortion), that by voting for this man knowing what we all clearly know about him, you are a white supremacist. Period. I understand the perfect candidate doesn’t exist and that our system of voting requires us to compromise some of our values in order to support progress towards bigger goals, but good luck explaining that you voted for an actual white supremacist to your grandchildren someday (if you can stomach telling them the truth). Some values cannot be compromised.

September 30, 2020

The Morning After

Josh Marshall, for Talking Points Memo, on last night’s presidential debate:

Having had a night to sleep on it – and sleep very soundly – I’m much closer to what I said was the downside possibility for the President: not just a missed opportunity but a self-immolation. This was truly the worst of Trump: racist, belligerent, angry, unstable. I’ll give the man his due. Trump can be if not funny then jocular, entertaining in a predatory, roguish way. Last night had none of that. It was pure id and an id under threat.
Beyond all the individual offenses one of the underrated sub-themes of anti-Trumpism is exhaustion. One of the deepest traumas of living in the home of an abuser stems not from the outbursts of physical violence, verbal abuse or manipulation but the accumulated stress of ambient tension, uncertainty, the reflexive, unshakeable hyper-vigilance. It is exhausting in a profound way. Trump is exhausting – I suspect even for some who share his dark values. This was 90 minutes jam-packed with everything that makes Trump exhausting. Living with an abuser means being trapped in close quarters with the abuse, being unable to run. In a month voters get the chance to walk away.

September 28, 2020

NY Times: Trump's Finances Timeline

Leaving aside the tax information itself, the data visualizations in this NY Times article are absolutely fantastic. The entire organization seems to be at the top of its game. I can think of very few media outlets that would fund not only the extensive reporting to find this information and organize it, but also to design and create such excellent visuals to publish.

September 17, 2020

Nova

Here’s something you don’t see every day: a brand new completely native Mac code editor. Panic’s new editor, Nova, is out of beta and ready for use. I’ll certainly be kicking the tires on this one.

September 3, 2020

Shape Illustrations

Shape is a pretty nice looking little library of icons and illustrations, complete with its own app for customizing the details. Cool idea.

September 3, 2020

The rise and fall of the industrial R&D lab

Ben Southwood, writing in the new Works in Progress magazine:

Once, small firms centred on inventors were responsible for most of our innovation. Larger firms might buy or exploit these steps forwards, but they did not typically make them. And then for a brief period, this changed: many of the best new products, tools, and ideas came from research labs within large corporations. This brief period also happened to be the era when scientific, technological, and economic productivity sped forward at its fastest ever clip. Yet almost as soon as it arrived, the fruitful period was over and we returned to a situation where small companies and small-business-like teams at universities developed innovations outside of large companies and sold them in a market for ideas. Though we might enjoy the innovation created by small flexible firms, we should not dismiss the contributions made by large corporate labs.

August 13, 2020

Mozilla is laying off 250 people

Jacob Kastrenakes, reporting for The Verge:

Mozilla is laying off 250 people, about a quarter of its workforce, and plans to refocus some teams on projects designed to make money. The company will have roughly 750 employees going forward, a spokesperson confirmed.
[..] Mozilla makes most of its money from companies paying to make their search engine the default in Firefox. This includes deals with Baidu in China, Yandex in Russia, and most notably, Google in the US and most of the rest of the world. The company also makes money from royalties, subscriptions, and advertising, but those search deals still represent the “majority” of its revenue.

Tough news for Mozilla. They really do incredible work for the web community. It seems like the MDN, Firefox DevTools, and many other services will have little or no staffing to support the offerings.

The community has put together a few nice resources and tributes to the Mozilla team:

Here’s hoping that Mozilla gets its act together, and can be a long-term player on the web like they’ve always been. 🙏

August 4, 2020

The Truth Is Paywalled But The Lies Are Free

Nathan J. Robinson, Editor in Chief of Current Affairs:

Paywalls are justified, even though they are annoying. It costs money to produce good writing, to run a website, to license photographs. A lot of money, if you want quality. Asking people for a fee to access content is therefore very reasonable. You don't expect to get a print subscription to the newspaper gratis, why would a website be different? I try not to grumble about having to pay for online content, because I run a magazine and I know how difficult it is to pay writers what they deserve.
But let us also notice something: the New York Times, the New Yorker, the Washington Post, the New Republic, New York, Harper's, the New York Review of Books, the Financial Times, and the London Times all have paywalls. Breitbart, Fox News, the Daily Wire, the Federalist, the Washington Examiner, InfoWars: free! You want "Portland Protesters Burn Bibles, American Flags In The Streets," "The Moral Case Against Mask Mandates And Other COVID Restrictions," or an article suggesting the National Institutes of Health has admitted 5G phones cause coronavirus—they're yours. You want the detailed Times reports on neo-Nazis infiltrating German institutions, the reasons contact tracing is failing in U.S. states, or the Trump administration's undercutting of the USPS's effectiveness–well, if you've clicked around the website a bit you'll run straight into the paywall. This doesn't mean the paywall shouldn't be there. But it does mean that it costs time and money to access a lot of true and important information, while a lot of bullshit is completely free.

Excellent piece.

Via Kottke & Daring Fireball

July 16, 2020

Crypto scammers hack Twitter

Yesterday’s Twitter hack was pretty incredible. Nick Statt, with the high-level at The Verge:

The Twitter accounts of major companies and individuals have been compromised in one of the most widespread and confounding hacks the platform has ever seen, all in service of promoting a bitcoin scam that appears to be earning its creators quite a bit of money.
We don’t know how the hack happened or even to what extent Twitter’s own systems may have been compromised — but following the unprecedented hacks of accounts including President Barack Obama, Joe Biden, Elon Musk, Bill Gates, Kanye West, Michael Bloomberg, and Apple, Twitter has confirmed it took the drastic step of blocking new tweets from every verified user, compromised or no, as well as locking all compromised accounts.

According to @TwitterSupport:

We detected what we believe to be a coordinated social engineering attack by people who successfully targeted some of our employees with access to internal systems and tools.
We know they used this access to take control of many highly-visible (including verified) accounts and Tweet on their behalf. We’re looking into what other malicious activity they may have conducted or information they may have accessed and will share more here as we have it.

If you’re going to pull off a hack of this magnitude, why waste it on a bogus scheme to make some Bitcoin? Let’s be thankful this wasn’t some crazy election night attack that resulted in a real problem. It looks like the hackers made off with around $116k. Compared to the number of very influential people that were hacked, this hardly seems worth the effort. Let’s hope Twitter has this buttoned up quickly and it can’t be done again.

July 3, 2020

Governor Abbott of Texas Requires Masks

Gov. Greg Abbott issued a statewide mask mandate Thursday as Texas scrambles to get its coronavirus surge under control.
The order requires Texans living in counties more than 20 coronavirus cases to wear a face covering over the nose and mouth while in a business or other building open to the public, as well as outdoor public spaces, whenever social distancing is not possible. But it provides several exceptions, including for children who are younger than 10 years old, people who have a medical condition that prevents them from wearing a mask, people who are eating or drinking, and people who are exercising outdoors.

Finally.

Let’s hope this gets things going in the right direction here in Texas.

June 23, 2020

WWDC 2020 Day One

Nice recap video from Apple, narrated by Serenity Caldwell:

I think the first day of virtual WWDC went very well yesterday. The keynote was jam packed with great new things and the format was well done, considering the circumstances. The introduction section with Tim Cook, addressing the concerns of the world in 2020, was nicely done as well.

June 22, 2020

WWDC by Sundell and Friends

Speaking of WWDC, it starts in just over an hour. I’m sad I won’t be there this year — but neither will anyone else! Hopefully by next year we’ll be back to a normal conference schedule.

Last year John Sundell published a fantastic and comprehensive site full of goodies about WWDC, and he’s doing it again this year. It’s a great resource to follow along throughout and after the week’s events.

June 22, 2020

Apple, HEY, and the Path Forward

Just in time before the start of WWDC today, it looks like there is a nice resolution between Basecamp and Apple.

Jason Fried:

So we got down to it, and worked the weekend to get an update on Apple's desk Monday morning. Our team did a great job implementing the product changes that Schiller asked for, and first thing this morning, right after we shipped 1.0.2 to our customers, we submitted 1.0.3 to the App Store for approval.
This new version introduces a new free option for the iOS app. Now users can sign up directly in-app for a free, temporary, randomized @hey.com email address that works for 14 days. Think of it like a temporary SIM card you buy when traveling. Or for when you don't want to give out your real email address, like a short term "for sale" listing, like Craigslist does it.
We've also accelerated our multi-user HEY for Work offering where the company pays but the employees don't. This brings HEY in line with Basecamp, and dozens of other high profile multi-platform enterprise offerings that have been permitted in the App Store for a decade.

I suspect this isn't the last we'll hear of this issue, but it's great to see a peaceful resolution between my two favorite companies. ❤️