VIM: I guess that does make sense...
July 2, 2008 @ 23:45:07
Sometimes developers toss a few little amusing strings and commands into their programs. VIM is no exception. There are some useful and amusing command in VIM which are real gems.
To the comments...ggVGg? Change text to Rot13
ggguG Set all text to lowercase
Hard to remember? Yup. Long? Sure. Gives you the suspicion that VIM has some sort of compressed bytecode command system? Definitely. But what really takes the cake is the command to browse files.ggguG Set all text to lowercase
:Sex Split window and open integrated file explorer
That's definitely not a coincidence. Can't be. Somebody wanted this to be in VIM, and made it so. Unknown coder, you've really got what it takes to say what you mean. I salute you.Some Thoughts
May 24, 2008 @ 16:01:13
If you're too spontaneous, people will just find you unreliable.
If you're not spontaneous enough, you're boring.
How many unreliable, boring people do you know?
To the comments...If you're not spontaneous enough, you're boring.
How many unreliable, boring people do you know?
Check Your Modes
May 21, 2008 @ 01:27:07
This Sunday, I released a short little project I made called PyFBUploader. It went from idea to release in a few hours, and as is wont to happen when little thought goes into a plan, a problem arose. I realized last night that the session storage code for keeping a Facebook platform session open for extended periods of time was insecure; a malicious user with read access to the user's home directory could read the stored session and potentially insert arbitrary photos into the legitimate user's photo approval queue.
This isn't a serious problem, but it highlights something not everyone thinks of when building an application - file security. It is important to make sure files are created in such a way that information that is not supposed to be available to anyone else remains secure.
This isn't a serious problem, but it highlights something not everyone thinks of when building an application - file security. It is important to make sure files are created in such a way that information that is not supposed to be available to anyone else remains secure.
Last Edited May 21, 2008 @ 01:29:19
To the comments...Uploading Pictures to Facebook
May 18, 2008 @ 22:34:59
I've been remarkably averse to uploading pictures to facebook for a long time now. As I haven't ever got around to getting Java applets to work in Firefox on my machine, I quite dislike the interface facebook presents for adding pictures. I'm relegated to using the 5-pictures-at-a-time laborious HTTP uploader. Today I wanted to upload a whole lot of pictures from my brother's graduation, so I spent a couple hours building something to do it, rather than spend 15 minutes doing it manually.
The result, PyFBUploader, is a command line program - it's very fast for me to upload things now. I'm satisfied.
To the comments...The result, PyFBUploader, is a command line program - it's very fast for me to upload things now. I'm satisfied.
Summer, Among Other Things
May 3, 2008 @ 01:16:38
And so it begins. I'm home for the summer, and mostly caught up on sleep, if not caught up on anything else - I think I slep about 20 hours today. Now I get to unpack all my hastily packed things, clean everything, and get some consulting work done. I'll probably be releasing Psyched 0.1.3 within a week or so, as well.
We're still thinking about what exactly my project will be; several ideas have been put out there but there is nothing definite yet. I'm probably going to be doing my project alone, as I've heard plenty of horror stories about MQP partners being incompetent, not being motivated, or just plain not doing any serious work.
To the comments...Radio License!
A few days ago the paperwork finally went through at the FCC - I'm now a licensed HAM, callsign KB1QLE. I don't have a radio yet, but I'm on the lookout for one - preferably a dual band portable, but I might make do with a single band that scans.MQP
I've recently signed on with an MQP advisor, Craig Wills. For those no familiar with the MQP, it's a project drawing heavily on one's major that WPI undergraduates must complete to graduate.We're still thinking about what exactly my project will be; several ideas have been put out there but there is nothing definite yet. I'm probably going to be doing my project alone, as I've heard plenty of horror stories about MQP partners being incompetent, not being motivated, or just plain not doing any serious work.
Scraps of Life
April 27, 2008 @ 15:36:59
Today, I need to do a few things. I woke up relatively early for a Sunday, at 9AM. Feeling the monetary pinch of needing to feed myself, I did a couple hours of consulting work before breakfast - strangely, even though I was working, I felt like I was putting off my schoolwork. I'm not sure how it happened, but I am actually on top of things. It might have something to do with the ridiculous amount of work I did last week.
Back to my original point. I have to do some things today. Amont them are:
Get
Do
It's all pretty managable. I guess junior year is almost done, then. I'll be taking a few weeks before starting my full time job at Mercury to do some consulting work from home, spending time with family, and probably doing not a little bit of open source work on my personal projects. I have a few interesting ideas that I haven't started on yet.
To the comments...Back to my original point. I have to do some things today. Amont them are:
Get
- Some blank tshirts
- Poppy seeds
- Deoderant
- Lemons
- Toothpaste
Do
- Update IQP presentation for tomorrow's meeting
- Same with the report
- Do databases homework (due tomorrow at 9)
- Create a framework for multiple lexical scopes for my Compilers class
- Bake
It's all pretty managable. I guess junior year is almost done, then. I'll be taking a few weeks before starting my full time job at Mercury to do some consulting work from home, spending time with family, and probably doing not a little bit of open source work on my personal projects. I have a few interesting ideas that I haven't started on yet.
Shell Meme
April 11, 2008 @ 00:02:18
I found an interesting meme at stopped clock.
My desktop:
To the comments...My desktop:
$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
119 cd
43 rvid
40 l
21 ssh
15 rm
15 mplayer
13 sudo
12 wget
12 ls
9 eog
And my server:119 cd
43 rvid
40 l
21 ssh
15 rm
15 mplayer
13 sudo
12 wget
12 ls
9 eog
$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
74 svn
69 l
57 pwt
57 cd
44 vim
35 ./publish
27 s
20 screen
12 rm
12 cat
Interesting, eh?74 svn
69 l
57 pwt
57 cd
44 vim
35 ./publish
27 s
20 screen
12 rm
12 cat
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-----