HNHacker News
TopNewBestAskShowJobs

marwatk

196 karma · joined March 1, 2013

me@marcuswatkins.net
submissionscomments
marwatk··on Grok 4.7
I've been experimenting with omp because:

- it allows different models within one session via roles (I only have API, so pay per token)

- it's much more likely (ime) to use the LSP over grep for determining how code fits together

But I agree a 20k+ starting context is way overkill.

I find it's very hard to get information on harnesses people are using. I have to stay model agnostic so I avoid claude, codex, cursor, etc. I've used and tried opencode, which worked well, but obviously lacks the above features.

Does anyone have a resource for following what people are actually being productive with? With so much vibe going on it's hard to separate the wheat from the chaff.

marwatk··on Bypassing airport security via SQL injection
> although I wonder if a FOIA request would actually compel them to give it to you

I believe most of it is open source: https://github.com/18F/identity-idp

marwatk··on Cruise confirms robotaxis rely on human assistance every 4 to 5 miles
Such frequent interventions means you need very reliable cell service. In times of heavy congestion (concerts, etc) that doesn't seem feasible.
marwatk··on Passkeys will come at a cost
Hardware tokens (Yubikeys, etc) are signed by their vendor. They support attestation which allows q site to disallow vendors not in a white list. Some banks (Vanguard was/is one) actually enforce this preventing all but a handful of hardware keys from working with their 2FA.
marwatk··on “Greedflation” is a nonsense idea
> Regardless, the fact that companies raise their prices in response to shortages is not only defensible but desirable.

Gouging is good. I'm sure they'll be lowered again when supply stabilizes. Any time now.

marwatk··on Red Hat cutting back RHEL source availability
RedHat spends a lot of time back-porting security updates to older software (e.g. RHEL7). Stream is always only the latest RHEL version, I believe.

The whole point of RHEL is the long term support (the back-porting), which is what they're going to stop publishing.

marwatk··on Build your own private WireGuard VPN with PiVPN
I love these things:

https://www.aliexpress.us/item/3256804116114245.html

There are a few suppliers, but the 4x Intel NICs open up lots of possibilities. They're very lower power, but still fast enough to handle a lot of traffic.

I run VMWare ESXi on mine and use openwrt for my router on two ports and then a general purpose server in another VM.

marwatk··on Early Remote Work Impacts on Family Formation
Even if we fixed all of the above, changing jobs would still require uprooting your family. In an era where you worked for one company for life it made sense. Today I don't think it's feasible.
marwatk··on US Marines defeat DARPA robot by hiding under a cardboard box
Yep, this is why LIDAR is so helpful. It takes the guess out of "is the surface in front of me flat?" in a way vision can't without AGI. Is that a painting of a box on the ground or an actual box?
marwatk··on Go Style
I've read the assertions section a few times and I still don't understand the argument. How is:

  if got == nil {
    t.Errorf("blog post was nil, want not-nil")
  }
Better than

  assert.NotNil(t, got, "blog post")
? They seem to suggest that you lose context, but their "Good" examples are similarly devoid of context.
marwatk··on Disney says it has more streaming customers than Netflix
I don't think they were able to "become HBO faster than HBO can become us"[1] and now they're paying the price. They have effectively zero moat with their own IP and now they're competing with everyone else for the same creative talent without an ability to separate the wheat from the chaff resulting in quality all over the map.

1: https://www.gq.com/story/netflix-founder-reed-hastings-house...

marwatk··on Go Developer Survey 2022 Q2 Results
The bigger issue is that returning the error without wrapping provides zero context and after a crash you're stuck trying to figure out which of a hundred calls to Write was responsible for "write error" or some other equally ambiguous message that's nearly impossible to track down.

So you have to resort to a poor man's stack trace: if err != nil { return fmt.Errorf("my thing: %w", err) }

(We use wrapcheck via golangci-lint to enforce it because not having context for an error has bitten us so many times)

marwatk··on Go Developer Survey 2022 Q2 Results
In things like rest APIs you need them quite a bit to distinguish between a value being the zero value and not present at all. Most libraries I've seen have an IntPointer or similar function exposed globally.
marwatk··on Apple Removes SIM Card Tray on All iPhone 14 Models in U.S.
This prevents me (a Tello user) from getting the new phone. There are only like 3 US MVNOs that support eSIM. I wonder how long that will remain the case now that the writing is on the wall. I tried Google Fi eSIM a while back prior to traveling and even after working on the phone with Google support they had to ship me a physical SIM to bootstrap the eSIM.
marwatk··on IRS audits poorest families at five times the rate for everyone else
This is addressed in the article:

> A critical limitation in the IRS’s ability to audit millionaires is the availability of IRS revenue agents. Only this class of auditors, given sufficient training and experience, are qualified to examine complex tax returns – the types of returns typically filed by high-income individuals and large-scale businesses.

> With severe budget constraints, IRS has tended to trade off the replacement of revenue agents with hiring more tax examiners. These certainly are paid less, but they are also less knowledgeable. While revenue agents used to outnumber tax examiners, this has slowly shifted over time.

marwatk··on IRS audits poorest families at five times the rate for everyone else
> IRS accomplished over 650 thousand audits last year by jacking up its already high reliance on so called “correspondence audits” – essentially a letter from the IRS asking for documentation on a specific line item on a return.

I can't imagine those are very expensive.

marwatk··on I 10x'd a TI-84 emulator's speed by replacing a switch-case
For anyone looking for an open source web-based TI emulator I just ported wxWabbitEmu (which I believe supports the TI-84) [1]. I only skinned the TI-85 since it's the calc I use, but the skins are just CSS.

I'm curious what the performance is like. I run it on my phone as a basic calculator, haven't messed with running binaries at all.

[1] https://github.com/marwatk/wasmwabbitemu

marwatk··on TI-83 Plus One More
Tangentially related, I just finished porting wxWabbitemu (TI calculator emulator) to WASM last week [1]. I recently switched to iOS from Android and sorely missed the TI emulator app. I use my TI-85 from high school as my desk calculator and the primary calculator on my phone.

The UI is meant for cell phones, I don't have a max-width set so it looks funky on a full desktop browser.

[1] https://marwatk.github.io/wasmwabbitemu/

marwatk··on Uber and Lyft’s new road: Fewer drivers, thrifty riders and jittery investors
Isn't this the plot of a Black Mirror episode?

https://en.wikipedia.org/wiki/Nosedive_(Black_Mirror)

marwatk··on Effective Go
I haven't messed with them yet but 1.18 add workspaces [1]

This is definitely a pain point I've had with golang and the 'accepted' process has changed 3 or 4 times in the last 2 years.

1: https://go.dev/doc/tutorial/workspaces

marwatk··on Generics can make your Go code slower
> What, exactly, are you saying that Go can't do that Java can?

Runtime library addition (plugins) and dependency injection are two big ones. (We can argue the merit separately, but they're not possible in Go)

I think if Java had easily distributable static binaries k8s would have stayed Java (it started out as Java).

marwatk··on Go 1.18
I have an irrational dislike of go because for every X it's missing the community's answer is "you don't need X" (until they decide you do). Package management, generics, sum types, decent error handling, etc. It's an arrogant approach that rubs me the wrong way. It reminds me of "You're holding it wrong" and seems ingrained in the go ethos.

That's not to say I'm not productive in go, but I could be vastly more productive.

marwatk··on Ask HN: Gmail account security
I've been working on this but my family is pretty hung up on Google Photos so we're migrating most things there trying to preserve as much as possible. We're doing Google One family. As much as Google has annoyed me with the change, the other options weren't any better (O365, iCloud+, random non-FAANG services)

I'm documenting everything here if you're interested:

https://github.com/marwatk/gsuite-to-gmail/#google-voice

marwatk··on Ask HN: Gmail account security
You can transfer your Google Voice account to a regular GMail account despite their documentation claiming otherwise. See:

https://github.com/marwatk/gsuite-to-gmail/#google-voice

marwatk··on Containerize Go and SQLite with Docker
We drop a statically compiled BusyBox binary on images like that as "sh". If we need more we can symlink to it in /tmp at debug time (or just call it directly). It strikes a good balance between slim and debuggable.
marwatk··on Update on Omicron
Isn't Delta vs Alpha a pretty convincing counter argument? It was more transmissible, more severe and better at avoiding acquired immunity.
marwatk··on The wealthiest 10% of Americans own a record 89% of all U.S. stocks
And payroll taxes, everyone always forgets payroll taxes.
marwatk··on America's billionaires pay an average income tax rate of just 8.2%
I've never understood this argument. If I buy a can of soda with 'already taxed' money for $.50 and sell it for $1, is that not $.50 of income that hasn't been taxed? What makes stock special?
marwatk··on Raspberry Pi KVMs Compared: TinyPilot and Pi-KVM v3
What are the hacks? I use a Pi-KVM and the latency is painful.
marwatk··on Welcoming our first riders in San Francisco
I suspect it will know where the lane markings are better than human drivers. They are mapped ahead of time and the car can likely localize itself via other landmarks to determine where they are without being able to see them.

The harder part is driving like a human and detecting that a path has been made in the middle of two lanes in heavy snow and not obeying the lines at all.

Page 1 of 2Next →