Normally on Remembrance Sunday, we remember the dead of all wars, but this one is a bit special – it’s exactly 100 years since the armistice that brought the killing phase of World War 1 to an end.
Around this time of year, there are often those who make grand pronouncements about the sacrifices those who fought made for some sort of noble goal – our freedom, the freedom of others, to defeat a really nasty enemy.
None of that applies to those who died in WW1; some of them may have felt
Austria-Hungary and Serbia fought because of the assassination of a single man. Russia fought to support Serbia; France fought to support Russie; Britain fought to support France. And Germany fought because Austria-Hungary fought. This gross over-simplification happened remarkably quickly – all of the declarations of war occurred within about 1½ weeks.
So no great debate on the aims and goals of what the war was for then.
So whilst those who fought (and in some cases died) in wars are not to blame, not all wars were fought for good reasons – certainly you’ll find it hard to find a good reason for WWI.
There are plenty of arguments to be had with the alt-right, beginning and ending with their repulsive policies. But this post isn’t about that …
I’ve encountered the alt-right’s asinine attitude to political violence before, but I was reminded about it again this morning (obviously some time ago now) with the news that someone had sent George Soros, Hilary Clinton, John Brennan, and Barack Obama a letter bomb.
Yet the alt-right would have us believe that it is the left who are more violent than the right. And both less violent than the Islamic extremists. Turns out that is not the case.
It is not even close. The overwhelming majority of terrorist attacks in the US are perpetrated by the right-wing.
The bête noire of the far right – Antifa? Never murdered anyone; in fact if you add together all of the political murders of the far left in the US over the last 10 years it adds up to 7-8 people (2-3%) whereas the far right are responsible for over 70% of the murders.
Antifa may well be more violent than you are happy with; their purpose after all is to tackle the fascists, which isn’t done without breaking heads. But they don’t intentionally go out to murder people – so don’t be taken in by the main stream media’s portrayal of them when they are busy denying that the far right (and “alt right”) are far more violent.
Even more than those evil islamic terrorists (who are pretty much the same as the far right).
Denying your own side’s violent actions and pretending it is the other side who are really the violent ones is classic gaslighting.
So an important journalist for the Washington Post is dead; he goes into a Saudi consulate and is never seen again alive.
So how was he killed?
So we are expected to believe that a bunch of “rogue killers” happened to be wandering around a Saudi consulate? And decided to kill Khashoggi?
I don’t think so.
It is possible that the “rogue killers” were Saudi intelligence operatives who killed Khashoggi. But that doesn’t qualify as “rogue killers” in the conventional sense of the term – if Saudi intelligence operatives killed Khashoggi then the Saudi government is responsible for his killing even if they specifically prohibited the killing.
That’s one rough interrogation; or did they mean torture? My instinctive first thought is “lie”; it smacks of an after the fact excuse.
Of course you could have an accidental death during an interrogation, but it is a very low probability and ultimately it is still the same Saudi Arabia killed Khashoggi.
Fight during a rendition
The latest “excuse” is that Khashoggi was killed during a fight; possibly during a botched attempt at rendition (what a government calls kidnapping). Which would seem to be balderdash.
If there was a room full of Saudi intelligence operatives waiting for Khashdoggi when he arrived at the embassy, then his death is what they intended. There may well have been a fight – who wouldn’t fight if they suspected they were about to be killed? But with overwhelming force available, if death occurred, that is what was originally intended.
So, we know that Saudi Arabia murdered a prominent journalist presumably because he was an embarrassment. After all not only was Khashdoggi an important journalist but also a member of the Saudi establishment. And it is one thing for an outsider to criticise Saudi policy, but an insider to do so is far more embarrassing,
Of course Trump is going to believe anything the Saudis say because to believe that Khashdoggi was murdered by the Saudis would require the sort of action that would put some very big business contracts at risk. To be fair to the funky-haired orange goblin, this doesn’t make him any different to most of the world’s leaders.
For those who don’t know, RFC1918 is the Internet standard that allocates the addresses used for private networks – 10/8, 192.168/16, or 172.16/12.
And in reference, specifically :-
To minimize the risk it is strongly recommended that an organization using private IP addresses choose randomly from the reserved pool of private addresses
(Apologies for the incorrect spelling above; it’s a quote from an American source)
This was reinforced to me yesterday whilst I was working from home, and I had trouble with a site-to-site VPN joining my network to work’s. As it happens there was no addressing conflict, but I had to install many routes more than should be necessary.
And I keep seeing this sort of thing; joining multiple networks when everybody is using 10/8 is a continual game of chicken – when are we going to find ourselves in conflict?
Of course there is a “fix” for this – NAT. The real fix of course is to use global IPv6 addresses even for devices and networks that will never be on the global Internet.
I have a Python script that over-simplifying, reads very large log files and runs a whole bunch of regular expressions on each line. As it had started running inconveniently slowly, I had a look at improving the performance.
The conventional wisdom is that if you are reading a file (or standard input), then the simplest method is probably almost always the fastest :-
for line in logstream:
But being stubborn, I looked at possible improvements and came up with :-
from itertools import islice
buffer = list(islice(logstream, islicecount))
if buffer != :
for line in buffer:
This code has been updated twice because the first version added a splat to the output and the second version (which was far more elegant) didn’t work. The final version
This I benchmarked as being nearly 5% quicker – not bad, but nowhere near enough for my purposes.
The next step was to improve the regular expressions – I read somewhere that .* can be expensive and that [^\s]* was far quicker and often gave the same result. I replaced a number of .* occurrences in the “patterns” file and re-ran the benchmark to find (in a case with lots of regular expressions) the time had dropped nearly 25%.
The last step was to install nuitka to compile the Python script into a binary executable. This showed a further 25% drop – a script that started the day taking 15 minutes to run through one particular run ended the day taking just under 8 minutes.
The funny thing is that the optimisation that took the longest and had the biggest effect on the code showed the smallest improvement!
If you have not heard, Steam have added a compatibility layer to Steam which allows a limited number of Windows games to run. The “compatibility layer” is in fact a fork of WINE called Proton.
Peered at from 500 metres away, Proton allows Windows software to run (or not infrequently crash and burn) by translating the Win32 API into Linux APIs, and translating the variety of graphics APIs into Vulkan. That is a really difficult thing to do.
I have taken a very quick look at the new Steam client (and “Proton” is no longer part of a beta release of the Steam client – it’s in the standard client). It works perfectly adequately, although you will have variable experiences running Windows software.
For some reason this news has captured the imagination of a number of ‘tubers who are more gamers than Linux users, which has lead to some misunderstanding :-
This is not Linux gaming; it is Windows gaming under Linux. If you have a bad experience with Steam under Linux, you are not experiencing a bad time with Linux gaming. Linux gaming involves native Linux software, and yes there is some out there.
Problems with Steam could well be down to the Proton compatibility layer with unsupported API calls or buggy usage of the Win32 API which relies on Windows behaving in a certain way for undefined parameters.
In addition problems with Steam could be due to the hardware you are running; take a game that works perfectly fine with an Nvidia card. It may behave problematically with an AMD card or even a different Nvidia card. Or the other way around.
The important thing to remember when looking at videos about Steam is that the person looking at Steam may not be the most experienced Linux user out there. That is not necessarily bad – the whole purpose of Steam is to be able to run games easily without a whole lot of Linux experience.
But they may not be understanding properly what is going on – for example the first thing I would do as a professional game-orientated ‘tuber would be to try out a selection of games with an nvidia card, and then repeat using an AMD card – just to see if things work better, worse, or at least differently.
And again, this is not about Linux gaming but about allowing easy access to old Windows titles that someone may have bought in the past.
Having used Linux for well over 20 years (yes it is that old), and Unix before that, I’m often puzzled by how scary some people seem to find Linux. Why should it be scary? It’s just a computer – you’re the human in charge of it.
Yes There Are Gooeys
(graphical user interfaces – GUIs – gooeys)
Yes there is plenty of software with a graphical user interface – I use plenty on a daily basis including a standard web browser, an email client, a password manager, an office package.
On a slightly less frequent basis there are many more that I use. Indeed providing that you accept the use of alternatives, you can find Linux software to do just about anything.
But Don’t Ignore The Command-Line
Yes, Linux has a command-line, and for those of us familiar with it, it can be very powerful. And there is no harm in learning how to use the command-line just to the point where you can follow instructions on how to “get something done” there.
Because if I have a fix for some niggle that you are having, it is easier and less error-prone to pass instructions for a command-line incantation than instructions for a gooey (and yes I have done both).
I recently put together a new PC (or mostly) and had occasion to look at what PC cases are like these days. In the end I kept my existing case, but did spend enough time looking to have certain opinions.
And they suck.
All about the glass windows to let the silly lights show through, but how about useful features?
Tool-less case panels? Or at least the top panel (to access the expansion cards).
Built-in cable runs so things (fans, SATA drives, etc) can be plugged in next to where they are installed.
On the subject of fans, servers often have easily removable fan trays; fans are mounted to a plastic frame which in turn slots into position together with power and control signals. A doddle to clean, which would be handy for a desktop workstation.
A front panel display to show fault messages during startup – firmware fault codes (some motherboards have a two-digit display but they’re optional and usually not visible when the case is closed). Post-boot it could be used for other things. If it breaks the clean lines of the case, put it behind a sliding panel or something.
Handles. And wheels.
There are probably a whole bunch more that could usefully be considered, and some of these are inherited from cases known to me (the old Mac Pro case is a good place to start from).
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.