vivin
vivin on Hacker News
This is interesting to me, because Claude has been a net-positive for me. I haven't faced token issues or declining quality. I generally work with Claude as an assistant -- I may have it do planning and have it "one shot" a thing, but it's usually a personal tool or a utility that I want it to write.
For actual code that goes out to production, I generally figure out how I would solve the problem myself (but will use Claude to bounce ideas and approaches -- or as a search engine) and then have Claude do the boring bits.
Recently I had to migrate a rules-engine into an FSM-based engine. I already had my plan and approach. I had Claude do the boring bits while I implemented the engine myself. I find that Claude does best when you give it small, focused, incremental tasks.
I've used agent mode, but I tell it not to go hog wild and to not do anything other than what I have instructed it to do. Also, sometimes I will tell it not to change the code, and to go over its changes with me first, before I tell it that it can make the changes.
I feel the same way as you in general -- I don't trust it to go and just make changes all over the codebase. I've seen it do some really dumb stuff before because it doesn't really understand the context properly.
You can't get away from the engineering part of software engineering even if you are using LLMs. I have been using Claude Opus 4.5, and it's the best out of the models I have tried. I find that I can get Claude to work well if I already know the steps I need to do beforehand, and I can get it to do all of the boring stuff. So it's a series of very focused and directed one-shot prompts that it largely gets correct, because I'm not giving it a huge task, or something open-ended.
Knowing how you would implement the solution beforehand is a huge help, because then you can just tell the LLM to do the boring/tedious bits.
That is awesome -- I was looking to roll my own. This will make it much easier.
Has the JSON file structure changed in v3? I am trying to migrate from WordPress to Ghost and I was going to use v2, but now that v3 is out, I would like to migrate to v3.
(https://ghost.org/docs/api/v2/migration/)
One point. Type erasure in Java is actually a bad thing -- this is because generics were added after the fact, and in order to provide compatibility with older code, Java only performs those checks at compile time. In some cases, even with generics, you cannot guarantee type-safety in Java due to type-erasure -- the information is essentially unavailable at runtime.
> The model's decision function is represented by the blue/pink background, and is clearly nonlinear. The bright red cross is the instance being explained (let's call it X). We sample instances around X, and weight them according to their proximity to X (weight here is indicated by size). We then learn a linear model (dashed line) that approximates the model well in the vicinity of X, but not necessarily globally.
So is this sort of like a local SVM classifier?
I wasn't talking about the language, but the runtime I guess.
> For now, WebAssembly does not support garbage collection at all. Memory is managed manually (as it is in languages like C and C++). While this can make programming more difficult for the developer, it does also make performance more consistent.
Does this worry anyone else? Or I am getting worked up over nothing?
If you want something similar to Ubuntu, but something that is much more stable, I highly recommend Linux Mint. I've been using it for about 4 years now and it's a delight. Very stable and doesn't give me a lot of issues after upgrades. Their upgrade-schedule and the upgrades itself are very conservative.
They've based off a Ubuntu LTS, but I think they are starting to move away from that.
It's crazy how much motivation and passion you can get when information is so scarce, and you just want to play games :D I don't regret what I had to go through either.
Oh, wow! I did the exact same thing! I remember thinking why some files would just "run" from the command-line and why others wouldn't! I remember renaming a .TXT file to .COM or .EXE and also wondering why it wouldn't run!
Just saw your line about ISM - I was in ISM until 8th and I still remember they had those classes in the computer lab by the canteen :) I moved to ISG after 8th because my dad got a job in Ghala.
Hello! Haha, yes I remember the computer store in Al-Harthy complex where you could get games; all pirated of course. I remember I used to go there with friends in high school! Definitely good times...
It was more or a relative assessment of difficulty than absolute; I was comparing it to what it takes to play a game these days. Back then you had to do more legwork. It wasn't objectively that difficult though.
Posted by
vivin on Tuesday July 26, 2016 @10:12AM
from the vivin.net dept.
Not my experience. I recently submitted a bug fix to Qt WebKit and feature to swagger. Neither of them broke anything and both were accepted. The submission processes for both projects were diligent enough to ensure quality contributions yet simple enough that they were not byzantine.
That's a very good point. The standard library for JavaScript is embarrassing to say the least. But you can't really fault it given the environment for which it was created. Node went some way towards making it a little better at least for the server side.
That's a different issue entirely. The article is talking about the quality of frameworks and libraries in JS.
This is not about pushing code to production. I don't deny that problem exists in Java. This is about the quality of libraries and frameworks.
> What this article is about? Snippets from SO answers are not as good as battle-tested code? It's obvious and it's same in all languages.
It's much harder to ship SO copypasta in say, Java or C#, than in Node. JavaScript is a much easier language to grasp and it is also a lot more forgiving and loose. Combine that with NPM and can suddenly be immensely "productive". But the ability to write and push a lot of code very fast also means that it makes it very easy to write and push a lot of bad code very fast.
I guess my experience with CPAN has been different. Probably the most frustrating thing is the paucity of documentation from certain perl modules. But the modules I've found and used have been pretty good quality and pretty stable.
Then again, I've never built anything "enterprisey" in Perl (just little tools and scripts here and there), so that could it be it.
Realized this sometime ago, when I was wondering why the Java ecosystem doesn't have this problem. It boils down to the barrier of entry. On JS it's so low as to be almost nonexistent, which is why you end up with junk like isPositiveInteger. Slap some shit together and ship it.
You can't do that easily in Java. You need to spend some time understanding the language, the ecosystem, how to bundle your code into an artifact, and then how to release and publish it; the barrier of entry is much higher because there is a lot more to learn and understand.
The article mentions Android - I haven't worked much with Android and so I'm not familiar with the libraries there. Is there the same sort of problem in the Android ecosystem that you see in Node? I wonder if he is talking about the fragmentation of Android implementations (flavors from different providers), which is a different thing entirely. Seeing as Android uses Java, I'm thinking the ecosystem is not like Node.
This was a very interesting article. Thanks for posting! I have read about the web-plucking behavior before, but had no idea about its path-finding abilities.
Have you read the article? It isn't an ad-hoc distinction. You get the base system with a FreeBSD install. It includes the kernel and everything else that makes it a "FreeBSD system". This is stuff maintained by the BSD team. Everything else is an add-on.
If you blew away /usr/local, you would be left with a pristine (mostly) BSD install.
An analogy is a base windows install and all the associated tools and drivers. Anything else you install on your own is an add-on.
This distinction is hardly arbitrary.
Edit
Seems to me you have a hard time understanding what a "base system" means. This is what the article is trying to explain, and it seems to have gone completely over your head; I can't help with that.
FreeBSD is quite coherent. Anything not part of the base system goes into /usr/local.
If you're having trouble understanding the layout of the filesystem, you only have to man hier: http://www.freebsd.org/cgi/man.cgi?hier(7)
I was a long-time FreeBSD user. Started using it in college and continued for a long time. I started using Linux because I had bought myself a new laptop and BSD didn't recognize the wifi card. I continued using FreeBSD at home for a few more years on my webserver before ultimately moving to dreamhost (I just didn't have the time to keep maintaining my own server).
I like using Linux, but I still miss the predictability of a BSD system - you know where things are, and where they are supposed to be. When I first started using Linux, I was absolutely flummoxed by the lack of distinction between the base system and add-on utilities.
Linux definitely feels more "organic" and "grown" whereas FreeBSD seems like it was architected and planned out. Not that this is a bad thing for Linux. My FreeBSD heritage still shines through when I use Linux; anything I install from source sits in /usr/local :).
Woo! It has a bugfix to qt-webkit that I committed. It fixes a canvas.toDataURL issue with PNGs.
This is pretty nice. Hope it goes through. It's about time that we had local-variable inference in Java. It does mean that the diamond can't be used this way:
var list = new ArrayList<>();
There is no way to infer the type of the generic parameter. So we will go back to doing:
var list = new ArrayList<String>();
Which isn't a big deal IMO because the generic parameters had to be specified on the LHS anyway to use the diamond. You also end up using fewer characters in general with var even without being able to use the diamond.
Regarding val vs let, I prefer let simply because it's harder to accidentally type let vs typing var instead of val (or vice versa).
I'm going to be using Kotlin for my next hobby project. Really excited about this language!