* Posts by RichardBarrell

92 posts • joined 11 Oct 2010


Java 17 arrives with long-term support: What's new, and is it falling behind Kotlin?


Re: Pattern matching is not a big deal???

I think pattern matching is easy to underestimate if you haven't used it. When people first hear about it, their initial reaction is often "slightly nicer switch statement, what's the big deal?"

The fact that sum types make the type system way more useful isn't obvious at first glance. You have to either think about it really really hard, or have someone show you one of the "make illegal states unrepresentable" essays.

Microsoft previews free Visual Studio Code for the Web


Re: I just don't get it

Mm. Running vi or emacs on the remote machine over ssh *does* have high UI latency during text editing. You can almost compensate for it in vi by typing ahead, but from experience it's not a fun or reliable experience.

Running VSCode in a web browser is more like using emacs tramp-mode. Edit locally, save remotely. I assume there's a vim plugin somewhere with similar functionality.


Re: I just don't get it

It splits state between the local and remote processes. The latency only kicks in on save, not during ordinary text editing. Save doesn't block the UI either.

If you're in a "save, build, deploy to remote environment, test, edit" cycle then having the editor save directly to the remove environment can be a net time saving. This is my experience with AWS's equivalent thing (which I think is also based on VSCode).

Fix five days of server failure with this one weird trick


Re: The "inspector"

I like transparent plastic sides on PC cases for this reason.

Cloud load balancer snafu leads to 3D printer user printing on a stranger's kit


Using the IP address for authentication and authorization like that seems like a slightly hazardous plan to me. Ignoring the idea of deliberately spoofing IP addresses, there's the fact that CGNAT is deployed in the wild. This means we already see public IP addresses shared between different people as a matter of course. We should expect the use of CGNAT will be expanding every year in the future as IPv4 address space gets more expensive.

Elastic amends Elasticsearch Python client so it won't work with forks then blocks comments


Re: Ugh...

> They did contribute code fixes back, and they didn't keep any enhancements to themselves

FWIW, I've seen with my own eyes redacted stack frames in the error logs when AWS's hosted ES crashed on me. AWS's ES fork is certainly not open and they are very definitely not contributing everything back upstream.

When I say "crashed", I mean in spectacular fashion. AWS's ES is incredibly unreliable in my experience. I would not voluntarily use it in production. When I looked at the support forums, AWS had for more than half a year had a known broken build of the cluster software set as the default to be deployed when creating a new ES cluster. No idea if they even fixed it since. Amazon Elasticsearch Service is radioactive poo and you should not touch it. Run away, do not walk, run.

I'm a tad sympathetic to Elastic here because on their public forums they've been getting plagued with requests for help caused by the bugs in AWS's closed fork.

Microsoft defends intrusive dialog in Visual Studio Code that asks if you really trust the code you've been working on


It's not very annoying: I only see it once per project.

Age discrimination case against IBM leaks emails, docs via bad redaction


Why do the plaintiffs want to bring this case in Texas specifically, anyway? Favourable legislative environment for them? Is it just that some of them are in Texas and they wanted to all file one big suit together instead of lots of individual suits?

Go to L: A man of the cloth faces keyboard conundrum


Re: Font recommendations

You might perhaps wish to try Fantasque Sans Mono https://github.com/belluzj/fantasque-sans which is very pretty.

Exoskeleton startup wants to slap robot arms on schoolkids


What's the purpose of these things?

While I get that this one specifically is more or less a dev kit, what's the wider purpose of the exoskeletons Auxivo makes? Are they mainly a (partial) prosthesis thing?

Intel sticks another nail in the coffin of TSX with feature-disabling microcode update


Intel has historically very rarely offered refunds or recalls for faulty hardware. They refused to offer refunds for the previous TSX faults in Haswell chips. I *think* the Pentium FDIV bug was the last time they offered replacements for faulty chips. There have been a lot of errata in a lot of Intel CPUs since then.


Re: what kind of workloads use/used TSX?

In theory, a lot of things could possibly have used it. Many things that use multiple cores for parallelism, anything that vaguely resembles a database. Don't think "TSX competes with SQL begin/commit/rollback". Instead think "TSX competes with LOCK CMPXCHG & friends for in-memory data structures".

For actual applications, I can't find much online. Apparently a PS3 emulator called RPCS3 used it, Oracle DB, SAP HANA, some HPC workloads.

You could also use it to make a faster version of mincore(), but that function is kind of useless anyway. ;)

It feels like a shame because limited hardware transactional memory was one of the more interesting recent-ish developments in CPUs.

The best time to plant a tree is 20 years ago. The best time to build a semiconductor foundry is 5 years ago


Re: Optimistic?


The thing where I can press the windows+arrow keys to do things like maximise a window or half-maximise a window onto the left or right side of the current screen is pretty nice. :)

The start menu having built in substring text search over Start Menu shortcuts (ONLY!!!) was briefly really good. Unfortunately Microsoft subsequently ruined it by adding in web search too in the same place. :(

The start menu recognising when you type in simple arithmetic expressions and showing you the answer is really good. Unfortunately it only sometimes works, while the other times it does a bing search instead. :/

Oh Lord, won't you buy me a Mercedes-Benz? Detroit waits for my order, you'd better make amends


Re: not plugged in

Perhaps it was sitting at a very specific funny angle which allowed vibrations to slowly push the cable out the socket?

Uptime funk: Microsoft has lifted availability of Azure Key Vault to 99.99%


AKV is a little pricey and slow. Something on the order of 0.2p per 1000 reads and 10ms per read, I think.

The result of that is that it's often worthwhile to cache values you get from AKV (and possibly periodically re-fetch them in the background).

If you're caching the data from AKV for a while, it's pretty plausible that you might not ever notice five minute drops.

Indian government says 5G doesn’t cause COVID-19. Also points out India has no 5G networks


Re: Hmmm

If it's not a skin cream then I want to know - who painted that portrait you keep in the attic?

What could be worse than killing a golden goose? Killing someone else's golden goose


Christ on a bike that's toxic.

Qualcomm closes acquisition of chip designer Nuvia: First custom cores to launch next year


Fingers crossed

I hope Apple M1 gets proper staunch competition.

If you liked AMD's Zen 2 Epyc server chips, you'll probably like its Zen 3 Milan processors


Re: System builders, such as Dell...

Are videogamers buying all AMD's desktop chips up from under you maybe? ;)

Third time's a harm? Microsoft tries to get twice-rejected compression patent past skeptical examiners


Re: Are you saying I could...

Simplifying a bit, JPEG has three important stages:

1. DCT (almost lossless)

2. quantisation (very lossy: this step is where you discard information on purpose to make the file smaller)

3. entropy coding (this step is lossless)

The entropy coding algorithms in JPEG aren't state-of-the-art, so if you swap out just that step for a more up-to-date alternative, you can get a somewhat smaller file with exactly the same meaning.

Dangerous flying car drone zoomed into UK's Gatwick Airport airspace after killswitch failed


Re: If that had been...

Ouite a reasonable restriction.

JavaScript survey: React everywhere, Jest, Webpack on the up... if only it had static typing, sigh developers


For what it's worth, I wouldn't directly compare Redux with GraphQL: they're not competitors. You might use either or both on a given project.

Redux is a library that holds onto in-memory state on the client. GraphQL is a technology for requesting data over a network.

Buggy code, fragile legacy systems, ill-conceived projects cost US businesses $2 trillion in 2020


Re: I'm a coder

Somewhat. There's a bit of rose-tinted glasses too: people forget that a lot of old tech didn't actually work.

Open-source contributors say they'll pull out of Qt as LTS release goes commercial-only


> [1] It's far easier to create bindings for other languages if the library is in C rather than C++.

Indeed, niche programming languages tend to get GTK bindings, sometimes even nice ones, years before anyone manages to make Qt bindings for them.

Windows might have frozen – but at least my feet are toasty


Re: Orange LED

There wasn't an orange LED on that board, but there was an orange LER. :)

A 1970s magic trick: Take a card, any card, out of the deck and watch the IBM System/370 plunge into a death spiral


There's at least one story out there about a program with zero instructions in it, which did work. http://peetm.com/blog/?p=55


There's a saying "don't OLAP where you OLTP" which is used to justify things like making read-only streaming replicas of production databases that you give to the analysts to run their slow but useful queries on. :)


Re: Broken NFS

FWIW im for anyone who finds themselve in the situation where `rm *.foo` fails because the argument list created from that glob is too long:

find . -maxdepth 1 -name "*.foo" -exec rm {} +

is (barring syntax errors, apologies if I left typos in that) often able to make progress anyway because it passes smallish batches of arguments at a time.


find . -maxdepth 1 -name "*.foo" -delete

is a little quicker on systems that have that flag. Be sure that the delete or exec flag goes *last*.

Panic in the mailroom: The perils of an operating system too smart for its own good


Wow. At that amount of money lost per incident, you could pay *multiple* people to do nothing but stand next to the electric socket and threaten to hurt anyone who unplugged it, for years, and still come out on top.


Re: That reminds me..

> new, culturally grokable analogies.

That sounds neat. Please share a few? :)

Oracle patches severe flaw in WebLogic Server that could be exploited 'without the need for a username and password'


Re: Curses!

FWIW, advice given for this specific RCE was roughly "if it's online and unpatched, assume it's already compromised" and that was a few days ago. I assume that you probably don't have the admin console exposed to the internet, though. If you did, you'd want to be planning to do more than just apply patches.

On a lighter note: wow, 10GB of RAM to apply patches is kind of impressive. I wonder what they must be doing with it? *Nice* binary patching utilities are supposed to normally only eat memory proportional to the sum of the old and new file sizes. There aren't any files bigger than about 4GB being patched, are there?

We did NAT see that coming: How malicious JavaScript can open holes in your firewall for miscreants to slip through


Re: "block JavaScript by default"

Petitioning "Volition" to put this into Saints Row 5 now

Ready for pull rate limits? Docker outlines 'next chapter' as Google tells customers how to dodge subscriptions


Hm. I hope this works out for them. It sounds like it might have a reasonable shot at being a steady revenue source.

Usage based pricing is straightforward and makes sense. The free limits mentioned here are high enough that I couldn't plausibly see myself as a developer hitting them at any point. "docker pull" takes a minimum of 5 minutes for me, so no way am I managing to do that 100x in the space of 360 minutes.

Eight release candidates later and it's out: New hardware and more AMD in Linux 5.9


A fairer comparison would be the comments on a new GNOME or KDE release. All the changes people are likely to dislike happen way further up the stack. Perhaps if MS did Windows releases that touched only the kernel and a few bits of libc, you'd see similar levels of "sounds fine, nothing to worry about".

Unis turn to webcam-watching AI to invigilate students taking exams. Of course, it struggles with people of color


Needless use of AI to fuck-up a non-problem

When I was a young warthog (when heeee was a young warthoooooooog) they used to have us all sit in a large room and have a human being "watch" us (mostly by the expedient method known as "reading the newspaper").

I can't think of any reason bar stupidity or greed why you shouldn't be able to just pay a human to do the same invigilation job that the AI is failing at. Put 30 cam feeds side by side on the invigilator's screen, have them sit down in front of a wall of faces while they sit and read the newspaper. Job done. You don't even need the invigilators to be able to see all cameras at any given time; if they're flicking through cameras at random, and the exam-takers know this, and the exam-takers don't know whether or not they're being watched at any given moment, then that's just as scary as being constantly watched. Just ask Michael Foucault.

Or... better method... say "fuck it" to exams and grade coursework instead, which is arguably a better approach anyway.

With so many cloud services dependent on it, Azure Active Directory has become a single point of failure for Microsoft


Re: How it will all work out.

Ah! "What will we call it if everybody goes back to on-prem" is an interesting question. Think about the attributes here:

- it's the same kind of stuff: you still have storage, compute, managed platforms

- it's also going to still be fluid, because you'll want to be able to manage shifting workload around the entire fleet of boxes to be cost-competitive

- you'll know exactly where it is at any time. the physical location will be much less nebulous

So. Same substance as a cloud, still fluid, location is known.

I think we should call it a "puddle".

Won't duke, duke, duke the URLs: AWS backtracks on plans to block old-style S3 paths


I hope for their sake that they never do it

Turning them off unilaterally sounds like a very bad idea, no matter how much advance warning is given. It would be a blow to AWS's credibility. Like any platform, customers depend on it to not break their stuff.

"Don't break your customer's stuff" is just about the first commandment for running a successful platform. (If not, it's definitely top 3.) Every time you break their stuff, customers will do a cost benefit analysis on moving onto one of your competitors instead of moving onto version n+1 of your platform. If you get a rep for doing it often, moving to your platform becomes unattractive.

IMO the obviously correct thing to do is just suck it up and deal with the technical challenges, indefinitely. Charge more per request to the path style endpoints. Those customers will have a financial incentive and you can aggressively market to them "heyyyy you can reduce your AWS bill right now simply by changing how you use URLs." They'll get to it when the savings outweigh the risk & expense.

Das Keyboard 4C TKL: Plucky mechanical contender strikes happy medium between typing feel and clackety-clack joy


"No backlight" is kind of a weird complaint to hear about a Das Keyboard. The whole gimmick of the original Das Keyboard was that it came without any glyphs on the keys so you could show off that you're a touch-typist.

Note: I do not own any DK products or stock, nor do I have any commercial relationship with them. My current favourite keyboard is a TKL with cherry brown switches, so a similar format to this, but mine has ridiculous RGB backlighting because I LIKE IT WHEN IT LOOKS LIKE NYAN CAT and I just turn off the backlight if I'm playing something that's meant to be scary like Stalker or Metro.

Oracle's Java 15 rides into town, waving the 'we're number one' flag, demands 25th birthday party


Yes but slower. Java is every 6 months. Firefox release every 4 weeks, Chrome every 6 weeks.

If you look at just the LTS releases instead, those are on a 3 year cadence. Current LTS is Java 11, next should be 17.

The LTS releases get free public updates for a while (nominally about 6 years). The every-6-months releases get *no* free public updates once the next one is out (!). There was some controversy over that because it doesn't give users of the frequent releases any overlap in the support periods to test JVM upgrades.

As if you needed another reason not to use Visual Studio, C++ extension for Visual Studio Code is live


Re: Eclipse needs to go away now

> I very much favor IDEs that use text files for build/project configuration

FWIW VS Code satisfies this too. All the VSCode-specific per-project settings(*) are JSON-with-comments files in a ".vscode" directory. Building from the IDE generally invokes the same CLI build tool as you'd be using if you weren't using an IDE at all & will be using the same build config files as you'd have on CI.

(* this is mostly stuff like, say, launch.json tells VSC which binary to invoke when you press F5 and whether or not to pop open the mini-terminal when you do so.)

> I HATE having to drill into a dialog box every time I want to change my build settings, include paths etc.

On that note, have you ever tried using XCode? Now there's a huge bundle of endless suffering.

The power of Bill compels you: A server room possessed by a Microsoft-hating, Linux-loving Demon

Thumb Up

Re: Not met a demon

Oh cool, you made and sold watchdog timers for PCs.

This is a fairly common thing in embedded devices: if the software hangs for a while, the watch timer doesn't get reset and power cycles the device.

I got 99 problems, and all of them are your fault


Re: Ahh yes the

Thank you!


Re: Ahh yes the

I'm really curious, how does a factory bike differ from any other ordinary bicycle?

You had one job... Just two lines of code, and now the customer's Inventory Master File has bitten the biscuit


Re: Defensive Coding

"-Wall -Wextra -Werror" and then test it under valgrind ;)

(or these days, "-fsanitize=address" does about the same but faster)

Venerable text editor GNU Nano reaches version 5.0 and adds the modern frippery that is scrollbars


Re: Brighter what?

It's common in terminal emulators for "white" to be somewhere near #cccccc and "light white" to be #ffffff

Trying out nano 5 now, "brightblack" appears to be about #646464

Apple: Don't close MacBooks with a webcam cover on, you might damage the display


Re: 0.1mm

Bet your Land Rover Defender doesn't break if someone puts 0.2mm of plastic over a random point on the dash. :)

I'm also willing to bet your LRD has tolerances in micrometers in a few places like e.g. the pistons. :)

When a deleted primary device file only takes 20 mins out of your maintenance window, but a whole year off your lifespan


> Java file? Ohh, that's big. I'll gzip it

Please tell me they didn't gzip a .jar file? Those are already zip files, compressed with deflate!

(You may get a little more compression out of them because zip compresses files one at a time, but rarely an interesting amount.)

> Log file? Ohh, that's big. I'll gzip it. Log rotation breaks.

Log rotation should already have been gzipping yesterday's rotated copy. ;)

Remember when we warned in February Apple will crack down on long-life HTTPS certs? It's happening: Chrome, Firefox ready to join in, too


Re: Is there any advantage left by using commercial certs?

As chroot mentions in the other comment, browser vendors eliminated the visual differences between EV and non-EV certificates a while back.

Empirical experiments were run & demonstrated pretty conclusively that nobody was checking for (or cared about) the extra UI widgets browsers used to put in the address bar for EV certs. In general, people do notice negative security indicators ("not secure", red bars, etc) but they don't notice the absence of positive security indicators (like https markers).

(When I say "nobody", I mean really, nobody. Not just lay audiences: people in IT, programming and information security too.)

Apple gives Boot Camp the boot, banishes native Windows support from Arm-compatible Macs


> the lack of an ARM-native Chrome was the biggest issue with Windows 10 ARM

Mildly surprising, since so many Chromebooks are ARMs.

Frenchman scores €50k compensation for suffering 'bore-out' at work after bosses gave him 'menial' tasks


Thank you for explaining.



Biting the hand that feeds IT © 1998–2021