04 June, 2005

Work

    Working with embedded systems a lot. I'll be making the rounds this year (Boston in September, San Diego in October, possibly more) if you'd like to get together. FCS and USPS being interesting prospects. Been looking into PC-104 as well. It's quite interesting what's actually out there and being deployed. Some of these systems are far more powerful than I would expect from your traditional SBC, and all the devices available for them are quite impressive. I think it is a natural place for Linux to be, for what that's worth. However, I think the usual Linux caveats apply.


    Specifically, I've been reading a lot about Lynux and their LynxOS-178. I find myself thinking, what's so great about a Linux which has deviated from the GNU and Linux base (eg the kernel and the gnu utils, as well as any environment on top of that)? Sure, developing in Linux is a familiar environment, even a rich one. My original start in Linux (as a developer -- as a user it was on a 486) was on a PowerMac G3 in 1999. This was very rewarding, having the guts of the development exposed to me. However, the knife cut both ways. Whenever something broke, I was presented with an uncaring community ("Well, it works on x86, if you really want to run Linux, you'll have to use something more standard than PPC"), and no readily available documentation. People like BenH were very helpful when they had time, but largely, they were busy maintaining stuff. Hollis was great, too, and then IBM snapped him up.


    So it seems to me that you get the Linux environment, but since you have strapped an RTOS layer on top of it, and you're running it on a PPC SBC strapped to the backside of a HMMWV, the prospects of available in-the-field hotfixes go away. Unless your vendor is caring. But then, what separates you from any other product? The choice for Linux is arbitrary at that point. But enough about the Linux thing.


    I've been reading _TCP/IP Sockets in C#_ by David Makofske, Michael Donahoo, and Kenneth Calvert lately, along with the gamut of ORA books on C#. I'm glad to find that most of the concepts in C# aren't anywhere near as foreign as somebody coming from Unix would think them to be. If you know several languages, moving between them takes a little adjustment, but once you get the vocabulary down, it's just expressing what you want to do in a different.. vernacular.


    Anyways, the book is both good and bad. The subtitle is "Practical Guide for Programmers." However, the first thirty or so pages actually describes how network sockets work. It then gives you a code example which doesn't (overtly) even use sockets. It's a simple System.Dns example. It then goes on to cover blocking socket operations for most of the book.


    This is just not the way solid programmers write code. Sure, lots of people write blocking socket code, but that's not the model we should try to achieve.


    The discussion just following that actually describes the usual for (;;) {} and while (1) {} constructs, which are also not even close to non-blocking. It then discusses select() and thread pools. These are seemingly difficult processes for programmers to understand. Again, I don't see why this is so hard. The available examples, however, seem to implement just that, and be quite proud about it. I find myself again wondering about the quality of our college system.


    Lastly, it gets down to Asynchronous IO, as implemented in C#. It's remarkably similar to POE, which is nice. You have a BeginWrite, BeginRead, and EndWrite/EndRead pair, and corresponding callbacks. It's a little more wordy than the state machine POE creates, but that just means if I want my own state machine for network applications, I'll just have to abstract it away a little. I'm very glad to find that C# implements non blocking IO in a sane way, and has callbacks as well. But why in the hell do all the available examples use none of it? Why is it viewed to be such arcane magic by the rest of the community? The book does somersaults trying to explain what is a very simple concept. It's the implementation that's the hard part, and that's up to the user. Not the authors. Anyways. It looks like I'll actually be able to start writing some code. I intend to have an MPICH application written soonish so that I can begin talking with customers more extensively about our cluster software. It's important to me to have written applications on the substrate that they'll be working with. I have the added advantage of being able to contact internal resources regarding anything I find that is problematic.


life

    I mentioned a week or so ago that my apartment had been filled by kerosene vapor. Following that, I sent a message to the manager of the building explaining that I had both computers (sources of electrostatic discharge) and firearms in my apartment. As such, I had hoped they could provide better ventilation next time they wanted to do that. She responded by telling me that it was a violation of the lease to have firearms in my home. I told her to pound sand, explaining that it was legal in the city, county, and state that I live in, and that I am more than adequately trained and licensed, by civilian and military organizations, as well as a member of the NRA and NRA-ILA. Sigh. I don't know why people can't just realize that in some parts of the world, guns are a part of life. I didn't provoke anyone, and I'm more than polite to all the staff in the building, and extremely cautious and safe with the firearms. There's no need for this petty conflict.


    That having been said, we had a terrific time at Quantico Shooting Club this weekend. I was very surprised how easy it was to accurately place bullets on targets 300 yards downrange. Even with a .22-250, which is relatively prone to windage, we simply adjusted the scope and fired. After some initial calibration, all four of us were on target, with accuracy from a couple inches up to a foot. This is refreshing. I had previously done a lot of shooting at 25-50 yards, but nothing out to 300. That's pretty far. We're going to slowly ramp up to 1000 yards. Probably will require a heavier gun for that. We're thinking of getting a 300 Win Mag to augment our 308 Win. I'll also need to get a spotting scope which doesn't suck eventually. I paid about twenty times what I paid for the current spotting scope for my rifle scope. I'm seriously regretting that now.


    Unfortunately, at the range, I managed to take a large chunk out of my right ring finger on a target stand. It was pretty gross and dirty, and in a field full of deer, rabbit, and other feces. It's been six years since I had a tetanus booster, so we trundled off to the ER to get a tetanus shot. Sigh. It's painful as hell. I wonder whether I'm just getting older, and that's why it's such a drag (muscle pain all over, general malaise), or whether they gave me a bigger shot, or what. I can't imagine how awful it must have been to die of tetanus. It's interesting that exactly a year ago, I was in the same hospital for meningitis. This caused some internal reflection on my time at AOL (which was pretty unhappy that I had the gall to catch meningitis from one of their employees and spend a week in the hospital for it). Also on some of the asynchronous IO code I wrote for them. Interesting how life seems to be composed of cycles of similar events.


    We'll be going to Arlington Cemetery today to see Bryan Jack. I need the exercise -- mexican food last night, scrambled eggs for breakfast -- and I'm going to take some time practicing black & white on the newer Canon. Hopefully the light will be nice. It is also important to me that we do go back to Arlington and see the monuments and fresh plots for people home from Iraq. It, sometimes rather jarringly, puts the whole situation into perspective, and the importance of what I do for a living, as well as what everyone else involved is doing. Yes Alex (the other Alex), plans are still on track. The few rolls of b&w will be developed soon, and I'll be trying to work more with both b&w and tungsten film. Probably will wind up on flickr, depending on whether they're horrid or not.

02 June, 2005

This person is an asshole.


Or rather, somebody in this photo, probably haala2@yahoo.com, or saad.rehman@gmail.com, or haalar@gmail.com, or cam45@georgetown.edu, probably all Georgetown students, is an asshole.


They don't know how to share. If you see them, please punch them in the shoulder, call them an asshole, or something. Just, you know, let them know the internet as a whole hates people like them, and maybe they should figure out how to share a network connection with others.


That will be all.


Okay, so they removed the album shortly after it was posted. They can't even share photos they uploaded on a connection they were stealing! Well, hopefully, somebody will recognize a name and let them know what bad citizens they were, and maybe they'll even get lots of spam.

31 May, 2005

recentlog


    wayward:


      Backticks are your friend. I suppose brace expansion could help you, but of course you mention the zero padding issue. The shell is nothing if not a collection of loosely coupled applications. I won't mention monad. Okay, so I did. But anyways, you're going to want to either write a small script, like "range.sh" (some platforms already have an application called "range", but it is trivially easy to write in perl or shell), and place it in ~/bin, or /usr/local/username/bin, or whatever floats your boat. Writing a function for bash may polish up your skills in bash, but I like that script too, and I might use tcsh. Or zsh. Or hell, even monad. Ack!


    Physicman:


      The french should be ashamed. But are any of us really surprised? I still remember that grey haired fellow at the UN being an argumentative and contemptuous little bastard. Sabliere? I really forget his name. At any rate, france has long opposed any progress in the world (decades now), as it has ceased entirely to be relevant to the world. Those assholes were testing nukes above ground as recently as what, 1996? In the pacific of all places? Maybe this seems a little off the mark for you, but my wife and I were planning a vacation out to the south pacific recently, when I was shocked to discover that I could "visit ground zero" at .cx. They have been thumbing their nose and generally losing relevance, as I said, for decades. Sooner or later, the world will move on. Without them. Coffin.nail.increment();


    cdfrey:


      You gotta love libpq. It is too bad it doesn't talk to other databases, but only because it is in fact so cool. Think about this for a moment, however. Postgres is in many ways different than other databases on the market. In order to use libpq with other databases, you would either have to dilute the interface, or you'd have to have vendor specific extensions. The former case sucks, of course, because you lose what makes postgres (and thus libpq) so nifty. The latter case is just as bad as the former, as I can write libpq code for Oracle that won't port to Postgres. Some example code might be worthwhile here, but all I can think of right now is C# code, and I'd probably be stoned (as in rocks, not as in bongs, folks) for it.


Work

    So, I had dinner with the Risachers this weekend. We used to spend more time with Dan, but then he got married, and had kids, and then I got married, and we both sort of moved, and got new jobs, and you know, people drift apart. How funny it is that as we have drifted apart personally, we've actually drawn closer ideologically and professionally. It's very hard to straddle the line of "just Alex" and "Alex from the Microsoft Corporation" when you are talking business over dinner. So Dan was on to this whole Windows thing before I ever was. And many an afternoon was spent with him trying to convince me that (since Windows 2000 I suppose) Windows really had a valid platform, and that my (at the time) Unix zealotry was closed minded and bigoted. Now Dan will be the first to admit, he is one of the unwashed RMS faithful. He even runs Linux on some Ultra 60's at the office (this really upset me). But here we were, at dinner, and I'm telling him how great I think C# is, and how impressed I've been with my laptop (a Tecra), and how very cool the Cornell Theory Center was. Where do you draw the line? At least once, I wanted to say "well, if you like that, I can call somebody at work, and I can set you up with free or close to free training on xyz subject". But Alex can't do that. Alex from Microsoft can, and Alex from Microsoft wasn't invited to dinner. Gack.


    Bottom line: I had been worrying that my employment here had skewed my original perspective. Talking to somebody who has been my friend for years, and being able to have what amount to the same conversations, back and forth between Unix, Windows, and Linux, reminded me of who I was back then. I don't think I've changed. I've learned a lot. But, you know who has changed? Microsoft.


    Lastly, I've been working with some coworkers on a technology demo. One of the things we're demonstrating is single sign on across Linux, VMS, Solaris, Windows, various handhelds, and other platforms I can't remember. I have been very pleasantly surprised. SSO really works. What, though, is Apple's problem? They provide the entire setup for interfacing with LDAP or ADS, and yet they stuff it away in a hard to find place where nobody will use it. With Linux, you have PAM. Solaris understands LDAP just fine. But Apple hides it away in /Applications/Utilities. A control panel^W^W preference pane would be appropriate. A domain login (okay, so maybe that's too reminiscent of windows?). Something. But it seems that where the rest of the industry is moving towards netcentricity (bzz! bzz!), Apple is trying to foist a laptop-as-island platform on us. It's stupid. And not in a cute, sleek, 1"-thick-and-aluminum kind of way.


Wikipedia

    Some people on IRC asked me to go over with them the saga of my involvement with the wikipedia. It's heartening to know that other people think the ideological (I'd really call it more like theological, it's so irrational) inertia is worth changing, but I don't see it amounting to anything.


    I've also been reclassifying a lot of the firearms pages into their own categories. Only somebody who was an unashamed gun-grabber would insist that all firearms were military devices. We recently purchased an M-14. We have plans to own an AR-15, and in Virginia, we can own an M-16. There are even a few on gunbroker. But anyways, it's kind of sad that the wikipedia is so intensely liberal.


Life

    Saw HHGTTG in the theater. It was okay, I suppose. Zaphod, as expected, was a real disappointment. Marvin was great. I think that by itself, the movie was okay. They were really faced with an insurmountable task; you simply can't make that book into a movie. It's impossible. So, I prefer to think of them as separate entities. Alone, both were enjoyable (and I read all of them before Young Zaphod Plays it Safe was published, so I have no idea if subsequent books were any good)


    On Star Wars:



    1. Ewan McGregor is 100 times the actor that whoever that Anakin guy is. He really carried the film. In the interest of not spoiling the movie, I won't give details, but I really think that the last scene was amazing. At least his part of it. I kept thinking of Renton (another book that was impossible to make into a movie), and how far Ewan had come, and what a great job he was doing as Ben Kenobi.
    2. George Lucas should not direct movies. Ever. He's not even that great an author. I think what made the movie worth watching, besides Ewan, was the luscious cinematography. I think as we left the theater, I was calling it "filmography" or something. The look and feel was incredible. Oh, except the parts where they used massive. Massive, while cool, has a certain "regularity" to it that just doesn't look real when you've got huge groups of clones, droids, or whatever. Starship Troopers, for all its terribility, had great, plausibly-moving insect critters (gosh, ANOTHER book turned movie!). But Lucas doesn't know the meaning of the word subtle. He can't just have Ewan or Samuel Jackson say "...but the children!". He's gotta show you the baby mulching happening, and then show it to you again, and then have everybody crying about it, over and over again, in order to demonstrate that somebody is evil. Oh. And just as I said about Haldeman's _Forever War_, nobody wants to read a science fiction book about Viet Nam. Well, George, nobody wants to watch a science fiction movie about Iraq. To see (gosh, it's not Anna Paquin, it's um... That one girl with the stupid hair and makeup from Naboo) say "so this is how it ends ..." and then prattle on about democracy and evil... Okay. I get the point. We just went through one of the most polarizing elections we've ever had. I get it. I didn't need to hear it again, and certainly not from you.
    3. Lightsabers. Okay, so my 1911 (a pistol for you kerryites) has this little loop at the bottom of the butt. It's intended to connect to a lanyard, so that should somebody pull on your gun, it stays connected to your body. If you're a Jedi, you know that every previous Jedi who has been killed has been killed because his lightsaber fell off a building, was cut in half, or whatever. Clip it to your belt. I'll even lend you a badge pull.
    4. Lastly, this is the first Star Wars movie that is clearly for adults. People bitched about how dark and ominous it was, but come on. We had to get from Jar Jar to the beginning of the original films, which, let's face it, were very dark. It reminded me a lot of Cyteen, even (more books?). Lots of political intrigue. You could have taken all the fight scenes out of it (especially that goddamn lizard thing on that one planet with all the droids), and rough-cut between dialogue scenes, and I still would have liked it. But, nobody's gonna make a film that is even more like that, so I'm just stuck reading CJ Cherryh. Which, really, doesn't suck.


    Cheryl, thank you very much for the steaks.


technology

    I recently read about a weapon I'd not heard of before. It's all classified, or at least the actual weapons which (may) have been built are. The principle is ingenious: you create a shaped charge which creates a plasma. Plasma is ionized, so you can essentially create a large, rapidly moving magnet with an explosive. You then direct this explosion (by way of a shaped charge) through carefully positioned superconductors. The result is a huge discharge of radiation. Not gamma rays, although that would be feasible, but an electromagnetic pulse. The nature of the weapon is that it is focused, so we don't have the problem of indiscriminate EMP warfare as we would have from nuclear weapons. Attach a few JSOW's or JDAM's configured as these new "e-bombs" to an F-18 or a B-2, and the range of the bomb (which actually glides to its target rather than drop like a rock) enables the plane to get away before the pulse is generated. The pulse is subsequently generated, lights go out, and you can mop up everything else with a BUFF. Daaaaaamn. Aside from the fact that we're talking about killing people here, the possibilities are really cool. You don't have to make an EMP. You could use such a design (which if you think about it is an explosive-powered generator) to power a laser, or many other devices requiring huge power for short periods. Imagine an ABM which contains an explosive/generator and some sophisticated targeting. You could literally launch a missile that "turned into" a powerful laser and zapped another missile. You could create enormous satellites which were capable of vaporizing huge swaths of troops or armor, burn through buildings, and so on. You could probably even use something like this for space travel. Solid propellants are somewhat inefficient, but I would imagine you could actually use a nuclear explosion in a similar fashion. Incredible.


    In other news, Lockheed developed a man-portable missile system which mimics the kinetic energy penetrator the Abrams tank uses.


    Have a look.


    What you're seeing is a 3,500mph (mach 5, give or take) missile travelling 3/4 of a kilometer, and impacting an armored personnel carrier (it looks like a Bradley or a Stryker, but I don't think that's what it is, I don't know what an "MPC" is). What is really amazing about this is the missile itself doesn't actually carry a warhead. It carries a kinetic penetrator made out of tungsten (which is slightly lighter but much harder than plumbum). You are probably seeing fuel go up, but you're really seeing the conversion of armor to gas. It's just incredible. Nothing short of the fastest missile on the planet (NASA's recent scramjets are probably faster), which happens to be man portable.


    The project was killed. So we aren't going to see these in the field. Reminds me of that gun that fired small rocket darts (a pistol) rather than bullets. Kinetic penetrators are just such neat technology.


I apologize for this entry being so long. I feel there was adequate content, and for those of you who already ignore me, it's not as if it was any harder to ignore this entry.