Posts By Mike

Technorati is Broken

You may have noticed I added a link to Technorati in the right-hand column about six weeks ago. I have removed it. Technorati is supposed to be the Google of blogs. The trouble is, it doesn’t work. I have repeatedly tried to “claim” my blog, but it never goes through. When I try to sign in, my password never works (I end up having to reset it every time I want to sign in). I’ve attempted to change my contact email address with them 3 times, and it never sticks (it keeps reverting back to the email address I initially signed up with). At first I thought maybe they were having a bad day, but I’ve tried several times over the past month or so, and I have the same trouble every time. The idea behind their site is cool, but the implementation is a disaster.

Contiki!

This is probably my geekiest post ever: the other day I finally got my Commodore 64 up and running with Contiki and RR-Net. It took some doing to get it talking to my router, but I finally succeeded. I have to hand it the the folks who developed the hardware and software for this, considering that the electronics in a C64 are less sophisticated than what you’d find in your average gas pump these days.

The web browser is text-only; it’s similar to Lynx. I haven’t used a text-only browser in years, and I found it amazing how few sites support them now. Google was the only major site I found that didn’t look like a big undecipherable mess.

For the fun of it, I’m going to try to make my C64 available on the web for a while, using the Contiki web server (my ISP doesn’t allow you to run a web server, but maybe I can sneak it through with some port switching – we’ll see). For security reasons, I’d normally never consider running a web server from my personal computer, but I figure there are probably zero “known exploits” for a C64 web server!

Here are some pictures:



The Job

It’s dawned on me that I haven’t said much about my new job yet. One of the major downsides to leaving California was giving up my job at HighWire, but I’m happy to report that I like my new job at U Penn’s School of Medicine even better. I’m in the Information Services group. I don’t have as much customer contact as I did at HighWire (which I miss), but on the technical side, there is a much greater breadth to the work. Instead of having a primary focus on just scripting, I’m doing a lot of application design and database development. My current projects are a web-based email account application system, and revamping the Med student online application process. All the tools used here are new to me – PHP, Oracle, Smarty, and some home-grown tools – so that also helps keep things fresh. I’m working in a small group of about a dozen very likeable people, so I’m making new friends too. Unfortunately, my position is funded for only one year. It looks like there’s a good chance it’ll be extended for a second year, or made permanent, so I’m crossing my fingers. I’ll find out when the budget is finalized for the next fiscal year, which will happen around the end of the summer.

The application architecture that’s been deployed here is the best I’ve seen. A typical architecture for web applications consists of a database backend, Java or CGI scripts as a middle “application” layer, a templating system for the front end, and maybe a security layer (typically handled through the web server or the application layer). The architecture here has 4 layers: 1. the database (Oracle) back-end; 2. the LDL (Logical Data Layer), which provides role-based access to the database (you define your queries in XML, along with column and row based access rules, and it’s then compiled for better performance); 3. the “WI-Engine” which serves as the application layer, written in PHP (it allows you to design your pages in an object-oriented fashion – using “panels,” “subpanels,” and “dialogs” which can communicate with each other); 4. a template layer, using Smarty.

The WI-Engine took the most getting used to, as I had to orient myself to thinking of all the page components as objects. Once you get going with it though, it’s very efficient. The LDL is cleverly constructed. Since the applications we design are for use within the School, you always run into issues such as what a student can do with an application vs. what an administrator can do with it. All those access rules are clearly defined in one place, and it’s sitting just above the database itself, so it’s quite unlikely that someone could hack through any loopholes in the application layer.

The Mike Toppa Archiving Project

I’ve begun work on a daunting task: the Mike Toppa Archiving Project. I have many shoeboxes full of floppy disks: Commodore 64 5 1/4″ disks, old PC 3 1/2″ disks, Zip disks, and a few Mac disks. These contain research papers, correspondence, software (including programs I’ve written), games, and lots of data. With my current PC, I obviously can’t access the C64 disks, and I can’t read about half the data on my old PC and Mac disks due to file format incompatibilities. For current versions of MS Office, Microsoft no longer provides filters for my old Ami Pro (word processor) and Quattro Pro (spreadsheet) files.

Aging computer files are actually a very serious, worldwide problem, as described in this excellent Technology Review article: Data Extinction. “The layman’s view is that digital information is more secure, when in fact it’s far more ephemeral…We know how to keep paper intact for hundreds of years. But digital information is all in code. Without access to that code, it’s lost…more and more of what matters to us is digitally produced, and we can’t guarantee that any of it will be usable 100, or 10, or even five years from now.” The article describes four possible solutions (see the table at the bottom of the article) but the only one that’s practical for your average person is “migration,” so that’s what I’m doing.

I mentioned in an earlier post that I got may hands on a newly developed network card and a web server for my C64. I spent some time this weekend trying to get it talking to my home network, but haven’t succeeded yet. Once I do, I can transfer C64 disk images through its web server, onto my PC. At that point, there’s a PC program I can use that will extract files from the disk images. My primary goal is to get at text I’ve written (mainly letters and research papers – I used my C64 all the way through 1992). The C64 used a variation of ASCII, so I should be able to extract the majority of the text. It would take forever to migrate the hundreds of games that I have, and others have already migrated most of the old games anyway, so I don’t think I’ll bother (you can download C64 games to your PC from various sites and then run them with C64 emulator software).

For my old PC files, I still have the install disks for the old software that can read them. But I don’t want to pollute my PC with those programs (since they’re Windows 3.1 programs, I doubt they’d uninstall properly). Maria’s old laptop is overdue for a full re-install of the OS, so before doing that, I’ve installed my old versions of Ami Pro and Quattro Pro there. I’m converting everything to rtf and csv format, which I’m hoping are generic enough to keep them compatible with whatever kind of software we’re all using 10 years from now.

The last step is to put everything on CD-Rs. I’ll go from 5 shoeboxes of floppy disks to probably less than a dozen CDs. Of course the problem there is – despite claims that they’ll last 100 years – you can actually end up with unreadable disks in as little as two years. See The Myth Of The 100-Year CD-Rom. So I guess I’ll just have to regularly make copies of them until something more durable comes along.

Wish me luck!

Phonatic.org status

Update: I ended up abandoning this project, because of lack of time, and the rise of the excellent pho-king site.

In an earlier post I mentioned a new site I’m working on – phonatic.org. My goal is to make it THE pho destination site on the web (pho is Vietnamese beef noodle soup). One thing going for it already is that there’s no competition (if you Google “pho” you won’t find much beyond individual restaurant sites and recipes). The main feature will be restaurant reviews. For the traveler seeking pho, the site will be a godsend, as there are few things that are more satisfying than a good bowl of pho, and few things more disappointing than a bad one. I’m hoping that the content will be community driven, so I won’t have to do much beyond admin once the site is up and running.

I’ve been building the site with TikiWiki, but it’s been an exercise in frustration, so I’m going to try something else. I started with TikiWiki because I was unfamiliar with CMS (content management systems) and TikiWiki was the first one I came across. I was dazzled by the massive feature set. But TikiWiki is just big and ugly. The installation requires installing the files for all the features, even if you only want to use a fraction of them – it can really eat into your disk quota. The admin screens are a maze, and it takes a lot of effort to become familiar with where all the controls are. Many of the included themes don’t really work (bad css), and it’s fairly opaque in terms of understanding the modularity (i.e. figuring out how to customize anything involves a lot of hacking). Even with the nicer themes, it also just doesn’t look very good.

So I’ve been exploring some other options. I was on the verge of installing PHP Nuke, but then I found XOOPS. XOOPS looks like it’s very lean and modular. It appears to have a slower development cycle than PHP Nuke, which is a good thing (with only a handful of new versions of the core each year, module developers have a more stable environment to work in). Also, it seems to have a smaller and more professional community of developers – there aren’t a bazillion maybe-it-works-maybe-it-doesn’t add-on modules, and from what I can see the add-ons they do have are fairly stable. Lastly, it looks like someone already developed a “reviews” module, which may save me some work (XOOPS, like most CMS systems, comes with a built-in news/articles module, but that doesn’t quite provide everything you need for doing something like restaurant reviews).

If anyone reading this knows a thing or two about any other good CMS options, feedback is appreciated, Thanks.

United Airlines Helps Your Toddler with Erectile Dysfunction

How’s that for a headline? I’m shutting down Kai’s email account for a while. I made the mistake of providing it to United for his frequent flyer program membership, and I overlooked the pre-checked checkbox about receiving offers from “carefully screened 3rd parties.” Those 3rd parties are now sending him numerous messages every day for Viagra knock-offs, blind-date services, home refinancing offers, etc. I know United’s the culprit because:

  • before I signed him up, he got absolutely no spam
  • the spam started coming right after I signed him up
  • I haven’t given his email address to any other organizations
  • I signed myself up at the same time and started getting the same messages in my account.

It’s really quite despicable.

Hopefully if the spam bounces from his account for the next year or so, his name will come off the spam lists. He doesn’t really need an email account just yet anyway.

Slashdotted

I recently came across this very cool Logarithmic Map of the Universe, which led me to learn what it means to be Slashdotted (that’s what happened to the Map site the day it was featured on Slashdot).

Welcome to the Friendly World of Computing

For the first time in at least 7 years, I unpacked my Commodore 64 (from 1982!), hooked up all the components, and turned it on. It still works. I even have the original box (the title of this entry is the slogan on the box). My motivation for hauling it out of the basement came from these two web sites: Contiki and RR-Net. The former is an OS that’s been ported to the C64 that offers a TCP/IP stack, web browser, web server, telnet client, etc. The latter is a network card for the C64.

Screen capture of the Commodore 64 game Archon

Screen capture of the Commodore 64 game Archon

 

I’m planning to get both so I can 1. get 10 years worth of data off my C64 before it finally does die, and onto my PC (I used my C64 from my pre-teens all the way through college, so I accumulated a lot of 5.25″ disks!), and 2. at least for a while, run a web server on it. It’s analogous to turning a toaster into a race car. Browsing the Contiki site, I found that someone actually built a streaming audio server on a C64. That’s just nuts. And 3. the C64 was quite a game machine in its day. Tonight Kai and I played Summer Olympics, Skyfox, and Archon. Archon is still a good game! It’s essentially the same as chess, but when you move a piece onto a square occupied by your opponent, the screen turns into a battlefield and you have to fight it out to see who gets to claim the square. There are power differentials between the different types of pieces , but it’s conceivable that a rook could beat a knight (if you have a lot of skill and luck). Kai enjoyed it as much as I did, which I guess means I’m still a little boy.

Newer Entries