October 28, 2003

Python for .NET

Filed under: Uncategorized — Jeff @ October 28, 2003 4:42 pm

I came across this project today. It’s a version of C Python that is integrated .NET CLR. It basially lets you use managed .NET classes from within Python. For example:

from CLR.System.Collections import ArrayList
a = ArrayList()
a.Add('jeff')
a.Add('was')
a.Add('here')
print a.Count

It does seemless translation of most standard Python types to the CLR counterparts. Our company is planning on moving our new development to .NET and this would provide a great way to test assemblies or do one-off jobs involving existing assemblies. Very cool!

October 24, 2003

A good argument for Open Source

Filed under: Uncategorized — Jeff @ October 24, 2003 10:14 pm

I came across this really good article as to why Open Source software is a safer thing to build your business on. It seems that the company AppGen which made some pretty popular accounting software is closing its doors. This is bad for the clients of AppGen since now they have unsupported software. However the developers are being hurt worse. It sounds like AppGen provided developer kits for $2000US which would allow programmers to build extensions to the package. Many of these developers formed businesses around building and selling extensions. Now all of a sudden AppGen has gone under and these developers can’t even generate new licenses for their clients. Sounds like a real mess and companies are cratering because of this.

If the source code to AppGen’s software were available it’s users could either maintain it themselves or hire someone else to do it. It would even open new business oportunities for developers to maintain the AppGen code so that the VARs can just stick to maintaining their own code.

We had a similar problem happen at work. We had some a simple 3rd party SMTP mailer component was used in our project that we used for e-mail notification from within the app. A little while ago we realized that this component wasn’t writing out proper dates which was causing the time stamps on the messages to be wrong in most MUAs. A quick look on the website showed that this company hasn’t updated anything in several years and sure enough, e-mailing them yielded nothing. So now we have this buggy component built into our app that can not be fixed. If this were open source software we would just fix the bug our selves. We were lucky that the component wasn’t used all that much within our app and replacing it should be easy. I shudder to think what would happen if VideoSoft (makers of the Flex Grid which we rely heavily on) were to disappear…

In summary building your application around 3rd party software is risky business and you should be very sure that the company is going to be around for the long haul or that you have some sort of plan for what will happen if they fold.

October 23, 2003

Jeff’s News Aggregator

Filed under: Uncategorized — Jeff @ October 23, 2003 9:06 pm

Release 0.9 of jnews.py (Jeff’s News Aggregator). Basically it’s a tool to pull news from a variety of Internet sources and insert it into an HTML page of your choosing (see here for my news page). It’s a very simply way to build your own custom news page with news and comics from the sites that you like. It was inspired by a similar tool written in Perl but is intended to be easier to use and faster.

October 22, 2003

More Downtime

Filed under: Uncategorized — Jeff @ October 22, 2003 5:29 pm

Wow my server has had a bad week. On Friday 17th 0530MST, I received a phone call from VSP saying that the company that provided then with connectivity and space (ZooLink) was going bankrupt and shutting it’s doors at 2030MST that evening. They offered to move my server to their backup facility which as it turns out is the basement of one of the VSP staff about 5 minutes from our house. They currently have a 100Mbit microwave link to GT downtown so it’s a bit less bandwidth for us users. Since this was a new provider though I had to change IPs which meant updating a lot of DNS entries and name server delegations.

Unfortunately because of the rush my machine wasn’t shutdown properly and it’s still running EXT2 which means my drive got a bit corrupted and wouldn’t boot in its own. I didn’t find this out until later on Saturday evening so I headed over to the colo to fix that up and while I was at it change to a kernel that supports EXT3. At this point everything seemed to be going well.

Then at about 1900MST Monday the 20th I noticed bad packet loss and high latency on the link. It turns out that a router downtown was failing and was being replaced. And then…

At 0900MST Tuesday I notice increasingly bad latency and packet losses approaching 90% at times. It turns out that several machines at VSP were being DOSS’d including my machine and Blahz. VSP thinks the attach was originating in Ontario and targeted at my server because it hosts the Calgary Linux Users Group. Grrr.

So anyways that’s why so much downtime the last few days. Just one thing going wrong after another.

October 18, 2003

Silly SSH Thing

Filed under: Uncategorized — Jeff @ October 18, 2003 3:47 pm

So for months I’ve been, on and off, trying to get my laptop to authenticate using RSA/DSA to my desktop machine but for some reason it never works. I’ve carefully generated RSA1, RSA and DSA keys and placed all the public components in my desktop machine’s authorized_keys but to no avail. Finally I came across a post today that says the authorized_keys file should be 0×600 so I tried that and it worked. Doh

October 17, 2003

The Jeff Software Map

Filed under: Uncategorized — Jeff @ October 17, 2003 8:48 pm

I finally cleaned up my index of “JeffWare” and created the Jeff Software Map which lists all of my software, in categories, with versions and the license, etc. Hopefully this should keep things a bit more organized.

Car MP3/OGG Player Almost Ready

Filed under: Uncategorized — Jeff @ October 17, 2003 2:56 pm

For months now I’ve been meaning to put my stripped down CarMP3 player computer back into my car. My old model was basically a computer that booted off a CD that contained MP3′s and enough Linux to play them. The system was in the trunk of my civic and I had 120V power running from my car dash to my trunk and audio cables/keyboard cable running from the trunk up to the front of my car. For control I picked up a PS/2 numeric keypad and the audio ran to one of those casette tape things. For version 2 I wanted to remove some of these cables.

Last week I purchased a small FM transmitter and a RF keyboard. The idea is I should be able to leave all that stuff in the trunk and just have a wireless keyboard upfront and one of my presets tuned to the computer. I also made my own OGG/MP3 player and Linux Distro for the player that has better hardware detection that previously had.

Last night I finished my jukebox / linux distro and it works so next step is to assemble the car computer and then embed it in my car (which requires a good cleaning first). JAMP is my bundled media player / linux distro and it’s available for download if you want to use it for your own stuff.

October 15, 2003

Security

Filed under: Uncategorized — Jeff @ October 15, 2003 3:55 pm

I came across a really neat story this morning in the latest crypto-gram.

It seems that there have been a few incidents of crooks ripping off banking information at ATMs but instead of the usual pulling a knife or gun on someone and forcing them to withdraw their money this one is far more sneaky. Basically the crooks installed a camera in the ceiling above the ATM that was aimed down at the ATMs keypad. They also installed another reader ontop of the real reader of the ATM. What would happen is someone would go to use the ATM and put their card in the reader which first passes through the “add-on” reader which reads and stores the account numbers. Since the real reader is directly behind the fake reader it looks like it’s working just as it always does. Now the user types in their PIN which is recorded by the camera in the ceiling. The crooks now have your account numbers and PINs which is enough information to code their own card and use that to access your account.

Here are a few stories about this sort of thing:

Often Debit Cards seemed a lot safer than Credit Cards because you have the added security of a secret five digit number to protect it from people “borrowing” your money. However when charges end up on your credit card that you didn’t make you can dispute them and it’s up to the dealer to proove that you made that purchase. With debit cards I don’t believe any banks offer that kind of protection right now. If someone steals your money with a debit card it’s gone.

There was also a neat story about a guy who installed key loggers on public terminals in 14 kinkos in New York and used these machine to capture some 450 accounts on various systems. He then used this information to create new online payment/banking accounts. This crook was caught but it gives an important message. If you do use a public terminal:

  • Assume that everything you type is being logged. It probably is.
  • Never login to any banking services or payment services like Paypal.
  • Avoid logging into anything like e-mail services.

October 8, 2003

Daemon Tools Jr

Filed under: Uncategorized — Jeff @ October 8, 2003 3:23 pm

I’ve written a really small utility, daemon-tools-jr for maintaining a service on a *nix machine. It basically runs a program in the background and restarts it if it stops. I wanted something simple to behave a bit like the daemontools package by DJB.

October 7, 2003

DJB’s Daemon Tools!

Filed under: Uncategorized — Jeff @ October 7, 2003 4:29 pm

On my server I run the usual services like apache, qmail, courier, ftpd, sshd, …. I also run a variety of web app servers written in CherryPy. The problem is I didn’t have any really good way of starting these services and keeping them running. Usually what I would do is run a copy of screen and then individually start each service and do this each time the machine rebooted but unfortunately this was slow and I often missed things. I’ve long had DJB’s Daemon Tools installed on my machine for running TinyDNS so I decided to try using that for running these services.

Here is a brief article about how I got things up and running.

Next Page »