* Posts by thames

1125 publicly visible posts • joined 4 Sep 2014

No big deal, Rogers, your internal source code and keys are only on the open web. Don't hurry to take it down

thames

Rogers are a big media company, owning cable, cell phone, ISP, broadcasting, and sports team assets. Annual sales are around $14 billion. Whatever their excuse is going to be for this mistake, lack of resources to do things properly can't be it.

Server-side Swift's slow support story sours some: Apple lang tailored for mobile CPUs, lacking in Linux world

thames

Re: x5 Speed Increase on Server Side with Swift?

That article in the link you provided is an excellent analysis. The author of the benchmarks cited in the Reg story was comparing apples to oranges from multiple different perspectives.

I suspect the reason for this was benchmark author didn't really know much if anything about many of the frameworks he was "testing" and just googled some tutorial examples. The result was numbers that were measuring very different things in each case.

This is such a common problem that it might make for a good series of articles for El Reg to publish if they can get someone (or a series of people) to write it for them.

thames

Re: x5 Speed Increase on Server Side with Swift?

Take these performance numbers with a very large grain of salt. There's several problems with these sorts of comparative benchmarks. The first it that they are always micro-benchmarks with very little real content. A particular web framework may be a top performer at one micro-benchmark and down near the bottom on another. Have the various frameworks serve real data and they may start to converge on fairly similar numbers.

Another problem is that the authors of these comparative benchmarks may know a few web frameworks, but they rarely know half a dozen or a dozen fairly well. For the ones they don't know they generally just google some tutorial examples and end up with a configuration that is very suboptimal and not uncommonly using deprecated methods. Someone who knew what they were doing with it might get a totally different set of numbers.

A common problem is that particular frameworks may address scaling across multiple cores in different ways, but the author wants to make them all the same in order to be "fair". So he ends up using the best case for his favourite (and best known to him) framework while disadvantaging other frameworks who need a totally different set up.

Yet another problem is that there was no indication of memory consumption, other than the author noted he didn't get any out of memory errors. RAM consumption is often more important than CPU load in real world web applications, but it's hard to come up with useful benchmarks without putting more work into each test than the author is willing to spend on it.

Still yet another problem is that different frameworks may be oriented towards solving different problems. One may be oriented towards high volume web sites, while another may be oriented towards being able to set up a lower volume site with minimal man-hours and cost involved. The latter (smaller web sites) are far more common than the biggest sites.

So while these comparative micro-benchmarks can be interesting at times, you generally need to know a lot about each one before you can tell if the author knew enough about what he was doing for the numbers to mean anything.

So overall, take it with a grain of salt.

thames
Holmes

Not much take up.

The problem in this case is that IBM and a few others were looking for an alternative to Java for server-side use that wasn't tied in with a potential competitor, and as Apple had just come out with Swift, they thought this would solve that problem.

However, Apple remained the driving force behind Swift and they had no real experience with or interest in third party server applications. IBM and friends on the other hand did, but were not able to build a viable community around Swift. Without that community the third party activity to build a large ecosystem of third party libraries and software tools never really developed.

There's lots of fairly good programming languages out there. The few who make it past niche applications and hobbyists into the mainstream are the ones which build up a large and active community.

For example, look at Python. It succeed on a shoe string and without corporate backing because of the community built up around it.

I'm not surprised to hear this news about Swift, as the writing on the wall was evident years ago.

US hands UK 'dossier' on Huawei: Really! Still using their kit? That's just... one... step... beyond

thames

If you buy Huawei kit you can either cherry pick bits and pieces that you want and then combine with kit from other manufacturers, or you can buy a complete turn key system from them.

The UK's mobile operators want to pick the best technology from a variety of suppliers and combine it into a system using their own engineering staff, or to contract companies in the UK (or elsewhere in Europe) to do it. There's already loads of Huawei kit in the UK's existing 4G networks because of this and it isn't going away regardless of 5G.

In many third world countries however the mobile operators simply buy a complete turn key system from a single supplier, and unlike many other companies Huawei is capable of doing this. It's not what UK companies want to do however.

Security comes down to system design, not the individual bits and pieces. When you buy a label there are no guarantees of security coming with it.

And in the end, the alternatives may be headquartered in Europe, but the actual kit is made is made in places like India, who have their own ambitions for being a world power.

Oh, and a lot of Huawei's software is written in India. The world is a much more complicated place than it was in the 19th century, which is where a lot of people who put national labels on multi-national businesses seem to have their minds stuck in.

thames

Re: Oooh! Dossier from the US!

I've seen a copy of it. It's quite chilling. It claims that China has exploits of mass destruction that can be launched in 45 minutes.

MI5 gros fromage: Nah, US won't go Huawei from dear old Blighty over 5G, no matter what we do

thames

We've been down this road before.

The UK would look pretty silly if they banned Huawei equipment and then had to turn around and reverse themselves on that when the US decides that Huawei are no long a "threat to national security" because the US had finally signed a good enough trade deal with China (currently under negotiation).

The US declared that Canadian steel and aluminum were "threats to US national security" as well, and slapped massive tariffs on them until Canada said we weren't going to sign a new NAFTA deal with the US until they were retracted. Then all of a sudden Canadian steel and aluminum were no longer threats to US national security after all and the tariffs vanished.

The US has been making systematic use of "national security" as a trade negotiation tactic because they see it as a loop hole in WTO trade rules, despite their mis-use of it being so obviously transparent. They want to rope other countries in to supporting their blockade on Chinese 5G kit because the global market is so big that the US being the odd man out wouldn't really phase Huawei much.

This is the way Trump rolls. We've been dealing with this sort of thing living next to the US on a regular basis for a few years now. He's openly admitted to simply making up "facts" on the spur of the moment when dealing with the Canadian government in order to derail the conversation when negotiations weren't going his way.

Canada are also holding off on making any decision on this, partially in order to see what the UK will do. In Canada all cell phone network kit must be reviewed for security problems, not just that from Huawei or China. Canada's equivalent to GCHQ have found no serious problems with the stuff from Huawei when used in the manner which the telecoms carriers are proposing. Any problems with Huawei kit are purely diplomatic and politically related, not security or technical ones.

Reusing software 'interfaces' is fine, Google tells Supreme Court, pleads: Think of the devs

thames

Re: maybe

No, I want to see Google crush Oracle, to drive their salesmen before them, and to hear the lamenting of their shareholders.

Actually, I'd be happy to just see Android purged of all traces of Java, just to see the look on Larry's face when he realises that he's managed to knock yet another reason to learn Java out from under the pool of potential developers for "his" platform.

At this point you would have to be mental to develop a phone app using Java, given that if Oracle somehow wins, Google will almost certainly deprecate Java and phase it out, leaving you high and dry.

Snakes on a wane: Python 2 development is finally frozen in time, version 3 slithers on

thames

Re: More lazyness than anything

What you describe as being difficult with handing bytes is the situation in version 2. Strings could be 8 bit ASCII bytes or they could be unicode, depending on what any particular function decided to return, which in turn could depend on your OS locale settings, the phase of the moon, or any number of other factors. A "string" of bytes could change into a string of unicode unexpectedly if you weren't careful.

In version 3, strings were made to be purely unicode all the time, and new "bytes" and "bytearray" types were added which were purely intended as arrays of raw bytes and not to be interpreted as unicode strings.

There was also however added a full set of byte formatting and manipulation functions added which let you do string-like operations on bytes and bytearrays (searching, replacing, justifying, padding, ASCII case changes, formatting, etc.). So now you can write out bytes to image files and the like an be sure that what you are getting is bytes.

So now with version 3 strings are text and are unicode all the type, while bytes are bytes and not to be confused with text strings.

This change ironically is what the biggest complaints were about, mainly originating with people who only ever used 8 bit American ASCII and were not happy about having to change their code to better accommodate people who wanted to use funny looking accented characters as part of their alphabet.

In version 2 I was initially very uncomfortable using the "struct" module in the standard library (used to format packed binary data - very useful, have a look at it) because of it's use of strings when it wasn't clear when a string was an array of bytes or when it was a sequence of unicode characters. With version 3 it uses bytes and bytearrays and there can be no confusion with inadvertent unicode.

thames

While writing this I'm currently skiving off from from a project which involves a set of C libraries for Python, involving both Python and C code. It runs on multiple operating systems, with multiple chip architectures, in both 32 and 64 bit, using multiple C compilers.

The Python code runs without change on all platforms, CPU architectures, bit sizes, and C compilers.

The C code on the other hand must be tested, debugged, and tweaked to run on all of them. Word sizes vary, operators have subtle differences in how they behave depending upon CPU architecture, compilers must be placated as one will issue warnings for code that another has no problem with, and obscure documents must be consulted to find the edge cases where the compiler authors simply state that the compiler will generate invalid machine code without warning and must be worked around manually.

I've written software over the decades using Fortran, Pascal, Modula-2, various flavours of Basic, various 4GL languages, assembly language, Java, C, and a host of other languages that I can't be bothered to recall. Given a choice, if I had to write software that I had to be sure would work correctly, I would take Python over any other choice, provided the application was suitable for it (there's no one size fits all language).

I was very sceptical about Python before I first tried it 10 years ago, but I put my preconceptions aside and give it a good try and was pleasantly surprised. In my experience the people who complain about Python mainly tend to be people who have little or no real world experience with it.

thames

Re: More lazyness than anything

Features from version 3 were backported into the later versions of 2 in order to make 2 more forward compatible with 3. Version 2.7 was a sort of half-way house between 2 and 3. That was intended to allow for easier porting of applications.

The main practical issue that people had was with unicode, as 3's fully integrated unicode support turned up a lot of latent user application bugs which had issues with handling unicode. I ran into some of these with version 2, and they could be triggered by something as simple as a local change in the OS the application was running on.

The number one issue driving Python 3's changes was fixing the unicode problems once and for all by making the language and libraries unicode from end to end. There wasn't any way of doing this while preserving perfect backwards compatibility, but now that the nettle has been grasped Python can put that behind them.

thames

Re: Apple's walled garden

Red Hat are still shipping 8 with Python, it's just that they have separated the "system Python" version from the "user Python" version.

Red Hat's system tools rely on Python, so they still need to ship it. However, when you type "python" or "python3", you will get whatever version you have designated to be the user version, rather than the version which Red Hat uses for system tools. To get a user version, you need to install it via "yum".

What this means is that you can upgrade the version of Python which your applications use without affecting the version which the system tools use. That tends to matter to Red Hat, as they have very long life cycles.

When the system tools used 2.7 and newer applications used 3.x, that didn't matter, as both 2 and 3 could coexist without any problems because one is address as "python" and the other as "python3". The problem comes when Red Hat want to pin the version the system uses at say 3.5 but the user wants 3.8 for applications and both versions are known as "python3". This change lets two versions of 3.x coexist without conflicts.

Ever wonder how hackers could possibly pwn power plants? Here are 54 Siemens bugs that could explain things

thames

Re: So reassuring

SPPA-T3000 is basically a big Java program that runs on a set of MS Windows servers, with operator access being via Windows client workstations. The "highways" are the networks connecting them together and to the plant equipment. It shows equipment status, records performance for analysis, and allows operators to change equipment settings as needed.

Given that software systems based on similar technologies in more routine business environments seem to have security vulnerabilities being reported all the time, it shouldn't be too surprising that we are seeing some here, even if Siemens goes to great lengths to obfuscate just what their system is.

Basically though, the security challenges here are in essence the same as in any piece of big enterprise software and there's no reason to expect it to be immune from the same vulnerabilities.

Redis releases automatic cluster recovery for Kubernetes and RedisInsight GUI tool

thames

There's "Redis Cluster Proxy", but that's still in alpha state. I've never tried it, but it's under development on Github.

thames

Multi-threading wouldn't necessarily give you any better performance, and may in fact reduce overall performance. In-memory databases need locks to maintain data consistency and the lock overhead can be greater than simply running the database on a single thread. This is a very different situation from on-disk databases where the database would otherwise spend considerable time waiting for I/O.

Dr. Stonebraker, who is a noted database researcher and one of the people behind Ingres, Postgres, H-Store, and many others did some detailed research in recent years where he proved the above problems with multi-threading in this type of application. This led to VoltDB also being single-threaded.

The answer is supposedly clustering, but that comes with its own problems as noted in the article.

I used Redis in a application a while ago, and the biggest problem I had was actually the serialising/deserialising overhead inherent in their protocol at the client end. I needed something very fast and with low overhead, and that wasn't it. I'm not sure if they've improved since.

I'm not sure that anyone has yet come up with a really satisfactory solution in this area.

Thanks, Brexit. Tesla boss Elon Musk reveals Berlin as location for Euro Gigafactory

thames

Re: No, the UK was never in the running

According to news reports in Canada (CBC), locating the plant in Berlin seems to be a quid pro quo for Germany's new electric vehicle subsidies announced a couple of days ago. The timing between that and the Tesla announcement is unlikely to be coincidental.

Germany couldn't offer a direct subsidy to build the plant, but they could offer broader electric vehicle subsidies which Tesla will benefit from to a large degree. Tesla depends heavily on such subsidies for sales, and they tend to be in places with the largest subsidy programs. They have a high enough profile in the industry that they can negotiate subsidies directly with governments. They were almost certainly consulted by the German government on the new subsidy program, hence the coordinated announcements.

If the UK wanted to bid for the new Tesla assembly plant, then they would have had to do so by topping Germany's subsidies. I suspect that the current government in the UK has no intention of getting in a subsidy war with Germany.

Cubans launching sonic attacks on US embassy? Not what we're hearing, say medical boffins

thames

Re: Were previous medical reports wrong?

Yes, Canada never bought into the "high tech sonic weapon" story, regarding it as fantasy. As noted in the PS, current Canadian detailed medical investigation points to over use of fumigants to kill mosquitoes in the embassy building and diplomatic staff residences. The fumigants were also detected in the bodies of people affected by the symptoms. The insecticide fumigants are based on on neurotoxins, and so have a direct effect on the nervous system, including the brain.

At the time fumigants were being used excessively due to panic over Zika virus, which was spreading throughout South America. As a result, embassies were having their diplomatic buildings sprayed as much as five times more frequently than is normal. I suspect the Americans were doing the same in their embassy buildings.

Canadian researchers also feel that any psychological effects of tension or pressure would have played at best a minor role in the effects seen.

Any "mass hysteria" that is involved in this seems to be affecting people in Washington who seem to think the Cubans have some unimaginably advanced new high tech weapon and are testing it out on multiple embassies in Havana before presumably using it to engage in world conquest.

First Python feature release under new governance model is here, complete with walrus operator (:=)

thames

It will be a very useful feature in list comprehensions, where it offers the potential for performance improvements as you no longer have to repeat an operation in order to use the result several times in the same expression.

Here's an example directly from PEP 572.

results = [(x, y, x/y) for x in input_data if (y := f(x)) > 0]

Without it you would have to write

results = [(x, f(x), x/f(x)) for x in input_data if f(x) > 0]

The other alternative would be to unroll the comprehension into a for loop, but comprehensions (of various types) are generally faster as they have less loop overhead. This means they are a common optimisation method, and anything which makes them even faster is generally a good thing.

I run into this type of problem on a regular basis and look forward to using it once version 3.8 percolates out into the common Linux distros.

Chemists bitten by Python scripts: How different OSes produced different results during test number-crunching

thames

Re: Language question

@Kristian Walsh - Just to address your point about how Python handles integers, what you describe is how Python version 2 did things. Starting with version 3 all integers are "long" integers, there are no more "short" (native) integers.

What this means is that there are no longer unexpected results caused by integers getting promoted to long (this wasn't a problem for the actual integer value at run time, but more one of the type changing causing complications when inspecting types in unit tests). Eliminating the need for Python to check whether an integer was a "short" or "long" integer each time an object was accessed meant that there was no performance penalty to simply making them all long.

For the sake of those who don't know what the above means, with Python it is impossible for integers to over flow because they are not restricted to the size of native integers but can be infinitely large. This is a big help as you don't have to add integer overflow checking to your own code.

thames

Re: Language question

I would suggest using Python. If the data format is some sort of standard one in the scientific field, then chances are that there is already an open source Python library which imports it.

If it's a custom format, then Python is pretty good at manipulating data. In particular have a look at using the "bytes" data type, as well as using the "struct" module.

When you open the file, you are going to want to do line-by-line data processing or at least chunks of it, unless you happen to have enough RAM to hold it all at once. Python has a lot of options for this.

I would suggest having a look at Pandas, which is a popular Python framework for handling large data sets.

Boris Brexit bluff binds .eu domains to time-bending itinerary

thames

Re: Out of curiosity ...

There was a spam email campaign a few months ago operating from a set of ".eu" domains, but I haven't seen anything from them for a while. I don't know whether they have moved on or whether the spam is just getting filtered better upstream from me now.

thames
WTF?

If the EU insist that UK holders of ".eu" domains have to give them up, the obvious solution would be to say that this rule takes effect a year or two after the UK has actually left the EU. At that point the status of the UK should be clear and domain owners will have had time to sort out an alternative.

Insisting that UK registered ".eu" domains must cease to exist right on the dot of the official Brexit date introduces a lot of problems for everyone involved for no obvious rational reason and seems motivated purely out of spite.

I don't live in the UK, or anywhere in the EU for that matter, and don't have any stake in the game. However, I suspect that this sort of political gamesmanship by EURid is not exactly doing much to enhance the reputation of the EU, which already suffers from a reputation for being a regulatory morass which is a nightmare for outsiders attempting to trade with it to navigate.

Oracle demands $12K from network biz that doesn't use its software

thames

There is a good chance that whomever is using VirtualBox in this application may be using it as part of an automated test setup. I use it to test software on multiple operating systems. I can control the VM through VBoxManage and then run all the tests via SSH. The whole thing is orchestrated automatically via a bash script.

None of that requires the VirtualBox Extension Pack however, which adds some rather niche features, mainly related to USB device pass through. The problem in this case is with the VB EP, which you can download from the VB web site, but only for personal use and evaluation.

There is the distinct possibility that whomever is using VM in this application may not actually need or be using the Extension Pack, but only installed because it was there for download.

Auditors bemoan time it takes for privatised RAF pilot training to produce combat-ready aviators

thames

That problem was anticipated and allowed for. The British Commonwealth Air Training Plan (BCATP) was set up in Canada at the start of WWII to train pilots and other air crew for the UK, Canada, Australia, and New Zealand. Over 130,000 air crew, mainly pilots but also navigators, wireless operators, and others, were trained through this program in Canada during the war. Smaller numbers of aircrew from a number of other countries and colonies were trained through the program as well.

Canada's aircraft industry produced thousands of training aircraft to equip it.

At the end of the war Canada wrote off the UK's share of the costs along with the rest of the UK war debt to Canada.

A similar but much smaller program was run in South Africa and Southern Rhodesia.

Production of arms, vehicles, ships, and aircraft, as well as training training and other activities was coordinated in the Commonwealth, but it's not something you will read much about in pop culture.

Git the news here! Code quality doesn't count for much when it comes to pull requests

thames
Holmes

"other factors such as the reputation of the maintainer and the importance of the feature delivered might be more important than code quality in terms of pull request acceptance"

I didn't see anything which suggested that any of the code being accepted was actually bad. In that case then yes, I would expect that an important feature that users were waiting for would get priority over an unimportant change.

And I would also expect that a change that didn't much value would get rejected, regardless of how well formatted and styled it was.

Backdoors won't weaken your encryption, wails FBI boss. And he's right. They won't – they'll fscking torpedo it

thames

It's rather simple. If the US has that sort of access then every other country will demand (and get) the same or else block the messaging service from their territory. After all, what honest and law abiding person would want to provide a safe haven to "terrorists, hackers, and child predators" by not being able to decrypt messages on their territory?

And of course there can't be a different phone backdoor for each country or else "terrorists, hackers, and child predators" would just use a messaging service from another country so that the country they are resident in can't open the backdoor.

If we follow the logic of this argument, then every country needs equal access to the same backdoor. Because if you don't do that then you either don't have a messaging service that works internationally or you have to admit that the whole "we need backdoors to protect against "terrorists, hackers, and child predators" is specious. Unless of course you are going to claim that only Americans are "terrorists, hackers, and child predators" and so only Americans need monitoring to stop them doing such things.

So the only logical end state is that every country eventually has access to every phone everywhere. And that of course will be "Totally Secure" (add spiffy logo and branded web site as required).

Google's Go team decides not to give it a try

thames

Re: panic and recover functions.

@eldakka said: "Personally I've never understood the point of 'try'. "

Exception handling is a feature that is very useful in certain types of applications. If you need to use it you really appreciate it.

Where it is especially useful is when you have a long sequence of things to do, each of which must be checked for errors, but where the exact nature of the error doesn't really matter in terms of what you will ultimately do about it.

If you check for errors through a series of "if/else" statements, then the code ends up almost unreadable and likely containing several new errors of its own.

With exception handling you put an exception block around the code that has to be checked and it bails out automatically for you without all the repetitive boilerplate. The code becomes much more readable as you can follow the main flow without getting tangled up in the error handling. It's particularly useful in libraries where you allow the exceptions to bubble up to the higher levels where they can often be handled more sensibly in the given context.

Without exception handling what tends to happen in practice is that people forget to check for errors, especially those rising up from lower levels, and the errors manifest themselves as crash reports from users.

There can be cases where manual error handling using if/else can be the better way, but not in most cases. I would compare it to automatic memory management versus manual memory management. The latter is better in some cases, but in most cases is a notorious source of bugs and memory leaks.

With 'C' exception handling is sometimes emulated using a programming convention that uses goto (yes, C has goto). I've used this convention in a few applications, but it's not as clear or as readable as actual exception handling.

So to sum up, "proper" exception handling is better at putting the programmer's intent clearly and concisely while being less prone to creating new errors because the intent is inherent in the syntax. There are many application domains where it is very useful and helps eliminate entire classes of common programmer errors.

Out of Steam? Wine draining away? Ubuntu's 64-bit-only x86 decision is causing migraines

thames

Re: Interesting

And in the latest update to the story, it appears that Canonical are doing exactly what I suggested they would. They will talk to developers and find out which 32 bit libraries they are actually using and support those.

It turns out to have been a tempest in a teacup.

thames

Re: Interesting

Almost the entire desktop software environment in Linux went 64 bit many years ago. There's just a few edge cases left that use 32 bit, one of them happening to be older games ported over from other platforms (e.g. Windows).

Arm and certain other embedded platforms are of course different, and 32 bit is still common there. In this case though we are talking strictly about PC desktops and servers.

I suspect that what has happened in this case with Cannonical is that there has been a decisions to drop the purely 32 bit version of the desktop version of the distro, something already done with server without any serious problems that I am aware of. There isn't much 32 bit only hardware left around and you can run 32 bit applications on 64 bit just fine, so long as you have the 32 bit libraries.

There has been plenty of notice given that the plan for longer term support of 32 bit legacy applications was through Snap packages, which allow application developers to bundle specific versions of libraries with their applications. Games were explicitly seen as being one major target for this, and it was supposed to be much better for game packagers than relying on standard distro-level versions of libraries.

So far, so good. However, the people involved in implementing the lower level OS side of that decision don't seem to have been very familiar with certain parts of the market, specifically games. They assumed that people using 32 bit libraries only needed older versions of the libraries, not up to date ones and so could freeze the libraries at the 18.04 version. This appears to have been incorrect, and it now seems that at least some game developers (or distributors) need newer versions of at least some libraries.

The solution is rather simple, Canonical just has to continue to package the latest version of 32 libraries and allow games and other niche legacy applications to be packaged with the specific libraries they need. I don't see this as being a big deal, as Canonical would be simply pulling these in from the original sources anyway. Updating them would probably require less work in the long run than freezing them, as it would allow security updates to be maintained more easily.

What likely will happen is that the appropriate Ubuntu people will sit down with their counterparts at places like Steam and find out just what it is the game industry needs and figure out how to accommodate it. I suspect it will involve getting a list of the subset of 32 bit libraries which are actually used and need to be kept updated and then maintaining those.

Wine may be a more difficult problem for those who want to install their Windows apps directly in the desktop rather than sticking them in a container. I'm not sure if there is really a solution there that doesn't involve some sort of Snap package (Snap is a package format that bundles application dependencies together in a cross-distro isolated format rather than in a highly integrated format like Apt).

Ubuntu says i386 to be 86'd with Eoan 19.10 release: Ageing 32-bit x86 support will be ex-86

thames

Re: Bloat for bloat's sake

Most of the 32 bit desktop hardware which is still out there now would be things like netbooks with only one or two gigabytes of RAM. You could probably still run a Gnome desktop (which is what Ubuntu desktop ships with), but it would be sub-optimal.

thames

Re: All good things come to an end

The current Ubuntu LTS is supported until 2023. What the recent decision is about is not locking themselves into a situation where they have to offer support past 2023 when third party application developers they rely upon are already dropping support today.

thames

Re: To Everything There Is A Season...

If you are running version 18.04 of the 32 bit Ubuntu desktop, then they will remain supported until 2023 and you can continue to use them.

thames

Re: To Everything There Is A Season...

@Charlie Clark: This announcement has nothing to do with microcontrollers, so that isn't an issue.

Also, this new announcement is about the desktop version only, which is not what I would refer to as an "embedded" OS. The server version already dropped 32 bit x86 and nobody was really bothered by it.

thames

This is desktop only

It has been apparent for some time now that 32 bit x86 was going to be dropped. The biggest reasons have to do with two problems facing 32 bit. One is that developers of important applications have already dropped support for 32 bit. Linux distros have been building 32 versions, but the developers won't support them and the distros themselves are in no position to deal with things like security problems that affect 32 bit only.

The other problem is that most developers don't have 32 bit hardware to test on, and they're not about to spend their own money out of their own pockets on buying and maintaining 32 bit hardware for the sake of handful of people who won't but new 64 bit hardware for themselves.

From an application developer's standpoint one big advantage of dropping 32 bit support is that the SIMD situation on 64 bit x86 is much better and more consistent than on i386 (where it is an absolute nightmare). That alone can make it worthwhile making an x86 application 64 bit only.

This announcement is about the desktop version, as there currently is no 32 bit x86 server version anyway. If you are running an old 32 bit desktop, then you should probably be running the 18.04 LTS version of Ubuntu anyway, which is supported until 2023. The number of old 32 bit only x86 desktops still running past that date is probably vanishingly small as is the ability of developers to have and maintain hardware to use to support them.

I run an open source project which is supported on multiple architectures and multiple C compilers. I do test on 32 Debian along with other targets, but 32 bit Linux seems to be already an irrelevance so far as I can determine, and many distros dropped it a while ago.

32 bit Arm is still relevant of course and the Raspberry Pi is ubiquitous and very cheap, and I have one that I use for testing. However the recent Ubuntu announcement is about 32 bit x86, not Arm.

Dissed Bash boshed: Apple makes fancy zsh default in forthcoming macOS 'Catalina' 10.15

thames

The problem with using anything other than bash is that nearly everyone will assume that you are using bash. If you get a third party script that does anything complex, it will often assume you are using bash. If you do an on-line search for examples of shell scripting, the author will often have checked that it worked in bash and didn't check if it worked anywhere else. If you ever do any work with a server (and if you don't, you probably aren't doing any shell scripting anyway), it will probably have bash.

Bash has become to ubiquitous as to be nearly synonymous with "unix-style shell" and that isn't likely to change anytime in the foreseeable future. Apple are just further isolating themselves with this move, but then vendor lock-in has been their business strategy for some time now.

thames

Re: "Critics say ..."

Just what I was looking for, ways to make it easier for Apple to sue me.

Germany mulls giving end-to-end chat app encryption das boot: Law requiring decrypted plain-text is in the works

thames

Re: Mystified; how will they force it?

How will the Germans force it? They will just count on most chat they want to monitor taking place over phones, and banning secure chat apps from the Android and Apple app stores being enough to prevent the targets from using it. If Apple doesn't offer it to you, then you're out of luck if you own one of their phones. It's possible to load whatever you want on some Android phones, but most of the targets won't know how or otherwise won't do it.

The Germans aren't counting on it being completely impossible to end to end encrypt a message. They are just counting on making it so difficult that most people won't bother. They aren't after Bond film super-villains with this, just run of the mill malefactors who bumble along from day to day.

It will be interesting to see how the chat app vendors handle this. One way may be to simply have Google and Apple geo-fence their app stores to make their encrypted chat apps unavailable in Germany (and Australia) and add a "terms of service" clause telling their users to not use the app in banned locations. That is a quick solution that doesn't water down security for the rest of the world. The Germans (and Australians) won't be happy, but their government would have got what they asked for.

It's all in the RISC: Arm legs it to Computex with a head full of Cortex-A77 CPU, Mali-G77 GPUs

thames

Sounds great, but when will I see this new chip turn up in the latest phones from Huawei?

British Army down thousands of soldiers after outsourcing recruitment IT to Capita

thames

Re: From a previous ElReg article

Three months! That would be record fast for the new system under Capita. I have regularly been talking to people in the UK whose sons have been waiting over a year just to get a reply back.

All too often the potential recruit has moved away or is too deep into an alternate career to be interested any more by the time Capita get back to them. It takes an unusual degree of persistence and drive to fight your way past Capita and join the army.

Everyone who has had any contact with it thinks the new system is an unmitigated disaster.

Russian-trained spy whale spooks Norwegian fishermen

thames

Re: Russians under every bed?

Well since the media have definitely established that it's a military while, then obviously it must be an American military whale. He's just returning from a dangerous special forces mission behind enemy lines where he infiltrated the Russian herring fishery and uncovered their devious plans.

Medals, book, movie rights, and line of sports clothing to follow after his hero's welcome in Washington.

Owner of Smuggler's Inn B&B ordered to put up a sign warning guests not to cross into Canada

thames

Re: Just waiting for the inevitable

One of the major political controversies in Canada in recent years has been the large numbers of people crossing the border from the US into Canada and claiming refugee status. Bogus refugee claims have much less chance of success in Canada than in most countries, so most eventually have their claims rejected and get kicked back out. However, the recent large numbers have resulted in a backlog in the processing system, so that may take a few years.

Under treaty between Canada and the US, anyone who tries to enter Canada from the US at a normal border crossing and claim refugee status will have their claim automatically rejected. If they cross anywhere else however, then their claim must go through the normal process, with all the appeals, etc. as defined under official international refugee conventions. Canada cannot amend the treaty with the US unilaterally to try to address this loophole.

The US claim they are powerless to stop the large organised groups (let's call them "caravans") of people who pay to be taken to roads adjacent to the border and dropped off in a very few well known specific spots to make a short tramp through the woods and make their crossing where Canadian immigration officials collect them. The Canadian border officials tell right at the border to stop and turn back, that they are crossing illegally, but of course they don't listen. The Americans are apparently not given to introspection about how their utterly supine response to this problem contrasts with their vigorous complaints about Mexico not doing enough about stopping people entering the US.

The main centre for this illegal border crossing is in the southeastermost part of Quebec, with a lesser amount happening in southern Manitoba. Both are land borders (unlike with Ontario) and close to major cities in the US where these "refugees" originate.

Some political elements in Canada have been demanding that we build a wall (or at least a fence) to try to stop them. Nobody so far has suggested that we make the Americans pay for it, but it would seem only fair if they did.

thames

Re: a victim of circumstance?

He had been promoting his inn for years as being a hotbed of smuggling. The supposed idea was to try give the place an aura of danger and excitement to give gullible people a reason to actually want to stay there. So far as I am aware there's not really anything to recommend the place otherwise, as the border area is not known as a destination for tourism.

There are allegations though that this went beyond marketing puff to actually encouraging people to use the place as a smuggling base or waypoint for illegally entering Canada.

Did someone forget to tell NTT about Brexit? Japanese telco eyes London for global HQ

thames

Canada will sign a trade agreement with the UK duplicating existing terms (CETA) as soon as the UK figures out what it is going to do, whether it is in or out. Any "gap" will be filled by temporary arrangements to make the transition seamless. This was a commitment given by both PMs following a meeting in Ottawa a year or so ago. It was also announced at the same time that this would be followed up by beginning negotiations on a newer trade deal which was more comprehensive than the existing one.

The UK has already signed a series of treaties with Canada in matters which affect trade but which fall outside of the EU's exclusive trade jurisdiction in preparation for a no-deal Brexit, and I know the same has been done with a number of other countries (e.g. Japan and others).

Canada doesn't care whether the UK is in the EU or out of the EU and has no interest in getting involved in EU-UK playground squabbles. We just know that almost half of our trade with the EU is with Britain and we want that trade to continue without interruption. I would imagine that most other countries feel the same way.

Whether you Brexit or don't Brexit, that's all up to you, we don't care. Just let us know when you've made up your minds and we'll figure out how to deal with it.

.EU wot m8? Brexit smacks fresh registrations of bloc's top-level domain

thames

Just when .eu names were making it big - in the form of spam

I've just started seeing .eu domains for the first time, in the form of spam emails with .eu originating addresses. I can't recall ever seeing a single legitimate email or a single web site outside of the .eu government using a .eu name. The entire .eu registry and domain name system could disappear down a black hole and very few people in the rest of the world would even notice (although going by current experience it seems to make a good indicator of spam for my email filters).

Who is actually using these names, and for what purpose? Are they just a form of brand localisation for marketing purposes?

Pecker-checker Becker's hacker wrecker: Saudi cyber-crew stole Bezos' sexts from phone, fed them to tabloid – claim

thames
Black Helicopters

Not the only phone hacking associated with Khashoggi murder

The CBC reported that Jamal Khashoggi was working on a project with an associate living in Canada, Omar Abdulaziz, and the two of them intended to set up a web site to publish information which would be damaging to Saudi Arabia's reputation. Citizen Lab in Toronto detected phone hacking attempts on Abdulaziz's phone and traced them to Saudi intelligence. The Saudis would have obtained detailed information about the plans of Khashoggi and Abdulaziz from this.

Shortly after the successful phone hack (and before Abdulaziz was aware of it), Khashoggi travelled to Istanbul, where he was murdered.

Following this, there were two intelligence operations directed against Citizen Lab's personnel, apparently attempting to obtain information with which to discredit them.

This is all looking very suspicious.

Sorry, Linux. We know you want to be popular, but cyber-crooks are all about Microsoft for now

thames

Re: Really?

VBScript is not the same as VB. The syntax is similar, but the former is a scripting language which can be embedded into other software, or as a shell scripting language via WSH (Windows Scripting Host). Plain VB is an application programming language, with the "classic" version producing "exe" files and using loads of COM and ActiveX objects, and the later versions being another Dot Net language (with the Dot Net version not being backwards compatible with the "classic" versions). VBScript was also used by IIS, so if you have a legacy IIS installation it may be in there somewhere.

VBScript was used as an extension language in various applications. It may be hard to get rid of simply because some legacy business applications such as accounting systems may make use of it to tailor the application for the customer. It's one of those Microsoft zombie technologies that stagger on devouring victims long after everyone thought they were dead.

Some Windows propeller head is probably going to nit pick at the details, but that's it in a nutshell.

I used it for some simple shell scripting years ago. It was absolutely wretched to try to do anything useful with.

Can't do it the US way? Then we'll do it Huawei – and roll our own mobile operating system

thames

Re: I suspect its a clone of Android

@Jaybus: The arrest of Meng in Canada was due to an extradition request by the US made just before the start of US-China trade negotiations. Trump has said that if he gets a good enough trade deal out of China he will consider dropping the charges against her. Canada itself has no complaint against her and would very much prefer not to have been dragged into the affair at all. One of the issues that has already been raised in the extradition hearing process is what is seen as the obvious political nature of the charges given what the US has already said about it.

I'm not sure that citing this case is exactly helping your argument.

Just look at Q! Watch out Microsoft, the next Android has a proper desktop PC mode

thames

Re: Nope!

Ubuntu Phone was in the game early as well, but Canonical gave up on it a little while ago. They said the reason they gave up was that having the technology working was the easy part.

The big problem was getting key app developers and phone manufacturers on board. Those demanded large up front payments before they would consider it and Canonical wasn't in a position to fork over that kind of money. That's why they binned the whole phone project, including the Unity GUI.

The whole thing is really more of a marketing and developer relations problem than a technology problem, and it requires very deep pockets. Google has both the deep pockets and the existing business connections to make it work.

I can see this rendering the Chromebook market obsolete, where instead of a Chromebook you would simply get an external screen and keyboard for your phone, possibly in the form of a folding dock. I don't think it would completely take over the traditional laptop market, but it may chew around the edges of it more than Chromebooks were able to.

Forget that rare-earth element crunch – we can now just extract them from industrial waste

thames

Re: Sounds a tad pointless?

Heap-leaching works on very large piles of waste rock to recover low concentrations of minerals economically. That is, you just pile up the rock in huge piles on a packed clay or plastic leach pad, spray the leach solution on it, and recover the water draining off the bottom. The recovered water will contain dissolved minerals which you then recover and process further to extract the desired minerals.

The process is already widely used in the mining industry for copper, gold, and other minerals. The main difficult is that if the leaching agent is an environmental hazard then you have a big problem when (if) it leaks out to somewhere else.

The process proposed here uses an organic acid which will naturally decay, meaning that leaks are less of a problem, making the mining process less risky.