This news item struck me as interesting and even borderline alarming – as it suggests that 18% of all traffic (and 41% of UDP traffic) on the Internet is from one attempt to poison BitTorrentnetworks worldwide: a truly extraordinary finding, but one that seems well grounded, at least on first blush.
For those who do not follow the technology: user datagram protocol (UDP) is the communications protocol used on the internet to deliver higher-speed, lighter weight communications – e.g. streaming audio (IP telephony) and video will be sent by UDP, as if you are watching live video you don’t want to recover old frames that did not get there the first time – you just skip them and move on to the next. BitTorrent uses UDP to share files – probably most often used to unlawfully spread copyright protected material but also used quite legitimately and lawful to share large files (BitTorrent is a peer-to-peer system that sees downloaders also help spread the sourced material by “re-seeding” the bits of the file already downloaded with other users).
If 18% of internet traffic is really from just from one – broken – source, as CERT Polska suggest – then plainly the scope to destroy the whole internet through congestion by deploying a few dozen similar attacks must be huge. Of course – such attacks could then be stopped by ISPs choking off BitTorrent traffic – which is perhaps what the attackers really want.
Personally, though, I’d suggest this is more likely to be some Russian gang flexing their muscles – the file which is nominally being shared by the broken BitTorrent is a movie about the August 2008 warbetween Georgia and Russia – a favourite subject for Russian crackers – who frequently mount denial of service attacks on Georgian and pro-Georgian government internet sites.
If you are a Vi user then you will know that :q closes the editor (assuming there is no unsaved edit).
Should my hex editor, Hexxed, which I am aim to give a Vi-like interface to, do the same? Currently it does not – :q instead unloads the current file from the editor but does not close the editor itself. This feels like a more natural way of doing things with a GUI application than simply closing everything but, on the other hand, it is not what Vi users would expect either.
OK, Hexxed, the hex editor I have been working on, is nowhere near being finished but it does seem to be in a good enough state to find testers.
It’s very rough round the edges but it will allow you to open, edit and save files. I have given it a Vi-like interface and I would be most interested in knowing what people feel about it – if you are a Vi user does the interface feel natural enough to you?
This site has an extensive online quiz on computer languages.
I managed just 11/75 (actually it was 12/75 but I pressed the wrong key when typing ‘Java’): a miserable 14.67%.
I missed some of the languages I use regularly yet got some I have never used, or maybe not used for close to 30 years (though I did, relatively recently, translate the Reingold-Tilford algorithm for drawing Red-Black trees from the original Pascal into C++, so maybe that helped.)
I have done almost all my development of Hexxed on a Macbook, but have now updated the git repo on my Linux laptop and run it there – some interesting differences:
the Linux app has a pleasingly retro look and feel to it – no anti-aliased fonts here
on Linux key reptitition works as expected – ie if one holds down a key the application is sent multiple key events, which is what one expects and which works well with the vi-like interface I am building
On Linux the first file open dialog is a really crude/retro looking box (think Windows 3.0), while subsequent file open dialogs reflect the system windows toolkit.
The screenshot is of a VMUFAT volume, it was my experience of writing that driver that gave me the itch that Hexxed is meant to scrtach – in particular I wanted a hex editor that would allow me to display 16 bit numbers in a given endian form and partition the memory space by arbitary block size (VMUs use a lot of 16 bit little endian numbers and a 512 byte block size). Hexxed does both of these things now, though it still has no editing facilities – just viewing.
As for VMUFAT itself: Sadly no one on LKML seems much interested in that – the first posting got some helpful comments, but since I posted the corrected code six or so weeks ago, nothing. Suppose I will have to start poking people with an electronic stick.
I don’t fancy writing masses of Action classes for each key stroke, so I will investigate/remind myself the Groovy Meta Class interface for this – but at least the key functionality problem is cracked now.
It’s a long time – over a decade – since I last used a Microsoft development tool. For what it’s worth, I quite liked Visual C++ back then, but in the middle of my subscription (in 1998 if I remember correctly) Microsoft just tore up the contract and offered me something of less use. The details escape me now but it was a formative moment – I was not willing to trust them any more and suddenly the idea of using Linux had new appeal.
Today the world seems very different. But if Microsoft have taken a few knocks and people are almost as likely to think of Apple and even Google as the enemies of software diversity and freedom, we should not underestimate its raw power in the market. Most desktops in most workplaces are still Windows boxes and writing for the mass market means targeting Microsoft’s operating system.
Not surprisingly many, probably most, of the people who are doing that are using Microsoft’s tools and compilers. That gives the boys and girls in Redmond a lot of power and they don’t have to be acting in a malicious way to have an detrimental impact – as in their refusal to support the C99 language standard. The only mantra that C is a proper subset of C++ (which Microsoft fully support) has been dead for a few years now and there are features in C99, which is the standard in general use in the Unix/Linux development world not supported in C++11 (the current standard there which Microsoft are working to support). Microsoft do support the twenty year old C90 standard but have essentially said that they are not going to develop that any further – you can read more about this here.
In response to this some C++ developers have done so far as to say “C is obsolete” – perhaps reflecting a new confidence in the C++ development world, as that language has been making something of a comeback in the last couple of years (not least because Microsoft have promoted it so heavily).
That may or may not be the case – personally I doubt it very much. But since when did we allow tool manufacturers to make that decision for us?
As I did in 1998 maybe it is time for the developers to look at the alternatives. There are plenty of industrial strength compilers and editors out there that will free them from the caprice of a company which is once more demonstrating it just doesn’t get it.