RyanBlog

technically, i *am* root for the home team. weird, huh?

January 03, 2012


Easy, Portable PGP (crypto)

If you’ve seen the much-overdue-for-an-update front page of my vanity website, ryan.net, you may notice one of the handful of things I deemed link-worthy when I set that up was my PGP key.

PGP stands for Pretty Good Privacy. GPG, exists, too, and is a compatable implementation that’ll please open-software sticklers.

PGP works great for crypto-nerds who want to share secrets, but it’s sometimes hard for non-techies, and that frustrating situation frequently ends in the techs just throwing up their hands and emailing around passwords, credit card numbers, and other sensitive stuff.

I’ve wanted, literally for years, the easiest way to get someone up and running with some kind of GUI that’d let people get PGP up and running quickly. Today, I found a pretty good (heh) cross-platform solution with as few moving parts as possible.

It’s “Portable PGP”, a GUI and PGP engine coded in Java that runs on Macs, Windows, and Unixes, and is essentially a single file (a Java “.jar” file) and a couple of files that hold your keys, if you’ve already got keyrings from some other PGP/GPG program. There’s other support files that are OS-specific, but that’s just Java stuff. If you can run the .jar, (and double-clicking that in the OS usually does The Right Thing), then you’re in business.

From the GUI, you can generate new keys for yourself, and do the Encrypt/Decrypt/Sign/Verify operations you’d expect.

How I got it running in about 60 seconds:

(first, I opened a Terminal.app window on my Mac OS X computer)

mymac $ mkdir /Users/ryan/portable-pgp ; cd /Users/ryan/portable-pgp
mymac $ wget -q http://downloads.sourceforge.net/ppgp/PortablePGP-1.0.6.zip
mymac $ unzip PortablePGP-1.0.6.zip 
Archive:  PortablePGP-1.0.6.zip
   creating: PortablePGP-1.0.6/
  inflating: PortablePGP-1.0.6/icon.ico  
   creating: PortablePGP-1.0.6/lib/
  inflating: PortablePGP-1.0.6/lib/AbsoluteLayout.jar  
  inflating: PortablePGP-1.0.6/lib/appframework-1.0.3.jar  
  inflating: PortablePGP-1.0.6/lib/bcpg-jdk16-139.jar  
  inflating: PortablePGP-1.0.6/lib/bcprov-jdk16-139.jar  
  inflating: PortablePGP-1.0.6/lib/swing-worker-1.1.jar  
  inflating: PortablePGP-1.0.6/PortablePGP.exe  
  inflating: PortablePGP-1.0.6/PortablePGP.jar  
 extracting: PortablePGP-1.0.6/PortablePGP.sh  
  inflating: PortablePGP-1.0.6/public.bpg  
mymac $ cd PortablePGP-1.0.6
mymac $ ls
PortablePGP.exe PortablePGP.sh  lib
PortablePGP.jar icon.ico    public.bpg

Here, you should note that there’s a file called “public.bpg”. That’s how the keyfiles are stored for this program; files of binary keys named “public” or “private” (with the “.bpg”) extension. The GUI won’t let you import multiple keys, but if you just copy (or cat) existing keyrings from your .gnupg directory (if you have one), they work, I’ve found:

mymac $ cat /Users/ryan/.gnupg/secring.gpg > private.bpg
mymac $ cat /Users/ryan/.gnupg/pubring.gpg > public.bpg

Then, you can just double-click on the “PortablePGP.jar” file, or run “open PortablePGP.jar” on a Mac, and the GUI should open up, and look like this:

It’s pretty neat, and (relatively) no-fuss. Please let me know, via email and comments if you know or recommend any other low-barrier-to-entry PGP/GPG/crypto solutions!

posted at 03:36 AM

| Comments (0)


December 30, 2011


4 Resolutions for 2012

My (current) 4 resolutions for 2012:

Each day in 2012, I will:

1) Eat a piece of fruit.
... or, more generally, "eat less crap, and more things that are good for me."

2) Run one mile.
... or, more generally, "habitually exercise regularly." Some days I'll run a 5k, and I hope to do a half-marathon, but 1 mile is easy and takes just a few minutes. I want to make it a habit.

3) Post something of substance on the internet.
... or, more generally, "cultivate my reputation and career as one of those internet-building people." Some days it'll be a blog post, sometimes a good photo, perhaps I'll answer someone's question on some other forum, or post code to GitHub. Make the internet better, and put a personal brand (one that I can be proud of) on my contributions.

4) Move one thing that's out of place to its proper home.
... or, more generally, "unclutter."
This can be "clean my desk", or "clean my Mac's desktop", or "rotate and compress server logs and delete spam", or "put your tools away in the garage", or "empty the flotsam from your overly-thick wallet", or "refactor your address book and calendar." It's easy enough to take a 2-minute break and find something -- anything, that's out of place, and nudge the life-pile towards order, rather than chaos.

These are the four, little steps that I'm going to try daily that I hope will make me a more efficient, less fat, happier person.

You?

posted at 08:30 PM

| Comments (0)


August 15, 2011


Put SmartOS on a real disk

I whipped up a quick-and-dirty piece of documentation about how to take the new SmartOS ISO that my amazing coworkers at Joyent released over at SmartOS.org, and put it onto a bootable "real disk", so you can mold it to your liking.

It's over here, until I can find time to format it better.

posted at 02:06 PM

| Comments (8)


March 21, 2011


One Year In

Today was my one-year anniversary at Joyent.

I'd worked at MLB for 9 years prior to that, and when I resigned, I literally cried. I loved that job, and my friends there, but I knew that I'd finished what I'd set out to do there, and learned all I could in that position. I needed a new challenge; otherwise I'd spend the next 20 years there, stagnant. In a place where people love the subject matter, on a team where people rarely quit, a bit of a logjam had formed. Sometimes it felt like I was impeding (or competeting with) guys -- some of whom I'd hired from my last gig, guys who'd been my coworkers for a decade. Fortunately, an amazing opportunity came up for me, and I have an amazing wife who encouraged me to make the leap.

The new job, and this past year, have been hard. I tell my parents it's like being back in school. I learn ten things every day, am surrounded by people who're smarter than me, and I'm always up against a delivery deadline. I asked for a new challenge... I certainly got what I asked for.

So, first year review: I don't love everything about California. I don't love everything about working my ass off week-in and week-out. But I do love what I'm helping build at Joyent. I signed up to work with some superstars in the technology arena I'd already been a fan of -- since I started, most most of the rest of the Sun Microsystems dream-team have made the same decision I did, just a few months later.

Tonight, I helped respond to and debug a problem on production systems, running a revolutionary service platform. But what's friggin' awesome is that that platform was written by the guy next to my office, and running on the operating system that we compiled a few weeks ago, that had new features in it that I'd specifically requested. And among the folks using the best introspection tools in the world to analyze the problem were those tools' inventor, along with the guy who literally wrote the book on it.

During the post-mortem, I unwound and chatted with the new crop of co-workers. This time, though it was an online chat, and many of the co-workers were in another country. Still, though, I'm building things again that scare and excite me, and it feels pretty good.

posted at 11:39 AM

| Comments (1)