Amateur Radio
April 6, 2008 @ 22:13:44
Many of my friends at WPI use handheld radios to communicate frequently throughout the day. I've realized that it would be much more cost effective and convenient for me to just get a radio rather than using my cell all the time. Radio is also a much more group-friendly communications medium, so organizing things would be that much easier.
So, I'm looking to get licensed as a Technician Class operator by the FCC. The WPI Wireless Associaion is holding a testing on the 17th, when I'm going to try for my license. I hear I can get a decent starter radio on eBay for 60 bucks or so. Radio ahoy!
So, I'm looking to get licensed as a Technician Class operator by the FCC. The WPI Wireless Associaion is holding a testing on the 17th, when I'm going to try for my license. I hear I can get a decent starter radio on eBay for 60 bucks or so. Radio ahoy!
Last Edited April 16, 2008 @ 16:00:53
To the comments...So I Heard What I Did This Summer
April 1, 2008 @ 15:15:40
As to what I'm going to do with the rest of my life, I haven't the faintest idea. This summer is a different matter - I know what I'll be doing.
I've accepted an internship position at Mercury Computer Systems, where I will be working on networking projects & multiprocessing. It should be a very interesting and educational job that'll look good on my resume - not to mention that it pays well, so I'll live less like a starving college student next year.
I may be living in Worcester this summer, at the apartment I'm leasing for senior year. Depending on how I work out the transportation issue, I may be living at home for part of the summer, too. Hopefully there will be other WPI people living in Worcester this summer.
To the comments...I've accepted an internship position at Mercury Computer Systems, where I will be working on networking projects & multiprocessing. It should be a very interesting and educational job that'll look good on my resume - not to mention that it pays well, so I'll live less like a starving college student next year.
I may be living in Worcester this summer, at the apartment I'm leasing for senior year. Depending on how I work out the transportation issue, I may be living at home for part of the summer, too. Hopefully there will be other WPI people living in Worcester this summer.
Using PGP Again
March 26, 2008 @ 13:46:19
I've decided to start using PGP again. Here's my key:
To the comments...-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.7 (GNU/Linux)
mQGiBEfqbSIRBAC/xj2ICQ11lXsyBxzZWWYvH+LUa2LcCrEatisw5WN9SSKhAKNu
vu0nhMkRrZsZnBz31MqRvJWVjHhOtV39Xf3Xh0oekyUzu99U9+tCa5sl1wy+Izfc
Ze6mii9AZLQ3jVTTaVEhK7UQ+g1JZCMqRx3WJYyf9l722WBf2TSq+ATmfwCgz+GQ
wTxyNp636AyWW4l67HEl/NUD/3lz1LKM14vTqGb0hHKxLMnlXwlyeHD7szZ0FYJz
eEf4d3dL6l6f8ntil+KxFplZAH/axClJtxgKeAL6tquLD4NQq8jCMXeHzUFoX6s3
GBgU7WjDigSZGoXzk3YFx0E/l8O/D9VRuBdCq0IhhCi1ubMQGk3iYLkWK3VIFkr4
uQUGA/9/tvB95Nx/gC+42jeIgl6cYLkOj/zRiTJMhUzp/H7BHcp3/Q1VWJn+17Qk
ihCHsDPweft6FEZdxpo/n5DpJ2/HlpLWXbDehoVoUOGUUS+d2Jg7aECAX22NtFXd
3rXsAm4ln06ZdgwhHzgkgFXcUbTfOKLOUEklnn8kwG/l2mTByLQfRXJpYyBTdGVp
biA8dG9iYUBkZXMudHJ1Y3Qub3JnPohmBBMRAgAmBQJH6m0iAhsjBQkJZgGABgsJ
CAcDAgQVAggDBBYCAwECHgECF4AACgkQg+42HCu88Jws6wCfboVTGlvY05fqTydD
pC1RZiLzHBIAoJwjhMuR1Q1n+Txkp8Q1hjdDaS/cuQINBEfqbSIQCADGj29UkFD0
FiVvWc79LgBfwIALy5A7iM6Cfv04OmraEhc0clf7FqIdQXVOvFgCdONdkEGKSvTh
c4NYaE6ZNlpgL07fm4dLikSi9CIsWK0pLf4cpnjE9+gnwrkbojmIDbHqINeIG/Ao
i+AUZdwIyRCFMZBIbOTO7i7ZAyPLd6Qtl6pdfJwizKiHGsWNFsw97mvTAclqCSRP
dgBjQywLJFHLMqztUXlt/xIkdmukqoehqto6UZZXOm/Hjjezbkx1lYGoNUK28zAD
4R6oP4KrFmg0vTZSqaFXzv4vZKBGZOh76+nk41cRQWjonNVBobzwEme6D4qp64Ze
d8D1jDczl90/AAQNB/4qNANBe3pzqT7puuroUN76tjWFoo8+maNYE2QXR1ZZOQlT
MQPydqE9HVXaWy1mXe6Fh8UU026+qf2LmeNYcNnzIIRlrL97AVhT8NQpNyrMxV+e
uXH03vuJbI/SOTFBzme5GdSXHQR9UlNw593MRuv+ngaQkifrmSS/WK7taGMwZjDd
xLRNGep6xQirKmTr5QgZ55EZVyq8vjdyGkR0tmx191LwkV6CmDF6uQBayEHWNlQr
DGmvCmnnuvchgOXTLqu2Wx7XkmNC0qTidQcmrpvO4PTe1p71GRvnCPXuzwjBOJLk
lJh9Ak2lR69qAg5Bqo1mk+jt/KULbyKj6R14wmmDiE8EGBECAA8FAkfqbSICGwwF
CQlmAYAACgkQg+42HCu88JxUzACgpBwdgkRAzoJ+BFNe8CzBr2cfGFMAnjPsdmJG
5MMtPuV/oqQym6sxr2tM
=RQAZ
-----END PGP PUBLIC KEY BLOCK-----
That's about it. A useful program for using PGP is Enigmail, a plugin for Thunderbird.Version: GnuPG v2.0.7 (GNU/Linux)
mQGiBEfqbSIRBAC/xj2ICQ11lXsyBxzZWWYvH+LUa2LcCrEatisw5WN9SSKhAKNu
vu0nhMkRrZsZnBz31MqRvJWVjHhOtV39Xf3Xh0oekyUzu99U9+tCa5sl1wy+Izfc
Ze6mii9AZLQ3jVTTaVEhK7UQ+g1JZCMqRx3WJYyf9l722WBf2TSq+ATmfwCgz+GQ
wTxyNp636AyWW4l67HEl/NUD/3lz1LKM14vTqGb0hHKxLMnlXwlyeHD7szZ0FYJz
eEf4d3dL6l6f8ntil+KxFplZAH/axClJtxgKeAL6tquLD4NQq8jCMXeHzUFoX6s3
GBgU7WjDigSZGoXzk3YFx0E/l8O/D9VRuBdCq0IhhCi1ubMQGk3iYLkWK3VIFkr4
uQUGA/9/tvB95Nx/gC+42jeIgl6cYLkOj/zRiTJMhUzp/H7BHcp3/Q1VWJn+17Qk
ihCHsDPweft6FEZdxpo/n5DpJ2/HlpLWXbDehoVoUOGUUS+d2Jg7aECAX22NtFXd
3rXsAm4ln06ZdgwhHzgkgFXcUbTfOKLOUEklnn8kwG/l2mTByLQfRXJpYyBTdGVp
biA8dG9iYUBkZXMudHJ1Y3Qub3JnPohmBBMRAgAmBQJH6m0iAhsjBQkJZgGABgsJ
CAcDAgQVAggDBBYCAwECHgECF4AACgkQg+42HCu88Jws6wCfboVTGlvY05fqTydD
pC1RZiLzHBIAoJwjhMuR1Q1n+Txkp8Q1hjdDaS/cuQINBEfqbSIQCADGj29UkFD0
FiVvWc79LgBfwIALy5A7iM6Cfv04OmraEhc0clf7FqIdQXVOvFgCdONdkEGKSvTh
c4NYaE6ZNlpgL07fm4dLikSi9CIsWK0pLf4cpnjE9+gnwrkbojmIDbHqINeIG/Ao
i+AUZdwIyRCFMZBIbOTO7i7ZAyPLd6Qtl6pdfJwizKiHGsWNFsw97mvTAclqCSRP
dgBjQywLJFHLMqztUXlt/xIkdmukqoehqto6UZZXOm/Hjjezbkx1lYGoNUK28zAD
4R6oP4KrFmg0vTZSqaFXzv4vZKBGZOh76+nk41cRQWjonNVBobzwEme6D4qp64Ze
d8D1jDczl90/AAQNB/4qNANBe3pzqT7puuroUN76tjWFoo8+maNYE2QXR1ZZOQlT
MQPydqE9HVXaWy1mXe6Fh8UU026+qf2LmeNYcNnzIIRlrL97AVhT8NQpNyrMxV+e
uXH03vuJbI/SOTFBzme5GdSXHQR9UlNw593MRuv+ngaQkifrmSS/WK7taGMwZjDd
xLRNGep6xQirKmTr5QgZ55EZVyq8vjdyGkR0tmx191LwkV6CmDF6uQBayEHWNlQr
DGmvCmnnuvchgOXTLqu2Wx7XkmNC0qTidQcmrpvO4PTe1p71GRvnCPXuzwjBOJLk
lJh9Ak2lR69qAg5Bqo1mk+jt/KULbyKj6R14wmmDiE8EGBECAA8FAkfqbSICGwwF
CQlmAYAACgkQg+42HCu88JxUzACgpBwdgkRAzoJ+BFNe8CzBr2cfGFMAnjPsdmJG
5MMtPuV/oqQym6sxr2tM
=RQAZ
-----END PGP PUBLIC KEY BLOCK-----
Dangerous Cryptoloop Voodoo
March 21, 2008 @ 22:27:04
Today, I wondered whether I could use cryptoloop to encrypt an already existing partition, in place. This could be useful if you have a large hard drive that you want to encrypt, but you don't have anywhere to copy the files as an intermediary. To test the theory that it was possible, I backed up my flash drive and tried. Here goes!
sting ~ # dd if=/dev/sdb1 of=/dev/loop3
1969632+0 records in
1969632+0 records out
1008451584 bytes (1.0 GB) copied, 449.473 s, 2.2 MB/s
sting ~ # losetup -d /dev/loop3
It works. Of course, I make no guarantees that this will work for you. If you're willing to risk it, good luck. Mind you, doing this while the drive is mounted is an even worse idea.
Encrypting
We're using losetup to create a virtual block device piped through the encryption algorithm to the original partition. That's pretty easy.sting ~ # losetup -e aes-256-cbc /dev/loop3 /dev/sdb1
Password:
Password:
Danger, Will Robinson!
This is the dangerous step. We're block by block copying each original block and immediately sending it back through the cryptoloop device, whch encrypts the data and puts it back on the device itself.sting ~ # dd if=/dev/sdb1 of=/dev/loop3
1969632+0 records in
1969632+0 records out
1008451584 bytes (1.0 GB) copied, 449.473 s, 2.2 MB/s
sting ~ # losetup -d /dev/loop3
Using The Device
Now that we've in-place encrypted the device, we can try mounting it again.sting ~ # losetup -e aes-256-cbc /dev/loop3 /dev/sdb1
Password:
sting ~ # mount /dev/loop3 /mnt/flash
sting ~ # cd /mnt/flash
sting flash # ls
helloworld.txt
sting flash #
Password:
sting ~ # mount /dev/loop3 /mnt/flash
sting ~ # cd /mnt/flash
sting flash # ls
helloworld.txt
sting flash #
It works. Of course, I make no guarantees that this will work for you. If you're willing to risk it, good luck. Mind you, doing this while the drive is mounted is an even worse idea.
Last Edited March 23, 2008 @ 19:37:22
To the comments...PWT - Command Line Twitter Updater
March 17, 2008 @ 15:53:04
I just spent about an hour writing a small twitter updater script in python. It was quite easy, since I used python-twitter to do all the heavy lifting.
You can follow me on twitter or check out PWT.
To the comments...You can follow me on twitter or check out PWT.
Using git-svn For Fun and Profit
March 17, 2008 @ 05:27:01
For the last few weeks I've been using git-svn while developing offline. It's optimal for me because SVN supports all my online coding flow & I run an SVN server already.
Given git's reputation as a bit of a challenge to use, it's surprisingly easy to get started with git-svn.
This will check out the entire history of your repository into a local git repository. Now, I know that git has a reputation as being large, scary, and complicated, so I'll include a quick primer on how to use git for everday SCM tasks.
Quite easy, really. A little more verbose than svn, but understandable.
That's along the same lines. Nothing that hard!
So you're back from your sojourn in the desert now, and you've been productive. Now it's time to merge your changes into the SVN repository. But first, we need to do the equivalent to svn up before committing:
Looks like it's all clear. Time to actually commit those changes:
Now all your changes are in the main SVN repository as individual commits. Now put git-svn into your toolbox to end the days of shuffling files about by hand, worried that you'll break something.
Cloning an SVN Repository
Given git's reputation as a bit of a challenge to use, it's surprisingly easy to get started with git-svn.
~ $ git-svn clone svn://svn.example.com/project
Initialized empty Git repository in .git/
A FILE
r1 = 30c7f86823da99538fae8afca5ca46d3d43c32f7 (git-svn)
Checked out HEAD:
svn://svn.example.com/project r1
Initialized empty Git repository in .git/
A FILE
r1 = 30c7f86823da99538fae8afca5ca46d3d43c32f7 (git-svn)
Checked out HEAD:
svn://svn.example.com/project r1
Using Your Git Repository Offline
This will check out the entire history of your repository into a local git repository. Now, I know that git has a reputation as being large, scary, and complicated, so I'll include a quick primer on how to use git for everday SCM tasks.
Adding Files
~ $ cd project
~/project $ touch newfile
~/project $ git add newfile
~/project $ git commit -a -m "adding a new file"
Created commit 4312745: adding a new file
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 newfile
~/project $ touch newfile
~/project $ git add newfile
~/project $ git commit -a -m "adding a new file"
Created commit 4312745: adding a new file
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 newfile
Quite easy, really. A little more verbose than svn, but understandable.
Modifying Files
~/project $ cat >> newfile
added a line to the new file
~/project $ git commit -a -m "wrote some data"
Created commit 58efa1c: wrote some data
1 files changed, 1 insertions(+), 0 deletions(-)
added a line to the new file
~/project $ git commit -a -m "wrote some data"
Created commit 58efa1c: wrote some data
1 files changed, 1 insertions(+), 0 deletions(-)
That's along the same lines. Nothing that hard!
But I'm Online Now...
So you're back from your sojourn in the desert now, and you've been productive. Now it's time to merge your changes into the SVN repository. But first, we need to do the equivalent to svn up before committing:
~/project $ git-svn rebase
Current branch master is up to date.
Current branch master is up to date.
Looks like it's all clear. Time to actually commit those changes:
~/project $ git-svn dcommit
Committing to svn://svn.example.com/project ...
A newfile
Committed r2
A newfile
r2 = 4f50219cbf276ed6cf6a94641e1bbce94c2f44a6 (git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
newfile: needs update
M newfile
Committed r3
M newfile
r3 = 518ba784aa23241e74297fd62406591e8d433922 (git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
Committing to svn://svn.example.com/project ...
A newfile
Committed r2
A newfile
r2 = 4f50219cbf276ed6cf6a94641e1bbce94c2f44a6 (git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
newfile: needs update
M newfile
Committed r3
M newfile
r3 = 518ba784aa23241e74297fd62406591e8d433922 (git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
Now all your changes are in the main SVN repository as individual commits. Now put git-svn into your toolbox to end the days of shuffling files about by hand, worried that you'll break something.
Last Edited July 28, 2008 @ 23:45:31
To the comments...Why I Bake
January 19, 2008 @ 18:35:48
Today as I sat at the kitchen table, mixing poppy seeds into cookie dough, my house mate Lynda asked me what motivated me to bake cookies so often. I thought about it for a second, and told her that "I guess they taste good, are cheaper than the ones I could buy, and it's fun." But as I deployed the dough into formation on the cookie sheet, it got me thinking. Really, why do I enjoy baking so much?
Part of it may be my interest in chemistry, which was until a few years ago more important to me than computer science. There's a strong parallel to chemistry in baking; watching all the ingredients combine and react until I've created something that's larger than the sum of its parts.
Both chemistry and programming create something new, but there is much more unpredictability to code - the underlying reality can vary from installation to installation, and it can even change under your feet. Chemistry is solid and predictable. So is baking, now that I've achieved a certain level of skill at it. It's solid, real, and tactile.
When I bake my mind can wander free, unconscious of the worries and stress of the world. I don't have to plan for problems and the unexpected; everything just works.
To the comments...Part of it may be my interest in chemistry, which was until a few years ago more important to me than computer science. There's a strong parallel to chemistry in baking; watching all the ingredients combine and react until I've created something that's larger than the sum of its parts.
Both chemistry and programming create something new, but there is much more unpredictability to code - the underlying reality can vary from installation to installation, and it can even change under your feet. Chemistry is solid and predictable. So is baking, now that I've achieved a certain level of skill at it. It's solid, real, and tactile.
When I bake my mind can wander free, unconscious of the worries and stress of the world. I don't have to plan for problems and the unexpected; everything just works.
Skiing & Stolen Cars
December 23, 2007 @ 22:27:28
The plan was this: to go skiing at Mad River Glen over the weekend. We planned to drive starting at 6am to get there about when the lifts opened on Saturday. We packed the car with skis and equipment and went to bed.
Then we hallucinated vividly for several hours and forgot the details of the whole experience.
Upon waking up, we took the last few bags, and went out to the car. That's where our troubles began. The car was not there. And although we considered it as a possibility, it had not moved several hundred feet up the road for fun, either. We were forced to conclude that the car had been misappropriated by strangers while we slept.
At this point we called the police and reported it stolen. Mel and I thought there was no use being up at the ungodly hour of 6AM anymore, so we went back to bed. Dad drove town hoping to spot the car.
Fast forward to 10AM. Status of family members:
Who should call us, but the police? A rough reconstruction of the conversation that ensued:
*ring*
<Mom> hi
<Police> could I speak to David Stein please?
<Mom> who is this?
<Police> This is the police department.
<Mom> what? Are you pulling a prank?
<Police> this really is the police.
<Mom> okay...
<Police> let him know that we found the stolen vehicle.
<Mom> WHAT?!
<Mel, from downstairs> THEY FOUND IT!?
Strangely, the thieves didn't take our skis. They had gone off the road into a snowbank and left the car running, sans radio (and a pair of slippers).
The moral of the story: car thieves like slippers and not all stolen cars are never found.
To the comments...Then we hallucinated vividly for several hours and forgot the details of the whole experience.
Upon waking up, we took the last few bags, and went out to the car. That's where our troubles began. The car was not there. And although we considered it as a possibility, it had not moved several hundred feet up the road for fun, either. We were forced to conclude that the car had been misappropriated by strangers while we slept.
At this point we called the police and reported it stolen. Mel and I thought there was no use being up at the ungodly hour of 6AM anymore, so we went back to bed. Dad drove town hoping to spot the car.
Fast forward to 10AM. Status of family members:
- Me: sleeping
- Mel: sleeping
- Ken: hiking in New Hampshire
- Dad: driving around town, attempting to find our stolen car
- Mom: sleeping
Who should call us, but the police? A rough reconstruction of the conversation that ensued:
*ring*
<Mom> hi
<Police> could I speak to David Stein please?
<Mom> who is this?
<Police> This is the police department.
<Mom> what? Are you pulling a prank?
<Police> this really is the police.
<Mom> okay...
<Police> let him know that we found the stolen vehicle.
<Mom> WHAT?!
<Mel, from downstairs> THEY FOUND IT!?
Strangely, the thieves didn't take our skis. They had gone off the road into a snowbank and left the car running, sans radio (and a pair of slippers).
The moral of the story: car thieves like slippers and not all stolen cars are never found.
Email Forever
December 20, 2007 @ 22:29:09
Dhirender Nirwani over at Wild Blue Skies has an interesting idea - that email may be on the way out due to the increase in messaging over social networks. I disagree - this is just another proof of Zawinski's Law:
Most platforms try to keep the user within them - and as long as everyone the platform's users wants to contact and interact with are within the walled garden, it can succeed. The problem social networks face if they aim to replace email is that there are so many, and most of them hold onto their status as a walled garden very dearly.
Facebook and Google are trying to make social networks a more open platform for interaction, but they have not gone anywhere near as far as the old standby, email. SMTP is one of the oldest protocols still in use on the Internet today - it was originally specified in RFC 788 way back in November 1981. Anyone can set up and completely control their own little piece of the email universe, which will interoperate with all the other email servers and services out there. Until social networks create something that makes this universal interoperability with no penalty a reality for their users, email will last.
To the comments...Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
Most platforms try to keep the user within them - and as long as everyone the platform's users wants to contact and interact with are within the walled garden, it can succeed. The problem social networks face if they aim to replace email is that there are so many, and most of them hold onto their status as a walled garden very dearly.
Facebook and Google are trying to make social networks a more open platform for interaction, but they have not gone anywhere near as far as the old standby, email. SMTP is one of the oldest protocols still in use on the Internet today - it was originally specified in RFC 788 way back in November 1981. Anyone can set up and completely control their own little piece of the email universe, which will interoperate with all the other email servers and services out there. Until social networks create something that makes this universal interoperability with no penalty a reality for their users, email will last.
64 bit linux flash on Gentoo
November 26, 2007 @ 05:15:44
emerge netscape-flash nspluginwrapper
That is all.