HNHacker News
TopNewBestAskShowJobs

pixelmonkey

6,105 karma · joined October 5, 2007

Founder of PX Systems, which ships a daily developer tool to go from code to cloud cluster in seconds. More info @ https://px.app

Formerly the founding CTO of Parse.ly. Coding in: Python, JavaScript, Zig. Pleased to be a Pythonista and UNIX lover.

Parse.ly was acquired by Automattic (creators of WordPress.com) in February 2021; more here: https://www.techmeme.com/210208/p12#a210208p12

My essays & technical blog: https://amontalenti.com

My AngelList profile: https://angel.co/p/amontalenti

My occasional tweets: https://twitter.com/amontalenti

submissionscomments
pixelmonkey··on Ask HN: Do you still bookmark websites?
I sometimes describe Instapaper as "/dev/null for web content". I reflexively share to Instapaper not to read it later, but to absolve guilt for not reading it at all. It is one of my weirdest web habits, on reflection.

OTOH, back when del.icio.us was good, I used it for roughly the same purpose.

These days, I still send links to Instapaper when they are essays or articles. I send links to Raindrop.io when they are anything else, basically anything the Instapaper text extractor would fail on. Things like repos, interactive charts/graphs, photographs, videos, etc.

I still think it is behaving roughly as /dev/null. I do sometimes think that, at least nowadays, you can ask an LLM to visit your bookmarked links and do some semantic search over them. But I guess the best use case is just saving it for later/never rather than wasting time on it now.

pixelmonkey··on Show HN: I built library management app for those who outgrew spreadsheets
Glad the comment was helpful. Cool project. From one book lover to another, best of luck!
pixelmonkey··on Show HN: I built library management app for those who outgrew spreadsheets
I use https://libib.com for this use case. I didn't see it mentioned here, so figured I'd share.

I'll also mention a fun coding project that I used ChatGPT on. I created a data enriched spreadsheet out of my physical books. This could then be used to bulk import into libib for a searchable and visual digital bookshelf.

First I took photos of my bookshelves such that the spines were visible. Then I had ChatGPT vision model transcribe visible titles and authors, and guess the books based on that. Then I turned that into a CSV. Finally I had ChatGPT generate a Python script that used the Google Books API to enrich the spreadsheet with ISBNs. Finally I bulk uploaded that CSV with ISBNs to libib, and voila, I had a digitized library.

Just in case this gives you any ideas!

pixelmonkey··on What's happening to reading?
I wrote a little on this topic in "Putting Your Media on a Diet":

https://amontalenti.com/2024/01/31/media-diet

Written in Jan 2024. I sensed that the world had already moved on from reading as a core source of information and awareness of the world.

But in that essay, I tried to make the case that this is a mistake -- that the environment has never been better for deep readers, that the internet and the various sources of cheap/free long-form text can be a deep reading utopia, if properly curated.

But that's the issue. Most people click into the default. They don't curate. They don't monitor their media diet. And so they are drawn, like moths to a flame, to short-form video (especially), as well as other passive information sources that resemble TV and talk radio from prior eras.

pixelmonkey··on Bootstrapping a side project into a profitable seven-figure business
To provide a data point from a long-time ProjectionLab user, I don't really need account linking. I use Monarch Money to link cash and CC accounts to track spending.

I use a custom Google Sheet to track retirement portfolio performance. If =GOOGLEFINANCE isn't enough, there is a nice paid extension called WiseSheets, which adds a =WISE function that fills all the gaps.

My monthly ProjectionLab process is to update the "Current Finances" values on the first of the month, using the values from the other tools. Works well enough for me!

pixelmonkey··on Tools I love: mise(-en-place)
Author of mise has a page comparing it to asdf:

https://mise.jdx.dev/dev-tools/comparison-to-asdf.html

pixelmonkey··on Sneakers (1992) – 4K makeover sourced from the original camera negative
I really love “Sneakers.” It’s one of the best classic “hacker” films. This essay also does a nice job of breaking down a scene you might not have otherwise noticed, which has some lovely filmmaking technique and subtle sound design at play:

https://slate.com/culture/2012/09/searching-for-playtronics....

The ensuing despair over how to proceed is interrupted by the voice of Whistler (David Strathairn, Bay Area native), the team’s blind technician. “What did the road sound like?” he asks. “Did you go over any speed bumps? Gravel? How about a bridge?”

I nearly stood up in the theater from excitement. I’d never seen anything like it: the geography of San Francisco turned into a puzzle to be solved.

pixelmonkey··on If you believe in "Artificial Intelligence", take five minutes to ask it
This is mainly a note for myself, but here was the Hinton interview I was thinking about:

https://pca.st/episode/951f3fb4-f7f7-4b4d-b2bb-dbf5334ea1aa

"The Most Interesting Thing in AI - The Atlantic - Episdoe 1 - Machine Consciousness - with Nicholas Thompson and Geoffrey Hinton.

What if the most advanced AI models could think and respond in a way that felt like a human consciousness? How might that transform our understanding of intelligence itself? Some of the leading AI scientists believe that a super-intelligent form of this technology is only five to ten years away. This episode explores the idea of AI consciousness and delves into how the act of dreaming is connected to neural networks in unexpected ways."

pixelmonkey··on If you believe in "Artificial Intelligence", take five minutes to ask it
Geoffrey Hinton recently discussed how neural networks, even human ones, may be "generative" in how they recall information. Our memories of events are hazy, and change every time we recall them. Memorized rote facts can also be hazy in this way, and are subject to mix-ups and confabulations. That we "generate" memories from neural weights in our brain can also help explain why it seems like our brains store so much information. Perhaps they don't, they instead store lossy neural weights built from our past sensory experience, and we generate the rest and use metacognitive reasoning and a form of attentive reasoning upon recent data/context to sort through the potential errors in memory.

As you point out, LLMs work much better when you ask them to operate on objects within its context window, especially artifacts it knows how to work with, like code and text. But I think people are so trained to ask questions to the oracle and expect answers (e.g. Google), and who can blame them, that is the UX built into people's muscle memory for open-ended text input boxes. The launch of ChatGPT Search is recognition of this. Plus, most people are being told to treat these chat boxes as strong AI rather than as text/code-processing programs with specific strengths and weaknesses.

pixelmonkey··on My Struggle with Doom Scrolling
I love the onesec extension and I've often thought society would be better off if this were the way Apple and Google implemented their app timer functionality on iOS and Android. If you could just mark certain apps as addictive and be given a simple few-second prompt before displaying each of them, it'd stop or soften a lot of the addictive loops, I think. I use onesec app on Android solely to do this to YouTube, but the fact that it isn't native introduces some weird bugs, especially when opening YouTube links from other apps (which I live with anyway, but alas).
pixelmonkey··on My Struggle with Doom Scrolling
I wrote up my own version of this idea in "The smartphone app audit."

https://amontalenti.com/2024/03/26/the-smartphone-app-audit

If the idea of auditing all your apps seems daunting, you can take a look at how I did it in bulk by using screenshots of my app launcher screen, then OCR and LLMs to help me do an initial pass at categorizing them. That let me do one quick bulk cleanup.

I found that it's better to simply delete apps and keep the total app count on your phone low, rather than use the various parental control / digital minimalism / Freedom.to style app blocking ideas.

Removing browsers from my phone never seemed like an option for me, but even so, removing all the addictive apps really reduces doomscrolling and other mindless scrolling a good bit.

Lately, I also put any newly installed apps in a "Purgatory" app launcher group and if I notice any of them having addictive qualities, I uninstall them. I did this recently with the Bluesky and Discord apps, for example.

pixelmonkey··on Stargate Project: SoftBank, OpenAI, Oracle, MGX to build data centers
Here is what I think is going on in this announcement. Take the 4 major commodity cloud companies (Google, Microsoft, Amazon, Oracle) and determine: do they have big data centers and do they have their own AI product organization?

- Google has a massive data center division (Google Cloud / GCP) and a massive AI product division (Deep Mind / Gemini).

- Microsoft has a massive data center division (Azure) but no significant AI product division; for the most part, they build their "Copilot" functionality atop their partner version of the OpenAI APIs.

- Amazon has a massive data center division (Amazon Web Services / AWS) but no significant AI product division; for the most part, they are hedging their bets here with an investment in Anthropic and support for running models inside AWS (e.g. Bedrock).

- Oracle has a massive data center division (Oracle Cloud / OCI) but no significant AI product division.

Now look at OpenAI by comparison. OpenAI has no data center division, as the whole company is basically the AI product division and related R&D. But, at the moment, their data centers come exclusively from their partnership with Microsoft.

This announcement is OpenAI succeeding in a multi-party negotiation with Microsoft, Oracle, and the new administration of the US Gov't. Oracle will build the new data centers, which it knows how to do. OpenAI will use the compute in these new data centers, which it knows how to do. Microsoft granted OpenAI an exception to their exclusive cloud compute licensing arrangement, due to this special circumstance. Masa helps raise the money for the joint venture, which he knows how to do. US Gov't puts its seal on it to make it a more valuable joint venture and to clear regulatory roadblocks for big parallel data center build-outs. The current administration gets to take credit as "doing something in the AI space," while also framing it in national industrial policy terms ("data centers built in the USA").

The clear winner in all of this is OpenAI, which has politically and economically navigated its way to a multi-cloud arrangement, while still outsourcing physical data center management to Microsoft and Oracle. Probably their deal with Oracle will end up looking like their deal with Microsoft, where the trade is compute capacity for API credits that Oracle can use in its higher level database products.

OpenAI probably only needs two well-capitalized hardware providers competing for their CPU+GPU business in order to have a "good enough" commodity market to carry them to the next level of scaling, and now they have it.

Google increasingly has a strategic reason not to sell OpenAI any of its cloud compute, and Amazon could be headed in that direction too. So this was more strategically (and existentially) important to OpenAI than one might have imagined.

pixelmonkey··on Why Twitter is such a big deal (2009)
I'm a generation older. To me, there were three big shifts.

One was that Facebook/Twitter/etc. proved that web publishing could be made more convenient by making it more centralized, and that access to an audience was, in some way, more important than access to publishing tools. No matter how good open web publishing tools got, they couldn't compete with Facebook et. al. at providing some access to an audience, even if that audience was as small as your friends and family.

The second was a shift in who developed "internet infrastructure." In the 80s and 90s (and before), it was mainly academics working in the public interest, and hobbyist hackers. (Think Tim Berners-Lee, Vint Cerf, IETF for web/internet standards, or Dave Winer with RSS.) In the 00s onward, it was well-funded corporations and the engineers who worked for them. (Think Google.) So from the IETF, you have the email protocol standards, with the assumption everyone will run their own servers. But from Google, you get Gmail.

The third -- and perhaps most important shift -- was the move from desktop software to web + mobile software as the primary computing platform for most people. Such that even if you were a desktop user, you did most of your computing in the browser. This created a whole new mechanism for user comfort with proprietary fully-hosted software, e.g. Google Docs. This also sidelined many of the efforts to keep user-facing software open source. Such that even among the users who would be most receptive to a push for open protocols and open source software, you have strange compromises like GitHub: a platform that is built atop an open source piece of desktop software (git) and an open source storage format meant to be decentralized (git repo), but which is nonetheless 100% proprietary and centralized (e.g. GitHub.com repo hosting and GitHub Issues).

You ask how to "dismantle" this. I've long pondered the same question. I am not sure it can be dismantled. It doesn't seem like these shifts can be undone. Where I've personally ended up is that small communities of enthusiast programmers and power users can embrace open source, open protocols, and decentralization for its obvious benefits, but that it won't ever be a mass market again.

pixelmonkey··on Be a property owner and not a renter on the internet
I think you're right, and I don't think it's just about public content being "exploited" to train AI models and the like. Rather, even before LLMs, there was a growing sense that publishing ideas or essays publicly is "risky" with very little reward for the very real risks.

I wrote about this a little in "The Blog Chill":

https://amontalenti.com/2023/12/28/the-blog-chill

Speaking personally, among my social circle of "normie" college-educated millennials working in fields like finance, sales, hospitality, retail, IT, medicine, civil engineering, and law -- I am one of the few who runs a semi-active personal site. Thinking about it for a moment, out of a group of 50-or-so people like this, spread across several US states, I might be the only one who has a public essay archive or blog. Yet among this same group you'll find Instagram posters, TikTok'ers, and prolific DM authors in more private spaces like WhatsApp and Signal groups. A handful of them have admitted to being lurkers on Reddit or Twitter/X, but not one is a poster.

It isn't just due to a lack of technical ability, although that's a (minor) contributing factor. If that were all, they'd all be publishing to Substack, but they're not. It's that engaging with "the public" via writing is seen as an exhausting proposition at odds with everyday middle class life.

Why? My guesses: a) smartphones aren't designed for writing and editing, hardware-wise; b) long-form writing/editing is hard and most people aren't built for it; c) the dynamics of modern internet aggregation and agglomeration makes it hard to find independent sites/publishers anyway; and d) the risk of your developed view on anything being "out there" (whether professional risk or friendship risk) seems higher than any sort of potential reward.

On the bright side, for people who fancy themselves public intellectuals or public writers, hosting your own censorship-resistant publishing infrastructure has never been easier or cheaper. And for amateur writers like me, I can take advantage of the same.

But I think everyday internet users are falling into a lull of treating the modern internet as little more than a source of short-form video entertainment, streams for music/podcasts, and a personal assistant for the sundries of daily life. Aside from placating boredom, they just use their smartphones to make appointment reminders, send texts to a partner/spouse, place e-commerce orders, and check off family todo lists, etc. I expect LLMs will make this worse as a younger generation may view long-form writing not as a form of expression but instead as a chore to automate away.

pixelmonkey··on The Peter Principle still resonates
Reminds me of:

"Why should I change my name? He's the one who sucks."

-Michael Bolton in 'Office Space'

Also funny since the main character in Office Space is named "Peter." I now wonder if this character name is, itself, a reference to the Peter Principle. I wouldn't be surprised given that it was written by Mike Judge (same creator as HBO/Max 'Silicon Valley' years later).

pixelmonkey··on Standard Ebooks Public Domain Day 2025 in Literature
Such a great project. Cool to know that one of my favorite authors, Sinclair Lewis, now has all his popular novels starting to enter the Public Domain. I had only just recently started reading "Dodsworth" so I'll now switch to the Standard EBooks version!
pixelmonkey··on Blogs rot. Wikis wait
Obligatory meme:

https://rakhim.org/honestly-undefined/19/

I'm personally in the top left corner and bottom right corner at the same time, which is sort of funny.

I have used WordPress since 2004-2005, and I've also written a Python static site generator before using Flask + Frozen-Flask[1]. I've also made stops through tools like Sphinx, Hugo, Gatsby, and VitePress[2]. But my personal site continues to run WordPress[3].

I think I'd prefer something like VitePress these days for a technical documentation site. It has a lot going for it for that use case. And it feels built to last.

On true wikis that one can self-host, I recently learned that MediaWiki with a reasonable theme like Citizen[4] is a nice choice for an open source powered private wiki. Although I do find the Mediawiki markup language a little cumbersome versus simpler markup languages like reST or Markdown/MyST in the Python community (or GitHub-Flavored Markdown or Asciidoc supported elsewhere). But Mediawiki has a lot of nice features -- after all, Mediawiki powers Wikipedia. The theme makes it work properly on mobile, adds a little more structure for automatic ToC, and makes content editing a bit simpler.

It still isn't nearly as polished as commercial wiki-like software (e.g. Notion) but it's better than open source wikis used to be.

On the subject of the blog post, I think bit-rot or info-rot is the natural order of things. The kind of software you run isn't going to change those facts. And if you're curating knowledge about technical computing subjects (that isn't about durable topics like, say, C and Linux system calls), you should expect exponential decay.

I do find it kind of amusing how many tools and frameworks developers have created for making it easier to edit HTML pages, though. Truly a foundational 21st century problem that deserves a technical solution that can last for decades without itself bit-rotting.

[1]: https://frozen-flask.readthedocs.io/

[2]: https://vitepress.dev/

[3]: https://amontalenti.com/archive

[4]: https://www.mediawiki.org/wiki/Skin:Citizen

pixelmonkey··on Query Apple's FindMy network with Python
Exactly. And I also like to remind the Apple fans that Linux's desktop OS market share today is around the same share macOS X had in the period 2002-2010, when Windows was completely dominant and before the iPhone turned so many into macS desktop users. I also like to remind them that the perspective that iOS and Android are both dominant mobile platforms is very US- and Canada-centric. In the rest of the world outside of the very richest nations, Android is dominant. And in many poor areas the world over, Linux desktop is used if for no other reason than to rejuvenate used hardware and avoid software licensing fees. So Apple knows exactly what it is doing when it avoids cross-platform development.
pixelmonkey··on The average American spent 2.5 months on their phone in 2024
Using a smartphone isn't "computing" in the same sense as programmers using a laptop for programming. Neither is it in the same sense as writers using a laptop for writing.

Consider: Some devices are consume-only (e.g. Kindle, original iPod); some devices are consume-heavy, create-light (modern iPhone or Android smartphones); some devices are consume-light, create-heavy (modern programmer laptops); some devices are create-only (e.g. typewriters, or modern alternative experiments like Freewrite).

If you only use the consume-only or consume-heavy devices, you're not "computing" in any creative sense. In the same way, you usually aren't writing in any creative sense if you only carry books (or a Kindle) in your backpack and read all day.

Most people spend weeks or months per year "consuming content with a computing device" while not creating a single thing with that computing device. Some of that is communication, like text and group chat messages. But quite a lot of it is short-form content that is passively delivered to eyeballs and ears.

Either way, this isn't creative computing. It may not even be deep content consumption. The typical and popular content doesn't resemble books. There is a widespread and population-wide decline in deep reading as short-form video rises and app notifications flit users from smartphone app to app. You have to be very intentional to even wrangle a smartphone media diet that leaves the space for deep reading. To escape the trap, most find the need to put the smartphone away and pick up a device with different affordances (a Kindle to deep read, or a laptop to code or write, as examples).

Even if you manage to escape attention farming, due to the design of smartphones as omnipresent devices (on-screen keyboards, touch screens, cellular data plans), creativity will still usually be out of the question for the vast majority of users. For that, you usually need to simply put the smartphone away. I personally find that to do creative computing I need a device with a physical keyboard, a mouse-equivalent, and, optionally: a speedy wired/wifi connection and a large monitor on a comfortable desk in a quiet workspace.

See also "Putting Your Media on a Diet":

https://amontalenti.com/2024/01/31/media-diet

And also "The smartphone app audit":

https://amontalenti.com/2024/03/26/the-smartphone-app-audit

pixelmonkey··on CLI tool to insert spacers when command output stops
I knew you could do that, but never knew you could do it with "|&" as a shorthand. TIL!

I found this comment in a bash documentation example to verify:

# To send stderr through a pipe, "|&" was added to Bash 4 as an abbreviation for "2>&1 |".

pixelmonkey··on JEP 483: Ahead-of-Time Class Loading and Linking
I don't know how this JEP affects Clojure, but if you want to use Clojure for fast-loading CLI apps, a good thing to look at is babashka (bb). I wrote about it here:

"Learning about babashka (bb), a minimalist Clojure for building CLI tools"

https://amontalenti.com/2020/07/11/babashka

pixelmonkey··on Query Apple's FindMy network with Python
Wow, that's some dedication to solve this problem! Very nice write-up. It was also good to see your thinking behind why doing this on an always-on Mac was better than possible alternatives. Thankfully M-series Macs don't draw much power at all at idle.
pixelmonkey··on Query Apple's FindMy network with Python
That's a good point, well taken. Especially now that "X" is the name of a social media platform :-)
pixelmonkey··on Query Apple's FindMy network with Python
Hopefully locations shared by users not part of my iCloud Family account, and "Items" (Apple jargon term for AirTags). Currently it only shows macOS or iOS "Devices" directly linked to my iCloud account, or in my iCloud Family, none of the locations shared by friends. And it shows no "Items," not even those in my iCloud account.

(... yep, it looks like one of their example programs is about accessing AirTag info via API: https://github.com/malmeloo/FindMy.py/blob/main/examples/rea... ...)

pixelmonkey··on Query Apple's FindMy network with Python
Yes, although I recently discovered Hammerspoon which is a clever little bit of open source macOS desktop automation technology:

https://www.hammerspoon.org/

pixelmonkey··on Query Apple's FindMy network with Python
Cross-platform. There are 3 major desktop operating systems (Windows, Linux, and Mac) and 2 major mobile operating systems (iPhone and Android). Every single OS has a huge marketshare worldwide (including Linux, if you count servers).

A truly x-platform app is one that works well on all 5 of these platforms, e.g. Signal. A moderately x-platform app is one that works well on the two mobile operating systems and on web as an alternative to desktop, e.g. WhatsApp. A single-platform app, like Apple FindMy, only works properly on e.g. Mac + iPhone. Apple tends to be the only major industry player that produces these sorts of apps, e.g. iMessage, FaceTime, Final Cut Pro, Keynote. Although with Keynote you can often get by with the iCloud web version, which has a useful 80%-or-so of the desktop app's features. Even apps like Meet, Zoom, and Teams -- run by rival companies -- are more x-platform than major Apple apps.

pixelmonkey··on Query Apple's FindMy network with Python
This looks great. If this Python implementation of the FindMy API actually works, it would be a major technology quality-of-life improvement for me. I hope Apple lets it stay alive.

Everyone who shares location with me does so over Find My, and my family insists on using AirTags. As a 100% desktop Linux and mobile Android user, it is one of the few things that I always need to remote in to my Mac Mini to access because there are no x-platform FindMy apps and the FindMy iCloud web app does not have feature parity to the macOS and iOS apps. One of a long list of offenses where Apple refuses to make things easy for x-platform friend groups and families. Very annoying.

pixelmonkey··on JetKVM: Tiny IP KVM That's Not an Apple Watch
I just got a PiKVM4 Mini which is like this device but already 100% open source (GPLv3) and not a Kickstarter (available in PiShop, etc.) I had a great experience unboxing it and setting it up. Was able to remotely KVM over to to my target device in just a few minutes of setup. It does cost about $275 USD though.

Works well with Tailscale, too.

https://docs.pikvm.org/tailscale/

My use case is to be able to provide a password upon boot to an Apple pre-boot environment with no network access which does the unlock of my fully encrypted disk (via FileVault). Once the full OS boots up I can use other remote access software like ssh. I also recommend coupling the device with a remote smart plug (e.g. Kasa/TP-Link) so you can turn the KVM on remotely only when you need it, or at least turn it off when you're physically at the computer in question (if ever). This way you don't always have an HDMI virtual monitor connected. Another tip is to put your main display/monitor on a smart plug so you can turn it off when remoting, to make sure the OS uses the KVM's HDMI port as the primary/sole monitor.

pixelmonkey··on Restic: Backups done right
Discussion of my approach to using restic + rclone + Backblaze B2 here:

https://news.ycombinator.com/item?id=41041056

pixelmonkey··on Studios: Please Don't Spoil the Movie We Are Seated to See
Same thing happened to me. I had seen The Matrix countless times, but this was going to be my first rewatch in a few years and my first rewatch ever in theaters. Part of the reason I was going was to get that awesome feeling you get when seeing a perfectly-crafted scene "for the first time" on the big screen. That featurette was so silly. They just went scene by scene showing 5 seconds each of iconic scenes from the movie. Right before the actual movie was about to start. Ugh.
← PreviousPage 2 of 25Next →