* Posts by Daniel Pfeiffer

37 publicly visible posts • joined 10 Jun 2012

Rust developers at Google are twice as productive as C++ teams

Daniel Pfeiffer

Re: Rust really is easier to write and maintain

What you say about macros is true: you feed them some input and can't be sure what will happen. Remind me: how again was this different from passing some input to a function?

However Rust crates are distributed as source code. This is good for optimising them to your needs and your processor, rather than some decades old almost 8088 least common denominator. And the source is just one click away for you to study.

And even better, this (admittedly weird command, that requires nightly, gladly installed by rustup) gives you the produced code, so no hidden surprises: RUSTFLAGS=-Zunpretty=expanded cargo +nightly build

Rust can help make software secure – but it's no cure-all

Daniel Pfeiffer

Re: RAII

Well, Java owned up to f*cking up when they stripped destructors. They brought them back, but in the ugliest possible way: A class has to implement Autoclose, and still you only get them if you use the weird try with ressources syntax,

Daniel Pfeiffer

Re: Curious

You are right. There are scenarios where the static safety gets in the way. For this Rust has RefCell: A mutable memory location with dynamically checked borrow rules. Same safety, but guaranteed at run time. If you must share it concurrently, there’s RwLock, which implements the borrow checker’s one writer or many readers across task or thread boundaries. And still no erratic Garbage Confounder needed.

The week in weird: Check out the strangest CES tech of 2024

Daniel Pfeiffer
Headmaster

Re: A square meter of air

Woah there, you're going over the top! Molecules are clearly three dimensional, where m² are not. 1 m² of air clearly means 0 m³, i.e. zilch. Which is apparently a lot more than 0.25 m² even though that is also 0 m³.

If this were graphene, instead of air, we might let it pass. Even that has a minimal thickness, but the interesting size is it's surface on one side.

Latest tech layoffs: Twitch, Duolingo, Citrix parent ditch hundreds of workers

Daniel Pfeiffer

Re: Enshittification continues

The Duolingo content partly looks like AI generated already. Hallucinating sentences like “The bear touches the whale”, or “The wolf and the tiger look at the duck.” Not to mention very specific animals like raccoon dog or red crested crane, where the latter I can at least imagine what it might be. So annoying to have to learn stuff like that, instead of real life vocabulary!

It's not all watching transparent TV from a voice-commanded bidet. CES has work stuff too

Daniel Pfeiffer

Re: SpatialLabs 3D display

> Let me know when someone makes a "focus follows intent" UI.

If yours hails from Redmondia, tough luck. They insist on focus runs counter to intent and intuition. E.g. if I point to a picture on the wall, everybody will know that I mean that picture. Not so RedmOS. They want me to actually tap/click on it to be sure. Which immediately causes the next hiccup: if I was taking notes on a paper held in front of the picture, they will sabotage that, bringing the picture on top of my note taking. Disgustingly unintuitive, but since they’re big everybody has gotten used to it.

So much so, that even the land of the Emperor Pinguin follows suit. There however most UIs give you a, sometimes well hidden, choice much closer to intent: focus-follows-mouse (with an optional small delay) and no-raise-on-focus (or similar names.)

It’s not quite the brain-implanted chip that EM of X dreams about, but already a lot better.

Crypto-crook Sam Bankman-Fried spared a second trial

Daniel Pfeiffer

Re: "a line of credit of up to $65 billion dollars"

That’s what people think, but it couldn’t be less true. Banks loan money which they mostly don’t have, thereby creating it out of thin air. <https://en.wikipedia.org/wiki/Money_creation>

Daniel Pfeiffer

Re: "a line of credit of up to $65 billion dollars"

<blockquote>One of the worst parts is the 'stable coins' supposedly backed by real money, that backing being, i have 'loaned' $20bln to a company, creating new coins, that coin is now backed by the loan itself (so no money).</blockquote>

You mean just like “real” money? AFAIK, in the EU, when banks give out a loan, they have to deposit 1% of the sum with the European Central Bank. So they can create money with a lever of 1:100. It's not even paper money, just a number in a computer.

And it's similar elsewhere. Methinks Australia doesn't even have any limitation.

Mozilla CEO pockets a packet, asks biz to pick up pace the 'Mozilla way'

Daniel Pfeiffer

Project Servo <https://en.wikipedia.org/wiki/Servo_(layout_engine)> (much safer browser core written in Rust) probably could have been finished for far less than Mitchell's (old or new) salary.

Can't let safety get in the way of her profits. So Mozilla laid off all Servo developers in August 2020.

EU lawmakers finalize cyber security rules that panicked open source devs

Daniel Pfeiffer

Re: So, they're just going to kill commercial open source devs?

These companies have a choice of expensively cooking their own and supporting it or only supporting open source (with community help.)

Daniel Pfeiffer

"should not" – what does that even mean?

Like, I mean, um, if anybody cares to prevent it… We might not go after them, but who knows.

curl vulnerabilities ironed out with patches after week-long tease

Daniel Pfeiffer
FAIL

Why the constant free ads for TwitteX?

By using every occasion to ramble on about how they have two facesnames, you're giving that unsocial media brand too much attention! If they want to be X-ed out, then so be it! And if readers then don't understand what the X you're writing about, that would be a feature.

The world seems so loopy. But at least someone's written a memory-safe sudo in Rust

Daniel Pfeiffer

Re: Can we please stop fetishising rust whilst conflating C++ with C?

Your 2nd point is valid, but irrelevant as both of those languages are unsafe. „You can do better in modern C++“ is optional and hence weak consolation.

Rust's cargo is delightful to work with and gets a lot done smoothly. Helper tool rustup makes it easy to keep it up-to-date and even have nightly in parallel, to try out proposed new features. The IDE language server rust-analyser works fast and well. Not sure what poor tooling you mean.

I don't know what „a source with a dreadful record in good language design“ refers to. But even if it's true, whatever their past failings may have been, for Rust they did a pretty good job. Of course its a matter of taste you may disagree with, but the syntax is fairly simple and consistent. And the concepts for eliminating data races, null pointer woes and memory abuse are elegant and powerful.

I don't have a fetish for Rust. But after years of looking open-mindedly at many languages, I finally feel at home.

Daniel Pfeiffer

You do not need to be online

Of course, if you want to stand on the shoulders of giants, you have to get their libraries onto your build-host. And there are various ways to accomplish that:

✅ Specify them as dependencies to cargo, which will fetch them. Easy, and needs online access only when dependencies change. Thereafter you can "cargo --offline build"

✅ Use a proxy like Artifactory to shield you from the internet. Still online, but not directly and again limited as in the 1st scenario

✅ If you mirror the dependencies in your LAN, give the URL as a dependency

✅ If you mirror the dependencies on your disk, give the path as a dependency

USENET, the OG social network, rises again like a text-only phoenix

Daniel Pfeiffer

Re: 32 years ago!

My 1st contact was in '85-86. Our Uni had a network, where neighbouring hosts were mounted in /.. and I didn't know if I was allowed to snoop around. On one of them I found the Usenet in lots of files that “automagically” got updated. I had no clue what it was and didn't dare ask, for fear of being reprimanded for even being there. (Later, last day before holidays, I gave root a scripted dummy-shell, which they turned on me, when I came back. Got me an oral exam exclusively on theory, as the prof grinned “we know you're good on the hands on side.”)

I didn't know newsreaders – “cat” and, when I got smarter, “more” was my gateway to the world. :-) Later I discovered Emacs Gnus, killfiles and how to post. One of my favourite groups was soc.culture.esperanto, to insiders sce. Mi varmkore memoras ke mi multe aktivis tie.

Wordpress sells 100-year domain, hosting plan for $38K

Daniel Pfeiffer

Re: Another way?

changing technology - carving the "pages" on rock faces

The RockFS foundation members Stonehenge Trust and Alps-Himalaya Inc. (currently fighting a hostile takeover bid by Inca Co., owner of the Andes) jointly submitted a patch to Linux Kernel 49.27 to mitigate a double-write attack. Hackers are already exploiting the possibility of overlaying the ion beam, used to engrave pages, with short plasma pulses. This can make UTF-1024 appear like UTF-64.1. That way a payload can be hidden, even one that can cause avalanches.

A more and more stone-grey-bearded, but still energetic, Linus Torvalds, raging about rock-bottom security, already merged the PR. He also sternly admonished the RockFS-driver devs to finally remove one of the last bits of C in the kernel and migrate to Rust. Else the driver will soon be thrown down the mountain side.

Patch details are available on ɧttx://gittub.linux/RockFS-rocks?pr=1838578

OctoX is a radical Rust implementation of a very old OS for RISC-V

Daniel Pfeiffer

Re: But how <s>big</s>small is the Rust implementation.....

Have you tried this to shrink your binary by a big factor?

<pre>

[profile.release]

opt-level = 3 # Max

lto = true # Enable link-time optimization

codegen-units = 1 # Reduce number of codegen units to increase optimizations

strip = true # Strip symbols from binary

</pre>

How about either of these: --crate-type=dylib, #![crate_type = "dylib"]

System76 teases features coming in homegrown Rust-based desktop COSMIC

Daniel Pfeiffer

Broken Paradigms

When I talk to you about a picture on the wall and point to it, you will understand. Not so MicroSoft, who want me to touch (click) it first. And most apps will see that click as performing an action (but e.g. VMWare player needs a 2nd click...) So unintuitive! Yet sadly focus-follows-mouse has over the years gotten harder to get, even in its home turf of X11.

When I spread a newspaper on a table, and a notepad on top, I can mark and write on both. Not so with MicroSoft, who will bring the newspaper on top every time I touch it. So unintuitive! The ability to focus a window in the background is another great (aka natural) feature of X11 window managers.

I sure hope these guys don't just make it another mindless Windows clone!

Daniel Pfeiffer

Rust makes more vicious kinds of errors impossible, than Java or Go ever have: Null pointer exceptions, race conditions & flaky memory access. All of this dealt with by the compiler, saving you hours in the debugger, and the embarassment of yet again stolen credit cards. In this way, it's truly a new kid on the block, where others were just incremental improvers.

Ok, Java somewhat improved the memory access. But with no const and garbage collection, Gosling chose expensive work-arounds. Whereas Rust (once you understand it – to be fair) makes for very efficient proggies.

Fedora sours on Creative Commons 'No Rights Reserved' license

Daniel Pfeiffer

Re: Yet another reason why

An example of that would be hypertext. It had been proposed and discussed with no practical solution before TBL.

If you're referring to Xanadu, yes, HTML did overtake it. But others were usable earlier, like GNU Emacs' Info system, that was already in v1.3 (probably 1984 or latest '85).

Though, to be honest, TBL preceded that with the CERN-internal and even there little used ENQUIRE (1980).

Apple, Google, Microsoft, Mozilla agree on something: Make web dev lives easier

Daniel Pfeiffer
Unhappy

Re: just make SVG work so I can see graphs

So, so… On https://perl1liner.sourceforge.io/Collatz/ the Sourceforge and CC BY-SA logos work fine everywhere. But there's a rogue decision that linked and embedded SVGs differ. The former's DOM is completely separate, so I can't apply CSS to them. By that crazy logic, external JS or CSS files shouldn't be able to interact with HTML either, nor filters on external images.

The favicon doesn't work on Safari, which arrogantly wants a list of different resolutions served individually instead.

In the chapter Good Given I start with links to (huge) standalone graphs. All browsers render them, but zooming, searching and deep linking to nodes give quite disparate results.

Toaster-friendly alternative web protocol Gemini attracts criticism for becoming exclusive clique

Daniel Pfeiffer

Re: simple websites

I've taken a similer approach with my https://perl1liner.sourceforge.io/ – generated, albeit tweaked with css only.

Not sure what the article means with pure html, would that forego style="…"? Otherwise it's almost equivalent (with tons of repetition), sans :hover, which has to be on a rule.

Sadly what started out as a playful example, but lead to serious insights which I found nowhere else, https://perl1liner.sourceforge.io/Collatz/ needed a js shim. The formula in there worked fine as developed for Firefox. But to my shock Chrome doesn't understand MathML. Why would a worthy competitor to Microsoft bother with existing standards, when they might just as well force webassembly and FLoC on the world…

Firefox 89: Can this redesign stem browser's decline?

Daniel Pfeiffer

Re: (cringe)

Yes, people are creatures of habit, and we hate change, but there are a lot of interaction designers out there who genuinely do know better. :)

As in put mobile FF's URL bar at the bottom? Still didn't get used to that because it's different from everybody else. (And this from an Emacs lover! Though you never click on the minibuffer. It's keyboard activated. – For non-Emacsers it must be worse!)

Vivaldi update unleashes the 'Cookie Crumbler' to simply block any services asking for consent (sites may break)

Daniel Pfeiffer

Re: Rubbish EU Law

If you had read the other comments, you wouldn't have written this rubbish. GDPR clearly distinguishes purposes and requirements. Arguing on a "rubbish EU / good Brexit" level, doesn't change those facts.

It's the more or less rubbish implementation many sites force down our throats, in the hope of eliciting unqualified reactions like yours, that are the real issue.

Samsung, Intel tease joint effort on new chip 'microarchitecture leveraging multiple types of XPU cores'

Daniel Pfeiffer
FAIL

Re: run smartphone apps on the PCs

Samsung DeX (Desktop Experience) is a nice idea, but sadly still very unfinished even after 4 years:

• Apps seem to get scaled down, rather than rendered at target resolution – not only fuzzy, but differently so with each release

• Even though the phone has more pixels than my external screen is tall, the apps start at half screen height, and don't rememember last placement

• Apps have to be restarted when moving from phone to external screen and again when maximizing

• Phone does a new charging cycle everytime you hook it up, surely ruining the battery fast, if you unplug it everytime you leave

• The desktop experience is quite primitive:

✏ autohide taskbar can't be configured, pops up way too quickly, so that I often click it instead of buttons at the bottom of the app

✏ App selection doesn't put the cursor into the search field, so you can't just start typing

✏ Title bars' height varies depending on how the app got scaled down, and doesn't include a title

✏ Apps which insist on window proportions can't be freely moved when maximized (vertically), staying away from top, so that lowest part is off screen

Since I don't have an additional Screen, Mouse and Keyboard for the phone, I use DeX for Windows instead, a software that emulates a USB hub, sharing the PC's S, M & K, making the software appear to run on the PC, when in fact it runs on the phone. Upside is, you get copy'n'paste and (very fragile) drag'n'drop between the 2 systems. Otherwise more woes with that:

• Samsung's USB driver is buggy, so that this gets hung up after a while. Without a PC-reboot, it can take hours, before it accepts to reconnect. Past versions then helpfully suggested reinstalling the Samsung driver. Absolute disgrace!

• Alarms ring on the phone, but display on the screen. If the Windows screen saver is on, either you disable that, or you dig down on the phone, to acknowledge it. Either way takes many steps. Absolute disgrace!

• Desktop is sized to my closed laptop screen, which has different proportions than the external one, leading to black sorrow borders

• Laptop keyboard is US, but I use an external local one. It suggests I configure the hardware keyboard, but if I accept, only choice is about software keyboard. I haven't managed to configure mine, making me blindly guess many of the keys.

All in all pure frustration, which makes me fear the worst about what they promise for this laptop.

WTH are NFTs? Here is the token, there is the Beeple....

Daniel Pfeiffer
Coffee/keyboard

Non-Functionible Software

Yeah, bring it on, embedded in your work of art:

• Non-Fungible Bugs

• Non-Fungible Spyware

• Non-Fungible Ad-Slingers

• Non-Fungible Back-Doors

• Non-Fungible Crypto-Miners (e.g. Bitcoin running on Ethereum, ₿@Ξ)

Canonical: Flutter now 'the default choice for future desktop and mobile apps'

Daniel Pfeiffer
FAIL

Re: Cross platform ok. Same interface for Desktop/Mobile, not so much

One place where that's gone wrong, is Apple's mouse. While I like its swipe-to-scroll hardware, they've got the direction wrong. On a phone, swiping feels natural, because I grab the virtual paper and push it around. But on a pointing device, which is far from the screen, that's startling. On the rare occasions I use one, I have to concentrate on doing it counterintuitively.

Maybe there's no right or wrong here. Apple takes a document-centric perspective, while I prefer my first-person one, rolling the mouse-wheel in the direction I want to look…

Unrelated to mobile, a similar ancient problem is Windows' click-to-point and raise-when-activated. Both do not reflect the real world, but have sadly been sheepishly copied by many Linux desktops, and been made the hard to change default!

If I point at a picture on the wall, you'll know I mean that picture – no need to go and tap on it. Why then are desktops hiding the focus-follows-mouse option so well?

Likewise, if I have several papers on my desk, the one I'm reading may be partially buried. I'll move it as needed, which will not make it magically jump on top. That's where I have and keep the notepad I'm writing on. Why then again are desktops hiding the raise-when-focused (=false) option so well?

OTOH, at work we use Outlook 365. It's the sole app where I do want the notifier to pop up on top. Alas it does not, if I forgot to close the previous appointment. That buggy crap has made me late to some meetings already. :-( And even when it does remember to pop up, the above nuisance of an untimely click elsewhere may immediately bury it unnoticed…

So it appears some of you really don't want us to use the word 'hacker' when we really mean 'criminal'

Daniel Pfeiffer

Re: ...-boffin

Since English doesn't derive from German (the language of middle and south Germany), but rather from low-German (the older, now endangered language of north Germany) aka Anglo-Saxon, that would be the softer Böttjer.

Perl-clutching hijackers appear to have seized control of 33-year-old programming language's .com domain

Daniel Pfeiffer
Facepalm

After Nick seems to be an up-front company name

"We'll put your domain on sale after it was nicked."

Quixotic Californian crusade to officially recognize the hellabyte and hellagram is going hella nowhere

Daniel Pfeiffer
FAIL

Re: the quadrennial meeting

the International Bureau of Weights and Measures (BIPM)'s General Conference on Weight and Measures

They tried in vain to clear up the confusion about billions and trillions in 1948.

Originally and logically a billion (shortened from bi-million) means 2 millions multiplied with each other, i.e. 10^12. Likewise a trillion/tri-million is 3 millions multiplied, i.e. 10^18. Then some countries became confused and decided to shorten those numbers to 10^9 & 10^12, making the words etymologically meaningless.

Since the conference gave up on harmonizing that, we're stuck with this ambiguity with most of Europe using the original meaning. Whereas the Brits already brexited in '74 and waddled after the Americans for these words. As do Canadians when speaking English, while in French they stick to the original meaning. So you always have to question the validity of these words, which might just be a mistranslation.

Google AMP gets a shock to its system as advisor quits, lawsuit claims foul play

Daniel Pfeiffer
Go

A page with actual content doesn't need JS to be amped up

I've challenged myself to implement 3 types of useful elements with CSS only, for perl1liner.sourceforge.io documentation.

The blue sidelines give tooltips on where you are (breadcrumbs) and allow deep bookmarking. While the hamburger menu and play button on the code examples use :hover for active functionality. I could even make the humourous post-its wiggle, but haven't implemented that yet.

There's just one regret: the menu doesn't pop back after clicking. You have to push the mouse out again :-(. I wish there was also :hover-unclicked, i.e. active when hovered but inactive again as soon as you click inside. If anybody knows a CSS solution, happy to hear it!

Though that's not the main audience, it's even okish on smart phones without extra effort. Mobile Firefox and Chrome emulate :hover on tap, so even that works. Safari's not so smart, tough luck.

COVID-19 tracing without an app? There's an iOS and Android update for that

Daniel Pfeiffer
Holmes

Re: Wifi sniffing

I heard that glue sniffing can have an effect on your psyche and body. Not sure it can be directed at fighting a specific virus though. So I wonder if wifi sniffing would be any more successful...

Worried about the Andromeda galaxy crashing into our Milky Way in four billion years? Too bad, it's quite possibly already happening

Daniel Pfeiffer
Angel

Re: Or Gravity isn't a constant

1) Take a bunch of magnets, shake them together, they will align to clump together. Like-polls push each other apart, opposing-polls pull each other together

I see that in the campaign for the Brexit-poll, Farage told you not to like Poles. This has led to your being pushed apart from European like-poles. Meanwhile the hot gas halo drifting out of BoJo's mouth, is magnetically pulling you together into a chlorinated-chicken 51st state of Andromeda fantasy.

Google and IBM square off in Schrodinger’s catfight over quantum supremacy

Daniel Pfeiffer

Aren't quantum computers ideally suited to generate random numbers anyway? Just turn off the cooling and don't implement error correction. So what's the news here?

Cloudflare buys browser isolation biz S2 Systems in bid to realize Sun's network computing vision at long last

Daniel Pfeiffer

Which is hard on videos that render directly on the graphics card bypassing the X-protocol & remote capabilities. Same goes for vids in the browser, so at least that part needs a different solution. Either video streaming or passing the <video> tag to the browser after all. The latter maintains the risk of exploitable decoder bugs.

Dropbox would rather write code twice than try to make C++ work on both iOS and Android

Daniel Pfeiffer

Kotlin/Native targets iPhone

https://kotlinlang.org/docs/reference/native-overview.html says:

Kotlin/Native is primarily designed to allow compilation for platforms where virtual machines are not desirable or possible, for example, embedded devices or iOS.

the compiler creates: an Apple framework for Swift and Objective-C projects

It's currently in Beta stage.

Samsung 'to launch Galaxy S III in US', snubs Apple's ban bid

Daniel Pfeiffer
Stop

Apple's patent is void, Perl is Prior Art

The idea of extracting anything interesting out of a text goes back to Larry Wall (who in turn was inspired by various Unix tools, as well as by Kleene's theory of 1950, implemented by Thompson in the 60ies).

The elegant regular expressions which Wall created for Perl in 1988, do in Apple's patent with a trivial /(0\d+[-.\/ \d]+\d+)/ — if you want to recognize area codes in parenthesas, add just a little more, no rocket science!