HNHacker News
TopNewBestAskShowJobs

bfirsh

4,246 karma · joined November 29, 2009

Founder of Replicate (W20) https://replicate.com/

https://firshman.com

[ my public key: https://keybase.io/bfirsh; my proof: https://keybase.io/bfirsh/sigs/I2UKihiqAntrGCCwICWwJXcyy9Bt95eBXaBlml8VkuQ ]

submissionscomments
bfirsh··on Google no longer producing high quality search results in significant categories
Is there some aggregation of these domain-specific review sites anywhere?

Wirecutter has been pretty hit-and-miss for me recently. I have found my best product recommendations through a bunch of random blogs who have some particular expertise.

bfirsh··on IoT hacking and rickrolling my high school district
Hah! I have vague memories of this. I think this might have inspired it, yes.
bfirsh··on IoT hacking and rickrolling my high school district
Would it have needed leader election though? It's a stateless system. It might have been enough to ignore spoofed ARP replies, or to not attack machines of its own kind.
bfirsh··on IoT hacking and rickrolling my high school district
Oh, yeah. That's a very good point. That's probably why it stopped working. I always thought the network admins pulled the plug assuming they'd been hacked.
bfirsh··on IoT hacking and rickrolling my high school district
This was 13 years ago so my memory is fuzzy... if I recall correctly, spoofed ARP replies were unicasted to every possible address on the network. It switched from machine to machine slowly, which is fine because they all served the same content.

There were several subnets at the school, each with its own gateway. I remember having to set up live CDs in several computer labs to cover each of the subnets.

bfirsh··on IoT hacking and rickrolling my high school district
https://www.dropbox.com/s/hyt24p4j43szpdi/logo.gif?dl=0
bfirsh··on IoT hacking and rickrolling my high school district
Reminds of me my school leaving prank. I rewrote the whole internet on my school's computers. Google's logo became "Leavers '08", Facebook became "Hatebook" and was red, YouTube only played videos of cats, amongst other things.

These were the days when nothing had SSL, so you could just intercept and rewrite traffic!

My only requirement was: do no actual damage

It was implemented as a Debian live CD that you could drop into any school computer. It would boot up, then Ettercap would MITM the whole network by spoofing the router. It routed all HTTP traffic via Squid and a custom ICAP server that did the actual rewriting. If you removed the live CDs, the network just went back to normal within a couple of minutes.

Routing the whole school's network through one old Pentium machine wouldn't work though, so I figured out a way of doing distributed load balancing: it would do the ARP spoofing slowly and randomly. So, as you added more machines, it would just magically balance between them.

It worked great for about an hour then whole network mysteriously stopped working for the rest of the day. I left all the live CDs in the computers as a calling card.

Sorry, school network admins.

bfirsh··on Ask HN: Where are all the old Show HNs?
My Show HN for "Fig", with 15 points and a quip about it not working on clusters: https://news.ycombinator.com/item?id=7002634

This got acquired by Docker and became Docker Compose. Swarm was the attempt at making clustering work.

bfirsh··on Monitoring my home's air quality with AirGradient's DIY sensor
One thing I found is our furnace fan and its filter is surprisingly quick and effective at cleaning up wildfire smoke (and cooking smoke...)

https://twitter.com/bfirsh/status/1434677458171678721

bfirsh··on Where did the web archive go?
If you don't want to read a PDF: https://www.arxiv-vanity.com/papers/2108.05939/
bfirsh··on Explore Seasonal Fruit and Vegetables in Europe
Why do fruits have such dramatically different seasons?

It makes sense to me that some fruits only fruit in summer when there is enough energy, and some that require less energy fruit all year round (e.g. apples).

But why does citrus only fruit in the winter? Maybe it exploiting the fact that there aren’t any other fruits at that time, so hungry cold animals will eat them at a greater rate than if they were competing with all the other summer fruits?

bfirsh··on Swarms of soldier crabs can implement logical gates (2012)
Here's an HTML version: https://www.arxiv-vanity.com/papers/1204.1749/
bfirsh··on Electric car that charges itself
When I went travelling a couple of years ago I was trying to figure out if you could travel 100% solar powered.

Turns out it’s kind of possible if you cover a huge van with solar panels and have them extend out to make a larger surface area. And, are very patient. (One day of driving, two days of charging, or whatever.)

https://solarrolla.com/

https://www.routedelsol.com/solar

bfirsh··on Ask HN: Those who quit their jobs to travel the world, how did it go?
That exact same sentiment from ZAMM inspired me too.

I’m glad I did it on a bicycle rather than a motorbike. There’s something more human-scale and less intimidating about it.

Well, in relatively populated places like Europe and India at least. I imagine I might feel differently if I cycled through the empty bits of the US or Kazakhstan.

bfirsh··on Ask HN: Those who quit their jobs to travel the world, how did it go?
The traffic was wild. As you say, the traffic is less bad outside of cities, and if you avoid the busier roads. But even still, lots of trucks barreling down small dirt roads, weaving in and out of cows, and things like that.

I felt very safe in terms of crime. Subjectively I felt safe, but also objectively crime rates are low in India, I think. (Obviously hard to compare crime rates and I forget the exact metric I am basing this off.)

Even though my bike and laptop were probably a year's salary for somebody there, I never felt like it or myself were in danger.

Toward the end of the trip I remember being chased by a scooter honking at me and waving me down. He handed me my wallet. Turned out I had left the zipper on my bag open and my wallet had fallen out. He found it on the ground, saw me in the distance, and chased after me to hand it back. I had maybe $100 in cash in there (which is like $1000 adjusting for purchasing power) and of course it was all there.

Everyone in India is so kind and welcoming. There is no concept of personal space or privacy, but that also means everybody is your friend.

bfirsh··on Ask HN: Those who quit their jobs to travel the world, how did it go?
Late 20s. 2 years overall, but that was interspersed with doing work in Athens. I would say maybe 1 year of travel and 1 year of working, overall.

I had spent ~10 years working in tech so I had some savings. Contract work also helped.

Not sure what the total cost was exactly, but the cycling part was cheap. It's ridiculously cheap if you're in Asia or cheaper parts of Europe (Greece, eastern Europe, etc). It got more expensive when I bought a van...

bfirsh··on Ask HN: Those who quit their jobs to travel the world, how did it go?
One of the side-projects I built on the trip turned into my full-time job. :)
bfirsh··on Ask HN: Those who quit their jobs to travel the world, how did it go?
It was never a problem in 2 years of traveling. My priority order was hostel, Airbnb, camping, hotel. Camping got higher priority if there was good nature or it was expensive.

Airbnbs (the kind where you stay in somebody's spare room, not a whole place to yourself) are plentiful and cheap outside major cities, and mean you get to meet locals. I had so many good experiences doing that. More often than not I would book an Airbnb in the afternoon for that night, when I had figured out how far I would get that day.

Homestays are abundant and cheap in India and other parts of Asia. $10 for dinner/bed/breakfast. I didn't camp in India once because they were so cheap and abundant -- I'd rather eat delicious food and meet a local family.

Wild camping is much more of a normal thing outside of the US, even if it is technically not allowed. You just find somewhere discreet. In Europe, I was discreet but always welcomed if somebody found me. In Asia nobody gives a shit, you can just do what you like.

bfirsh··on Ask HN: Those who quit their jobs to travel the world, how did it go?
When I quit my job and went travelling I used this framework:

1. Go via land. You see everything in between all the places you should see as a tourist. You immerse yourself in how a place actually feels. You meet people who aren’t just trying to extract money from you. I cycled, because I like cycling, but any form of transport works.

2. My algorithm was something like “Go east. Stay somewhere if it’s interesting, until you get bored. Continue going east.” I didn’t have a fixed itinerary, but I did have some framework.

That was the basis of it, I think. I cycled from London to Italy, stopped for a while in Italy, cycled on to Greece, then fell in love (with the place and somebody in particular). I met some of my best friends, worked on side projects, volunteered for charities, and ended up staying there for several months. I skipped forward to India on a plane, cycled across India, then returned back to Greece.

My partner in Greece wanted to visit the Middle East and Central Asia, but she wasn’t quite as excited about cycling through the desert as I was, so we bought a van and drove — to Central Asia, and everything in between.

My framework worked extraordinarily well. If I have one regret, I think it was not making an effort to interact with more people. You do that a lot more naturally when travelling by land, but you still need to put in effort to make it happen.

For example, I was up late in a bar in an Italian village, and met one of the locals. It was a long cycle ride back to the place I was staying so he offered me his spare room. Turns out he lived with his parents and the next day his elderly Italian mother cooked us pasta for lunch. Possibly one of the best meals of my life.

I wish I had done more of that. Just hanging out in bars and making friends. And not tourist bars — real bars. Knowing the local language better would probably help.

bfirsh··on Average Rent in San Francisco Has Dropped $1k This Year
As a data point: I asked for 25% off my 1 bedroom rent (which seemed like roughly market rate). They said something along the lines of "we're not lowering any rents because we're struggling due to the economy".

So, I left and they got nothing. I doubt they're going to rent it out again for a while.

bfirsh··on NIST Digital Library of Mathematical Functions
It's own format, which is a rough semantic representation of a LaTeX document: https://dlmf.nist.gov/LaTeXML/manual/schema/

There are ways of exporting MathML within that schema, I think.

bfirsh··on NIST Digital Library of Mathematical Functions
These functions are represented as LaTeX, because that's the gold standard for rendering math. But, they also want them available as XML so they're in a more sensible format for archiving.

So, funnily, as part of this, NIST maintain a LaTeX to XML converter.[0] It's a pretty complete LaTeX runtime. (Yes, runtime -- TeX is a programming language, not a markup language!)

This is the thing that powers arXiv Vanity[1] and other academic publishing projects.

I just find it quite amusing that the US Government maintains a LaTeX runtime written in Perl.

[0] https://dlmf.nist.gov/LaTeXML/

[1] https://www.arxiv-vanity.com/

bfirsh··on Netflix's Metaflow: Reproducible machine learning pipelines
I think the solution to this is a bunch of pluggable tools that integrate well. "AI Platforms" do everything, but they do each thing not very well and force you into a particular way of working. (There is a reason we don't use "software platforms" any longer.)

But unfortunately, as you say, most of the pluggable tools are not very good and/or not mature enough.

Here's our attempt at model storage, experiment tracking, and software heritage: https://replicate.ai/

For interactive dev environments, Colab, Deepnote, and Streamlit are all great.

For deploying to production, Cortex mentioned in the post is great.

All are a work in progress, but I think we'll soon have a really powerful ecosystem of tools.

bfirsh··on The Anti-Mac User Interface (1996)
Agreed, though perhaps you could say it's more "real" than the GUI because you're dealing with lower level concepts.

We touch on metaphors in this section: https://clig.dev/#conversation-as-the-norm

bfirsh··on The Anti-Mac User Interface (1996)
This inspired some of our design principles in the CLI Guidelines: https://clig.dev/

The CLI is the opposite of the Mac in a lot of ways -- reality instead of metaphors, remember and type instead of see and point, make it a conversation, and so on.

bfirsh··on AT&T Fiber in the SF Bay Area is flipping bits
If you've got AT&T fiber via Sonic, give them a call and ask them to escalate the issue. The people on the phone know about the issue, take you seriously, and the more people complaining the more pressure they'll put on AT&T, I expect.
bfirsh··on AT&T Fiber in the SF Bay Area is flipping bits
Urgh. I wasted an hour or two trying to debug my local network due to this.
bfirsh··on CLI Guidelines – A guide to help you write better command-line programs
More details for any readers here: https://github.com/cli-guidelines/cli-guidelines/issues/57
bfirsh··on CLI Guidelines – A guide to help you write better command-line programs
The sentiment was meant to be: "Make `command help` as good as a man page. More people will read that." We didn't mean to suggest to use web pages instead.

We also didn't mean not to use man pages at all. We just find more people use the built-in help and web pages, so if you have limited time/resources, it's better spent on those things.

In retrospect, perhaps it was worded a bit strongly. I am enjoying the debate, though. The meta point, and part of the reason for this document to exist, is that perhaps it's a good idea to question our 30-year-old traditions and see if we can come up with better ways of doing things. This seems to have got people talking again. :)

bfirsh··on CLI Guidelines – A guide to help you write better command-line programs
Hello HN!

We’re Ben, Aanand, Carl, Eva, and Mark, and we made the Command Line Interface Guidelines.

Earlier this year, I was working on the Replicate CLI [0]. I had previously worked on Docker so I had a bunch of accumulated knowledge about what makes a good CLI, but I wanted to make Replicate really good, so I looked for some design guides or best practices. Turns out, nothing substantial had been published since the 1980s.

On this search I found a superb blog post by Carl about CLI naming [1]. He must be the only person in the world who cares about CLI design and is actually a good writer, so we teamed up. We also were joined by Aanand, who did loads of work on the Docker CLIs; Eva, who is a technical writer, to turn our scrappy ideas into a real piece of writing; and Mark, who typeset it and made a super design.

We love the CLI, but so much of it is a mess and hard to use. This is our attempt to make the CLI a better place. If you’re making a tool, we hope this is useful for you, and would love to hear your feedback.

Some of it is a bit opinionated, so feel free to challenge our ideas here or on GitHub! [2] We’ve also got a Discord server if you want to talk CLI design. [3]

[0] https://replicate.ai/

[1] https://smallstep.com/blog/the-poetics-of-cli-command-names/

[2] https://github.com/cli-guidelines/cli-guidelines

[3] https://discord.gg/EbAW5rUCkE

← PreviousPage 3 of 9Next →