The application started as a 107-page specification that Plummer passed to Fable.
If there's one thing managers are great at, it's giving developers exhaustive and highly detailed specifications
105 publicly visible posts • joined 24 Jun 2009
Unfortunately XML was too much of an academic exercise, requiring many hoops to jump through in order to actually use it. By the time you get down to XSLT, transforming one XML structure to another, itself an XML based language, the whole ecosystem disappeared up it's own arse
..but who, other than management types, ever actually believed it?
The only thing generative AI can do is respond to human input in a (fairly) convincingly human way. That's it. Sometimes that's good enough. When building non-trivial software though, it really *really* isn't enough.
One thing I distinctly remember from the early days of the Start menu was that there didn't seem to be much (or any?) caching, so that every time you invoked the start menu and navigated your way through the program menus, sub-menus would pause while waiting for the hard disk to chug as it looked for programs and their icons in each directory.
I'm sure that in a modern VM it would all be faster than the blink of an eye, but back then even with a whole 96MB of RAM, there was a lot of waiting for the hard disk to catch up
I get the feeling that a lot of the drive for this stuff is that the current generation of developers are using cheap chromebooks despite many users having desktops with big screens. Hence everything now is tied to keyboard shortcuts and 'command palettes' (because nobody likes using touchpads), and an app's entire UI is crammed into it's titlebar because the devs have little vertical screen space.
And as for theming - Linux and FOSS was always about choice and giving power to users. I'm all for having a really nice default look, but you can't even tweak the colours (apparently Ubuntu are patching in the ability to choose a single accent colour?) Instead of taking theming away, why couldn't they go the other way and design a proper, robust, theming API? In fact, a cross-DE or even cross-OS theming API would be amazing. Users could choose their preferences for colour schemes, rounded/square corners, shadows, transparency, mono/outline/full colour icons, etc and each theme can implement those preferences within its own style. The API could also generate contrasting or complementary colours as needed based on the user choice of primary colour, or pick from the background image etc.
It still blows my mind that I have a handheld battery powered internet terminal in my hand with an 8-core 64-bit processor, 8gb of ram, and 64gb of storage that I can do most of my day-to-day computing on. When I was a kid writing BASIC on my Speccy, those stats would have been absolutely incomprehensible.
It's hard to get excited about advances now because most of our needs are already met. Pretty much any device made in the past 10 years is 'good enough' to do your every-day web stuff, and most obstacles are in the software - abandoned or deprecated systems.
The gains we get now are really only significant for less common use cases, like video editing, graphics rendering, audio production, VR, etc. Gaming is probably the most mainstream use case that's still pushing hardware forward, but even then, the visible gains are becoming less and less significant, with the latest-gen consoles moving to SSDs providing the most noticeable jump in capability in recent years.
The problem I have with this is that after years of singing the virtues of 'just apt install it', there's now this confusing mess of packages, snaps and flatpaks.
Just the other weekend I got round to guiding my boyfriend through his first linux install. Ive been a linux geek since the RedHat 5.2 days whereas he's a capable power user and graphics bod, but not an OS geek.
So I advised on Ubuntu 21.10 - it was running on my machine with no problems after all. Perhaps I should have opted for the LTS release but I figured that this was to explore, not installing a safe daily-driver.
After the can of worms that was not having an appropriate wifi driver, we dug up some old ethernet-over-power kit and got connected. So far so good.
Then came the applications. 'How do I install Chrome?' oh... well... normally you'd 'sudo apt install chrome' (or whatever the actual package name was), but now you shouldn't do that because it installs a Snap instead and that's.. 'what's a snap?' oh.. well.. *some time later*
OK looks like the only way to do this now then is to use firefox to go to google and install chrome from there. 'hmmm' so like Windows then?
Then things got worse. 'Lets install Blender' I said, knowing that he uses it a lot on Windows, so it would be nice and familiar. And before I could say 'fire up a terminal and apt search blender' he'd found the cunningly named 'Software' app. Oh, I thought, this isn't going to end well.
So we searched for Blender and there were three results. Blank stare. 'So which one do I install?' Well, I said, click on each one and check the version, see which is the latest. It was the second one. The third one appeared to be someone else's custom build. Why was it there? Was it official in any way? Was it safe? Who knows.
So we installed the second one, which turned out to be a Snap. Installation went ok then he clicked 'launch'. And waited. 'I thought linux was meant to be fast?'. Oh, Snaps sometimes take a few seconds to start. I said. 'Why?' - I'm... not sure.
So when it launched, it was immediately obvious that something was wrong. The whole UI was really sluggish, and this machine powered by an i9 and a 2080ti.
Was it a driver issue? nope. We were using the latest official Nvidia driver. Hmmm.. my instinct was telling me that, being containerised, something was getting in the way of Blender and the gpu. OK, I said, try uninstalling it, and installing the other version, even though it's slightly out of date.
So we installed the repository version and lo and behold, it ran perfectly.
'So how do you update it to the latest version?' - well, you can't. You'll only get bug fixes with this package. Unless we try a flatpak version..
But before we could do that, we needed to install flatpak itself. Oh and gnome-software-plugin-flatpak but that actually made things even more confusing. However, after what seemed like a life-time, we got the flatpak version of Blender installed and it ran perfectly fine.
By this point I was exhausted and quite honestly a bit embarrassed and somewhat regretting suggesting the idea of installing linux.
My boyfriend and I have not spoken about linux packages since.
The problem with real life is that, despite capitalism's best efforts, there are still human actions and interactions that aren't monetised yet.
That's what Zuckerbot's Metaverse is for. Everything do you; everything you look at; everything you access or interact with, both in work or personal time, can be sold or rented to you or licensed or used to deliver adverts.
And then there's you as a data source... on a whole new level from the already insane levels of data slurping from your web and mobile use.
Why the hell don't they have a slider for 'user advancedness' or whatever you want to call it, with 'beginner/casual user' at one end and 'enthusiast/power user' at the other end and 'intermediate user' in the middle.
Then all aspects of the Windows interface can configure themselves around it. I.e. presenting simpler sub-sets of options, doing more hand-holding, etc depending on the setting. Allow applications to also access the setting.
If you shell out stupid money for an NFT like this, then surely you'll also make a backup or two of your 'valuable' possession? In which case you've just made another perfect digital copy. Every time it's transferred over a network, it's copied. The sooner this insanity ends the better.
The 'problem' they seem to be trying to fix isn't SQL's readability but how it's not componentised. If you want a big reporting query for example, generally a single dev will have to write the whole thing because you can't just re-use little snippets (unless you have a really well designed database and you really know what you're doing).
It seems to me that they want devs to be able to pre-define little bits of logic that other devs can then collaboratively drag and drop into a big query without having to actually understand what they're doing.
Because, you know, having to actually understand what you're doing with code and data is /hard/ and all code should be able to be worked on by all devs *shrug*
As for comparing the two languages, I despair. SQL *is* arcane, old-fashioned, and can feel intimidating and restrictive at first. But bloody hell it's actually easy to follow and is amazingly powerful - well beyond what you expect from first impressions.
Javascript and Electron may not be an improvement, but they've opened up the cross-platform GUI application space that Java spectacularly failed to get to grips with.
It's not entirely Java's fault mind you. The hardware running Electron apps is mindbogglingly powerful compared to what was available 20 years ago. The dreadful and jarring look and feel of Java applications though.. that definitely didn't help.
The thing about Facebook is that because of their size and dominance, people assume they're professionals and know what they're doing. But I get the distinct impression that they're mostly staffed by excitable but amateur coders who think they're pioneers and treat everything as an opportunity to 'do something cool' which amounts to badly reinventing the wheel. The bugs and weird behaviours at occur in facebook's mobile app and web front-end often suggest that the architecture is an unholy un-tamable mess
:9 has become the marketing standard for screen ratios sadly. My OnePlus 6T has an '18:9' screen, which is actually 2:1 but that doesn't sound as 'big'.
Reminds me of the old story when Wendy's (or some other competitor?) sold a 1/3lb burger to compete with McDonald's 1/4lb-er at the same price, but most people thought 1/4 was bigger than 1/3
Nobody is going to port old code to a shiny new framework just because there's a new API - no matter how much nicer it is. That's simply not the reason anybody writes code. And for as long as Windows supports running win32 apps, people will keep win32 code around, and keep writing new apps in it to reach a wider audience than anything new.
There's 25+ years of Win32 code out there in the wild. Half the developers have probably died, retired, or changed career. Half the source code probably no longer exists. Just as with COBOL, there'll be Win32 code out there running that people don't even know about and that probably hasn't been looked at since Y2k was a thing. There'll be code propping up businesses large and small all over the world who's in-house developers and external vendors have long since disappeared.
Microsoft will never be able to rid itself of Win32 by trying to tempt developers to use something new. The only way they'll do it is to put their foot down and stop supporting it whilst making sure there's a clear and definite stable alternative - something that Microsoft are pretty much incapable of.
I really think that Microsoft need to accept the fact that they're a 'boring' business software vendor - not a hip and trendy brand. They got the corporate world hooked on Windows, Office and VS etc, and that means they're stuck with them for the long term.