Re: Divers log
Another point - when I was at primary school, the way we were taught to write decimals was *not* 3.14159, but 3·14159 - with a middle dot. That makes it even less the case that 1.5 would be naturally interpreted as a decimal.
340 publicly visible posts • joined 13 Aug 2007
Bear in mind that in those days people were much probably much less inclined to treat numbers as decimals in general. We would write £1 2s 6d, 5' 8", 2lb 4oz.
During the run-up to decimalization in 1971 one of the things that they (the government, teachers, the BBC...) tried to drum into us was that a pound and five pence should be written £1.05 and not £1.5.
We had a DECwriter as the console on a VAX 11/750 running Berkeley unix. Every minute a cron job printed the date so that we could tell when any output had happened.
One day we suddenly started getting an error for every command - something like "out of processes". We found that the console had run out of paper, and several hundred "date" processes were stuck waiting for their output to complete.
A fine example of this is that many Canon printers can't be connected to your wireless network if the network implements 802.11r, a protocol to speed up roaming between access points. The symptom is particularly bizarre - the printer just doesn't prompt you for the wifi password. The workaround is to turn off 802.11r, configure the printer, and turn it on again.
My ISP gives me a /48, which is pretty common. That means that in theory I can have 2^80 devices, though more usefully I could have 2^16 subnets of up to 2^64 devices. Huawei's /17 would allow them to provide 2^31 = 2 billion customers with a /48, and that's not much more than the population of China. Not that I imagine that they want it for that.
There are lots of fun things you can do when you have an effectively unlimited number of addresses. I have a string of christmas tree lights with 250 individually-controllable colour LEDs - I could easily write a program that gave each LED its own address.
The battery is certainly the obvious place. It's heavy so a little extra is less noticeable, or perhaps they just reduced the battery capacity. It could even be introduced without the complicity of the pager manufacturer - offer them a good deal on several thousand batteries and they might well take it.
I haven't seen anything indicating how they were triggered. If the software was compromised it could signal to the battery without the need for extra wiring, for example by a pattern of power use.
When binding a server address, 0.0.0.0 (INADDR_ANY) means listen on all interfaces. But what is the justification for it being recognised as the local host when used as an address to connect to? I don't recall ever seeing that documented, and what would be the point of 127.0.0.1 if 0.0.0.0 did the same?
"If I use this instruction correctly and without any malicious intent on any other RISC 5 processor, then in these machines my code is completely broken?" This makes it rather surprising that the bug was not noticed immediately - or indeed in testing before release. Are there just very few programs that use the affected instructions?
The transputer did indeed demonstrate what could be achieved by a very simple processor in a big array, and the answer was "not much". For several years people enthused over it, but failed to produce useful solutions with it. It became clear that the vast majority of tasks just weren't amenable to being solved that way: they have parts that are inherently sequential, and even when parallelized need access to shared memory.
"many early internet hackers worked on the original MINIX, porting it from x86-16 [sic – this was an 8086 OS] to 68000 and SPARC"
The most significant work (at least in my opinion - I played a part in it) was getting a 32-bit x86 version running, and improving the system libraries to the point where gcc and emacs could run. That's what Linus built the first Linux with.
The storm may have been the "[b]iggest in a long time" but it's not that unusual. It's the first extreme geomagnetic storm in 20 years, but that's because there weren't any extreme storms in the previous solar cycle, which was a rather weak one. The average frequency of extreme geomagnetic storms is 4 every cycle, so it's quite possible that we will have more in the next couple of years while solar maximum lasts.
See https://www.swpc.noaa.gov/noaa-scales-explanation for more information.
Presumably the large white splodge is the sun, vastly larger than it should be because its brightness is overwhelming the camera. The crescent to the left of it is the earth (which should really appear much larger than the sun). And the white blobs above and below the sun are camera artefacts.
Solar flares have both immediate and delayed effects on the earth. X-rays travel at the speed of light and can cause radio blackouts and also affect satellites in various ways. X-rays may remain at high levels for several hours - in this case the level was above M1 for about an hour and a half. Flares are often also accompanied by "coronal mass ejections" which can cause geomagnetic storms a couple of days later. There doesn't seem to have been a significant CME associated with this flare.
There's no reason to follow symbolic links in a program like this. If the symbolic link is to outside the relevant filesystem (or subtree), it shouldn't be followed. And if it's inside the filesystem, there's no need to follow it because you will look at the destination directory anyway.
This problem was encountered pretty much as soon as symbolic links were introduced in 4.2BSD. Each utility that traversed the filesystem (du, find, etc) had to have a flag added to indicate whether symbolic links should be followed. I remember a version of SunOS in the mid-1980s whose cron job to remove old files in /tmp followed symbolic links, with predictable results.
I think it would only take a handful of design flaws. For example, the printer could trust a length field at the start of the serial number, so a malicious chip - even just an EPROM with more than 32 bytes - could provoke a buffer overflow in the printer firmware.
(I have no reason to suppose that they have such a bug - it's just an example.)
I wonder what their ranking system does to keep SQLite off the top (it appears to be 11th)? It's run on more or less every phone and computer in the world.
SQLite isn't good for everything, but if it does what you need, it has the great advantage that you don't run a server - the database file is instead mapped into your program.