HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tetraodonpuffer

no profile record

comments

tetraodonpuffer
·2 ay önce·discuss
> The new thing is on the supply side. Companies are already reporting staff+ vacancies that take 66 days on average to fill ... The shortage is already, in 2026, exclusive to senior-level roles.

I am not sure I agree with this being caused by lack of candidates. I have 25+ years of experience, I was caught in an office closure layoff in early 2025 for the second time in my career (the last was in the mid 2010s, where it took me a few weeks to easily find a new position), took the spring off, spent the summer preparing for the leetcode hazing ritual and interviewed a lot in the fall: despite having very up-to-date skills (I always keep up-to-date personally, also my last position was all k8s, llm integration, you name it) and long stints in my resume, interviewers did not care.

In the positions where I managed to pass the automatic resume screening (which was probably 10% of the time it felt), the interviewers just did their typical 5-rounds-sudden-death interview loops, with sudden death happening if the solution was not optimal. Sometimes sudden death was "oh I see you have experience in cloud 1 and cloud 2, but we run on cloud 3, sorry", other times it was a friday afternoon slot where the interviewer obviously just wanted to be done with the week.

It also did not help that many positions were "remote but only if you live within 50mi of one of our offices", and others were trying their best at downleveling (I have 15 years of my 25+ at principal+ both architect and IC, and some recruiters were pitching me senior positions, as in senior senior, not senior staff / senior principal). Often the hiring mgr would bemoan the fact that so many resumes are fake, and so many candidates just outright lie, but none of this seemed to make a difference when it came to the interview setup.

Ultimately after about 3-4 months of searching (I'd say I applied to ~100ish positions where I thought I'd be a good fit, and had actual interviews in less than 10) I ended up finding a local position for a significant pay cut, it is also the first job where the mandate from high on up is AI-everything, velocity first (like it's mentioned in this article). Given my long time experience I am able to be very productive with claude (because I know what it should be doing) but even with really tight reins it is a daily occurrence for it to prioritize expediency over correctness requiring rework.

I honestly don't know how people starting with AI agents will manage to improve, I have been through the transition of assembly->higher level languages, and the "spec driven agentic is just like using a compiler" rings very superficial to me: nobody would accept a compiler that 5% of the time (being generous here) miscompiled your code.

The current push seems to be "it's fine to have juniors on claude code producing tons of PRs, we'll just put a claude / codex reviewer action in GH so velocity stays up" which will lead to very interesting codebases in a few years. LLMs are a transformative technology, but it feels that management's perennial obsessions with cutting costs is going to use it mostly for that, as opposed to a way to create new products / improve existing ones.
tetraodonpuffer
·3 ay önce·discuss
it does feel something in the hidden system prompt makes it try less hard, so many times in the past several weeks I have found divergences with what was in plan and looking back at the jsonl it's always some variant of "doing it this way would be too complicated, let me take this hardcoded way out". If asked to review the change, it will find it, and it will say also yeah I agree prompt said not to do this, but I did anyways, not sure why.

As others have said, anthropic is between a rock and a hard place, you can't scale compute as quickly, and the influx of new accounts has definitely made things tough for them: I think all the "how is claude this session 1/2/3/4" questions that keep coming up must be part of some a/b on just how far to quantize / lower thinking while still maintaining user satisfaction.
tetraodonpuffer
·3 ay önce·discuss
just like everybody else I and my colleagues at work have seen major regressions in terms of available usage over the past month, seemingly unrelated to caching/resuming. On an enterprise sub doing the same work I personally went from being able to have several sessions running concurrently without hitting limits, to only having one session at a time and hitting my 5h every day twice a day in 3-4 hours tops (and due to the apparent lower intelligence I have been at the terminal watching what opus is doing like a hawk, so it's not a I went for coffee I have to hit the cache). The first day I ever hit my 5h this year was the day everybody reported it (I think it was the Monday you introduced the 2x promotion after hours? not sure, like 3 weeks ago?)

To avoid 1M issues, this week I have also intentionally used the 256k context model, disabled adaptive thinking and did the same "plans in multiple short steps with /clear in-between" to minimize context usage, and yet nothing helps. It just feels ~2x to ~3x less tokens than before, and a lot less smart than in February.

Nowadays every time I complete a plan I spend several sessions afterwards saying things like "we have done plan X, the changes are uncommitted, can you take a look at what we did" and every time it finds things that were missed or outright (bad) shortcuts/deviations from plan despite my settings.json having a clear "if in doubt ask the user, don't just take the easy way out". As a random data point, just today opus halfway through a session told me to make a change to code inside a pod then rollout restart it to use said change, and when called out on it it of course said that I was right and of course that wouldn't work...

It is understandable that given your incredible growth you are between a rock and a hard place and have to tweak limits, compute does not grow on trees, but the consistent "you are holding it wrong" messaging is not helpful. I am wondering if realistically your only option is to move everybody to metered, with clear token usage displayed, and maybe have pro/max 5/max 20 just be a "your first $x of tokens is 50/75% off". Allow folks to tweak the thinking budget, and change the system prompt to remove things like "try the easy solution first" which anecdotally has been introduced in the past while, and allow users to verify on prompt if the prompt would cause the whole context to be sent or if cache is available.
tetraodonpuffer
·3 ay önce·discuss
you can tell it how to do things, but sometimes it still goes out on its own, I have some variant of "do not deviate from the plan" and yet sometimes if you look while it's coding it will "ah, this is too hard as per the plan, let me take this shortcut" or "this previous test fails, but it's not an issue with my code I just wrote, so let's just 'fix' the test"

For simple scripts and simple self contained problems fully agenting in yolo mostly works, but as soon as it's an existing codebase or plans get more complex I find I have to handhold claude a lot more and if I leave it to its own devices I find things later. I have found also that having it update the plan with what it did AND afterwards review the plan it will find deviations still in the codebase.

Like the other day I had in the plan to refactor something due to data model changes, specifying very clearly this was an intentional breaking change (greenfield project under development), and it left behind all the existing code to preserve backwards compatibility, and actually it had many code contortions to make that happen, so much so I had to redo the whole thing.

Sometimes it does feel that Anthropic turns up/down the intelligence (I always run opus in high reasoning) but sometimes it seems it's just the nature of things, it is not deterministic, and sometimes it will just go off and do what it thinks it's best whether or not you prompt it not to (if you ask it later why it did that it will apologize with some variation of well it made sense at the time)
tetraodonpuffer
·4 ay önce·discuss
I feel the same way, I have many years of experience, and I have gone from writing everything by hand to using claude code all the time (my latest company is very pro doing everything with AI).

Since I have been a software architect for the past 7-8 years it feels in some ways that that experience makes using claude code a lot more productive than for my non-architect colleagues, as I am able to steer it much more effectively whether directly in sessions or via custom skills / mcp.

The big issues right now for me are hiring and manager expectations, I changed positions last fall due to mass layoffs and it took me 3 months to find one: having leetcode interviews in the current climate seems completely useless, even more than it was in the past, and system design interviews are so formulaic it also feels like a crapshoot. Plus every job getting hundreds of AI generated applications makes actually being considered in the first place quite difficult.

Manager expectations are also ridiculously inflated nowadays, it seems most action items that come are claude written with fantastical random statistics (if you add caching you can make your backend 98.3% faster!), and it takes so much time to fight this and unrealistic team velocity expectations.

Interesting times, I do feel lucky I have had a long career, but I very much fear the ladder being pulled up even more than it has been when outsourcing because widespread. I know everybody says "things always change, new opportunities will open up to compensate for the ones that are being lost" but this time it does feel different, and not in a good way.
tetraodonpuffer
·7 ay önce·discuss
having "homework / coursework" count for the final score is what surprised me the most when learning about schooling in the US, in my university 100% of the score was the final, typically written test first, then oral in front of a blackboard (and usually the oral portion could move the needle of the written only +20%, but could definitely have you fail completely).

The one course that had something similar was microelectronics where during Christmas holidays we were given an optional assignment where we could design IIRC a NAND gate (2um process I think, most people ended up with a 5ft x 5ft sheet of paper at the end) which took a long time, but would give you up to +5% at the final (only one person got the full 5%, due to their creative use of the diffusion layer for interconnects). I don't remember any other course having anything along those lines, although to be honest you could slightly influence the difficulty of the oral final questions depending on how hard you worked / your behavior in class (of course only in years 4-5 where courses had only 20-30 students, no chance in year 1-2 with 400+)

It was extremely high stress, as you can imagine, but basically impossible to cheat. Every year a significant percentage of the students had to drop out, so by the time the 5th year thesis came around I think less than 20% of first years graduated at all. You were allowed to retake course finals if you wanted a different score (available 3x year typically, no guarantee you'd do better tho), but if you failed enough times you had to retake the course from scratch. You also were not allowed to enroll in the next year's courses until you passed all the prerequisites.
tetraodonpuffer
·7 ay önce·discuss
world of warcraft has a huge speedup on x3d
tetraodonpuffer
·7 ay önce·discuss
5800x3d / 5700x3d are MUCH MUCH MUCH faster than non-x3d in some games that are CPU bound (for some even 2x / 3x faster than non-x3d) so even with a "slower" GPU it can still be a large upgrade
tetraodonpuffer
·7 ay önce·discuss
phone numbers seem risky, years back I got randomly assigned a "cool" number (I think it ended with 8888 or something) and it seems it was on all possible fax spam lists, constant calls all hours of the day and the night, had to change it asap.
tetraodonpuffer
·8 ay önce·discuss
when it comes to Bach I am surprised more people don't mention pieces like this

https://www.youtube.com/watch?v=tsxP-YjDWlQ (arioso from the cantata 156, here for oboe)

which I think stands up just fine against pretty much any other classical piece baroque or not.

Personally I have a very big soft spot for his organ works, as I play (badly) some organ myself, and among those I don't see the trio sonatas recommended nearly often enough (here is a live recital of all of them, which is super impressive)

https://www.youtube.com/watch?v=eK9irE8LMAU

among those I probably enjoy the most the vivace of BWV 530. Other favorite pieces are the passacaglia and fugue https://www.youtube.com/watch?v=nVoFLM_BDgs the toccata adagio and fugue in C major https://www.youtube.com/watch?v=Klh9GiWMc9U (the adagio especially is super nice), but there's so many. Among organists I often come back to Helmut Walcha, and am always amazed at how he was able to learn everything just by listening, him being blind.
tetraodonpuffer
·9 ay önce·discuss
most cars these days have GPS and return location and so on, why can't manufacturer run these updates only at night and when the car is parked at home? There should be no reason for any OTA update to happen while the vehicle is running (or on a trip etc.), downloading the OTA update, sure, but definitely not applying it. Also there should be a documented procedure to restore the previous in case an OTA update fails.
tetraodonpuffer
·9 ay önce·discuss
any time there is a right turn you can still end up in this same situation, whether it's right turn on red or not, if the driver does not look to their right: there have been plenty of times I have been nearly ran over when a car turning right on green did not notice that the same direction pedestrian crossing light was green also and I was about to cross.

Same thing for cars turning right in front of me riding my bike in the bike lane, it's just par for the course, so pedestrians should ALWAYS make eye contact with the driver before crossing, and cyclists should NEVER be side-by-side with a car when approaching an intersection.
tetraodonpuffer
·11 ay önce·discuss
Hah not sure about “production”, I am currently in between jobs and am taking advantage of that to work on a docker/k8s/file TUI log viewer.

I am using those techniques respectively for loading backups (I store each container log in a separate file inside a big zip file, which allows concurrent reading without unpacking) and for servicing the various log producing goroutines (which use the docker/k8s apis as well as fsnotify for files) since I allow creating “views” of containers that consequently need to aggregate in order. The TUI itself, using tview, runs in a separate goroutine at configurable fps reading from these buffers.

I have things mostly working, the latest significant refactoring was introducing the btree based reading after noticing the “fix the order” stalls were too bad, and I am planning to do a show hn when I’m finished. It has been a lot of fun going back to solo-dev greenfield stuff after many years of architecture focused work.

I definitely love golang but despite being careful and having access to great tools like rr and dlv in goland, it can get difficult sometimes to debug deadlocks sometimes especially when mixing channels and locks. I have found this library quite useful to chase down deadlocks in some scenarios https://github.com/sasha-s/go-deadlock
tetraodonpuffer
·11 ay önce·discuss
Thanks for the write up! In my current application I have a few different scenarios that are a bit different from yours but still require processing aggregated data in order

1. Reading from various files where each file has lines with a unique identifier I can use to process in order: I open all the files and create a min heap reading the first line of each, then process by grabbing the lowest from the min-heap repeatedly, after reading a line from a file, I read another and put it in the min-heap again (the min heap cells contain the opened file descriptor for that file)

2. Aggregating across goroutines that service data generators with different latencies and throughputs. I have a goroutine each that interfaces with them and consider them “producers”. Using a global atomic integer I can quickly assign a unique increasing index to the messages coming in, these can be serviced with a min-heap same as above. There are some considerations about dropping too old messages, so an alternative approach for some cases is to index the min-heap on received time and process only up to time.Now()-some buffering time to allow more time for things to settle before dropping things (trading total latency for this).

3. Similar to the above I have another scenario where throughput ingestion is more important and repeated processing happens in-order but there is no requirement on all messages to have been processed every time, just that they are processed in order (this is the backing for a log viewer). In this case I just slab allocate and dump what I receive without ordering concerns but I also keep a btree with the indexes that I iterate over when it’s time to process. I originally had this buffering like (2) to guarantee mostly ordered insertions in the slabs themselves (which I simply iterated on) but if a stall happened in a goroutine then shifting over the items in the slab when the old items came in became very expensive and could spiral badly.
tetraodonpuffer
·9 yıl önce·discuss
there's other real world usage (DAWs, for example, where there is a ton of I/O for sample-based virtual instruments) which will likely be as significantly impacted as virtualization likely...