- salgernonWith experience and ADHD I learned to think in units that can be debugged separately. The experience tells me where those lines should be drawn, and the ADHD taught me to avoid creating units that are too big to fit in my head.
- One minor thing to consider is that hobbyists weren't distributing the source code (as posted in the OP) but trading the paper tape of the executable interpreter. They wanted the interpreter so they could write their own software that was probably unrelated to basic itself, that was just a means to an end.
The industry pretty quickly moved to incorporate basic in rom on many platforms and microsoft was able to capitalize on that integration through licensing. I don't think his letter did much other than antagonize hobbyists - but they made a lot licensing to the hardware manufacturers later on (and the hardware was truly more valuable with basic on board.
(One of my all time to this day favorite computers from that era is the TRS-80 Model 100. I don't remember if Microsoft provided the entire software stack for it, but I believe it was the last product that Bill Gates actually contributed to the software development.)
- I had the same reaction to the site - but I could've been won over if there was a link to E1ite and C@@L basic source for the effects (at least the text effects which could've fit in 4k)
Steve Jobs quote: "The problem with Microsoft is that they just have no taste."
But I actually would prefer the pre-XP windows desktop to the flattened UIs of Apple's today.
- OSINT (not a term I was particularly familiar with, personally) actually goes back quite a ways[1]. Software certainly makes aggregating the information easier to accumulate and finding signal in the noise, but bad security practices do far more to make that information accessible.
[1] https://www.tandfonline.com/doi/full/10.1080/16161262.2023.2...
- Going through my junk box the other day I found a USB to two port RS-232 converter from that era - that came with 4 colorful snap on front pieces to match your iMac.
- Kind of like CAR CAAR etc.
- Of “Небезопасный”?
- Where are they promising it then? Board meetings? I don't think lying (or creating unsubstantiated truthyness) is the same as saying the quiet part out loud.
- I was refactoring a 700 line recursive C function (!) - one of those with all variables declared at the outer scope while the function itself was mainly a one pass switch with goto’s for error handling. I created c++ classes for each case, hoisted them out and coalesced types that were otherwise identical. The new version was way smaller and and (imho) far more readable and maintainable.
At some point I needed to change the types to capture a byte range from a buffer rather than just referring to the base+offset and length, and it was trivial to make that change and have it “just work”.
These were no vtable classes with inline methods, within a single compilation unit - so they just poof go away in a stripped binary.
‘Tis better to create a class, than never to have class at all. Or curse the darkness.
- I’m surprised nobody mentioned the Rosetta Stone that is infinitemac.org - it’s “just” compiled to JavaScript or whatever but really well done.
From their “About”: >>>Infinite Mac is a project by Mihai Parparita to make classic Mac and NeXT emulation easily accessible. It uses WebAssembly ports of Mini vMac, Basilisk II, SheepShaver, DingusPPC, and Previous to allow a broad set of System Software/Mac OS versions to run on the web.
Shortcuts to the most popular versions are available: system6.app, system7.app, kanjitalk7.app, macos8.app, and macos9.app. <<<
- If you ever used MPW shell, a lot of those characters were part of the syntax of commands and the regular expression parser so it was common to learn to compose ∫,® ∂ etc. The debugger TMON also used them, so they just become second nature, like !@#.
- I love using x macros with c++ to create static types and hooks to disambiguate from basic types. This is more applicable to final executables than libraries - I would never provide anyone with an API based on the mess it creates, but it allows application code to be strongly checked and makes it really easy to add whole classes of assertions to debug builds.
- With all likelihood anyone still producing commercial (or free!) software today, or in the last 40 years, has users that they would love to see eaten by crows.
- In 1988 I was working on a Mac software package and I remember the thrill of his returned “Customer Registration” card arriving. We had a small display cabinet and it went in there (along with Stanley Kubrik’s and as few others)
The Radio Series was the best, followed by the scripts to the radio series (more random access!)
The TV series was actually pretty good too (like a Tom Baker Doctor Who (Adams was also a Who editor/writer during that time and had access to all manner of polyurethane monster kit!))
I also loved the Dirk Gently books but I always felt like they needed more of a denouement. Every passage before the end was like a hand carved chocolate frog, and the endings were said frog hitting a publisher at speed.
- The big loss for me was when many apps took over the windows 3.0 MDI interface style. (Specifically thinking of code here). I was doing some hacking in codwarrior on Mac OS 9 a few weeks ago and it was such a joy to have 5 source code windows open any once - and a separate window with build or find results that weren’t wrapped in a miserable column. There’s actually a lot about Xcode I do like - but treating content panels like the old Puzzle desk accessory was never an improvement.
- Heard a rumor that seven ate nine, which sounds scary.
- I always thought that a near learning project would be training an ML on “real” cards and then detecting fakes. I don’t play the games but I was always thrown by how much effort went into counterfeits, but I guess there’s enough profit for someone. There’s usually something wrong with the registration or colors.
- Why not put out the fires first? Imaging being a first responder hearing this political nonsense takes precedence over your safety. The fires are here. They need to be dealt with.
- I’m with parent - what if you don’t have the tool? What if there’s a syntax error in some implementation or dependency such that the tool chokes early?
Human readable headers are accessible out of context if the implementation. They also help provide a clear abstraction - this is the contract. This is what I support as of this version. (And hopefully with appropriate annotations across versions)
- From the blurb at the top: “ The app is 95% complete, […] I intend to clean up the rest of it, and go GA within a few weeks. ”
Assuming the last 5% is going to just take a few weeks is naive from a development point of view. Everyone learns this the hard way, so I don’t mean it as a dig.