HNHacker News
TopNewBestAskShowJobs

phkamp

2,337 karma · joined June 15, 2010

submissionscomments
phkamp··on All software in EU under product liability from 2026
That guy in Nebraska from the XKCD comic is probably safe.

I'm not convinced that my one-man company is, since I derive most of my income from FOSS software.

But that seems quite fair to me.

phkamp··on All software in EU under product liability from 2026
In the end, a court of justice (in EU, not in USA!) does.

It's not a bad first approximation to expect courts in EU to very sensible and fair.

phkamp··on All software in EU under product liability from 2026
I've talked to various people over the last couple of years, and it seems Colonial Pipeline was the big eye-opener for politicians in USA: Nobody could be sued, even though they were aware of the problems.

In EU I've heard more about ransomware in general and the behavior of Microsoft and Oracle in license negotiations and "audits" in particular.

But the overall tenor is that politicians have had it up to here with the IT industry's "What me worry?" attitude to quality, responsibility and liability.

phkamp··on All software in EU under product liability from 2026
A company cannot exempt itself from product liability with an EULA.

Cloud services are also explicitly mentioned as covered.

phkamp··on All software in EU under product liability from 2026
Cookie pop-ups is a clear case of "malicious compliance" and I guess all spying companies hoped they could make it so annoying that citizens of EU would revolt or something.

Didn't work, instead many more people (at least here in EU) are now aware how how bad the spying has become.

phkamp··on All software in EU under product liability from 2026
EU has been pretty vocal about "Circular Economy" and also the right to repair for ages, so I do not expect a bona-fide repair job brings anybody in legal trouble.

But conversely: Should the original manufacturer be responsible if somebody installs hacked-up "performance" software in a car ?

Of course not!

phkamp··on All software in EU under product liability from 2026
I hate to admit it, but the EUrocrats who drafted this are smarter than that:

All software is covered, sold, licensed, embedded, rented.

Even the cloud services tied to products are covered.

phkamp··on All software in EU under product liability from 2026
There's something called "The American Rule" which sets USA apart from pretty much the rest of the world.

In USA, win or loose, each party pays their own lawyer.

This is why USA has lawyers often work on "contingency" where they nominally work for free, but receive a large fraction of any settlement or award if the case is won.

In the rest of the world, and specifically in EU where this applies, the looser pays the winner's (reasonable) legal fees.

Not saying that lawyers are not greedy in EU, but not in the way USAnians are used to think about lawyers.

So no: This is genuine consumer protection.

phkamp··on All software in EU under product liability from 2026
EU countries have 2 years to legislate the national implementations.

FOSS exemption but only for "outside commercial activity" - whatever that will mean.

I guess that guy in Nebraska is safe, but not so sure about my own one-man company.

phkamp··on Hinkley Point C: Building Britain's first nuclear reactor in 30 years
One of the points is that if you have a nuclear powered navy, there needs to be a career path for disembarking reactor-techs.

This is in no small part the reason why the countries with nuclear powered navies are most eager to build new nuclear power reactors.

phkamp··on Telegram founder Pavel Durov arrested at French airport
It will probably help if people take the time to read Article 8 in the European Declaration of Human Rights:

    Article 8 – Right to respect for private and family life

    1. Everyone has the right to respect for his private
       and family life, his home and his correspondence.

    2. There shall be no interference by a public authority
        with the exercise of this right except such as is in
        accordance with the law and is necessary in a
        democratic society in the interests of national
        security, public safety or the economic well-being
        of the country, for the prevention of disorder or
        crime, for the protection of health or morals, or
        for the protection of the rights and freedoms of others.
 
Thus a channel where terror actions are planned /can be made/ "against the law", but it will not automatically be so, unless there is a specific french law that makes it so.
phkamp··on Telegram founder Pavel Durov arrested at French airport
I do not know french laws specifically, but...

There are lot of direct laws about record-keeping (company accounts for instance) but there are also a lot of laws which indirectly impose requirements of record-keeping, because having records will be the only way to comply with the requirement (tracking of origin for food recalls for instance).

France almost certainly has a law that says that if you run a telecommunication service, you must respond to court orders with the following information: X, Y, Z & W.

If non-compliance with such a law is the basis for the arrest, it will be his damn problem to convince the judges, that despite being subject of many such court orders, he had a stronger legal basis for not keeping the necessary records to comply.

However, my money is on Al Capone: I would be very surprised if the charges do not (also) contain tax-evasion, securities fraud, money laundering.

phkamp··on Apollo DN10000: Quad CPU/128Mb RAM workstation from 1988 [pdf]
A smart detail was that the DN10000 had both VME and ISA slots.
phkamp··on Dave Mills has died
Tactical Loran, also known as "Loran-D" was a concept Dave was involved in during the Korea war. There's a pdf about it somewhere on the web.

Remember: This is way before GPS, so pilots could not just look at an instrument and know where their plane was, and many planes, both civil and military would regularly get lost (in the meaning: loose track of where they were).

In friendly skies you could have your own Loran-C, but you couldn't expect the enemy to provide that for you, so "tactical" meant that you could rig up a naviation chain where you needed it, in a matter of days.

(In the end both USSR and China set up Loran-C chains, some of them operating jointly with the US chains, and today the Rusian "Chayka" and possibly the chinese chains are the only ones left.)

So tactical Loran was basically Loran-C transmitters in containers or trucks, and because they would be much weaker than real Loran-C, being both power constrained and having much smaller antenna, they used a 16 pulse code instead of an 8/9 pulse code.

Loran-C&D is spread-spectrum transmission, but decades before the theory was fleshed out, but it was well understood that a longer pattern would improve S/N.

But Loran-C/D was just one of many DoD radionav systems that project 621B (=GPS) was supposed to kill, and eventually did kill.

phkamp··on Dave Mills has died
He influenced my career as much as Dennis and Ken did.

Our "nanokernel" paper brought NTP into the nanosecond domain and gave FreeBSD "timecounters".

But our true shared passion was Loran-C

Dave even invented the 16-pulse "tactical Loran-C" during the Vietnam War.

I borrowed his ISA card Loran-C receiver (serial #1 & only) and later I built two generations of SDR receivers, and he was so proud when I showed him this dancing pulse received with a cheap ARM chip:

https://phk.freebsd.dk/AducLoran/animation2.gif

And boy was he pissed when USA shut down Loran-C, he really loved his "loudenboomers"

RIP

phkamp··on Was BASIC that horrible or better?
One often overlooked aspect of BASIC's and COMAL's success was the educational benefit of line numbers.

Several teachers who taught BASIC/COMAL in the 1970ies and 1980ies have commented to me, that the line numbers made them much easier to teach than for instance PASCAL.

The line numbers enables the teacher to say "Now, look at line 240" which is much more precise and concise than "Look at the statement in the IF inside the WHILE" etc.

phkamp··on Windows Protected Print Mode
It goes all the way back to Windows 3.11, where printer drivers often directly fiddled the Centronics parallel port themselves.

The Centronics port is nominally one-way, but it didn't take long for people to realize you could use it for bidirectional communication, thanks to a self-test feature IBM built into the original PC's parallel port adapter, which everybody copied faithfully.

The most famous use was probably "LapLink" which enabled fast file transfer via a special cable.

Printers and their matching drivers used the bidirectional communication to provide mode detailed status information than the single "Paper Out" signal.

And the rest as they say, is a parade of horribles

phkamp··on Let's Write a Malloc (2014)
Yes, I am the author of that paper and the "phkmalloc" it describes.
phkamp··on Let's Write a Malloc (2014)
Yes, by all means, let's implement malloc(3) in a way it should never have been implemented after the VAX/11 architecture, and using much less readable code and worse examples than in the Old Testament ?

Hint: Storing the free-list in the free space means that to free even more memory, you have to page in otherwise unused VM pages.

See also: https://papers.freebsd.org/1998/phk-malloc/

phkamp··on The Cathedral and the Bazaar (1999)
A counter point:

https://queue.acm.org/detail.cfm?id=2349257

phkamp··on Ivrea, industrial city of the 20th century
I worked there in the late 1980ies while Olivetti was still going strong and loved the place.

The Arduino is from Ivrea, it rose from the ruins of Olivetti, so to speak.

phkamp··on GameTales: Cray 6400 (2015)
The "Cray" 6400 was really the "Sun Sparcenter 4000".

I dont know if Sun paid Cray to get their name on it, but I'm sure Cray did not pick it up because of the fantastic CPU performance.

The entire sun4d series had the same fundamental issue: When a CPU missed local cache and fetched across the "X-Bus", instead of returning a single word as fast as possible in a 2-cycle packet, the memory board did four sequential memory accesses and sent a 9-cycle packet.

The net effect of this was to turn it into an 8MHz machine, if your program did not fit well in the 1Mbyte CPU-cache.

On the plus side, you could stick amazing numbers of S-bus cards into those boxes, for instance if you needed a lot of disks for statistical seek-time reduction.

We had five SS1000's as file servers, they had 9 differential SCSI controllers each, with each controller servicing three Seagate 2GB "Elite" drives - a whopping total of 270 GB, mirrored and striped with Veritas.

phkamp··on Librarian's Letter to Google Security
This is what happens when private for-profit companies through monopoly become public infrastructure with no oversight and no obligations but turning a profit.
phkamp··on Linear Address Spaces: Unsafe at any speed
You seem to be more interested on proving me wrong, than actually understanding what I am saying:

Today SSD's expose a datamodel which makes them look like disks.

To implement that datamodel, on a storage substrate which have radically different semantics, they have to implement what is essentially a (log-structured-)filesystem.

(I happen know this first hand, because I have worked on both file-systems and FALs.)

And that is why I say we have two filesystems stacked on each other.

Your limited understanding of filesystems does not change reality.

Over & out.

phkamp··on Linear Address Spaces: Unsafe at any speed
The TLB is an attempt to mitigate the horrible performance properties of a multi-level page-table-trees.

If you do away with the page-table-tree, there is no problem for the TLB to mitigate.

phkamp··on Linear Address Spaces: Unsafe at any speed
Sorry, overlooked your question.

First, I have not been actively involved in Fastly, apart from telling Artur to "go for it!" :-)

With respect to Flash technology I have noted elsewhere in this discussion that today our SSD devices effectively contain a filesystem in order to pretend they are disks, and that stacking two filesystems on top of each other is ... suboptimal.

But as I also just noted, flash isn't just flash, some properties are very hard to generalize, so i tend to think that we will have to let the people who decide what to solder onto the PCB provide at least the wear-levelling.

If I were to design an OS today, I think I would stick firmly with the good ol' UNIX name-hierarchy model, but I would probably split the filesystem layer horizontally in a common and uniform "naming layer" serviced by per-mount "object stores".

If you look at FreeBSD, you will see that UFS/FFS is sorta-split that way, but I would move the cut slightly and think in terms of other primitives which take SSD and networks better into account, but see also: Plan9.

The service I would want from a SSD device is simply:

A) Write object, tell me it's name when written.

B) Read object named $bla

C) Forget object named $bla

Then I'll build my filesystem on top of that.

(The NVME crew seems to be moving in the right direction, but it is my impression that some patents prevent them from DTRT, just like Sun's "Prestoserve" patent held up development.).

phkamp··on Linear Address Spaces: Unsafe at any speed
Bad block remapping is just a trivial table lookup, the first disk drives did it with 8-bit microcontrollers.

In my experience a good FAL is about as hard to write as a good filesystem.

While you can parameterize a lot of things, there are some fundamental properties of the flash cells which make it very hard to write a single FAL which works well with all flash chips.

As a matter of principle I do not comment on issues specific to Linux.

phkamp··on Linear Address Spaces: Unsafe at any speed
Ping me next time you're in our area, I'll be more than happy to give you a tour!
phkamp··on Linear Address Spaces: Unsafe at any speed
On a magnetic disk, the exposed "name" is the physical address, on a SSH device, the data is stored ${somewhere} and the FAL has a (pretty interesting!) datastructure to lookup were that is, when you demand a certain "name".

When you write a certain "name", the magnetic disk just overwrites what is already there, at the assigned spot.

When you write a certain "name" on a SSD, a new spot gets allocated (This may require reshuffling akin to garbage collect), and the data structure is updated for the new locations ("=$name") and old location ("unused"), and if making the old location unused means that an entire eraseblock becomes free, then erasing that is scheduled, after which it is added to the free pool.

But that is only the easy part. The hard part is "wear levelling", which essentially amounts to erasing all the blocks approximately the same amount of times, because that is what wears out the gate material in the individual cells.

Wear levelling involves taking data which the host has not asked for, copying to a different location, in order to empty out the erase-block with the least wear (= erase cycles) so that it can shoulder more of the load.

And now comes the truly hideous part: The FAL has to do this in a way where it's own metadata is part of it's own wear-levelling, this is why most competent FAL's have a basic structure much like a classic Log-structured filesystem.

So yes: We do have two filesystems on top of each other, and exposing a more suited model than "array of equal-sized rewritable sectors" could reduce that.

phkamp··on Linear Address Spaces: Unsafe at any speed
Sorry, but you are simply wrong there. The TLB is just one of many hacks made necessary by the ever-deeper page-table-tree.

What the R1000 does is collapse the obj->phys lookup in the DRAM memory cycle, and if we did that today, we wouldn't need any page-tables to begin with, much less TLBs.

← PreviousPage 2 of 12Next →