Monday, October 20, 2008

CPOSC '08

Went yesterday to CPOSC, the Central Pennsylvania Open Source Conference. There were three talks going on at any one time, and I attended talks on: Asterisk, Blender, Android, Drupal, MozDev, jQuery and O/S project participation. All were at least good, and most were very good. I was already planning to get into JS/jQuery, and Asterisk, and now I'm thinking about Android as well (although I'm apparently one of the few attendees not standing in line for a TMobile G1).

Anyway, it was a day well spent, and I can't wait for CPOSC '09!

Saturday, September 13, 2008

Javascript

Okay, every now and then I get to be embarrassed. Many years ago (probably around 2001), I looked into Javascript, and only saw that it was a toy language, inconsistent between browsers (there were only two back then) and not worth learning. (IIRC, I fell in love with Python shortly thereafter.)

In my defense, a) there were only two browsers back then :), and b) JS was quite inconsistent between them (and possibly still is). But I've spent a few hours recently looking at JS again, and I'm seeing that it *IS* a real language, every bit as much as Python. And with add-ons like Firebug that provide a debugger and great visibility to what's going on in the browser, and jsUnit to provide unit testing for JS code, it's a full-fledged programming environment.

And while at work, we've done quite a bit with JS that's centered on AJAX and UI, we've more recently put together some prototype stuff that's looking a lot more like a full fledged application, which looks quite interesting, and as I dive in, I may well get to be involved in that.

Yup, I'm thinking it's time to shed some of my JS misconceptions, and join in the fun!

Monday, September 01, 2008

DWL-520 Wireless Woes

Got a new machine that I'm trying to setup for MythTV. Decided to put a wireless NIC into it, and ran into install problems. Followed the directions at:

https://help.ubuntu.com/community/WifiDocs/Device/DWL-520vE1

then continued the process with the directions at:

http://ubuntuforums.org/showthread.php?t=643467
http://ubuntuforums.org/showthread.php?t=606861

and still didn't succeed. Figured I'd better make a note of it, in case I ever care to try again.

Friday, June 27, 2008

Java Woes

Yes, I'm thinking back this day to the good old days of programming. Back to my C++ days. Back when, if a piece of code that you called didn't exist or wasn't available, it gave a nice, sensible link error and refused to create your executable.

Yes, I'm in an "I hate Java" moment.

We need to connect to a DB2 database. This particular database insists on encrypted connections, and because it's an IBM database, (and because they can, I suppose), DB2 insists on having client apps use THEIR encryption algorithms. Which either means using their Java runtime entirely, or messing with the /etc/java/security/java.security file in my Sun JRE install. Yup, red flags are waving, buzzers are going off. Danger, Will Robinson, danger!

So I replace the entries in java.security with IBM's classes. At this point, everything Java on my box stops working, complaining about not finding SHA-1 and/or MD5. I mean, Eclipse won't save my source files, for crying out loud. So I put the Sun stuff back, and add the IBM stuff at the end. A sample command line program that connects to DB2 now works (as does Eclipse, once again), but the same code in Tomcat 5.5 doesn't work. Gives error of "Prime size must be multiple of 64, and can only range from 512 to 1024".

After poking around a good bit further, it finally dawns on my boss, who was also troubleshooting this, that not only do we need to specify the classes in java.security, but we also need to make 6 new jarfiles available on the classpath for Tomcat (and presumably every other Java app that uses that runtime).

Which brings me back to my pining for the good old days. The days when, if I forgot a library, I got a message saying "Dude, you forgot a library", not something completely orthogonal like the above "Prime size ..." hooey.

I'm gonna go do something that makes sense, like C++. Grrrr...

Thursday, June 26, 2008

Hardy Heron and My BCM4306

It seems like every iteration of Ubuntu breaks my wireless, and every iteration requires something new to fix it. This iteration (Hardy Heron) requires the steps that can be found in this post on the Ubuntu Forums. I hate that it breaks; I love it that the forums (almost) always have the answer waiting for me when I get there.

Tuesday, February 12, 2008

Secure Wireless Proxy

After reading a Lifehacker post a while back on more secure wireless browsing, I decided to setup an SSH Tunnel + SOCKS Proxy for Firefox, including (optionally) using FoxyProxy to make things easier.

The short of it is:
  • Use "ssh -D 9999 user@server" to establish a connection to a remote server.
  • Use FoxyProxy to point to a SOCKS proxy on localhost.
The long of it is that the "-D" option causes ssh to setup a proxy server on your local box that redirects your browser requests to the remote box, then from the remote box out to the 'net. All of your wireless http transmissions will be encrypted and hence unreadable by sneaky folks in the airport (or Panera's, or Starbucks, or wherever), and your browsing will be as secure as if you were sitting on the remote box. (Not that that's secure by default, but it's at least not being broadcast all over your surroundings.)

Using FoxyProxy in this case simply makes it easier to switch back and forth between proxied and direct connections if you need to. FoxyProxy sits on the bottom toolbar in Firefox, and with a couple of clicks will let you switch between proxy setups (including a "no proxy" setup, if desired).

Friday, August 10, 2007

SQL Server Timestamp Field

It's been so long since I've had a decent Microsoft rant, I guess it must just be time. A while back, in a SQL Server database (don't laugh, the client insisted), I needed to have a timestamp for when a row is created. Silly me, I actually looked through the data type list, saw "timestamp", and thought, "Hey, that must be a timestamp!". Yeah, silly me.

The timestamp type? It isn't even a usable type. It gets set whenever the row gets updated, is binary data, and has nothing to do with dates or times. What I really wanted was a Datetime field with a default value of getdate(). Not a timestamp.

I'm so glad that the REST of my coding life, I get to be in Postgres. In Ubuntu. On Linux. Away from Microsoft. Harumph!