There is usually more than one way to accomplish this task, but I have struggled with how to create a scheduled ftp job in Windows for a long time.
I recently ran into a problem which forced me to figure out how to create a scheduled ftp job. I needed to post results from my fantasy football league draft to a website so the slackers who couldn’t be at the live draft could more easily follow along and know who had been drafted so far. The software I use to conduct my draft (FFLM) can automatically generate HTML reports after each pick. I needed to create an FTP job that would take those HTML reports and post them to a website for the remote drafters to see. (more…)
September 19th, 2006
I am a big fantasy football guy. I have been playing fantasy football since 1998 and have done pretty well over the years. However, at the beginning of each season I struggle to find a team name worthy of my future league champions.
Try it now!
Because necessity is the mother of invention (and because I’m a geek), I started a project to build my own fantasy football team name generator using PHP. I wouldn’t consider myself a programmer of any particular merit, but it was a pretty easy task even for a beginner. (more…)
August 10th, 2006
One of my major projects at work the last few months has been to get the Oracle Product Lifecycle Management (PLM) tool up and running. Oracle PLM has also been known as Advanced Product Catalog, but the PLM name seems like it will stick. (more…)
July 19th, 2006
The company I work for is changing cell phone providers so I get to choose new cell phone. What a frustrating process! I was extremely disappointed with the cell phones I had to choose from, and they were all the latest models. Today’s cell phones seem to be trying to be the one true convergence device. I don’t want a convergence device, I want a mobile phone.
Here are my requirements for a good cell phone:
Must have features
- Make and receive calls
Most of my phone calls on my cell phone are relatively short and to the point. It’s not my only phone, as I will use a landline if one is available. However with the long distance deals and nighttime minutes, I occasionally use it to talk to far-flung relatives.
- Storing phone numbers
I don’t have a million contacts; I’m not a salesman nor a socialite. I have anywhere from 30-60 names of friends, family, and co-workers along with their phone numbers programmed into my phone.
- Clock
I don’t wear a watch, so when I need to know the time of day, I look at my phone.
Optional features
- Bluetooth
It would be nice to have this capability to make a connection to my computer to transfer files or edit my contacts. However, my commute is only about 20 minutes, so a bluetooth headset isn’t very practical. Since bluetooth has more capabilities and seems more widely supported now than infrared, bluetooth would be a nice to have for my cell phone.
- Text messaging
I rarely send text messages; I average 5 to 10 text messages per year, mostly replying to text messages from my little brother. However, I have sent a couple messages surreptitiously during long meetings mainly to relieve boredom or to tease another coworker who is stuck in the same meeting.
- Camera
This is a very optional feature for me, but camera phones are ubiquitous now. I have very little occasion to take pictures with my cell phone — I have a regular camera for that. However, if I were in or witnessed a car wreck, a camera would be nice to have. If I were shopping for a house or car without my wife and wanted some pictures to show her when I got back, a camera would be nice to have. Unfortunately, the reasons for having a camera on my cell phone aren’t very compelling, so it would be a feature I’d be willing to lose, especially since the camera features tend to require extra buttons, size, and weight.
Useless Features
- Video Camera
I don’t need to take crappy 15 second video clips with my phone; I can’t even imagine a time where having that capability would come in handy.
- Music player
I don’t need my phone to play mp3s; I have an iPod for my music. Taking out the music play means you can remove the flash memory cards — who needs 512MB cards for holding additional contacts? The internal memory will already hold 1000, 950 of which I don’t need.
- Videos and Games
I don’t need to have video highlights downloaded to my phone; I have a TV for that. I don’t need gaming on my phone; I have an xbox for that. I would appreciate having that bandwidth to improve the call quality instead.
A phone that met this criteria would work for me. Removing all of the useless features that so many of today’s phones include would leave a phone that was just the right size for my pocket, had great battery life.
So, which phone did I choose? The Motorola E815 — probably the most feature bloated phone in existence. But, it was free. If my ideal phone exists, I haven’t seen it yet. Do you know of an ideal phone for me? What is your ideal cell phone?
June 9th, 2006
Even though I don’t email top-secret information on a daily basis (OK, actually never), I would like the option to make my email secure. It makes me feel better to know only those whom I intend to read it can do so. Pretty Good Privacy (PGP) is an email encryption computer program that didn’t sound promising, but after some research I found that it suffers from a humility complex — PGP is actually very strong, solid encryption. PGP allows you to encrypt your email communications so you can be sure the messages are only read by the person you intended.
I have been a fan of Thunderbird (read my review) for quite some time, and recently came across an extension called Enigmail which promised to give me the PGP security capabilities I was looking for. The Enigmail extension provides the security in a simple and straightforward way and nicely integrates into Thunderbird. The encryption is handled by the GNU Privacy Guard (GnuPG), a free version of PGP.
Here is a simple example of how PGP works. Dave wants to send Jesse an email. Both Dave and Jesse have Thunderbird and Enigmail installed. Both use Enigmail to generate a key pair. Dave gets a private key and a public key, and Jesse also gets his own public and private key. The public keys are public; Dave and Jesse share those with each other. The private keys are private, they should never be shared. The two keys work together to encrypt and decrypt messages. If something was encrypted with the public key, it can only be decrypted by the corresponding private key.
OK, back to Dave and Jesse. When Dave sends Jesse an email, Dave encrypts the message using Jesse’s public key (Dave has access to Jesse’s public key because it is public). When Jesse receives the message, Enigmail will automatically decrypt the message using Jesse’s private key and Jesse will read the message. To anyone else viewing the message it would look something like this:
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.3rc2 (MingW32)
hQIOA6x3yUQjMAdqEAgAvyC+x6frLRnxE8u67BRQAFb2Jrj
NQdBoN2uFKH6x2DGJeggTSL2aGyABsFSr8eva4j4QWSnVfa
DC5P5EOwEQykSvK65TC9Mi5nX6DpEaClQAz/FDIyM+gr3r0
WYWE560YS4KSKz8CHPkIK3E3MruZVNTSn7CVQjHNbzJmgpJ
fgij2jFt59PgXpUgYxX5idkV0TitdR2O7Uv/VBSbRJCpWlK
hQDcX/k21Gcd89sqES6g6iP/pYXYghCo36pitjIhIwf7Bhk
Tv7rCDjQ8QR4+WFnYk9UVjL9KbWlqbn2awBejVQOqSH2j/f
QV4ry7qPVDODGlY0plIy28nUv7WaNt18E+9mS1e+AcGc/5V
WswmxMwM65qV7/1MiqaJ9fc8NdzUsA3peAfiv56dJuJJQRp
W/PD5WKWf9dDUmwRX6Qql36MMQCguwcBfhZZ1rVFQuZYARh
aiMjOS1+Xhrk8FQZnRYu+rmEpT6sXdkpAdvKelE1y/v5lDs
PdLACAEOW7aQoaxAm03WL4w/jGZAI5FB70VUG9kyEN+Xy2E
fUPF2LBTc/72pjvDrxb6O7lMXtpfgy49Lt+2clg2yqvefBt
jg/GmbdxGZMz1rWXDUuZsd9GdfKwxrmvQN8fSTc7FKcIC7h
1uYv7X8dpubuVdParSQKS4WX7d+7J/CNgUQkWytrMtcdWuH
pRgPtdSlxbIC1GQ7
=OCNT
-----END PGP MESSAGE-----
When Jesse wants to reply to Dave’s initial encrypted email. Jesse encrypts the entire message using Dave’s public key and sends it to Dave. When Dave gets the message, it is decrypted using Dave’s private key. Neither person ever touches the other’s private key — it remains private. Dave and Jesse have now exchanged emails securely using PGP.
PGP is strong stuff. Famous cryptographer Bruce Schneier said PGP is “the closest you’re likely to get to military-grade encryption” (Applied Cryptography, p. 587). The reason it is so strong lies deep in PGPs cryptographic and mathematical roots, which we won’t delve into here. Just know that it’s not going to be cracked. Experts doubt any groups, even large government agencies, are capable of decrypting PGP messages. It’s good encryption.
Another great tool I found for PGP encryption and message signing is WinPT (Windows Privacy Tray). It’s a free, open source program that manages your PGP keyring (your public and private keys) and the public keys of others. One of the cool things about WinPT is that it’s a standalone application that you can use to encrypt or sign messages in a regular text document. So, for example, if you’re at work and don’t have access to your Thunderbird application, but you do have webmail access, you can still send encrypted and signed messages from your webmail client. You can also decrypt messages sent to you. All you need to do is copy and paste the plain text into the WPTray clipboard and select the Encrypt, Decrypt, or Sign options. WPTray will do the dirty work, and you simply copy and paste the results into the message body and send the email.
You can check out my public key page to import my public key into your PGP key manager so you can send me an encrypted email. Please don’t send anything which may compromise national security, but if you want to keep Mom’s famous apple pie recipe safe, PGP is great encryption, and using Thunderbird and Enigmail together make it easy and available to the masses.
May 3rd, 2006