![](https://feddit.uk/pictrs/image/1028b8f3-bc69-49db-a709-eca180f14a58.png)
![](https://programming.dev/pictrs/image/170721ad-9010-470f-a4a4-ead95f51f13b.png)
As an example of a language that many people are familiar with, which is likely to be in long-term use where maintainability is most important, and which can almost read like pseudocode anyway, sure - probably the best ‘real language’ choice.
As an example of a language that many people are familiar with, which is likely to be in long-term use where maintainability is most important, and which can almost read like pseudocode anyway, sure - probably the best ‘real language’ choice.
You can write an unmaintainable fucking mess in any language. Rust won’t save you from cryptic variable naming, copy-paste code, a complete absence of design patterns, dreadful algorithms, large classes of security issues, unfathomable UX, or a hundred other things. “Clean code” is (mostly) a separate issue from choice of language.
Don’t get me wrong - I don’t like this book. It manages to be both long-winded and facile at the same time. A lot of people seem to read it and take the exact wrong lessons about maintainability from it. I think that it would mostly benefit from being written in pseudocode - concentrating on any particular language might distract from the message. But having a few examples of what a shitfest looks like in a few specific languages might help
My old job had a lot of embedded programming - hard real-time Z80 programming, for processors like Z800s and eZ80s to control industrial devices. Actually quite pleasant languages to do bit-twiddling in, and it’s great to be able to step through the debugger and see that what the CPU is running is literally your source code, opcode by opcode.
Back when a computers were very simple things - I’m thinking a ZX Spectrum, where you can read directly from the input ports and write directly into the framebuffer, no OS in your way just code, then assembly made a lot of sense, was even fun. On modem computers, it is not so fun:
x64 is just a fucking mess
you cannot just read and write what you want, the kernel won’t let you. So you’re going to be spending a lot of your time calling system routines.
99% of your code will just be arranging data to suit the calling convention of your OS, and doing pointless busywork like stack pointer alignment. Writing some macros to do it for you makes your code look like C. Might as well just use C, in that case.
Writing assembly makes some sense sometimes - required for embedded, you might be writing something very security conscious where timing is essential, or you might be lining up some data for vectorisation where higher-level languages don’t have the constructs to get it right - but these are very small bits of code. You would be mad to consider “making the whole apple pie” in assembly.
Genesis is a different style of game tho, isn’t it? Diablo-like rather than third-person hack and slash?
Love the series. Personally prefer 3 due to its more limited scope; the other two are great, but to on for a very long time, and I really can’t be bothered playing through the Portal-like bits again. Happy if 4 is the same length as 3.
Cheaper for now, since venture capitalist cash is paying to keep those extremely expensive servers running. The AI experiments at my work (automatically generating documentation) have got about an 80% reject rate - sometimes they’re not right, sometimes they’re not even wrong - and it’s not really an improvement on time having to review it all versus just doing the work.
No doubt there are places where AI makes sense; a lot of those places seem to be in enhancing the output of someone who is already very skilled. So let’s see how “cheaper” works out.
Yes, because it doesn’t do as much to protect you from data corruption.
If you have a use case where a barely-measurable increase in speed is essential, but not so essential that you wouldn’t just pay for more RAM to keep it in cache, and also it doesn’t matter if you get the wrong answer because you’ve not noticed the disk is failing, and you can afford to lose everything in the case of a power cut, then sure, use a legacy filesystem. Otherwise, use a modern one.
Yeah. Unless they’ve some ulterior motive for porting their RE engine to iOS, then this is insane. That kind of cash will barely fund a senior engineer for a month once you’ve paid out overheads as well.
If they’re planning to have some kind of phone tie-in to the next Resi game, then maybe it might have made sense to work the compatibility issues out. An app that runs on your phone that makes it “your phone in game”, so you can receive texts from the president’s daughter while shooting some definitely-not-Spaniards on your Playstation, bit of an augmented-reality thing. Could be a laugh to have your phone be in control of a drone so that you can see round corners, while juggling the other things you’re doing? But probably mostly so that you can get dinged for microtransactions.
I think when Disney demands an internally-hosted version of your product, then the sales team tells engineering that they’ll provide one, and mark the price up accordingly. That kind of thing doesn’t appear on the external listing for everyone else.
Man alive, I thought that Mozilla had been doing their own Personal Package Archives so that we didn’t have to deal with Ubuntu packaging it as a Snap anymore. And this is doubly disappointing.
There’s three regions missing here - region 0 is “worldwide”, region 7 is “special purpose”, Oscar screening DVDs and the like, and region 8 is “international waters” for cruise ships and things. You can set several regions on the same disk, to make a 2/4/5 and the like. Set each region as a bit, and you can store that in a single byte - that makes it very easy to flash the firmware on DVD players to decide which disks they can play. Aus/NZ will want content in English and Latin America will want Spanish or Portuguese, so the DVD consortium can still get up to their often-illegal, certainly immoral, price fixing and bullshit.
Really, fuck DVDs. So much potential in the increased capacity, and then it was mired in crap like this and “disabled user operations” so that you can’t skip trailers. Time to raise the black flag and set sail for prosperous waters, me hearties.
The kernel option is mitigations=off
, if you want to try adding it to your Grub command line? From the testing I’ve done, provides no benefits whatsoever - no more frames in games, compilation runs no quicker, battery life on a laptop is no better.
https://wiki.archlinux.org/title/Improving_performance#Turn_off_CPU_exploit_mitigations
If you made memory access lines twice as wide, they’d take up more space. More space means (a) chips run slower, because it takes time for the electricity to get there (b) they’d be bigger and more expensive.
The main problem with 32-bit, as others have noticed, is that that’s not really so much RAM. CPUs do addition and subtraction the way we were taught at school - ‘carry the one’, they’ve an overflow bit that’s set when your sum doesn’t fit in the columns. On 8-bit CPUs, we were always checking back when adding up large numbers. On 64-bit CPUs, we can deal with truly massive numbers anyway, it’s not such a hassle. And they’re so fast at doing sums anyway and usually waiting for memory, it’s barely a hassle.
Moving to 128-bit would give us a truly minuscule, probably unmeasurable, benefit in exchange for significant downsides. We could make them, but it would be pointless.
Got this installed on all my work machines - if you’re wanting to stick a screenshot on Jira or Slack with a couple of arrows, wavy lines, or a bit blurred out then it’s dead quick and has just the functionality that you need. Yes, it’s simple and lacks a lot of ‘power tools’. Sometimes that’s just what you need, tho.
emerges from a brand you’ve probably never heard of
Writing this on a Tuxedo Pulse 14 / gen 3 as we speak. Great little laptop. I’d wanted something with a few more pixels than my previous machine, and there’s a massive jump from bog-standard 1080p to extremely expensive 4K screens. Three megapixel screen at a premium-but-not-insane price, compiles code like a champion, makes an extremely competent job of 3D gaming, came with Linux and runs it all perfectly.
“Tuxedo Linux”, which is their in-house distro, is Ubuntu + KDE Plasma. Seemed absolutely fine, although I replaced it with Arch btw since that’s more my style. Presumably they’re using Debian for the ARM support on this new one? This one runs pretty cold most of the time, but you definitely know that you’ve got a 54W processor in a very thin mobile device when you try eg. playing simulation games - it gets a bit warm on the knees. “Not x64” would be a deal-breaker for my work, but for most uses the added battery life would be more valuable than the inconvenience.
Finest advice possible for any Linux sysadmin.
Any decent conductor is going to to vary the beat based on how long it takes for sound to fill the venue in question. Beethoven’s choices for the music halls in Vienna might have made sense then, but not so much today.
One of the things that’s always annoyed the conductors that I’ve worked with is that we always ignore the dynamics in his music. Beethoven’s markings are expressive, subtle. And we always play his stuff louder than indicated.
Agreed. JSON solves:
For saving games, JSON+gzip is such a good combination that I’d probably never consider anything else.
I thought that it was encrypted if your home directory was encrypted? The impression that I got was that it was just a SQLite database stored in the clear. The user must certainly be able to make queries of that database in order for it to work, so even if it’s hosted by a non-user service, malware running locally will still be able to exfiltrate the data.
Obligatory www.web3isgoinggreat.com - catalogues all of the grifts, hacks and thefts, with a running $$$ total.