Home
Robin
16 February 2008 @ 05:58 pm
Today, I decided to learn XSLT  
I have to shred XML movie data from IMDb into a relational structure, for a project at work. I whipped up something using Perl's XML::Simple, because it's a simple problem, but then I figured it would be nicer if I could use standards to translate from the XML to the insert statements, especially if I could use a stream-based parser to keep memory requirements lower...as you might imagine, IMDb has a lot of movie data. So, I decided to look into XSLT, which I hear is the de facto XML transformation standard, and really awesome, if you can wrap your head around it.

Having been told, by a number of people, that it's actually a fairly difficult idea to wrap your head around, I set aside a large chunk of time to go and learn it. (I'm using the rest of that time to write this rant.) It took me 20 minutes to realize it was just a gimped version of LISP macros, and I'm embarrassed it took me that long. There's nothing conceptually innovative there; it's just a case of looking up the syntax when you need it.

I hate XML. For years and years, I saw the hype, and everyone was "learning" XML. I saw XML listed under "programming" sections in bookstores, and even on resumes. It's just a file format, people! Ever look at HTML? Now imagine that you can specify anything you want for element names between the angle brackets. Throw in a few optional headers at the top, and you've got XML. Want to specify which element names are allowed, inside of which other elements? Make a DTD, describing what elements can contain what other elements. This is not rocket science, and it's not even innovative -- LISP had the same type of hierarchical data structures, complete with a similar syntax, in 1959.

My main beef with it, I think, is that it's so godawful hard to read. Why oh why did anyone think that <name>content</name> was a good set of delimiters? Wouldn't it be clearer -- and more consistent with the underlying structure -- to use simple parentheses, like (name (content)), or even (name content)? That would be much easier to read. Less redundant. Oh noes, we have to count parentheses, instead of searching for a specific end tag! Err...except for the times when we have to count the tags too, because they're nested. Okay. It's a shame there's no hierarchical data syntax that uses that. Oh wait. Nevermind. LISP data syntax. In 1959.

And now, there's XSLT. Well, since 1999 or so. We can embed control flow into our data! Now that control flow is in the same syntax as our data, imagine the possibilities for templating: we can intersperse data and code! Surely, this is innovative. Oh, wait. No. LISP made that innovative leap in 1959, with its partial-execution macro system. (Granted, in this instance, XSL may be easier to read than the LISP macro syntax.)

I admit that it's easier to specify a tree structure with an XML DTD than it is in LISP, or actually anything else I can think of. You can do it, though. Since 1959. Because data and code are the exact same thing in LISP (wow, what an innovation!), you can just "evaluate" the data as code: If it parses, it's legit.

I'm mentioning LISP a lot because it was first. all of these things have been around, and exist in a number of other languages. Perl, Ruby, Python, ML and lots of other languages have hierarchical data syntax. SAX parsing? Every compiler known to mankind uses a similar technology, since the nearly the dawn of compilers. XPath? You have to index the heck out of your XML to make that fast, then you use -- surprise! -- relational databases to do it. The worst of both worlds: Hard to parse by humans, and hard to parse by machines!

XPath, XSLT, SAX ... they're all just libraries implemented for manipulating an arbitrarily decided "standard" syntax. There are better tools for getting each of those jobs done. It's (now) universally supported, so I suppose I'm stuck with it. That's really the only reason to use it, in my opinion. It just happens to be a very compelling reason.

So, yeah. XML is another stupid file format, amid a plethora of equally useful formats. The only thing making it special is organizational backing. Go ahead and use it, but stop thinking it's innately special somehow. Please? It's getting really old.
 
 
Robin
15 March 2006 @ 04:35 am
 
I originally posted this on the Freedom To Tinker blog article titled Nuts and Bolts of Net Discrimination, Part 2, but I figured some of you guys might want to read it as well. It's referring to the currently big hullabaloo regarding some ISP's wanting to discriminate levels of quality for different types of network traffic -- that is, make service worse for some, and better for others. A large issue has sprung up regarding motivations for voice data companies (anyone who does phone service) to severely degrade the quality of VoIP traffic -- better yet, only other people's VoIP traffic, and not their own service's VoIP traffic.

Anyway, here is my response to the article (which you can also find as a comment on the article itself):


Something that I haven't seen yet in all these talks about "net neutrality" is how the upcoming IPv6+IPSec technologies will make it almost irrelevant. At a point "Really Soon Now" (somewhere less than 10 years from now, I'd guess), nearly all traffic will be encrypted using some combination of IPSec or SSL-like technology (private, authenticated network streams). With the advent of IPv6 routing headers, or anonymous routing protocols like TOR (The Onion Router), even the final destination may be hidden from the intervening links, including the ISP's. When no one can tell what service the packets are destined for, there will be no way of doing service-type discrimination.

You could still discriminate based upon traffic patterns, of course -- like keeping track of how much data has come from which hosts for the past certain amount of time, or a smart traffic-pattern-matching algorithm yet to be developed. Right now, that would take more compute power (per packet) than the high-end routers are capable of. It would also require developing a new matching algorithm for every new P2P system that came out, which turns into a race. When P2P designers start mimicking "legitimate" high-bandwidth services like (paid) streaming radio, and the ISP's can no longer differentiate the "good" users from the "bad" ones, the system would fall apart.

Of course, there isn't really anything anyone (or anything short of world-wide cooperation, for that matter) can do to stop it from happening; it can only be slowed down. Secured streams will become more and more common, and unencrypted network traffic will go the way of telnet, rsh, and plaintext passwords. To make things go even more quickly, so far as adoption is concerned, I hear rumors (and read articles) saying that Microsoft is shipping Vista with IPSec authentication enabled by default -- in a "best effort" fashion -- on all local network traffic. It's not encrypted, and I don't expect the world will convert overnight, but it's still a huge jump-start.

Additionally, if ISP's start trying to discriminate based upon type of service, it's just one more incentive for bandwidth-using companies to set up secure, anonymous streams. Any sort of discrimination based on anything other then pure bandwidth usage is certain to be short-lived. I don't see what the hoopla is all about.
Tags: ,
 
 
Robin
20 February 2006 @ 03:09 am
Gaim 2.0 Beta2/Beta3 debian packages  
So, I wanted to install Gaim 2.0.0beta2 on my ubuntu laptop. But, I wanted to do it all package-manager like, because I'm pretty sure I'll want to yank it out and install beta3 sometime fairly soon -- like, when it's released. The putzes running Gaim are apparently Redhat-inclined folk, because they offer .rpm's but no .deb's. So, after a few hours of staring at source code and reading debian maintainer documentation, I've created my own Ubuntu Breezy .deb's for it here:
PackageDescription
gaim_2.0.0beta2-ubuntu1_i386.debGaim 2.0 Beta2 binaries
gaim-data_2.0.0beta2-ubuntu1_all.debGaim 2.0 Beta2 non-binaries: menu hooks, pics, global prefs, etc.
gaim-dev_2.0.0beta2-ubuntu1_i386.debGaim 2.0 Beta2 libraries for plugin development

You can also make apt do the dirty work for you by adding the following to your /etc/apt/sources.list file:
deb http://www.zanfur.com/ubuntu breezy-backports main
deb-src http://www.zanfur.com/ubuntu breezy-backports main
Just do the usual apt-get update; apt-get install gaim and watch the magic. Notice that the source packages are also available, if you feel like hacking at it yourself. I followed the examples in the current 1.5.0 package, so it should upgrade (and downgrade) without an issue, so long as you're running ubuntu breezy. I'll probably make a debian version for my box at work sometime this coming week, and post that too.

EDIT: I've made the debian unstable .deb's, too:
PackageDescription
gaim_2.0.0beta2-1_i386.debGaim 2.0 Beta2 binaries
gaim-data_2.0.0beta2-1_all.debGaim 2.0 Beta2 non-binaries: menu hooks, pics, global prefs, etc.
gaim-dev_2.0.0beta2-1_i386.debGaim 2.0 Beta2 libraries for plugin development

You can also make apt do the dirty work for you by adding the following to your /etc/apt/sources.list file:
deb http://www.zanfur.com/debian unstable main
deb-src http://www.zanfur.com/debian unstable main
Same deal. Point apt at it and watch the magic. Built on a debian sid system, so you'll need some libraries from unstable/testing.

Also, changed version from 1:2.0.0beta2 to 2:2.0.0beta2, because according the gaim-dev docs, the major number should increment when plugin compatibility gets broken, which makes the plugin dependencies do The Right Thing(tm).

EDIT 2006.04.06: Just compiled and uploaded the beta3 packages. The beta2 packages are still there as well.

Also, if you don't like the "these packages are unauthenticated!!!!!!1!1!11one" messages, and you'd like to trust my packages, import my pgp key into apt's keyring (gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys 6A57B07D as root). My key ID is 6A57B07D, and my fingerprint is 3914 F63C A99C 8EC1 785B 8287 1D8B D2F3 6A57 B07D.
Tags:
 
 
Robin
14 December 2005 @ 02:47 am
rambling about ramifications of technology  
Has anyone else been following the SonyBMG DRM fiasco(s)? The rootkit that is XCP, the spyware that is MediaMax?

So, I have yet to come across a web filter I couldn't simply bypass in some simple fashion. Does anyone know of a challenge? I've heard that BESS and SmartFilter, from N2H2, are really hard to get around ... but they aren't. Of course, I heard this from the programmer implementing the security for them -- he's my exfiance's father, and one helluva programmer, but apparently he doesn't know enough about networking. Comes from being a windows programmer, I suppose. (When I say he's a helluva programmer, I mean he's REALLY GOOD at what he does -- the man wrote a word processor in assembly, and was responsible for the LapLink product that oldschoolers know so well. So, although I'm kinda glib about his networking knowledge -- which is good, but not at Does It For A Living(tm) level -- please don't think I'm insulting the guy.)

You know, I've been getting inside of "locked boxes" for so long, I can't imagine a windows box being secure enough to actually prevent me from running a program I want to run on it, as long as I have physical access to it. A long time ago, I created and memorized a way to remove registry restrictions using ... any program with an "open file" windows dialog. So, I suppose, if an admin actually locked out all programs with an open file dialog box, I couldn't do anything. (Or, you know, if it was off and not bootable for whatever reason, like a password on the hard drive, or some BIOS's.) Of course, a computer locked down to that extent is no longer a computer so much as an appliance, like a POS system is -- that's "Point Of Sale", and not (necessarily) "Piece Of Shit". I have to admit that I can't get into all of those. If a computer can no longer open any user-specified files, then it's not very useful as a computer, you know?

Now, I know how to lock myself out of things. In general, I know how to make things [info]zanfur-proof. There are API's I exploit that you can disable. You can take it off the network, make sure it can't boot from anything but the internal hard drive, and lock me out of the physical box. Unless I feel like taking the bitch apart, I'm out of luck. So, library computers? Yeah, not gonna break out the tools right there, unless they're paying me to do it. (I can't count the number of times I've been hired just to break into a box that someone forgot the password of -- windows, linux, bsd, hpux, irix, cisco routers, managed switches, whatever. Haven't failed yet. Honestly, if you know where to look for the information, it's not hard, and really quite unimpressive, as skills go.) Thing is, if you lock a box down to that point, it's ... useless. If there's any computer, supposed to be used as a computer, for work or research or schooling or whatever, sit me in front of it and I'll have admin access inside of five minutes. Of course, once I have admin access, it's a small matter to find and rip out the components that are in my way.

This isn't just talk, either. Once, I was called in as a guest speaker to a class for the CAC people at the UW (that's the computer admin staff for the University of Washington), to talk on the topic of UNIX security. The instructor spoke about how they had spent the last week securing the test machine. During the time it took him to explain this, and who I was and why I was there, I sat down at the machine and got myself a root prompt. This took about thirty seconds. Not preplanned in any way, shape, or form -- but it was a very nice intro into my lecture. (I also went to jail for breaking into the UW university-wide staff and student server clusters, and the Computer Science department's server clusters, under circumstances that were somewhat less than legit. Don't be stupid; jail sucks. So does a criminal record. And the whole trial process, which I've ranted about elsewhere. Even if I am the only person I know who can honestly say he's a convicted hacker, all it means is that I was a stupid hacker.)

The reason I bring all this up is to point out that, in order to actually lock down a computer in any hard, meaningful way, you have to destroy what makes it useful in the first place. I may not be a representative slice of the population, but I happen to know a representative slice of the population. And, they know me. See where this is going? Now, SONY is attempting to lock you out of your own computer's CD copying functionality. What in the world for? It won't even stop grandma from copying a CD, because she'll just ask me to do it for her, and I can copy any CD you can play in a CD audio player. So can any linux user, and there are plenty enough of us around that almost everyone knows one of us, and knows that we're "good with those computer things". The people who actually program these protections can't honestly believe it will stop the majority, technobabble or no.

Still, DRM is a Big Thing(tm) right now. Someone explain to me how this makes sense, from a practical standpoint.
Tags: ,
 
 
Robin
12 November 2005 @ 08:39 pm
an atypical entry  
I've found that I have a hard time thinking in Microsoft. I can think in C, C++, Smalltalk, Java, Bourne, BASIC, Perl, LISP, and any kind of scripting you could care to name. But, hand me C#, VB, J, or any of the other language Microsoft has designed in the last ten years, and I just can't hack it. Well, I can, but it just seems ... the long way around. Don't get me wrong, this isn't a "Microsft is Teh Evil" thing -- the things they do well, they do quite well, and deserve credit for. I just don't get it when it comes to the .NET platform.

general wankery regarding computer language design, probably only interesting to computer programming nerds )
 
 
Current Mood: tired
 
 
Robin
17 June 2005 @ 12:55 pm
Musings on the state of intellectual property, economics, and Microsoft  
History: Back in 1982, when personal computers were just becoming a reality in the form of Commodore64's and TI99/4A's (16K of ram, woo!), there was a huge schism between two philosophies. The first philosophy, put forth by numerous magazines containing printouts of programs you could type in yourself, was that everyone who used computers was going to be a programmer and the masses would program for themselves. The second philosophy is commonly known as the "Microsoft Philosophy" (I'm not making this shit up), and basically involves a select group of people creating and selling programs for the masses.

In 1987, when I started programming, the duel was on in full force -- you could buy games, editors, and even Microsoft spreadsheet programs without having to type them in or create them yourself. You could also still find the magazines that listed programs for your typing convenience, and programming extensions were everywhere. I still remember "Extended Basic" as the first extension that made it easy for me to write programs using sprites.

Fast forward to 1992: The Microsoft Philosophy has definitely won out. People don't program their own computers, they just run programs that they buy in packaged little boxes. There is no such thing as open source, and everyone either runs DOS/Windows3 or a very expensive UNIX variant (and by "very expensive", I mean 5 or 6 digits to the left of the decimal point). There's no such thing as the world wide web yet, at least not to the common folk (it was proposed in 1989, the first browser created in 1990, crossed the 200 server mark in 1993, and it wasn't in AOL/Compuserve/etc until after 1994). Now, really, I'd rather buy software than type it in, at this point. There are BBS's for the truly leet, but most computer users don't know how to transfer data between computers using anything except floppy disks. Programming for yourself is a pretty antiquated idea -- we pay people to do that for us! And those people makes lots and lots of money.

Come 1997, we have shareware. The World Wide Web is now pretty much in full force, and we have 57.6k modems to download stuff to our 4x CDR burners, and software piracy on a consumer scale is a new thing. Cable modems are just coming out, blowing everyone's mind. With this extra bandwidth, people have discovered that they can cheaply distribute copies of useful programs that annoy you so much you pay the author to get rid of the annoying features. This whole concept dies down pretty quickly when the concepts of piracy and shareware meet and shake hands, because people realize they can pirate "full" versions of the software and registration codes just as easily as they can download the annoying version. Still, the concept of programming for fun and profit has been pretty solidly reintroduced to the world, and people start programming freeware versions of the annoying shareware utilities -- partially because they didn't want to be annoyed, partially because it's fun, partially to get back at the original authors for annoying them so much. This further adds to the death of "shareware for a living", and no one seems to miss it. This "Linux" thing is interesting news for the hardcore techies, who have heard of this really expensive "UNIX" thing and want to try it out for free. I was using Linux in 1996 (Redhat 3.0), and I can tell you from personal experience that it really couldn't do much of anything useful for an office environment.

Recently, in 2002, the term "Linux" is known by almost everyone who uses a computer (although I still come across a few who give me blank stares). We have inexpensive and highly available broadband, and now we can easily pirate the larger media as well, such as music and video. There's an influx of "pay sites", as the commercial sector has already realized the same thing the shareware people thought of: cheap access to lots and lots of people. Spam. Pop-ups and pop-unders. Script kiddies and Distributed Denial-of-Service attacks. Cell phones can access the internet now, as can PDA's, although it's expensive and crappy service. Open source projects, while typically not as refined as their retail counterparts, are getting the the point where they're (almost) effectively usable by the masses. Large companies run smear campaigns against open source projects. The bottleneck of bandwidth is, for many intents and purposes, simply gone. Network security, and computer security in general, soars to all-time highs in importance. Windows starts to be known as the "buggy" OS as opposed to the "user-unfriendly" OS that is linux (or, similarly, the "user-friendly" OS as opposed to the "stable" OS), while MacOS still keeps the mantle of "expensive" OS.

Now, in 2005, I sit at a computer at work running Linux (Debian 3.0 testing), using a kernel I've contributed patches for, playing music in a program that looks suspiciously like WinAMP (called XMMS), typing this post in a program written by someone I met in the dorms at college (LogJam, written by [info]evan), interspersed with chatting to friends over AIM in yet another open-source program (called GAIM). I realize I'm not the typical computer user, but I can play my media, run office applications, browse the web, and chat online -- all using open source applications, as installed "out of the box". The only thing I can't do so well with open source is play games. Microsoft Office is still more refined, and it still has more features (along with more bugs), but the open source office applications do what I need, and easily. Perhaps they can't do the label merging that Word can do, but it's coming.

That's the fulcrum, in my eyes: It's coming. Looking at the movement, the momentum, the inertia over the last 20 years, you can see where things are heading. Linux is becoming easier to use, more stable, more secure, and more widely supported, and the speed of these changes has been growing. Windows is also becoming easier to use, more stable, more secure, and more widely supported, but the speed of these changes has been decreasing. Right now, businessmen know that "Microsoft just works" -- Office software will work, Visio will work, any program you intend to buy will likely run on windows, and you just don't have that luxury with Linux. In another 5 years, I suspect there will be distributions whose ease of use will be refined to the point where it easily rivals Windows. In another 5 years, a much larger percentage of programs will run on both Windows and Linux, and Linux will also "just work" -- it almost "just works" now, and support gets measurably better by the month. In another five years, will Windows software have the same level of support that Linux software does? Linux support already vastly surpasses any Windows support network ever conceived, and it's usually free.

Microsoft served a very crucial role in the 1980's and 1990's: it provided programs requiring a level of corroboration that was otherwise unavailable. By gathering the programmers all under one roof and giving them a single project (and, you know, paying them), Microsoft achieved things a sparsely connected group could never even hope to achieve. Enter the internet. Open source projects, with good administration, pull from an even larger base pool of skill -- including a good deal of those Microsoft programmers, even -- can achieve something larger than any closed-source project could hope for. As the general population's programming skills go up (and they're going up, not down), open source projects become more and more effective. This is something akin to the wikipedia effect: For things that don't change over time, such as what you'd typically find in an encyclopedia, more contributors and more time means more refinement.

Of course, the wikipedia effect also has some drawbacks: it's decidedly NOT good for breaking news. Anything that has an importance based upon the time someone uses it won't work well in any sort of open-modification environment. The Wikipedia project itself protects the "article of the day" from being edited, to prevent spammers from using that opportunity to modify a heavily trafficked page with advertisements. Any new site would be committing suicide to allow anyone to edit today's news. This, of course, brings us back to Microsoft, and where Microsoft is headed.

Microsoft is competing with open source projects. Open source projects are hurting Microsoft's bottom line, and they're doing it right now. In a few more years, they will be an even larger thorn in Microsoft's side, and will continue to become a more and more gnarly thorn until Microsoft abandons the fight it cannot win. I don't say they can't win because I don't want them to, I say it because I honestly believe it's not possible. Too many people working on a competing product that costs significantly less, is better supported, and just as easy (easier?) to obtain is something that Microsoft simply cannot overcome. There's not even anyone to sue -- at least, no one that would put a dent in the competition, because the work is too widespread and decentralized. Microsoft Office, in 5 years, will not be as good a product as OpenOffice -- which runs on Windows and MacOS, as well as Linux. Every project the open source movement undertakes will, in time, be better than any competing closed-source equivalent. Wikipedia effect.

There is an exception to this: Games. Games are like news -- hottest thing on the press when they're first released, and then tossed in the archive shortly thereafter. How many games do you play today that you played three years ago? How many games did you play three years ago that you don't now play today? Games are something that are released, and then largely discarded, except for the bug fix or expansion here or there. The programmers' attention is then turned to creating the next game, that will then have the same "breaking news"-like release and descent into the "old news" archive. MMPORGS may be different, and I'm looking forward to seeing the first open-source MMPORG to see how it will do, as the worlds of an MMPORG are refined over time.

So, what's the net of all this? Well, games pretty much have to be closed-source. Except for some very extraordinary games, it couldn't work any other way. Due to the news-y nature of game releases, if a game were open source a closed-source company would take the idea and release it first. Can you imagine GNU suing Microsoft and winning? It's hard for me to envision.

Looks to me like Microsoft is transitioning toward becoming mainly a game-developing company. Console games, which depend upon proprietary hardware, and computer games, that depend upon proprietary operating systems (I'm talking about Windows, here). Open source won't be able to touch them there, because open source simply isn't any good at hitting a moving target, and game technology changes as fast as hardware depreciates in value -- which is a bit too fast. This will keep Windows sales (and piracy) high in the consumer market, because Windows will be the only OS that can run the Microsoft games. I have to tip my hat to whomever came up with that strategy, because it's a brilliant delaying tactic. But, it's a delaying tactic. It's already possible to play many (nearly all) windows-based games on a Linux machine, and getting easier every year.

So, the bottom is falling out. There are Microsoft programs with no open source counterpart, such as their groupware server product (Microsoft calls their version "Exchange"), but this will change. The bottom is not falling out from under the gaming market, and I'll bet good money that the central seat will move from Windows to the Games department over the next decade. They'll flail their arms about ineffectually and sue everyone first, of course.
Tags: ,
 
 
Current Music: Cirque du Soleil - Track 4
 
 
Robin
27 October 2004 @ 12:28 pm
Digital Fortress by Dan Brown  
Remember the guy who wrote The DaVinci Code, Dan Brown? He also wrote a book called Digital Fortress, which is a thriller about crypto. Spoilers ahead, but it was a shitty book anyway, so don't read it.

It stank. I mean, the story was okay -- it was actually pretty good. But everything, and I mean damn near everything he said about crypto is simply wrong. They're called passphrases, not passkeys. Although a passphrase is something you type in, the key is not. 64 bit keys for RSA is absurd, all keys at the time of the writing were 512 bits (which is, I note, 64 bytes), and now you don't find new keys under 1024 bits. And this just really bugged me: a 64 bit key does not have 64 random ASCII characters! It has 8 of them. I think he got his bits and bytes mixed up, because in crypto, most things are measured in bits, not bytes, unlike in computer marketing, where things are measured in some sort of bastardization of bytes. This could be forgiven, but even if you make the mental substitution, it's still wrong; not all ASCII characters are printable. (Note: I'm saying ASCII here, but I'm actually referring to ISO-8859 ... it would take 10 ASCII characters, as they're only 7 bits.)

The list goes on. The book's premise is that the NSA has a machine called TRANSLTR that decrypts anything using a brute-force method. Anything. Any cipher. The machine apparently doesn't care what the cipher is, because a brute force attack will find the key (or some key + cipher operation) that decrypts it. This is absurd. Not for technical feasibility reasons, but for mathematical possibility reasons. If you have a machine doing random transformations of data, you may very well get a cleartext message out of junk. You'd also get it out of a random stream of bits. You'd get an infinite number of them in both cases, as a matter of fact, and almost a guarantee that whatever you got would be wrong.

Oh, yeah. Email is apparently a program that is executing as it gets sent, and emails can "decide" to disappear without a trace. He called the Diffie Helman algorithm (which is a secure key creation/exchange protocol for symmetric ciphers) a cipher algorithm itself, in the same list as RSA, El Gamal, and Blowfish. Apparently, the difference between a computer virus and a computer worm is that the virus replicates and spreads, and the worm just stays on the computer and fucks it up. (Generally speaking, the opposite is true -- the thing that makes a worm a worm as opposed to an ordinary virus is that it spreads, and a virus that is not a worm doesn't actively replicate and spread, it just sits there waiting for some trigger.) The encrypted messages are scanned for viruses. (Hello? it's DATA. Like, not executable.) It's a known problem that virus scanners get lots of false positives on encrypted data, because it's just random data, and it's bound to match something nasty every once in a while. This isn't a problem, though, because you don't execute random data, because, well, it's DATA. A decryption program will not get a virus processing data unless it's specifically crafted data, targeting a specific bug in the specific program -- and the solution for that is to fix the program, not to add a virus scanner.

Oh, yeah, firewalls. Let's just leave it at he doesn't have a clue what firewalls do. If a firewall goes down, at especially in this NAT age, what happens usually is that there is zero connectivity, not unlimited.

He also claimed that this machine could break 1024 bit RSA encryption in under an hour by brute force, using only 3 million cpus. I'm sorry, no. In case people think this may be possible, allow me to explain: every bit you add doubles the amuont of time it takes to brute force the keyspace. Three million is only about 12 bits worth of cpus, and if they're the fastest on the market today they can handle no more than 32 bits worth of operations per second (that would be over 4GHz, folks). Now, assuming there is exactly zero overhead, and that every single operation actually fully tested a key (although it really takes millions of operations per key), then you could test about 44 bits worth of keys in a second. An hour's worth of this gets you 3600 seconds of this, which less than another 12 bits (the full 12 bits worth would be 212 = 4096 seconds, or 1 hour, 8 minutes, and 16 seconds). Now, we still have 968 bits of the keyspace left untouched, after an hour. How many hours is that? That's 2968 hours. In easier to understand terms, that's about 10291.397 hours, or 2.49480e291, which is a 292 digit number. It is also significantly larger than the number 1, which is more than how long Dan Brown claims this machine of his would take. Once again, bullshit.

Not impressed.
Tags: ,
 
 
Current Mood: unimpressed
Current Music: Decoded Feedback - Atlantis