HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tonyarkles

6,048 karmajoined 17 वर्ष पहले
[ my public key: https://keybase.io/tonyarkles; my proof: https://keybase.io/tonyarkles/sigs/iq9ddyFe50Dm4qkIVoUxyikegJWetjUTXaep9StktRs ]

Feel free to email: [email protected]

comments

tonyarkles
·परसों·discuss
> Do you have to use it for work? Do you just consider other editors to be even worse, so Emacs is the best of a bad bunch?

Not who you’re asking but:

- I have a very long legacy of both muscle memory and “just right” coziness in my Emacs environment, that has followed me around from machine to machine since about 2003.

- I have flip-flopped between GUI Emacs and terminal Emacs probably a dozen times, with my most recent flop being due to Codex and Claude Code, which I run side-by-side with Emacs in a split pane tmux window.

- Yes, best of a bad bunch. I am also reasonably comfortable in Vi(m) but dislike how it handles having many open files, which is unfortunately necessary for most of the work I do.

- I have used VSCode off and on over the years as well, most recently with Gemini, but found the GUI experience quite frustrating and the lack of a CLI option ended up being a show stopper (I sometimes need to write code over SSH and the way VSCode handles remote editing is highly unpalatable to me)

Edit: one other nice perk that I discovered the other day: Claude is quite good at elisp. I was having a really weird issue that seemed like it sat at the intersection of a few packages interacting funny. Put Claude on the problem, got a very detailed explanation of how three packages had evolved and how one of them hadn’t caught up with subtle changes the other two had done. Put together a patch and suggested I make a PR to upstream. I haven’t fully reviewed the patch but the bug seems fixed properly.
tonyarkles
·परसों·discuss
Probably not a bad idea for just making sure that you’re starting from a buildable tree anyway!
tonyarkles
·3 दिन पहले·discuss
Speaking as someone who has tried Haskell but hasn’t ever really gotten into it, but spends all day with a C++ codebase that also has long cold-compile times… I think the author of the post said they’re using git worktrees to be able to have multiple agents working on different things at the same time without stepping on each others’ toes. I’ve started experimenting with that myself and it’s great in a lot of ways but by having a separate source tree, it does trigger the cold compile problem. Two agents compiling the code in separate worktrees are working on entirely separate builds (great!) but that means there’s no shared compilation cache between them (not great). Is that something that’s tripped you? Have you found a good solution?
tonyarkles
·3 दिन पहले·discuss
> what's the solution here? speeding up the haskell compiler? if that were easy, would it not already have happened?

I suspect you’ve nailed the answer: it’s probably not easy, although it’s also possible that it just hasn’t ever had a lot of attention paid to it because it’s been generally fast enough for their user base?
tonyarkles
·3 दिन पहले·discuss
I mean, in this particular case one of the biggest pain points they’re talking about are just straight up build times. An LLM that can produce a patch in 5 minutes and then has to wait 15 minutes for a build… to then put together another 1 minute patch and wait another 15 minutes for a build… that’s not ever going to be able to compete with Python where there’s no build time at all.
tonyarkles
·8 दिन पहले·discuss
Often it ends up being multi-session for this particular kind of work. We’ll get to a point where I have to go actually test some stuff out with hardware to provide some answers back, or in the case of this servo in particular… I end up having different questions a few days later.

These notes files do end up being more of a “how we got here” messy journal and less of a real report but they’re full of useful breadcrumbs that make it quick to pick things back up in a fresh context. Having it write a summary report on a topic based on the raw notes works out pretty good.

Another useful thing with these (not RE) is that sometimes I end up starting to debug a problem and I (or Claude) realize that it might be related to a different problem and being able to then cross-reference between the two raw notes files while pulling that thread seems to work well.

Whether or not it’s the “right” approach, I overall tend to treat sessions/context as ephemeral and need some kind of more solid WIP artifact. I do work in an industry that tends to trigger safeguards (unmanned/autonomous agricultural aviation) as well, and have occasionally gotten Claude to a point where I can’t get a session to continue but Codex will pick it up and finish.
tonyarkles
·8 दिन पहले·discuss
Not the person you asked but I frequently use Claude (Opus primarily) to reverse engineer embedded hardware. It uses a mix of Ghidra, Radare2, and just the arm-none-* tools. I can’t say I have a particular workflow though, I just say “we’re reverse engineering foo.bin. It’s the firmware for a servomotor. We talk to the servo over RS485 and it seems that if I send it command X it will sometimes silently reject the command. Can you dig into the data reception and command parsing layers to see if there’s an explanation. Let’s keep notes in @20260704-reverse-engineer-foo-motor.qmd”

It works great just like that.
tonyarkles
·10 दिन पहले·discuss
I mean, it worked reasonably well for my father while he was as recovering from his knee replacement. Fentanyl patches that gave a precise time-released dose.
tonyarkles
·16 दिन पहले·discuss
Very much with you on that. It’s not a position I personally hold by any means, but I appreciate its existence connected to a prominent long-standing organization.
tonyarkles
·19 दिन पहले·discuss
I have a 91 Ranger Club Cab, 4.0L RWD sitting around waiting to get used again. The only reason I upgraded (2016 Tacoma) was because of how bad it was in the winter (Western Canada, lots of snow and ice). Couldn’t get good tires for it anymore (15” is so passé) and often got stuck on flat icy surfaces. If it had been 4WD I’d probably still be driving it every day.

I love the Tacoma for a lot of reasons, but that Ranger really had a lot going for it in the summer.
tonyarkles
·19 दिन पहले·discuss
You’ve hit a nerve for sure. A couple years back I was doing some field ops in rural Illinois and the rental SUV I had (Nissan?) made it almost impossible to turn around on a gravel road. Slowly backing up towards the ditch, watching carefully in the backup camera… BAM, full brake, lots of beeping, cue frustration. Every damned time.
tonyarkles
·22 दिन पहले·discuss
And pretty cheap. I was a member for a year, just to get access to the entire AES67 standard. I think it was $65 for the membership at the time.
tonyarkles
·27 दिन पहले·discuss
I’ve seen studies use methylphenidate as well for the “control” group. Relatively harmless, will have some effects and side effects on naive subjects.
tonyarkles
·29 दिन पहले·discuss
I feel your frustration for sure and agree to a large extent. Any attempts I’ve made to try to formalize any LLM-based workflows has resulted in me being again dismayed that no one seems to have any real idea of how or why certain things work or don’t work. So I just go back to /plan and “write this down in a markdown document for posterity before we iterate on the implementation”, hoping that maybe next month there might be something a little more rigorous with some kind of rational backing.

> Have you tried cleaning your context with dawn dish soap

I don’t do the glue stick thing at all because I don’t need to, but Dawn really seems to do a good job at getting my Bambu build plate working again. I didn’t seek it out specifically, I already had some for doing dishes. IPA hadn’t worked so I tried Dawn and it has gotten me back having prints stick multiple times now. Not quite up to N=30 yet.
tonyarkles
·पिछला माह·discuss
> It's strange to me that nuclear isn't a bigger mix in Sask with the Uranium industry so big there.

There's two factors to this:

- Before SMRs, we wouldn't have been able to build conventional Big Reactors without violating grid redundancy requirements. Currently we have about 5,300 MW of installed capacity. With a conventional 1GW+ reactor, hitting the N-1 redundancy requirements would've been challenging. Losing ~20% of your capacity because one facility goes offline isn't acceptable unless you've got tons of extra generation capacity (either sitting idle or nominally running for export)

- The Sask NDP has traditionally been very staunchly opposed to nuclear. The SaskParty won their first election in 2007 and that was a pretty tenuous situation. They certainly didn't have much of an appetite to make any bold/potentially unpopular moves early on in their tenure. There's a large contingent of swing voters who in the early days likely would've rebelled against the SaskParty proposing nuclear. Even now it's moving very slowly; I appreciate that we're letting Darlington build the first BWRX-300 before we start building our own (Darlington is already sited for it and is honestly a better place for FOAK).

Edit: I missed this line from your comment:

> to help with oil sands extraction

That was a joke I used to tell in the early 2000s to upset my further-left anti-nuclear college friends: we should build nuclear reactors in the oil sands so that we can use the waste heat to process the bitumen. I'm honestly pretty amazed that no one had an aneurism.
tonyarkles
·पिछला माह·discuss
They do, but they're also not strictly required to be named explicitly:

They can be:

    >>> def foo(bar=None):
    ...   print(bar)
    ...
    >>> foo()
    None
    >>> foo(bar="baz")
    baz
    >>> foo(bar="baz", baz="azp")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: foo() got an unexpected keyword argument 'baz'
But you can also use them generically:

    >>> def bar(**kwargs):
    ...   print(kwargs)
    ...
    >>> bar()
    {}
    >>> bar(site="HN", user="tonyarkles")
    {'site': 'HN', 'user': 'tonyarkles'}
tonyarkles
·पिछला माह·discuss
That's the thing about SK... we do actually have a pretty significant hydro investment. Problem is that the untapped hydro resources are quite remote. We can't really extract a whole lot more energy out of the South Saskatchewan River without causing upstream and downstream problems.

My own research and modelling basically showed... if we're going to remain energy independent (i.e. the ability for SaskPower to power the entire province without net imports), including riding out the worst scenario (cold, dark, and calm in the winter) for a week while moving towards minimum carbon, it's going to pretty much need to be a strong mix of nuclear, solar, wind, and natural gas peakers. We keep the existing hydro capacity because it's great, but there isn't much more to be had.

Where it gets really gnarly is looking at also eliminating SaskEnergy and transitioning residential and commercial heating and cooling to electric (e.g. heat pumps) is going to require at least 3x the nuclear buildout that we've got planned PLUS significant energy retrofits to every house. Trying to move to electric-only HVAC without energy retrotifts adds like another 33% nuclear capacity requirements (+ additional solar and wind of course) and it starts to get financially infeasible.
tonyarkles
·पिछला माह·discuss
Something to keep in mind with hub motors is that they’re unsprung weight, vs the battery pack is pretty much always sprung. While that’s not a huge differentiator for efficiency, it sure cuts down on the abuse the wheels and hub motors will experience
tonyarkles
·पिछला माह·discuss
You need to be careful about those assertions.

On the “stolen” side, so far the courts have not generally agreed with that perspective except in cases where there is actually an existing copyrighted work that the LLM output is substantially similar to.

On the not-copyrightable side, the direct output of an LLM is generally legally seen as not copyrightable, but significant human modification or editing/reworking/steering/compilation (as in compiling a bunch of LLM-generated fragments into a functional whole) is still likely to be copyrightable.
tonyarkles
·पिछला माह·discuss
I appreciate where you’re coming from but no, I don’t believe so. I have had Claude do some incredible reverse engineering on very proprietary niche firmware blobs that aren’t generally available to the public. One of the really interesting reasons why I don’t believe that it’s simply regurgitation but rather iterative novel synthesis is because of the dead ends and blind alleys that led to success. It feels a lot more like “Claude has read every tutorial on Ghidra and Radare2, and has memorized the ARM architecture and datasheets for all of these microcontrollers”. Misidentifying, say, which subfamily of processors it is based on the IVT, only to course correct when I give it the VID/PID of the device booted into DFU mode.

One piece of gear, Claude found a hidden and highly useful diagnostic screen. This took a few iterations too. It found the existence of it based on just running “strings” against the firmware image but needed a few rounds of me going “I tried what you suggested but this is what happened instead”. Searching Google, DuckDuckGo, and GitHub for any of the strings that were on that screen or any of the named constants associated with that screen in reverse engineered source led to exactly zero hits.

More entertaining, Claude and I together also nailed down the source of a PTP synchronization bug in a piece of equipment a few months ago using the main UI .exe (written in pascal, of course), an ARM Linux image from the real-time controller in the box, and some pcaps from it interacting with other devices. The vendor released a patch a few days ago, without me having reported the bug.