2,584 karma · joined July 31, 2020
I personally am a close the whole browser out at the end of the day guy. With bookmarks for things I just have not got to yet. With a every few months cleanup of the 'to do' folder. Just today I have probably opened 20 tabs and closed 15 so far. At the end of the day they should all be gone.
I have been having a different exp with it. Those are even more important. These things are creating some wild code. Then sticking to its guns in some cases and just rewriting the same bug over and over.
Just this week I literally showed the thing where it was breaking. I wanted it to trace where the error was coming from. Instead it immediately wrote guard code and patted itself on the back. Not a bad idea but does not give me the reason of why something was broken. As where it broke is just part of the problem. Turns out I had a data issue. Guarding the error was the wrong plan in what I was looking for. The user needed his data fixed. Without tracing and debugging I am pretty sure AI would not have found it. Not without me prompting even more. It had twisted itself silly trying to make the error good instead of root cause. Took me an hour or so before I realized it was doing that.
Trust by verify. These things make all sorts of assumptions unless you are very accurate in your prompts.
totally. I spent yesterday trying to get an AI to make a test case for a very specific bug I had. It kept telling me that it had it. When I could clearly trace thru the code and see it did not. After about 5-10 rounds of that I just wrote the test myself. But at least AI helped with all of the dumb cruft that went around it.
But if I did not know the domain I may have easily just said 'yep looks good'. AI on the other hand saved me at least 3-4 hours of writing all of the scaffolding that made it easier for me to check. In the end the bug had nothing to do with the test. AI did not find that. I went back point by point of what changed in the code and found where I had messed something 2 weeks ago.
A few months ago it seemed like it would not do this. Now in the past week I have come across 3 different ones that did something similar. Just 'stuck' in a local maxima and getting the AI to go around it is a pain. This is probably me and the way I am using it.
Is this better than I had a couple of years ago? I am not sure. Seems different at least.
It is a question many devs miss. what happens when I put this in the wild and I now have hundreds of them.
In this case it is probably scanning aggressively. Just incase you plugged in a new devices in the past 100ms. Then some sort of filter with data compression (hopefully) and then sending its exfiltrated data back home. Honestly, not a cool thing to do and makes your customers NOT trust you. I had an old LG TV that was doing this 15 years ago where it would send every button press back to LG. I unplugged it. It agressivly scan its empty socket.
That seems to be a very broad statement. For example in a system where interrupts mostly control things this sort of 'do not close the program' could be useful.
A guy I worked with had one I never would think of because I do not work in that field.
But yeah a warning would probably be useful.
The reason I joined FB no longer exists for me. I remember why I stopped talking to many of the 'friends' I had. I silenced all of them and only join interesting groups now. Even then I only log in once or twice a year.
Now you could pull particular items out of their grid. Just need the wires and panels to make sense. They would not care about that either. It is only if the panels are plugged into the grid they start to care. Downside is sometimes waiting for that battery to have enough juice to work. It goes faster than you think and some battery systems are decently expensive just by themselves, on top of the panels/inverters/controllers/install.
We basically had to recreate all of the actions of focus/unfocus/etc. Everything a normal button could do. Now that I have done more stuff I a know for a fact I made my life way harder than it should have been and could have subclassed. But it was a full button recreation. Styling messaging and all. You have to watch for things like what if someone clicks outside of your button but lets go inside the button. What does that mean? All sorts of weird side effects. What if your button has focus and someone starts typing? What if someone clicks outside of your button but holds the button down as they slide across your button? What does that look like?
Would I ever do it again. Probably not. Seriously use the built in ones.
Back then you had to chunk it out and fiddle with the offsets. Even then you still would have had to manage loading out the next chunk.
If my memory is right 1MB of memory in the early 90s was like 200-300 per meg. Would have to dig up a computer shopper and look.
As many examples out there use int/char etc to show how to use the thing. But if you switch to structs that fwrite can totally burn you if you use the sizeof call. As the sizeof a struct can vary between platforms and compilers. Depending on packing. Then endianness can sometimes mess you up. If you are reading/writing for yourself you can get away with a lot. But if you are trying to interop then you have to be wildly careful what you do.
fwrite is another one where people will do one byte at a time (same up to for the windows version). Bash out a loop, use the sizeof for the input to the for loop. copy and paste just doing 1 byte and you can easily end up here. One program I added a cache in front of the thing so it would always write on disk block boundaries and then come back for more. I started off with just packed struct sizes but the perf was just 'ok'. The file block boundary thing really made it fast. Not all OS's have a readahead/write buffer behind that call so perf can vary.
It is honestly such an easy mistake to make. As many of the examples/docs do not really show you why/how to use both of those calls in the way needed. You sort of have to stumble into it and work it out.
Once you see it you know. But until then you do not really notice if it is 'working'.
I noticed this before LLMs became a thing. It was by accident. We had a team of programmers. All decent at what they do. The management said 'hey you want to learn another language we are going to be using it for these upcoming projects'. So we set up a self learned at your own pace class curriculum. Maybe 10-20 hours of school work if you sat and really dug in. Maybe 3 to 4 hours if you breeze thru it and do not care much. We set up weekly check-ins doing about 1 hour a week. Easy. Watch a 20-30 min of vid 20-30 mins of do homework come to check-in and talk about what you learned and help others if needed.
Now this is where I was disappointed. The first 'class' was 40 people. By the last there were 3. Those 3 I noticed always are the ones who dug in. The rest wanted a proctored classroom and someone to tell them what to do.
Actual genuine curiosity is rare I think. We have a lot of people who are decent at what they do. But do not really care about it. IF you do not care you are going to just push the button and get the answer.
I see over and over wildly overdone code. When all I really wanted was some simple if conditions and a couple of loops. But that doesnt scale to XYZ per ns. Does it need to?
Boring wins almost every time.