Hacker Newsnew | past | comments | ask | show | jobs | submit | andybp85's commentslogin

having coded with several RTEs, this just triggered some PTSD


in my day job doing enterprise web apps at a mac shop 16G became unusable for the engineers 3-5 yeas ago. i managed to weasel into them getting me a 64G M1 Pro in 2022 (now they won't buy us any higher than 32G). i'll probably still be using this thing in six years!

to be fair, given the choice between a decade-old macbook and basically any current windows box with same specs, i'd take the macbook every time. but, if i could put linux on it...


What web stuff are you guys working on that 16GB didn’t cut it a few years ago? I’m not questioning your statement, it’s just completely different world from my day-to-day and I’m curious.


Probably building web stuff. This is how you end up with software that needs buckets of RAM. Because the dev never felt the pain. The classic “works on my machine”. Every dev I know works on the beefiest machines they can get their hands on.


Building web stuff doesn't require crazy hardware. Working on React and Vue apps, 16GB on a 6th gen Intel processor is fine today. Google Docs or Meet are more likely to cause issues.


In my case, the corporate MDM solution consumed so much resources that a 16GB MacBook was basically unusable for dev work (my personal Mac, also with 16GB in those days, was fine)


Likely third-party "security" software.

I can't believe CrowdStrike still exists after they vaporized billions of customer dollars and stranded people for days.

https://en.wikipedia.org/wiki/2024_CrowdStrike-related_IT_ou...


I find it hard to believe that it was due to the MDM? The Apple MDM protocol is embedded in MacOS. Were you using some sort of agent software?


(Many) Windows admins have no idea what to do with Macs. It’s very easy for overzealous agent antivirus and firewall software to suck up CPU resources. Particularly when it is written by a company with no idea how to write Mac software, bought and installed by admins that don’t use Macs.

I had one set of “enterprise” software destroy the battery in my work Mac because of how it worked (and crashed). Meanwhile, my personal Mac was completely fine. Apple moving MDM related security software out of the kernel was the best thing they could have done for stability.


Both FireEye and Microsoft Defender make my MBP run super fucking hot and drain the battery from 100% -> 0% in <2 hours of just basic web browsing.


> Were you using some sort of agent software?

Of course, corporate almost always does. I don't recall which vendor, but one of those security + policy + logging frameworks


Indeed. I have an M1 Pro from work, but I honestly can't stand macOS anymore. The machine itself is great, especially the touchpad. And I love the aluminum body. But I hate that empty window chrome eats up half the screen.

But now I'm typing this on a Lenovo P14 something-or-other, under Linux (I run Arch, by the way), and it's an all-around nicer experience than the Mac. The touchpad is somewhat inferior, but good enough. And the screen is actually better: it has a slightly higher resolution, but, most importantly, it's matte. It's not as bright as the Mac, but it's bright enough that I rarely set it above 20-30%. The machine is overall very snappy and quiet, but this is probably more due to my DE not going crazy with animations.


Thanks for mentioning you use Arch. I would have had to ask otherwise. I’m jk of course


if you have to understand exactly what you're doing, why not just... do it?


That question completely misunderstands what AI is for. Why would I just do it when the AI did it for me in less time that I could myself and mechanically in a way that is arguably harder for a human to do? AI is surprisingly good at identifying all the edge cases.


i probably don't understand. the main thought i have re: llm coding is, why i would want to talk to a insipid, pandering chatbot instead of having fun writing code?

but, as an engineer, i have to say if it works for you and you're getting quality output, then go for it. it's just not for me.


It seems to me you're coming in with a negative preconceptions (e.g. "insipid, pandering chatbot"). What part about coding is fun for you? What part is boring? Keep the fun bits and take the boring bits and have the LLM do those.


yup. "the survivors are the lucky ones" is fantasy.


It is a well understood phenomena of human nature to say that "I would rather die then go through X" and then when you go through X (or worse) you don't want to die. This is well understood because it happens a lot with illness or accident. Also its a very adaptive trait that we want to avoid terrible situations but most of us don't quit.


The book says that that's exactly what it's supposed to be, to inspire people to talk about it. But (also from the book) the war games the USA runs around these situations always end in a massive nuclear exchange. Sure, some specific situations, like the Devil's Scenario, I would imagine might not reflect a real war, but the case the book is making is that reality is far more likely to be closer to the worst case than to a "best case" (whatever that means here).


I had assumed that if there was a full nuclear exchange that of course both sides would target nuclear power stations in enemy territory - like anyone would be sticking to "rules" in that scenario?


what are you using for this? one thing I can't wrap my head around is how anyone's idea of fun is poking at an LLM until it generates something possibly passable and then figuring what the hell it did and why, but this sounds like something i'd actually use.


Yes. Vscode/Copilot/Claude Sonnet 4. The choice of AI may make a significant difference. It used to. The GPT AIs, particularly, were useless. I haven't tried GPT 4.1 yet.


vscode?


vscode comes with that out of the box?


pretty much, the plugin is called Copilot. click a button and install it


that's a whole different piece of software that it doesn't come with out of the box lol.

Copilot was what i was looking for, thank you. I have it installed in Webstorm already but I haven't messed with this side of it.


idk i click 'copilot' and it adds it. it took maybe 2 minutes.


And if you don't add it, VSCode nags you incessantly until you do. :-P


for the codebase i work on, i made a rule that "functions do what the name says and nothing else". this way if the function does too much, hopefully you feel dumb typing it and realize you should break it up.


Then what does the function that calls the split functions get called? foo_and_bar_and_qoo? And if they’re called only under some conditions?


I find an odd overlap between people who get incredulous about function decomposition and who think cracking open a thesaurus as an architectural exercise is stupid.

I have no idea what that’s about, but I think it has something to do with “white-knuckling”.

People name things and then miss boundary conditions that matter and would have been implied by finding a more accurate synonym. And also supplementary features that the better name suggests.


I have definitely been guilty of naming functions foo_thenBarSometimes. I wince whenever I write them, but I've never really regretted seeing them later on, even after years. So sometimes it really is a perfectly good name. Sometimes there are two related functions that are often called together and don't have a succinct label for the combined operation.


It likely has some higher-level meaning other than just do foo, bar, qoo.

For example if you are calling functions "openDishwasher", "loadDishwasher", "closeDishwasher", "startDishwasher", your function should be called "washDishes". Not always that straightforward, but I believe in 95% it's not difficult to put a name on that. For the rest 5% you need to get creative, or maybe you realize that you didn't group the function calls well enough to have an atomic meaning.


Yeah, I agree in spirit but I think the answer is more ”it depends” than something where you should feel bad or something if you deviate from it. If washDishes also sends a bunch of metrics/diagnostics or updates a database of your favorite dish washing programs somewhere inside it, that’s probably fine. Otherwise you push the path of least resistance to just be vague instead, then you get a codebase full of functions with names like handle or process.


Some function can be named generally but the name is specific when concatenated with the module name and/or the package name. `load` is generic, but `app.config.load` is more descriptive.


OrderAuthorsByNameAndCalculateResidualsAndSendPaperCheckWithThankYouCard()

I could see how that might come up in a retrospective.


I built a ribbon mic from a kit a while ago, and only broke the ribbon once putting it together! https://www.bumblebeepro.com/

Of course, as soon as i tried to record my guitarist with it, he cranked his amp and broke it again. Guitarists, man...


Recording drum kits with them must be a delicate business…


whelp this is making this meeting go way faster


did this recently and it totally works


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: