Just when I think the demoscene can't blow my mind any further, it breaks through another unexpected wall.
The part where he starts cutting into the cable threw me for a second before I realized where it was going, I actually yelled "WHAT?!" out loud. Seriously unconventional hacking.
Can you upload code to be executed on a stock 1541/1571? Would be fun to see the drive doing things like "read this file, but sorted on columns 3-10" or "add these two files line by line into a third file".
Can you upload code to be executed on a stock 1541/1571?
Yes. There were disk duplicators that ran entirely on the drives.
You'd upload the program to a pair of daisy-chained drives, put the source disk in one, and the destination disk in the other and they'd go about their business.
You could then disconnect the computer and do other things with it while making all the disk copies you wanted.
I've always wanted a modern equivalent. I thought FireWire might make it happen, but it didn't. And it's my understanding is that USB doesn't allow this kind of independent device linking.
The closest thing I've seen in modern times was a small box I got from B&H that would burn the contents of a CF card onto a DVD-RW.
As usually the schematics were available in the manual it was not too hard to add some additional static ram. There were unused address lines available which could be used for chip select.
If the OS could load specific code into the drive memory. It’s a bit how “channel programming” worked on mainframes. Not sure modern ones still get advantages from that.
< disclaimer - I wrote CFR, which is one of the original set of 'modern' java decompilers >
Generic erasure is a giant pain in the rear. C# doesn't do this. You don't actually keep any information about generics in the bytecode, however some of the metadata is present. BUT IT COULD BE FULL OF LIES.
There's also a huge amount of syntactic sugar in later java versions - take for example switch expressions.
Personally, I don't get the sentiment. Yeah, decompiling might not produce the original source code, which is fair. It's possible to generate code using invokeDynamic and what not - still being valid code if a compiler opts to do so.
When decomiling bytecode there has to be a reason for, and a good one. There has to be a goal.
If the code is somewhat humanly understandable that's ok. if it's more readable than just bytecode, that's already an improvement.
Reading bytecode alone is not hard when it comes to reverse engineering.
Java already comes with methods and fields available by design. Having local variable names and line numbers preserved is very common, due to exception stack traces being an excellent debugging tool. Hence debugging info gets to be preserved.
try/finally shares the same issues, albeit less pronounced.
C# doesn't erase all generics; but there's also some type erasure happening: nullable reference types, tuple element names, and the object/dynamic distinction are all not present in .NET bytecode; these are only stored in attributes for public signatures, but are erased for local variable types.
C# also has huge amounts of syntactic sugar: `yield return` and `await` compile into huge state machines; `fixed` statements come with similar problems as "finally" in java (including the possibility of exponential code growth during decompilation).
You're awesome! I had really good experiences with CFR in the mid 2010s.
I used it for game modding and documentation (and caught/reported a few game bugs + vulnerabilities along the way). I'd pull game files from Steam depots with steamkit, decompile with CFR, and run the resulting java through doxygen.
I'm building a tool shed completely from scratch. Actually doing woodwork (ok ok it was also an excuse to get a nice nail gun) and seeing something tangible at the end of your efforts is surprisingly nice if your day job is entirely virtual.
This. The adoption of LLMs for code generation, even with this statement well understood, feels inevitable, and there's going to be some amazing consultancy work fixing the garbage that gets put near production.
For me, the end of the computer magazine was the end of print Dr Dobbs. For years, it was a wonderful staple that was just there. The world's a sadder place for its loss. :(
yeah my sister got to the point that she likes the taste of anti-fingernail biting liquid after she used it trying to break her anxiety induced habit. evidently the minor relief nail biting provided was enough of a positive reinforcement to begin associating the no-bite stuff with the releif, and now gives her some weird Pavlovian response.
Haha this was absolutely me. I thought I was the only one, but after reading several similar comment I guess that it is not an uncommon occurrence. Weird. I wonder what it tastes like to me know. Time to go lick Breath of the Wild…
It's only a /27, they were quite affordable a year or ten ago. A full /24 went for about $2500 back in 2015 when this was made and you can subdivide that to 8 customers who all get 30 usable addresses. Bit expensive for a joke, but not unmaintainably so.
It's silly that ISPs have messed up their IPv6 deployment so badly that there's a "shortage" of IPv4 addresses now. Of course, IPv4 was never going to be enough; there are too many people on earth.
I wonder whether you could do this with a lower number of IPs, just repeating them in the traceroute reply. You might not be able to build a real network like that, but if you're manually replying to ICMP with a raw socket, this should be possible, I doubt the client tries to de-duplicate based on addresses.