HNHacker News
TopNewBestAskShowJobs

rented_mule

1,749 karma · joined July 4, 2021

submissionscomments
rented_mule··on Kugelblitz – Mac-Native Google Earth Alternative
Are you saying Keyhole copied Terravision when they created EarthViewer? Google Earth was a rebranding, with continued development, of Keyhole EarthViewer after Google bought Keyhole.
rented_mule··on California Gov Newsom commutes death sentences for all 548 people on death row
It has happened: https://law.justia.com/cases/indiana/supreme-court/1997/77s0...

There are also many cases of people waving their right to appeal once sentenced, which can cause challenges for their counsel (from the link: "Should a death-row inmate who wishes to waive his appeals be viewed as a client making a legal decision to accept the justness of his punishment, or as a person seeking the aid of the state in committing suicide?"): https://repository.law.umich.edu/cgi/viewcontent.cgi?article...

There are difficult issues everywhere you look with the death penalty. The one I can't understand how people get past is execution of the wrongfully convicted. Any justice system is flawed and makes mistakes - it's just too complicated to establish absolute truth when so many people with diverse motivations are involved in the process. We can save money by just putting them in prison until they die, giving us the option to partially undo the sentence in cases where innocence is later established.

rented_mule··on Bringing uv and ty together
Here is some of what Astral has to say about it: https://docs.astral.sh/uv/concepts/projects/
rented_mule··on Bringing uv and ty together
The very first line of https://docs.astral.sh/uv/ states that uv is more than a package manager: "An extremely fast Python package and project manager, written in Rust."
rented_mule··on Matthew Prince on why Cloudflare offers a free version and always will (2016)
Unfortunately almost any kind of blog. My spouse's blog, which she hasn't updated in several years, came under attack about a month ago. Her blog is just posts of some of our travels mixed in with her arts and crafts. It went from a few hundred hits a day to 20M hits a day coming from 2M unique "users" a day. It wasn't a full scrape, but it was hitting a broad range of pages. The traffic originated from 170 countries, so it would seem to be a botnet. It went on for 2-3 weeks before dropping below 1M hits per day. It still hasn't dropped back down to normal levels.
rented_mule··on 'AI' Is Not a Tool by Rich Hickey
I think I get where you're coming from. Both the immense respect for Rich Hickey and the disagreement with him. I hopefully don't have to say much for the respect part - he has repeatedly changed how I think about my craft for the better. As I've mentored others, I've often pointed them to talks of his that were relevant to what they were missing. And that's all without using Clojure. But I definitely use ideas from Clojure in other languages where it fits.

On the LLM front, it's been a fascinating journey for me. I started with the private beta of Github Copilot. I was an instant convert for the "better code completion" aspect. But my first attempts with coding agents were rough enough that I stayed away.

I'm now retired, but I want to understand how things are evolving. So two months ago I volunteered to automate a cartography data pipeline for an educator. I have a background in all aspects of the project. It's not simple - there are several data sources from governmental and corporate sources that need to be integrated together, and most of them are updated every few minutes. New maps need to be available within ~5 minutes of a data source updating. All this with many GB of data and running on a low powered machine, taking less than 2GB of RAM.

I bought some DeepSeek tokens and went to work. A few weeks later a mentee went to work at OpenAI and gave me a "friends and family" Pro level plan. I'm converted, and I absolutely see it as a tool in the sense Rich describes. I even question whether any "software engineers" using it, but not as a tool, are doing it right (I'd love to be educated if I'm wrong!).

I'm still learning, but that's part of the disagreement I have with Rich's take. He mentioned feedback. I often watch the "reasoning" process the agent goes through to see the approach it's taking. It's not at all unusual for me to steer it when I see it going in a direction I don't like. I've also found an incredibly powerful pattern where I can explore the approach I want to take for a part of the system with the agent. I have it create prototypes with different strategies (streaming vs. in-memory, different data structures, relying on various libraries, etc.) and then I have it characterize trade-offs between the prototypes (performance, memory usage, conceptual simplicity, code simplicity, etc.). This allows me to make informed decisions about which approaches to pursue further, and my decades of experience in software engineering constantly go to good use here.

It's also given me the time to go far deeper into things I never could have justified. Of course the project has 100% code coverage and branch coverage. It also has hundreds of property-based tests. And thousands of Lean proofs of the behavior of the algorithms, along with conformance tests that the code and the Lean adaptation of that code behave the same way. And lots of TLA+ verification of the overall flow of the system. None of that proves there are no bugs or that this is the right system, that's all on me. A month in I would have said I was fairly happy with the quality. Now I'm proud of the quality.

As I've gone through this process, I've dug into the code for patterns I don't like, and had the agent clean them up, all the while distilling guidance. I've had a lot of luck with that guidance being followed once I figured out the right place to put it and to reference it. I've spent entire days doing nothing but giving prompts to do specific refactoring. The beauty is that large refactorings don't involve the same boredom interrupted by anxiety they used to for me.

English prose (documentation, comments in the code, etc.) is what I've been the least happy with. An hour ago I had the idea to give it ~1,000 lines of my HN comments and ask it to characterize the style and tone of the technical parts. Then I told it to turn that into guidance. Then I told it to rephrase that same guidance in a way that follows the guidance. I would never mistake the result as my own, but it's much, much better than what it was producing before. While I've been writing this comment, it's been applying it to all prose in the project.

This very much feels like a tool that is letting me shape the project (and shape the tool itself). But it's letting me do it at a higher level. It handles the code so I can fully focus on the architecture, algorithms, and quality. This alone makes me think that the best simple guidance for quality results is dozens of prompts per day, not a handful (when a day is 100% focused on development). When you can't think of dozens of prompts, think and explore more (the agent can help with that!). That does require you know what quality is and how that can be achieved.

To reconcile this with what Rich is saying. I suppose he's right that it's not a tool for writing code. But it very much feels like a tool I'm wielding to do software engineering at a far more powerful level than I could have done without it. The resulting project has "me" everywhere in it. The people who know my work the best would look at this project and know that it's mine. Perhaps not the code, but the algorithms, the data flow, the approach to documentation and testing, etc.

For anyone curious, the project is getting close to 200K lines. About 25% of that is the code that is the data pipeline. About 25% is documentation. About 50% is testing and verification. One reason this is possible is that I'm working alone and have full control over the process (what I spend before it became free, how it's built, what my process is, and even the product definition within the constraints of what's valuable to the intended user). All told, it has been about 6 weeks of full time work worth of my time.

The next experiment... a web front-end to this system for the general public. This is not at all in my wheelhouse, so it should be interesting to see how much my blind spots cost me.

rented_mule··on Bitwarden Dual License Model
For me, vaultwarden's RSS is ~45 MB, with ~13MB of that being shared. I have it running as a secondary thing on a 512 MB machine and don't notice it's there. Is there a reason you presume it's a memory hog?
rented_mule··on Mike Tomlin spent 12 years building a Minecraft city
This is shocking to me. My brother is a retired college football head coach. Two of his sons are acclaimed college football players. I've spent time with the head coaches of two teams currently ranked in the top 10 in the NCAA. I've been around the sport for decades and know how coaches' lives can be monopolized by the job. To see an NFL head coach doing something requiring this level of time commitment blows my mind. I guess it's a reminder that to reach the very top level of a sought after profession, you have to be a remarkable individual.
rented_mule··on Tennessee inmate still alive after being administered two lethal injections
> Seems pretty natural to me unless you happen to have an infinite negative weight assigned to killing someone, which I do not. I mean, I have a large negative one, but it's not infinite.

What's your negative weight on killing someone who is innocent? A justice system cannot be perfect. There are too many people, too many motivations/biases, and too much nuance involved. If a justice system is not perfect and it executes people, innocent people will have their lives unjustly taken from them by us. If it's 99.9% accurate (I'd argue that even 99% is an impossibly high bar), then an innocent person has likely been intentionally killed by the federal and/or state governments in the last 20 years. Are you cool with that? After execution, it's not generally possible to file an appeal on behalf of the executed even if new evidence demonstrates innocence. This has the implication of multiple injustices - an innocent person is killed by the state, the true murderer gets no punishment, and society incurs the risk of wrongful execution with no protection from the true murderer.

Or we could take the less expensive, partially reversible route of putting the convicted in jail until they die.

If you'd like to understand the imperfection more concretely: https://en.wikipedia.org/wiki/List_of_wrongful_convictions_i...

rented_mule··on The internet discovers TLA+. Now what?
I had a similar experience having Astra add TLA+ and Lean verification tests to a project with somewhat complex state and many small algorithms (almost all generated by coding agents). The system had been working quite well, but adding formal verification surfaced 33 classes of bugs, some of which had several instances.

I completely agree with you about how fun these things can be. I've long believed in automated testing methods that were beyond what I could justify. I learned about formal methods in college in the 1980s and have never been able to justify (even to myself) applying them. Now a volunteer project I've been working on has 100% standard test coverage, many property-based tests, and 1000s of formal verification tests. That combination has surfaced multiple bugs in widely used underlying libraries and a bug in Rosetta 2's Intel emulation that was affecting me. And that's all just on the testing front. I'm having a lot of fun with all this.

rented_mule··on GPT-6 Astra has gained the ability to drive a car
My understanding is that Waymo's remote driving is not direct control of the car, for exactly these reasons among others. So human operators don't have steering wheels or joysticks. Instead the humans can give something closer to advice (e.g., "pull to the right and stop") that the car can accept, modify, or reject.
rented_mule··on If AI coding is lowering your code quality, you're not managing quality right
Going much deeper on tests has been transformative for me. In a solo project started from scratch, I'm 6-7 weeks in, and it's up to ~90K lines. ~60K of those are tests. Those tests have now found (and then the agent has correctly diagnosed) multiple bugs in broadly used libraries that I'm using in my project. That's because those bugs surfaced as occasional issues in my project. Especially powerful are all the property-based tests (perhaps what you are calling fuzzing? I'm using the Python package called Hypothesis for this).

Another spectrum that I've found useful to explore is the scope of what I ask the coding agent to do in one turn. I see some people trying to do one massive prompt that the coding agent works on for a day or more. I find a large boost in overall quality if I do 10-20 prompts per day (not counting the prompts where I'm just trying to understand things). It's still much less of my time than hand-coding, but the resulting architecture looks like my own. The quality of the overall system is great. There are certainly issues here and there in the code, but it's always that way once a project gets large enough. Now it's easier to address any particular issue throughout the code base in one go.

rented_mule··on Jobs Without LeetCode
> You do not have to agree with them on everything during the interview.

Absolutely! When I'm the interviewer, I look for a genuine opportunity to amicably express disagreement with the candidate in order to see what it's like to navigate that with them. It's a great sign when we both end up enjoying learning from each other as a result of the exchange.

rented_mule··on Jobs Without LeetCode
I think the ideal goal of an interview is to make a prediction of how happy and productive the candidate will be in the role they are being considered for. In a perfect world, that would be a collaborative effort between the company and the candidate, because they both should care deeply about the accuracy of those predictions. Unfortunately interviews often take on an adversarial/guarded dynamic that reduces the quality of those predictions. I believe that LeetCode style interviews make the predictions worse, and not only because they encourage that negative dynamic.

Even if you think that LeetCode evaluates how smart someone is, that's not what companies should be trying to measure. It doesn't matter how smart someone is if those smarts won't be put to good use. One of the smartest people I ever worked with was an amazing fit and launched the team to new heights. Another of the smartest people I ever worked with was a net negative for team productivity because he was such a jerk to people that those people would spend tons of their time and energy to find ways to avoid working with him. Despite all his smarts, he was a terrible match for the role and therefore was not productive. Being a jerk in some environments might even be a positive, but that's part of evaluating fit.

rented_mule··on OpenAI have no mathematicians capable of understanding what they put out
If the mechanics of the proof are not understood, how do we know it's been proven? Math proofs are not a "trust me, bro" kind of thing.
rented_mule··on The Navier–Stokes Millennium Prize Problem
I like to leverage that when brainstorming solutions to hard problems. Instead of contemplating small percentage improvements, try to think about what's in the way of improvements that are orders of magnitude better (e.g., don't take time to run a big task from 100s to 90s, take it to milliseconds). Sometimes it unlocks big ideas.
rented_mule··on Thinking in Python
You're right that Python 3.15 is not fully released yet, but it's in prerelease which is defined as:

""" After the first beta, no new features can go in, but feature fixes (including significant changes to new features), bug fixes, and security fixes are accepted for the upcoming feature release. """

So it's a fairly well known target. Bruce Eckel published the first edition of this book a quarter of a century ago - he has a pretty good handle on the progression of Python.

Definitions and status for all releases is at https://devguide.python.org/versions/

rented_mule··on Interview with Amit Patel, Creator of “Solar Realms Elite” (2013)
I was lucky enough to spend ten or so hours with Amit over the span of six or eight years after he left Google. He has a fantastic ability to find the simple core of very complicated things, making it easy for others to understand. People repeatedly thought it was so impressive that I understood deep concepts so thoroughly. Then I'd say, "wait, let me draw the simple line chart on the whiteboard that Amit drew for me." Then they immediately understood it just as well as I did. My time with him always left me feeling inspired. He's a truly nice guy too.
rented_mule··on Guiding Ships with Moire Patterns (2018)
For anybody who wants to dig into the theory behind all this, these are examples of aliasing (the same word you see in "anti-aliasing" regarding fonts, computer graphics, etc.). I've been fascinated by moire patterns since I was a kid 45+ years ago. Here's one of my dabblings that required a bunch of browser-specific hacks to turn anti-aliasing off so the aliasing would show (if you change window size, you'll notice different effects after it redraws): http://www.nukacourt.com/moire.html
rented_mule··on uBlock Origin is giving up the fight to keep ads off Facebook
The largest brands (Walmart, McDonald's, Coca-Cola, etc.) put a lot of analytics into their ad spend. I worked on an ad platform with a large audience that these kinds of brands wanted to get their name in front of, but the audience was exceedingly unlikely to click on big-brand ads on our platform. The brands figured this out quickly and pushed hard for cost-per-click rather than cost-per-impression because cost-per-click was essentially free brand marketing for them, even if they were paying $100 per click.

The next tier down was kind of the opposite. They weren't big enough to surface things like this, and they hired agencies for most of their ad spend. When focusing on the top of the funnel, there's this strange incentive with agencies where they often get more budget to spend if they can connect that directly to eye balls. Agencies are incentivized to throw the ads up everywhere and pay well to do so. They love cost-per-impression because we could deliver a large, predictable number of eye balls in a hurry.

All that said, we put no effort into getting around ad blockers as we were serving these ads on our own site/app and we viewed fighting ad blockers as fighting our users. Our ads were served inline in HTML, but clearly identified in the HTML of the page. It took blockers a while to catch on and block them, but they eventually did.

rented_mule··on U.S. economy lost 23,000 jobs in July, a sudden reversal
Something the best data scientist I ever worked with was adamant about... there is almost never an inherent "speed bump" at 0. If error bounds expand on both sides of 0, we have no idea if the true sign is positive or negative. There is no "directional" read in that case. There are some areas where 0 has a special meaning, but that's rare and the cause of that needs to be understood before assuming that's the case. Everywhere else, 0 is just another point on the number line.

> the error bars would be so large as to make drawing conclusions from these numbers seem pointless

That is often the case, and being truly data based requires acknowledging that. We can then act based on other data, or admit that we're falling back to intuition and abandoning data based decision making for now.

rented_mule··on DeepSeek V4 Flash 0731 Intelligence, Performance and Price Analysis
CodeWhale is a coding agent that auto-routes requests to Flash / Pro based on complexity, as determined by Flash. It's also tuned for DeepSeek's caching behavior, making things even more inexpensive. I'm retired, but I've been using it for just over two months at about the rate I would use it if I were working half-time, and I've spent $19 total.

https://github.com/Hmbown/CodeWhale

rented_mule··on ChatGPT claims rogue AI attacked more companies
You are right that they cannot control the language used by journalists. But then can loudly respond (many journalists would give Altman a platform) that the AI did not go "rogue" in any sense of the word - it did what humans told it to do and they failed to put sufficient security in place to prevent that. Instead they continue to lean into the personification which creates confusion about the abilities of their technology. Of course, it's in their interests for people to jump to false conclusions from that personification. The people at OpenAI are certainly smart enough to know all of this.
rented_mule··on Learning Musical Multitasking
As a fan of drumming, you're probably one of the millions who have seen this. But for anybody who hasn't, here's a fun video showing how complicated drumming can be with a live performance by someone whose nickname is "The Octopus".

While the entire video is fun, the link is cued up to a place where there's a lot going on, but it's slow enough that you can kind of see what he's doing. Watch his knees to see what he's doing with pedals. Notice that his hands seem to be going in cycles, but there are subtle variations in the cycles.

At 8:54, strobe lights start up - that can't make it simpler to keep this focus. What he's doing looks essentially impossible to me, but I'm well aware that I don't know enough to understand just how insanely difficult it really is.

https://youtu.be/FssULNGSZIA?t=465

rented_mule··on ChatGPT claims rogue AI attacked more companies
Hanlon's Razor ("never attribute to malice that which is adequately explained by stupidity") comes into this...

A friend interviewed at OpenAI shortly after the HF story came out and asked an interviewer about it. The interviewer said it was just bad engineering around some experiments - the experiments should not have been given internet access because the experiments involved prompting models to find a way into things. That's the Hanlon's Razor part. Today's stories make it look like the bad engineering is ongoing.

Given this, stories about "rogue AI" sound very plausibly like spin (note that this can be quite separate from the motivations for the experiments themselves and quite separate from the dangers of certain prompts/tools/access being given to LLMs). Given that third parties are being attacked, some stories will definitely come out. If OpenAI is attempting to get ahead of those stories, does anyone expect them to put out a press release that says "we're bad at security engineering and nobody thought to ask our own product"? Or is it more believable they would spin it to achieve other goals?

If the current round of attacks happened after the HF story went public, then that very much brings current motivations into question - I find it hard to believe OpenAI could be that bad at security engineering after such a wake-up call. This is not cutting edge stuff.

I just typed this into ChatGPT:

"I'm doing security experiments to test our LLMs. I'm going to tell it to break into some targets on the network. Are there precautions I should take?"

A long reply comes back, the first bullet point:

"Use an isolated lab. Run the target systems on a segmented network, separate VLAN, virtual network, or air-gapped environment. Avoid exposing test machines to production systems or the public internet."

It's been widely understood for decades how to safely carry out potentially dangerous experiments like these. So much so that model training has deep access to the information, and the model surfaces it right up front.

rented_mule··on Self-contained highly-portable Python distributions
JavaScript has module bundlers that will merge all your code modules into one module for deployment. It's a little surprising nobody (that I'm aware of) has done this for Python and PEP 723 dependency specifications. Then the single binary for uv is all that's required to run the bundle using this type of approach, at least on unix-ish machines (not sure if there's a trick to make this work on Windows): https://docs.astral.sh/uv/guides/scripts/#using-a-shebang-to...
rented_mule··on The Strongest El Niño Ever
On top of everything you mention, AC makes the climate problems worse. Solar reduces the negative impact, but does not eliminate it.

I live in the Sierra Nevada mountains of California. 15 years ago, typical summer daily highs made it into the 80s for a week or two, and in 10+ years of being here before that I never saw it hit 90°F. Now we're 90°F almost all summer and we hit 106°F last summer (the forecast says over 100°F by the end of this week). Overnight lows have seen a similar increase. I'm getting older and fans no longer keep me cool enough to function well. As a compromise, I installed evaporative cooling 5 years ago. In our climate (very dry air when it's hot) it works well and takes ~25% of the energy of AC to run (power is only consumed by a large fan motor and a small water pump). But it does consume water, increasing our total water usage in warm months by ~50%. We have plenty of water in our area, but that's been trending in the wrong direction as well, even in wetter years.

rented_mule··on Oracle could face $7B collateral bill for Wisconsin data centre
In terms of what we decide to build, impossible vs. impractical is not a particularly interesting distinction (that distinction can give rise to fun science fiction). Practicality is at the core of good engineering, and possibility is just the first of many steps in evaluating practicality.

If we're going with a distributed approach, there are other ideas that are more practical. For example, send 1 KW boxes to a million people (< 1% of American homes, but there's no reason to limit this to the US). Very roughly, these are beefed-up gaming consoles - you could even start with existing gaming consoles. That box plugs into electricity and ethernet. Pay each of those people $1,000 a month to leave their box running 24/7. For people with a lot of solar at home, it could be a nice income stream. At $1B per year for payouts, it's far cheaper than doing it in orbit. And it doesn't rely on promised but as-yet undelivered technologies. But data centers are probably more practical.

rented_mule··on Oracle could face $7B collateral bill for Wisconsin data centre
> What's the difficulty of a 1GW datacenter in space?

Simple back of the envelope calculations?

Let's assume your numbers are correct and that panels in space can generate 10x the power per square meter per 24 hour period (due to efficiency, lack of night, and lack of atmosphere/weather). That means 10 KM^2 are needed for one such data center. The largest we've built in space is ~3,000 M^2 on the ISS. So one of these DCs in space will require an array ~3,000 times the size of the largest we've built before. Or, it's going to require ~3,000 satellites, each with an array the size of the largest we've ever deployed.

The largest Starlink satellites currently deployed generate less than 30 KW each. We'd need more than 30,000 of those to generate this much power. Starlink has launched ~12,500 to date, with ~10,000 still functioning. So 3x the size of the functioning fleet that's taken 8+ years to deploy. Currently, we are deploying well under 5,000 per year. Let's assume we can come up with enough spare capacity to launch 5,000 per year. That's 6 years to deploy the first 1GW DC. By the time we get to 1GW, the average GPU is 3 years old. So we need to continue to deploy 5,000 satellites per year to maintain 1GW of GPUs that are, on average, 3 years behind current generation GPU designs.

This is all before we get to the economics of launching, the cost of the satellites themselves, heat dissipation, radiation hardening, hardware failure rates (~20% of deployed Starlink satellites are no longer functioning), etc.

rented_mule··on What does privatization of the US Postal Service mean?
I didn't know about it for the first few years I lived here, so ask when you're at the counter.
Page 1 of 12Next →