August 2006 Archives

chromatic

AddThis Social Bookmark Button

A significant new part of Perl 6’s object model and type system is the addition of roles. Part of their origin is an implementation in Smalltalk (there called traits). They also solve some systemic problems of other OO systems.

Why are they useful and how do they work?

Bruno Pedro

AddThis Social Bookmark Button

What if you could use the Web as a whole as a data storage object? What if you could write simple applications that would simply live on the Web and feed from the Web?

I think the Web right now is cut down into a million pieces that don’t talk to each other properly. What you’ve seen so far is information being gathered from the edge into aggregator applications. What about using everything as a whole? No more edge and center. No more aggregators. The information will just grow organically.

This is just a simple idea right now. Maybe it will grow into something. Maybe not.

AddThis Social Bookmark Button

In case you hadn’t seen it, the US Supreme Court has upped the ante in the software patent fight. This article in The Register reviews a recent ruling by the USSC about what constitutes ‘obviousness’ in a patent. Now, instead of getting experts to argue whether a patent is valid or not, and having a judge weight the evidence, there has to be physical evidence that someone thought of it before the person who applied for the patent.

From the article:

The Federal Court of Appeals has recently used a “suggestion test” to determine whether or not a patent is “obvious”. The EFF argues that the test forces those opposing a patent’s grant to produce documents proving that even the most obvious improvement has been suggested before.

So, now is the time for all good geeks to come to the aid of there software. The first thing to do is to start blogging about every obvious invention you can think of. It doesn’t matter what it is. If you think of it, blog it. Blog everything you can. Don’t keep it to yourself, or assume everyone knows its the next step.

AddThis Social Bookmark Button

YAPC::Europe is now in full swing, with around 250 people here (or expected) over the next 3 days. Congratulations to Barbie and all the other organisers for doing a fantastic job - it’s already been a highly informative and entertaining day, and runs until Friday evening.

If you care about Perl, it’s really worthwhile to be here. With many many people who know far more than you ever wanted to know about many things.

Now, I should shut up and listen to chromatic talk about Perl Hacks Perl Hacks. He’s been talking for about 2 minutes and it’s already been highly useful for stuff I missed from the book.

Andy Lester

AddThis Social Bookmark Button

The Chicago Perl Mongers and The Perl Foundation are proud to announce the Fall 2006 Chicago Hackathon, the weekend of November 10-12, 2006 in suburban Crystal Lake, IL. It will be a round-the-clock weekend of programming on Perl-related projects with your colleagues in the open source community. Dozens of programmers from the open source community in the midwest, as well as others from around the US, will be getting together to share ideas, work on code, and move their Perl-related projects forward.

The participants set the agenda for what we’ll be working on, but Perl 6 and Parrot are already on the roster of projects. Chip Salzenberg, pumpking for the Parrot project, will be on hand to help with Parrot and Perl 6. Andy Lester will also be driving some Parrot maintenance tasks, and other midwest programmers will be working on their own projects. There’s sure to be something interesting for everyone!

Participation in the hackathon costs nothing. The Perl Foundation is even providing hotel rooms at a special rate if you want to spend the night. Even if you’re in the area for just an hour, stop by, grab a snack or some pizza and talk with other people interested in Perl. You might contribute more than you think just by talking with other programmers.

To find out more, visit http://hackathon.info. If you’ll be attending, please sign in on the Attendees
wiki page, and/or email rsvp@hackathon.info.

You can also send questions to Andy Lester at andy@hackathon.info.

Ann Barcomb

AddThis Social Bookmark Button

This week on the Perl 6 mailing lists

“My school’s punch card machines were in the same room as the TRS-80 Model I (”THE COMPUTER ROOM”). These kids today with their hula hoops and fax machines and intarwebs…”

– Chip Salzenberg, arguing in favor of lines in excess of 80-characters.

Andy Oram

AddThis Social Bookmark Button

This is a final blog in a series that began with Part 1
and Part 2. In this series I’m presenting the results
of a research project to measure the effectiveness of two mailing
lists, which will be the start of what I hope to be a larger study.

Ming Chow

AddThis Social Bookmark Button

Documentation and download are available at http://lejos.sourceforge.net/links.html. leJOS is the popular Java-based firmware for the first generation Lego Mindstorms RCX brick. This will be the final release of the firmware, and no surprise considering the recent release of the Lego Mindstorms NXT. So far as I tested, it is now compatible with Java 5.0. leJOS has been a blessing for me over the years. It was a part of my senior design project in college. I know many academics institutions still use it in programming and robotics classes. My thanks to the group’s work over the years.

Andy Oram

AddThis Social Bookmark Button

This is a continuation of a study I introduced in Part 1. In this series of blogs I’m presenting the results of a
research project to measure the effectiveness of two mailing lists.

chromatic

AddThis Social Bookmark Button

Aristotle Pagaltzis takes the anti-closure Java camp to task for lousy arguments against adding new features to Java. I’m okay with taking a strong stance about the purpose of a language (”It’s for web development!” or “It should be highly efficient!” or “It should be easy for teaching novice programmers!”), but I’ve never understood the argument against adding features because you don’t think average programmers will understand them immediately.

Designing a feature well is important (and still sadly too much a matter of taste), but there’s no useful language that can prevent bad developers from writing bad code.

Jeremy Jones

AddThis Social Bookmark Button

I took my recalled Dell laptop battery to the Post Office this morning to see if they would ship it. It turns out that it is their policy to not ship batteries in general, and not just the exploding ones. The postal worker told me, “due to everything that’s going on, a lot of our policies have changed in the things that we ship.”

UPDATE (2006-08-24 19:43): I heard back from the USPS and some types of batteries are restricted. Here is a quote from the email:

Some types of batteries are restricted from being shipped through our system. For specific information, you will need to contact the Mailing Requirements Office in your area.

Ming Chow

AddThis Social Bookmark Button

I updated my MBTA subway map created using the Google Maps API: http://www.cs.tufts.edu/~mchow/mbta_gmap. In addition to now using version 2 of the API, the most significant update is the location-based search. Thanks to the Google Maps API geocoder, you can now type in a street address, and the closest subway station will be returned with approximate distance (a black polyline from your address to the station will also be displayed). For example, try ‘161 College Avenue, Medford, MA’ –the Computer Science department at Tufts.

Now if you are really brave, you can also get a list of the 5 closest subway stations based on your IP address. In many cases, it is inaccurate. I am using hostip.info as my IP geocoding source. If you know of a more accurate source (preferably free), please let me know.

Chris Tyler

AddThis Social Bookmark Button

The development version of Fedora Core will now install on and boot from a USB drive without any initrd magic or special installer options. I’ve been testing with a USB-connected IDE drive, but look forward to using this feature with a USB stick (”thumb”) drive. A 4 GB USB flash drive — with a street price under $100 these days — can comfortably hold a no-compromise desktop installation (Gnome, Firefox, Evolution, and OpenOffice included) with half the space free for user data.

Jeremy Jones

AddThis Social Bookmark Button

Since around May of 2005, my household has purchased three laptops from Dell: one Inspiron 9300 for me, one Inspiron 9300 for my wife, and one Inspiron 6000 for my daughter. About a week ago, I heard of a massive recall effort by Dell regarding potentially explosive batteries. I dutifully powered my laptop off, popped the battery from the bottom of it, and checked the serial number. It was fine. When I got home, I did the same thing to my wife’s laptop. Hers was fine as well. Finally, I checked my daughter’s laptop. BINGO! We have a winner! (Wasn’t there a Murphy’s law about always finding something in the last place you look for it? I guess that doesn’t apply here…)

With battery in hand, I brought up the Dell battery recall website and entered the serial number into the appropriate fields and hit the “Submit PPID Number(s)” button. It just brought up the same page again. After about the fifth time of doing it, I realized that my script blocking Firefox extension was doing its job all too well. After enabling javascript on the page, I saw a message that said something to the effect that I needed a replacement battery and should proceed to fill out some information so they could ship me one. That was August 17.

On August 21, I received an email stating that the battery had shipped. On August 22, the battery arrived. The whole process was much more painless (with the exception of the javascript glitch) than I expected it to be.

However, in the instructions that I received from Dell, I am told to put my old battery in the box they sent and mail it back to them. I didn’t notice a hazardous materials stamp on the box. Nor did I notice a “Caution: exploding battery enclosed” label to affix to the box. I don’t want to be alarmist here, or raise false concern, but is this really responsible? Haven’t some of these batteries exploded/caught flame while the laptop was not powered on or plugged in? This just seems a little concerning to me. Does anyone else have an opinion on this? Am I worrying too much? Should I just send it and let the US Postal service worry about it?

Jeremy Jones

AddThis Social Bookmark Button

When I’m working on a Django project, I typically open all of my python files (settings.py, urls.py, views.py and models.py) in a single vim instance. All of my projects to date have been simple and only have a single app. When I start working, I fire up a terminal session and type:

vim urls.py settings.py {{app}}/views.py {{app}}/models.py

Being the lazy type, I just created a zsh function to do that for me:

djvim() {
vim settings.py urls.py ${1}/views.py ${1}/models.py ${1}/templates/*html
}

Now, all I have to type is “djvim {{app}}”. This will also grab all of my htmlish files, which I usually have on a separate virtual desktop altogether (obviously in a separate vim instance), but I’m going to try this approach and see if I like having everything all together. But the main point is less typing to start working on a Django app, which is a good thing.

Andy Oram

AddThis Social Bookmark Button

Mailing list membership is a must for anyone who works with
complicated computer technology, such as a programming language, a
server, or a professional software package. On popular mailing lists
for difficult topics, such as Linux distributions, messages stream in
at every hour of the day and night.

How many messages on these lists get satisfactory answers? How long
does it take to resolve the questions? These are just two of the
simpler ways to measure a mailing list’s effectiveness (we will
encounter others as we proceed).

In a series of blogs I’ll present the results of a modest research
project of mine to measure the effectiveness of two mailing lists,
which will be the start of what I hope to be a larger study.

chromatic

AddThis Social Bookmark Button

In an otherwise completely unrelated weblog post, Rich Bowen made an excellent point that, by effectively forking Apache httpd documentation in 1997 (or whenever), developers and administrators are duplicating a huge amount of work.

If we could get all of these documentation writers to participate in some small way in the actual Apache web server documentation project, contributing howtos and documentation patches, as well as correcting their own misconceptions, imagine the wealth of howtos and documentation we would have now.

But, instead, we have 48,000 howtos that tell you that authentication requires .htaccess files and “Limit GET POST” blocks. The sheer enormity of wasted effort staggers the mind.

If only obsolete software expired.

(As I write this, a fan slowly dies to my left in an ancient P3 server running Red Hat 7.2 — a year obsolete when we put it into service.)

Curtis Poe

AddThis Social Bookmark Button

You frequently hear talk about how “Perl doesn’t scale” and “Perl is write-only” and there’s a bit of truth to that. You see, many programmers are still writing Perl 3 code. Now that might seem strange because people still talk about seeing Perl 4 code, but Perl 3, released in 1989, renamed in 1991 to Perl 4 to ensure that the first edition of Programming Perl could easily document a particular version. It was a convenience for the users of the language and not really a major upgrade of the language. So basically, Perl 4 code is Perl 3 code.

Perl 5 was released near the end of 1994 and it was a sweeping change to the language, making it a truly useful tool for building large code bases, including object-oriented programming. Unfortunately, many of its features designed for making Perl a scalable language didn’t catch on for a while due, in part, to so many people being used to Perl 3 syntax. Even to this day, I still get email from people asking why their code doesn’t work and I see Perl 3 code. Such code tends to be poorly organized, harder to read and, no surprise, doesn’t scale well and tends to be “write-only”. So stop writing Perl 3/4.

AddThis Social Bookmark Button

Greetings all. I thought I’d start by introducing myself. My name is Jason Cole. I’m the author of O’Reilly’s ‘Using Moodle’. It’s a how-to guide for teachers on using the world’s most popular open source course management system. I’m also the project leader for the UK Open University’s Virtual Learning Environment initiative. We’re rolling out Moodle as our primary online course delivery system for our ~200k students.

I’ll be posting about Moodle, open source in education, working with open source communities within a professional environment, and whatever else I happen to think of. I’ve set myself a goal of posting at least once a week.

I tend to see things from a user perspective, rather than a programmer. While I’ve written code professionally, I’ve spent most of the last few years working with teachers to improve their teaching using online technologies. I hope to bring that perspective to the discussion and maybe give a few people some new ideas for developments.

Back soon.

Jason

Jeremy Jones

AddThis Social Bookmark Button

I was glancing on Digg this morning and noticed a story about the latest Ubuntu xorg-core update breaking X. My initial thought was, “Well, isn’t that lovely? I just installed that but haven’t restarted X to see the breakage.” Fortunately for the sake of my laziness, the story links to a Ubuntu forums post that tells how to fix the problem. Basically, downgrading to the previous xorg-core package and (re)starting X will fix the problem. The command for downgrading is:


apt-get install xserver-xorg-core=1:1.0.2-0ubuntu10

I am writing this post on the previously afflicted laptop, so the suggested fix really works. After reading the post (but before applying the fix), I decided to restart X to see how badly it was broken. And the result is that it was broken pretty badly. After downgrading xorg-core, X started up right away. Now I have an annoying, “update to the latest version of xorg-core” on my panel. I imagine that Ubuntu will roll a new release out shortly since the breakage is on the front page of Digg.

Jeremy Jones

AddThis Social Bookmark Button

I’ve read what appear to be two first-hand observers blogging about a statement Guido made to the effect that Django is “the” web framework. I found the first one on this site. Color me dense, but I can’t figure out for sure who posted this. It looks like maybe Greg Wilson, but I’m not sure. The next post was from Titus Brown. Both posts included that Django would not be included in the standard library according to Guido . The third-bit post went on to say that Guido hopes that Django and TurboGears will merge.

What does all this mean? It means that more people will likely begin their Python web development journey with Django now. It also means that more seasoned Python web developers who haven’t used Django will likely give it a peek. This may secure Django’s position as the number one Python web framework (if it’s not there already)….but temporarily. I really doubt that, though. The meat of all this is that it’s more publicity for Django, which is a good thing for that project.

But Django can’t forget that it has formidable competition. TurboGears is perhaps the most impressive competition that Django has. Kevin Dangoor of TurboGears posted a couple of days ago about Guido’s observed “announcement”. This is, in my opinion, the pivotal statement in Kevin’s post:

TurboGears has a collection of APIs and idioms that I think make it great fun to work with, and I know others agree with me. Django has its own collection of features that others like working with. That’s fine by me, and it’s not likely to change any time soon.

Kevin recognizes that there’s room for alternatives in the same space that he’s working in. But he spends a fair number of words in the same post discussing TG’s “collection of APIs and idioms” and how they make TG a more than viable alternative to anything that’s out there, whether Python-centric or not. And I have to admit that what is going on in the TG community sounds exciting. And Kevin was quick to state that a merge between TurboGears and Django is “not very likely”.

So why did Guido state such things about Django and TurboGears? Some have speculated that Guido is concerned that the fragmentation in the Python web framework space makes any Python solution a less appealing alternative to Ruby on Rails. I really doubt that. I think more than likely, Guido was just expressing his own opinion of Django and what should happen between Django and TurboGears.

My take on having a Django and TurboGears around as automonous projects is that it is a good thing for the Python web community. Each one will spur the other on to further excellence. As many of you know, I am a satisfied Django user who formerly was working with TurboGears. But I am more than happy to see TurboGears excel. If TG is doing something innovative that Django is not (which should be included in the framework), it will be just a matter of time before Django adopts it. And the converse is also true. Django is excellent. TurboGears is likewise excellent. Django is arguably dominant at the moment. But an open source project does not maintain its dominance by riding the publicity of glowing proclamations from very public open source figures; they have to keep working for it. And it looks like Django and TurboGears will each provide one another with more incentive to work for a more excellent product.

Sam Griffith

AddThis Social Bookmark Button

Over on SUN’s ZFS web site, you’ll find an interesting little article about ZFS snapshots…. (notice the screenshots) ;-)

http://blogs.sun.com/roller/page/timf/20060523

I think you’ll find it similiar enough to confirm that OS X Leopard will have ZFS as it’s main file system. All I can say is “Awesome” Read more about ZFS to see why I’m so excited about OS X having the most advanced file system ever.

Since I took so long to write this several people beat me to the punch on posting. (I started it on 8-8-2006 and got sidetracked with some work things and didn’t post it) The following is my favorite although I don’t agree with the consclusions he comes too.:

http://arstechnica.com/staff/fatbits.ars/2006/8/15/4995

And here are some more…
More about ZFS available at these links:
http://www.sun.com/2004-0914/feature/

http://www.opensolaris.org/os/community/zfs/whatis/

http://blogs.sun.com/roller/page/ahrens?catname=%2FZFS

Screencasts of ZFS in action available from this page:

http://www.opensolaris.org/os/community/zfs/

Andy Oram

AddThis Social Bookmark Button

You can hardly peek into the discussions of operating systems today
without the claim being thrust in your face that virtualization is the
most important technology in the field. That should bother people who
are interested in operating systems. I say this because, from what I
hear, the value of virtualization is directly proportional to failures
on the part of operating systems.

Virtualization is said to ensure security by walling off applications.
It’s being promoted to improve performance with large server
applications. And it multiplies the range of available applications
by letting a user run different operating systems.

Therefore, I conclude, virtualization would be almost unnecessary if
operating systems were sufficiently secure, if they could efficiently
support several large applications at once, and if they offered all
the features and applications people wanted.

As an IBM VP told me, the original impetus behind virtualization was
to let mainframe programmers run test and production versions of their
software on a single system for cost savings. I can understand why
developers want to isolate test systems, and why a hosting service
might want to provide the illusion of a fully dedicated system to
different clients. But virtualization is going way beyond such uses,
and being touted for benefits that a good operating system should
offer.

Having vented all this, I’ll move on to discussing two of the many
virtualization companies that came to LinuxWorld Expo in San
Francisco.

chromatic

AddThis Social Bookmark Button

Shlomi Fish’s Which Open Source Wiki Works For You? is a popular guide to selecting a wiki. Of course, it’s two years old and not getting any fresher. Shlomi just let me know that he’s written a followup: July 2006 Update to “Which Wiki”.

Curtis Poe

AddThis Social Bookmark Button

These days it seems like everybody and their dog wants to create something like Ruby on Rails. While there are a number of competitors out there, the only one I have any experience with is Catalyst, written in Perl. I had a commit bit on that project once and it looks really promising, but it’s “some assembly required” (or at least, it was last time I checked). It has an overwhelming number of options and tries very hard to not tie your hands at all. It has a great dispatching action, but in the end, if you’re new to Catalyst, or worse, new to Perl, the number of different options and how to hook them together can seem daunting. Once you get them working, though, Catalyst is pretty fun.

For various reasons, I’ve moved on from that project, but the idea of “just get it done” is very appealing to me. Since I’m primarily a Perl programmer nowadays, when I saw that Jifty had been released, I was pretty excited. I know Jifty’s primary architect, Jesse Vincent, and have a lot of respect for him, so that helped me be excited even though Jifty is yet another web application framework. (It’s also worth noting that Jifty is put out by the makers of RT, a very popular request tracker, so these folks know a good thing or two about progamming.) However, Jesse might not like me mentioning Rails and Jifty in the same blog post since Rails isn’t even mentioned in the Jifty docs. To be fair, Jifty is not a port of Rails and doesn’t pretend to be. It’s just your basic AJAXified full-stack continuation-based Web Application Platform. Hmm, how can I make this not boring? I know, I’ll write this blog entry while I work through the tutorial. Something has to break, I’m going to do something stupid, or some other problem will arise.

chromatic

AddThis Social Bookmark Button

Bleadperl pumpking RafaĆ«l Garcia-Suarez (that means the person with final authority over the development version of Perl) has released Perl 5.9.4. perl594delta shows the immense list of changes since Perl 5.9.3 — including impressive enhancements to the regex engine, more improvements in Win32 support, the underpinnings of a Perl 5 to Perl 6 translator, and a few more features backported from Perl 6 (including my favorite, DOES().)

This is a development release, so it can benefit from your testing your modules and programs on various platforms.

Jeremy Jones

AddThis Social Bookmark Button

I’ve installed and played with xgl and compiz in the past, but decided to not keep using them for various reasons. I recently installed and set up xgl/compiz again, and will probably keep them as my primary X environment. I configured xgl/compiz so I can select them from my list of sessions in gdm. Here are my experiences so far.

Setup was relatively painless. I installed the xserver-xgl and compiz packages from the Ubuntu repository. I then created a file /usr/bin/startxgl.sh with the following contents:


#!/bin/bash

Xgl :1 -fullscreen -ac -accel xv -accel glx:pbuffer &
DISPLAY=:1
gnome-window-decorator &
compiz gconf decoration wobbly fade minimize cube rotate zoom scale move resize place menu switcher &
xmodmap /usr/share/xmodmap/xmodmap.us &
exec gnome-session

And created a file /usr/share/xsessions/xgl.desktop with the following contents:

[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Comment=Start an Xgl Session
Exec=/usr/bin/startxgl.sh
Icon=
Type=Application

I didn’t need any modification to my xorg.conf file. The last time I tried xgl/compiz, I recall needing something like this my xorg.conf:

Section "Extensions"
Option "Composite" "Enable"
EndSection

When I tried putting those lines in this time, it was unusably slow.

Performance initially seemed abysmal. Rotating the cube of desktops around, switching between apps, maximizing apps, and doing the expose-like “scaling” were all miserably slow. I noticed that I had “direct rendering: No” when I ran glxinfo. I assumed that this was the cause of the poor performance. Since xgl is designed to make use of OpenGL, I figured that direct rendering could only help. I then looked around the web and found indications that xgl doesn’t use direct rendering. One of my co-workers (thanks, Tony!) recommended that I muck around with the speed settings in gconf-editor. I tried it and performance is mostly tolerable now. Hopefully, this is something that will be improved as the project presses forward.

Video playing performance is still not on-par with my non-xgl X server. I can’t play a 960×544 xvid encoded avi full screen (1920×1200) without it getting really choppy. I’ve tried vlc, xine, totem, and mplayer. All of them play it fine at its native resolution, but not at full screen.

One of the drawbacks to using compiz is that I lost some of the metacity goodness I’ve gotten used to. For example, many of my keyboard shortcuts just don’t work. Some of the standard ones do, like Alt-F4 to close a window. I have Ctrl-Alt-b and Ctrl-Alt-e mapped to launch firefox and sylpheed respectively, and those still work. However, Alt-r to launch the “run application” dialog and Alt-t to launch a terminal don’t work. But, keyboard shortcuts for some things are configurable in gconf-editor, so I can see that Alt-F2 is the compiz-defined shortcut for launching “run application”. So, for tasks that have a keybinding in compiz, I can either adapt to their “new” keybindings, or I can reconfigure them.

“scale” seems a little buggy. As I mentioned earlier, “scale” is xgl/compiz’s expose-like (from Mac) functionality. When I scale back all applications on all desktops and then click on one to bring up, I often do not receive the desired result. When it doesn’t do what I think it’s supposed to do, it just brings back up the application that was already in front. Sometimes “scale” is just touchy and you have to keep your cursor over the desired application for a few seconds to make sure it is highlighted, and then it will work. Other times, even if you pause, it still doesn’t work.

Anyway, I think this is making great progress for *NIX desktops. Hopefully all of this will be hammered out by the time Ubuntu Edgy ships.

Curtis Poe

AddThis Social Bookmark Button

It’s the bane of many a programmer. The bug is reported, users are complaining, but management says “it’s too expensive to fix”. The basic idea is pretty simple. Customers running OS X start complaining that your software keeps crashing whenever they access certain features. Management sits down and figures out that they’re losing $1,000 a year because of this. They then get an estimate of how long it will take to fix and they hear 20 hours. However, that doesn’t include the overhead of project management, testing, delivery, etc. They do the math, and realize it will cost them about $9,000 to solve this problem, or 9 years to recoup their investment. That’s $9,000 they can’t spend elsewhere. If “elsewhere” is likely to generate more revenue, then they’re losing a heck of a lot more than $9,000, so they figure it’s not worth the money to fix.

Now right off the bat, this argument has merit and it should not be dismissed lightly. If you have limited resources you have to sit down and figure out how much money is in the piggy bank. However, while it often has merit, it’s also often wrong. There’s one area which this ad hoc analysis doesn’t consider: people. When you forget about people, your results will be wrong. So now that you know how “too expensive to fix” works. Let’s see why it’s so often wrong. The problems lie in three main areas.

  • Broken windows
  • Employee morale
  • Fast food restaurants

AddThis Social Bookmark Button

I suppose an introductory post would fit, given that this is my initial blog entry. Without any ado, I’m Justin Troutman, from the greater Charlotte metropolitan area of North Carolina. I’m a maturing cryptographer, which essentially equates to the fact that while I practice it, I’m still immersed in the incessantly extensive theoretical nature of academic cryptography. I tend to focus primarily on the cryptanalysis of symmetric primitives, such as block ciphers, as well as MACs, or message authentication codes, built from block ciphers. In fact, I’m a MAC-zealot, you might say; it [authentication] is an aspect that I advocate quite often.

For the past couple of years, I’ve taken an exceptionally passionate interest in cryptovirology, which is an intriguing sub-genre of cryptography that involves the offensive, malicious application of cryptographic primitives in adversarial attacks. (It is, in itself, an infantile field, pioneered by Dr. Adam L. Young and Dr. Moti M. Yung - two cryptographic luminaries, respectively.) I’m in the midst of conducting some original research concerning cryptovirological information extortion, and the implications of game-theoretic, arbitrated protocols for shifting trust, ensuring fairness, and establishing formal notions of security, such as IND-CCA2 and INT-CTXT. The most practical facet of this research is an efficient, MAC-based cryptovirus.

Recently, I gave a lecture on cryptovirology and game theory, at Duke University, for the TIP (Talent Identification Program), which is basically an opportunity for young folks, in the middle school to high school range, to be exposed to a plethora of subject matter. I was incredibly pleased with the response of the students, and it sparked my enthusiasm for preparing cryptographic material with an aim towards that audience, as well as the layman-oriented population in general. As such, I’ve been experimenting with an informal style of writing about cryptography, in such a way that casually introduces readers to aspects of cryptography that aren’t covered in the general media; it’s intended to inform the layman, while containing material that even a seasoned cryptographer would appreciate. There’s a large gap between the academic community and the layman community; it’s this gap that I’m trying to close, even if just a little.

Departing from all the crypto-jive, I suppose I could say a little about the non-cryptographer in me. I’m a native of Gastonia, North Carolina, which is strongly evidenced by my unmistakably deep southern Appalachian accent and dialect, and I spend a considerable amount of time exploring this state that I love most, whether it be fly fishing, hiking, skiing, snowboarding, or letting my Sony capture what one’s eyes capture the best. Oh, and my master-of-19-instruments best friend is teaching me the mandolin. It will complete the Southern me. I can already tear up the Andy Griffith theme song.

Perhaps I shouldn’t admit that I’m a hardcore UNC basketball fan, since I lectured at Duke recently, but I can’t help it; if you’re raised to love the lighter shade of blue, you’ll understand what I mean. I like my orange too, though - Tennessee football, that is. To cap off my sports interests, I’m becoming more and more proud to admit I’m a Cincinnati Reds fan, now that they’re having a decent season. However, Barry Larkin’s departure was the end of the Reds generation I grew up with. I’d like to see them build a team that can do what they did in ‘90.

Anyhow, that about sums it up for now. If you’re so inclined to see what I’m up to, you can peruse http://www.justintroutman.org, which essentially points to http://www.extorque.com - Extorque, from which I consult on matters cryptographic and perform cryptanalytical research. It also houses links to articles and academic papers pertaining to cryptovirology and various other cryptographically-focused things. My blog entries will cover things of this nature, and I’m certainly interested in what you folks would like to see discussed. I’m relentlessly strict about good cryptography, and prefer a no-nonsense treatment of security, so I welcome the most critical of feedback.

Until then - cheers, from the humid Carolinas!

Andy Oram

AddThis Social Bookmark Button

As I write up the first day of LinuxWorld Expo in San Francisco (tutorials, no exhibition), I detect a flurry of jockeying and adjustments by companies in recognition that 1) open source is successful, 2) open source is here to stay, and 3) perhaps most powerfully, open source advocates won’t give up agitating for what they want.

A lot of talk was generated in the week before the expo by the Intel announcement that they were releasing an open source driver for one of their advanced 3D graphics controller chips. At the same time, Sun let journalists know that they would provide an update to their plans to open-source Java. I also received two or three emails and phone calls a day from companies announcing that they were open-sourcing their products or creating new open-source products. Since companies that have made this announcement in the past don’t seem to be folding up and dying just to satisfy cynics, I see open-source business models as a growing trend.

Jeremy Jones

AddThis Social Bookmark Button

snippetsEmu is perhaps the coolest vim plugin I’ve ever used. In the words on its vim page, snippetsEmu is “[a]n attempt to emulate TextMate’s snippet expansion”. I first stumbled across snippetsEmu by reading the “using vim with Django” page. In addition to using all of the snippets on the “using vim with Django” page, I’ve created a number of my own, such as generic class, method, and function declaration snippets, and some Django-specific model and template snippets. It’s already an incredible plugin, is getting better all the time, and appears to have some plans for the future. I highly recommend looking into this if you’re a vim user.

Bit-Man

AddThis Social Bookmark Button

Ovid, a well known one to the Perl community for his modules on CPAN shows us his beginnings, history, Perl 6, the Perl Hacks book more of its genius and commitment to the Perl community.

chromatic

AddThis Social Bookmark Button

Fellow Portland Perl hacker Chris Dawson has just uploaded the OSCON Roundup podcast to the PDX.pm podcasts archive. On Wednesday night, 09 August, the Portland Perl Mongers shared their new knowledge and experiences attending, volunteering, and organizing OSCON 2006. There are several good nuggets of information there.

Kevin Shockey

AddThis Social Bookmark Button

Three years ago I remember sitting in a session, one of many, and thinking how cool it would be to be a speaker at OSCON. I mean seriously, OSCON is the best software conference in the world, who wouldn’t want to be a speaker? As speaker, you join an elite group of software enthusiasts and it looks great on your resume (not to mention the great parties…). I’ve been fortunate to realize my dream for two years in a row now. This year was a dream come true as I was able to provide not only a session, but a tutorial as well. I’ve really appreciated the opportunity, and thank everyone who attended my talks. More importantly, I thank my co-presenter Joseph Hill. Without his contributions and technical expertise, my dream would have never materialized.

So while I’ve been able to realize my dream, I see myself in ma