The complete set of posts on the site.May 13, 2023
I’ve picked up several IAPP certifications, and having done so, I’m able to apply for their “Fellow of Information Privacy” credential. They require, as part of that application, that I give “a personal statement of how your experience and expertise qualifies you to be a Fellow of Information Privacy,” so I wrote one.continued
Nov 23, 2016
Nov 10, 2016
I’m currently in Amsterdam, speaking at O’Reilly Security, so I watched the election happen very late at night. (Yes, I voted, in advance, by mail (as does everyone in Washington state).)continued
Mar 21, 2016
TL;DR: I think it’d be possible to set up a small community on the Internet that works like a lab full of PhD students. This would enable us to have shared community on long research projects (even when not working on projects together), sounding boards, peer review, and collective mentorship, which are all good things one can find in a PhD setting. I’m wondering who else might be interested in such a program.continued
Jun 16, 2015
Note: The following is deliberately tongue-in-cheek. Please do not leave comments to explain to me how elections “actually” work. I know how they work.continued
Feb 11, 2015
I’m pleased to finally announce that work I did with James Arlen and Lee Brotherston at Leviathan Security Group is seeing the light of day. We wrote three whitepapers on the “Value of Cloud Security”—more specifically, on the security challenges faced by so-called data localization laws (that require that all data about a country’s citizens be kept within the country). While it’s easy to oppose these laws on the basis that many of them come from known-censorious regimes (e.g., Russia), we found that the security implications of forced localization laws are disastrous.continued
Apr 14, 2014
I was fortunate enough to have an article published last month in the journal of the Science and Technology Section of the American Bar Association, called The SciTech Lawyer; it was titled Whoops! How Your “Convenience” Broadcasts Your Secrets, and dealt with the implications of pervasive WiFi sniffing (e.g., via CreepyDOL, though certainly not exclusively) on attorney-client privilege and client confidentiality across practice areas. Thanks to the ABA Science and Technology Section for letting me write, and further for letting me host the article here.continued
Aug 9, 2013
Update on December 4, 2013: Want to watch the videos?continued
Jul 5, 2013
Jan 22, 2013
At the invitation of Senator Driscoll, I submitted this testimony to the Judiciary Committee of the Montana State Senate in their 63rd session, on January 22, 2013, regarding Senate Bill 150, “An Act Limiting the Use of Unmanned Aerial Vehicles.” A PDF version of this testimony is available at http://blog.ussjoin.com/static/posts/SB150Testimony.pdf.continued
Sep 12, 2012
It’s a known problem in all fields of geekery; you get in to something, you get a device here, a tool there, and all of a sudden, you have a completely insane set of stuff doing all manner of weirdness.continued
Aug 12, 2012
I saw something on the Internet this evening that made me angry. (Wait, something wrong on the Internet? Film at 11. But bear with me.)continued
Jul 26, 2012
BSides Las Vegas was kind enough to invite me to speak on Reticle, the DARPA Cyber Fast Track project that consumed my spring. The code will be uploaded soon for all of Reticle– I will write a longer blog post soon describing the project, its current plans, and what happens next– but I wanted to post slides and video now. As I mention in the presentation, comments and suggestions are very welcome, either in the comments below or via email: brendan (a symbol) maliceafterthought (a different symbol) com.continued
Jul 17, 2012
I greatly enjoyed being able to speak at HOPE Number 9 on the topic of why more hackers need to go to law school– a presentation entitled “Hack the Law.” HOPE in general was a wonderful conference– while I’ve been to the Vegas cons before (and will attend again this year), HOPE has an entirely different feel, which I very much enjoyed.continued
Jun 30, 2012
So I’ve spent the last 1.5 years doing odd things; after spending the first half of 2011 teaching the Department of Defense information warfare (which is a good time, actually), I moved to Madison, WI to go to law school at the University of Wisconsin.continued
Jan 29, 2012
I was fortunate enough to be invited to speak about the research I did during the fall semester at the ShmooCon conference in Washington, D.C. this past weekend. Beyond merely being able to present my work to a wide audience, I got to meet a lot of great people, and reconnect with some old friends from Hopkins and elsewhere– always a good time!continued
Jan 4, 2012
Been awhile since I’ve posted, blah blah blah. I’ve been busy in the interim; I’ve lived in 5 places since then, taken trips, etc. Some details on what I’ve been doing in the interim coming soon. This post, however, is about something more amusing.continued
Nov 21, 2010
At PublicMediaCamp today, I gave a quick introduction to Processing and visualization of data in general. Here’s some useful links:continued
Nov 20, 2010
This weekend, I have the privilege of attending PublicMediaCamp 2010, an unconference run by iStrategyLabs along with NPR, PBS, and CPB. It’s the second one, and I’ve had a blast at both so far; many kudos to Peter Corbett and Andy Carvin, who have played host to the rest of us.continued
Nov 19, 2010
“So if you’re at Google, why haven’t you talked about it?”continued
Jul 19, 2010
I mean, it’s a legitimate question. There are plenty of engineers on the market these days; while we don’t have any trouble finding work, there are plenty of good engineers around if you know how to look. So why should someone hire me in particular?continued
Jul 18, 2010
At extraordinarily long last, for those of you who’ve heard me talking about this for a month or two, I’ve completed the migration of my homesite away from the venerable Linode and over to this thing oddly known as “the cloud.”continued
Apr 16, 2010
At the UWC this last weekend, I had several people ask me what blogs I read. Since I subscribe to more than 90 Atom feeds, that’s… kind of a long list. So I thought I’d just export the whole group– both security things and not, amusement and serious, webcomics, etc.– and let people see what they want. I’ve done some basic categorization so that people can quickly pick what they’re interested in, but in general, they’re all good (or at least, interesting).continued
Apr 14, 2010
Haven’t posted in a while, and unfortunately, this won’t be a long one. I did, however, want to say that I had an incredibly great time at the UWC-USA for their symposium on social networking. I was giving a presentation entitled “Run Away: A Fair and Balanced Look at Privacy in the Age of Location-Based Social Networking,” comprising some parts of my Mnikr research, some new things from SimpleGeo, and some basics of how privacy works these days. I took video, which worked nicely, except YouTube appears to have eaten the audio sync somehow. (It’s really fine, as there’s no good reason to watch me anyway.) I’ve also embedded the slides below.continued
Jan 7, 2010
Quite an interesting incident happened this evening, which I feel compelled to share. A colleague of mine asked me, while I was at work yesterday, if we could connect on LinkedIn. I said that’d be fine, and sent him an invitation. This evening, he accepted it, but also noted that someone else had created a LinkedIn account using my name and face.continued
Nov 13, 2009
I was pleased to be able to present the Mnikr project at the Digital Identity Management conference at the ACM Computer and Communications Security conference today. In addition to being one of the best academic security conferences, it was fun for me to see several of my professors from Hopkins; in addition to my advisor, I was able to see Professor Rubin and Professor Monrose, the latter of whom has actually moved on to UNC-Chapel Hill, but who was presenting work with some of his students from Hopkins. A great time, all around.continued
Oct 31, 2009
For the last few weeks, I’ve been working on a fun personal project: I’ve been building a wearable computing rig.continued
Sep 24, 2009
Being a pronoiac meme-broker is a constant burn of future shock - he has to assimilate more than a megabyte of text and several gigs of AV content every day just to stay current. – Charles Stross, Accelerando
Sep 16, 2009
Just after I put the Mnikr final paper on the Internet, a man named Lee Konstantinou emailed me. He liked the Mnikr work I’d done, he said, and he’d written a book about the next logical step: if Identities have shareholders, then surely Identities should have boards of directors composed of shareholders, right? And if they have those, then shouldn’t the board be able to take steps to protect their investments?continued
Sep 15, 2009
Wow, the last time I wrote a serious blog post, it was May! I’ve been needing to write one for a while, just to note all the fun things I’ve been doing. Here, then, is the summary:continued
Aug 9, 2009
Hello, friendly blogoverse! I haven’t written in far too long, and unfortunately, I’m too busy right now to do the post I’d planned to put up today. However, I got back just a few days ago from the UWCAW Reunion in Montezuma, NM, and managed to take a few videos of the Blue Moon Cafe (a sort of UWC variety show) we held there; I promised everyone I’d upload them, so here they are! (You can, of course, click through to YouTube to favorite them and share them with people; just click on the video.)continued
May 11, 2009
At very long last, my thesis is done. The final title is “Mnikr: Reputation Construction Through Human Trading of Distributed Social Identities.” I’ve just now turned in my last thing at Hopkins (my final in my security engineering class), and so it’s over; after five years, I’m done with work at Hopkins. If you’ll excuse me, I’ll be playing video games, just like I haven’t been for years. :-)continued
Apr 29, 2009
Much as I did last year, I’m writing a proposal for research in a particular field, that would be cool if someone (perhaps me) would pursue it; this year, as I’m finishing up an independent study in human-computer interaction– interestingly, with one of the same professors from that course last year, who was cool enough I was inspired not just to take this course, but actually to have him advise me on my thesis as a whole. I haven’t been blogging much as I finish said thesis, and the myriad other things at the end of five years at Hopkins, but I thought that this proposal might interest a few of you. Enjoy.continued
Apr 17, 2009
Continuing my series of Action Streams plugins, I’ve added a new one for GitHub, since after all, if I’m using GitHub for development of these plugins, it’d be in poor taste if it didn’t get its own plugin! :-)continued
Apr 17, 2009
Since GitHub seems to be the “cool new place” to host open source code, and since I have no earthly reason to leave my MT plugins in a private repository, I’ve moved the code for all my Movable Type plugins to GitHub. The Movable Type page here will continue to have current information, as well as download links, for all of the plugins, but you can also obtain them from GitHub if you prefer.continued
Apr 8, 2009
I occasionally get called to do odd jobs in the role of “CS Posterboy,” as, it seems, very few people in my department can speak to prefreshmen and their parents. My college visits didn’t involve my parents– I went alone, which I highly recommend to anyone looking, as it’s a completely different experience to actually visit a campus without your parents waiting in the car.continued
Apr 7, 2009
Twitter data is now displaying correctly on profile pages.continued
Apr 7, 2009
Just a few more changes today:continued
Apr 5, 2009
Twitter currently isn’t letting us pull updates from them. This is because we’ve switched to a new worker farm for update retrieval, and until Twitter authorizes it, there’s nothing, unfortunately, we can do about this. ETA for a fix: 48 hours, possibly less.continued
Apr 2, 2009
At long last, I’ve got something to show you all; I present Mnikr (pronounced like “moniker”).continued
Apr 1, 2009
Mnikr is now live! Check it out, and check out the blog post about it at Times and Measures!continued
Mar 31, 2009
Note: this is part two in my series, “A Guide to Social Networks for the Tragically Uncool.” For Part 2, click here.continued
Mar 30, 2009
Note: this is part two in my series, “A Guide to Social Networks for the Tragically Uncool.” For Part 1, click here.continued
Mar 29, 2009
Dearest and Most Exalted Professor and Advisor,continued
Mar 27, 2009
I’ve gone ahead and locked down Mnikr behind an Apache Username/Password gate, because I’ve pushed the last feature changes to it now, and need to wait for my advisor’s approval before letting users sign up when they can actually do all the reputation trading! Hence, please check back next week (Tues/Wed) for a full launch, announced, one might hope, in all the most fashionable locations. :-)continued
Mar 6, 2009
I just pushed a lot of changes to the production server:continued
Mar 1, 2009
I spent yesterday at Transparency Camp, a great unconference filled with not only many of the most brilliant minds in technology (especially social media), but with a huge number of representatives from different parts of the US government, all interested in using social media to fulfill the new administration’s requirement for transparency and openness in government. It was a great time, and I’ll write more about the sessions there at a future point.continued
Mar 1, 2009
If you tried to use Mnikr Prime in the last few hours, you may have noticed it wasn’t showing activity streams properly; I’ve fixed the direct cause, and I think I’ve found the last problem causing the server that handles that to stop abruptly.continued
Feb 27, 2009
To: Edmund G. Skrodzki, Executive Director, JHU Security
I come to you on a matter of grave urgency, greatly dismayed by the conduct your officers are displaying on the campus I have inhabited for the last five years. I hope that you will see this, as I do, as a situation requiring a significant response within the JHU Security apparatus.
This evening, Sunday, February 8, 2009, I was walking to my car, which I keep in one of the Wyman surface lots. When I arrived in the lot, I noticed that a graduate student was testing a network deployment of sensor motes, using the lot as an interference-free zone on which to test on this unseasonably warm evening. I am familiar with the motes and with the challenges of testing them well, as I spent three semesters in the Hopkins InterNetworking Research Group, which is one of the nation’s finest sensor networking research groups. Testing their networking capabilities is made extremely difficult on most of the Hopkins campus, as our campus-wide WiFi deployment is orders of magnitude stronger than their tiny antennas can transmit– thus the student was lucky to find a clear, dry night on which to test his sensors.
All, then, would have been in order; our institution is one dedicated to the pursuit of research, and to see a graduate student thus engaged is one of the pleasures of working here. Unfortunately, this scene was marred by the JHU Security officer berating the student – and I do not use that word lightly– for having the audacity of attempting to conduct his research.
When I came upon the scene, the officer was attempting to order the student– whose first language was not English, and who was having a great deal of trouble making clear his work– to “get rid of all that crap,” meaning, I would suppose, to destroy his careful research testbed and the several hours of test data he had accumulated that night. This despite the student identifying himself, as requested, as a JHU student, and having obediently handed over his J-Card to the officer. The student was understandably distraught that his work was being trampled, but his attempts to explain his experiments– which, to be clear, were both sanctioned and required by his research as a second-year Ph.D. student in the Department of Computer Science, and which took place in an entirely empty parking lot on the outermost reaches of the Homewood campus, at a time when no employees use it– were shouted off by the officer, who refused even to leave his vehicle to examine the network, let alone take the time to actually care about the work this student was performing.
As a member of the department and a student of Johns Hopkins, then, I intervened on his behalf; the officer immediately decided that I was a threat to his trampling the research of this graduate student, and refused to speak with me; I nonetheless persisted, explaining that the student was conducting research blessed by our department and the School of Engineering, and the officer had no grounds on which to interfere with someone he had already acknowledged was a student. The officer made some thinly-veiled threat, and made the universal demand of every hostile overseer, “papers, please!” I gave him my name, and gave him full leave to contact my department to check that I, too, am a student in good standing. I then took the student off to ask about his work, leaving the muttered threats of the officer behind.
What’s shocking about this incident, to me, is that the officer saw fit to harass a student– whom he had identified as such– for literally no reason, and with no possible cause for concern. The student was using space not reserved by any group or individual, and indeed space not used for any purpose at the time at which he wanted it (since the lots are almost exclusively used by employees, a Sunday evening guarantees no one will be around– and these devices were not going to be left in the area; indeed, lest one attempt to assert that they would have been, I will state that they could not have been, as they were not weatherized, and had bare circuit boards). This officer just wanted to pick on a student he knew couldn’t fight back, as he wasn’t able to speak English well enough to defend himself; the actions of a bully, if ever I have seen them.
I left the area, attending to the business for which I had originally sought my car; when I returned, approximately 45 minutes later, the student– who had, at long last, been left to his work by the guard– said that the guard had left, but subsequently returned, demanding my whereabouts. The student attempted to ask for what purpose they sought me, and they refused to answer his perfectly valid question.
Director Skrodzki, this incident is not an isolated one; your officers seem to want to create the environment on this campus of a police state, and random interrogations of students for no possible cause happen all the time, particularly at night, and particularly, in my experience, to the non-native English speakers. I am sure this is not a policy you espouse or endorse, and this is why I want to bring it to your attention– so that you can put a stop to what is becoming a dangerous situation on this campus.
I hope that you will take this request to heart, and put a stop to this behavior by whatever means you deem appropriate to the gravity of the situation.
Thank you very much for your time, and your quick attention to this gravest of matters. Should I be able to provide more information regarding this incident, please do not hesitate to contact me.
—Master’s Candidate, Department of Computer Science
—President, Upsilon Pi Epsilon
Feb 27, 2009
I’ve been working hard on Mnikr Prime, so I thought I’d push some changes to the live server.continued
Feb 24, 2009
So for all those people not really interested in subscribing to a big feed, I’ve added two category feeds that will let you subscribe to just what you want from Malice Aforethought:continued
Feb 24, 2009
Mnikr Prime was partially down (the user creation wasn’t functioning, and all ActivityStreams functionality wasn’t working) earlier today. It’s back up now, and I’m working to correct the underlying cause; remember, Alpha-quality software. :-)continued
Feb 23, 2009
A collection of random things I’ve been working on:continued
Feb 22, 2009
Last week, I had the incredible fortune to be invited to volunteer for the BlackHat DC 2009 conference, held in Crystal City. I’ve read about the BlackHat conferences for years, of course; they’re some of the premier security conferences in the world, differentiated from other great security conferences (e.g., USENIX) by their focus on systems in the real world and how specifically to break them, rather than how to create new countermeasures, or study what hackers are doing. In other words, these are the hackers, in the most traditional sense; these are the people who see systems, and seek to understand how they work– especially if they might work in ways their designers didn’t intend.continued
Feb 22, 2009
I’ve just created a plugin for Action Streams to include a link to one’s http://blip.tv show in the profile, as well as include new shows in the Action Stream. It’s not in the Movable Type Plugin Directory yet, as it always takes a few days for them to pick up new submissions, but you can download it right now from here, or see it with its sibling Action Streams plugins in the Movable Type category.continued
Feb 21, 2009
Hello, world! Welcome to the new USSJoin.com enterprise, Malice Afterthought.continued
Feb 21, 2009
These are full web applications which you can play with. Note that they’re not necessarily fully production-ready, but they generally work more than not. If you’d like to use them for something more robust, feel free to contact me.continued
Feb 21, 2009
- Data::Microformat v. 0.04 A module to handle parsing/creation of hCards and hAtom from (X)HTML. Has a variety of useful features. Available on CPAN.
Feb 21, 2009
These are plugins I’ve created for the blogging software I (and many others) use, Movable Type. I primarily create plugins for Action Streams, which are very small, but people find them useful. You can see all of them demoed on http://ussjoin.com.continued
Jan 22, 2009
I had the opportunity to give a guest lecture today. The course is called “Developing Photo and Video Applications For Online Social Networks,” but it’s essentially a course about developing for Facebook. They asked me to lecture on the alternative– namely, developing on the Open Web, and what that’s all about anyway.continued
Jan 6, 2009
Only in Montana would a gas station have a sign that says “We have Bluetooth Headsets and MGD!”continued
Jan 5, 2009
Today, my family and I went up to Helena, MT to see the state inauguration– the Governor, legislators, various executive branch people, and a new Chief Justice of the Supreme Court were all being sworn in. Always fun to see the difference in politics between the national level and Montana.continued
Jan 4, 2009
I’ve been reading a few articles recently on distractions and productivity. In general, they share the central thesis that “distractions are bad and kill your work.”continued
Jan 3, 2009
As a student, I’ve had the remarkably painful experience of moving every blasted year for the last seven years. Every May, I have to pack everything I own into boxes, stuff the boxes into either a storage area or some sort of moving device (or, several times, both, as I’ve had to move to a storage area for a few months, then move from it back to a different apartment), then leave. This is annoying– and it’s particularly so in light of the knowledge that nine months after I unpack, I’ll have to do it all again, first because I was switching dorms, then apartments. What a pain.continued
Jan 2, 2009
A few months ago, I purchased Wii Fit, partially to see what all the buzz was about, and partially to see if I might actually play it somewhat regularly. I do enjoy it, though this academic year has left me with less time to play than I might like.continued
Jan 1, 2009
So I’ve never been much of one for New Year’s resolutions. For one thing, I usually don’t particularly need a “new year” as an incentive to do things; if I wish to do them, I can simply do them. For another, it falls in the middle of a break from school– so this is the wrong sort of time to be starting big new projects, as I’m not really in a mood to work. :-)continued
Dec 31, 2008
A few weeks ago, I had the opportunity to have a discussion with Dr. Greg Shannon about privacy and anonymity. He had some very interesting insights, and with his permission, I thought I would share some of the conversation. I’ve made some edits– mostly my responses, to make them more concise– but nothing too major.continued
Dec 30, 2008
Hello, friendly blogpeople!continued
Dec 16, 2008
In Accelerando, Charles Stross mentions as a side note that reputation is handled as a matter of course in the immediate pre-acceleration society, and specifically, that it is communicated by trusted servers and built up in the manner of a stock market, with, as he terms them, “goodwill dividends” from highly-rated reputations. People and companies can be traded on the same market, so the protagonist has a reputation traded above IBM.continued
Dec 15, 2008
For the last few days, an incensed debate has been taking place on the OpenID Mailing List, regarding the purpose and value of anonymous people participating in the OpenID lists generally, and in the development of the OpenID standards specifically. One of the most heated instantiations of this has come in this thread, where many members have stated that one of the most prolific participants on the mailing list, “Shade,” shouldn’t be allowed to contribute to the work of the group, because no one could know her (well, his or her, but I’ve always thought of Shade as female) intentions or biases. One member went so far as to say that anonymity was fine for people on the periphery of the conversation, but as Shade had consumed too much of his time and attention, he was no longer finding her anonymity acceptable.continued
Dec 14, 2008
I’ve been working on a lot of different projects lately, and run into a few really great tools; I thought I’d mention some of them, in addition to a new utility I’ve written.continued
Dec 13, 2008
Facebook is an extraordinarily closed platform.continued
Dec 12, 2008
The content here has been moved to http://yourdata.ussjoin.com.continued
Dec 6, 2008
In my heading-on five years at Hopkins, I’ve interviewed with an incredible array of companies. Big, small, from stealth startups to companies with 80K people. Some of them I’ve liked– a few, I’ve even had the pleasure of working for. Even the ones I didn’t like, I’ve treated with respect; I don’t believe in burning companies just for its own sake. I have never yet, however, been as deceived or as horrified in an interview as I was today, and because of the nature of the business (illegal) and its owner (working under false pretenses), I feel that I have a duty to share my story.continued
Dec 3, 2008
“Why do you have a chicken on your blog now?” asked my sister, Shannon. “Because I moved where I’m hosting it.” “What’s that got to do with it?” “Uh… nothing.”continued
Nov 9, 2008
I realized that it’s been some time since I posted about the Mnikr project, and since development has been far from stagnant, I thought I’d talk a bit more about what I’ve done so far, where I’m going, and even provide a few screenshots.continued
Oct 26, 2008
I’m unhappy with the state of my pants.continued
Oct 21, 2008
Two things I learned today:continued
Oct 19, 2008
I got the opportunity to attend BarCampDC yesterday, an unconference filled with lots of fun people from the (still relatively small) DC startup community. It was a great opportunity to meet people from the area; while my internships in the Bay have (this summer especially) provided ways for me to meet the tech community there, Hopkins hasn’t made it a priority to get events like this here (though I’ve tried to convince them a few times). My beneficent overlords also provided some of the funding for this BarCamp, which was cool (BarCamps are funded by lots of smaller donations, rather than a few big ones, to prevent any one company from dominating discourse; at this BarCamp, the max donation was $250, and they had more than 36 sponsoring companies). It was my first time at a BarCamp, and I had a blast.continued
Oct 10, 2008
Last post, I discussed the set of projects I had to accomplish this semester/year. Since that time, in between my mother coming to visit, various installments of homework, and needless drama with JHUMagic, I’ve managed to get some major work done on one of them: Mnikr.continued
Sep 21, 2008
Hello, friendly blogoverse!continued
Aug 31, 2008
One product of my youth and inexperience is that when people around me reminisce about the “good old days,” I almost invariably don’t remember when said days existed. For instance, in Montana, old ranchers always get together and remember the “good old days” when we had “real” winters; for reference, in my lifetime I have seen 3+ feet of snow on both August 22 and June 19, and I didn’t have a Halloween costume that wasn’t quickly retrofitted to work with snow pants until I was 13. I cannot, for the life of me, imagine how hellish the “good old days” must have been, given what they’re being compared to.continued
Aug 13, 2008
Colleen McGarry, Six Apart’s office manager / house mother (the person who makes sure we don’t walk in front of traffic, who finds staplers for us when we’re holding them, and all those other things to make sure work happens occasionally around here), has to put up with a lot. I won’t disclose who mailed this letter… but I can assure you that I’ll be making fun of them shortly. :-)continued
Aug 11, 2008
Six Apart has been for the last eight weeks an unbelievable ride in a variety of ways– the people, culture, and technology here are all just fantastic. Not only are 6A’s people some of the best anywhere, but they’re all amazingly friendly, and willing even to help answer the questions of a most definite n00b.continued
Aug 7, 2008
Yesterday, when I saw this article, I had a flashback to a conversation I had with a family friend back in May. She’s a labor attorney, and a very astute advocate of civil liberties, having fought for the rights of workers for her entire career. She has to fly incredibly frequently for her job, however, and I asked her how she dealt with the insanity that is TSA:continued
Jul 31, 2008
Lest you think that all we get done here is creating the future of the web as we know it… see David’s video of a typical moment (in preparation for the Intern Olympics, about which I will no doubt post soon) at Six Apart:continued
Jul 24, 2008
Six Apart gave me the opportunity to attend f8, the Facebook developer’s conference, yesterday, and it was a blast– not just the tech breakout sessions, which were mixed, but the opportunity to meet so many people from so many interesting companies. A large chunk of the world interested in social networks was there, including many who already partner with Six Apart– so it was great to meet those people in person for the first time (for me, anyway).continued
Jul 22, 2008
Jun 29, 2008
May 29, 2008
May 29, 2008
Well, the last month has been exciting, in more than one way. I’ve been meaning to post a long rant about the evils of my roommate (who recently lost his mind), but heck, the bullet points speak for themselves, and I’m not in the mood for a rant, so here goes:continued
May 6, 2008
So I’ve been busy the last few days, doing a variety of work-type things, but also trying to occasionally explore fun new tech, or changing my old tech, as the case may be.continued
May 1, 2008
This is my final project for 600.409, Digital Preservation, here at Hopkins; it's been an incredibly fun and rewarding seminar with four professors (for our eight students): Randal Burns, Sayeed Choudhury, Tim DiLauro, and John Griffin (winner of the minimalism award for his business website). They've been great to learn from for the entire semester.continued
Apr 29, 2008
It’s the last week of classes here at Hopkins, and this semester, the end can’t come quickly enough. This isn’t merely “senioritis”– I find myself much more burned out by the semester than usual. Soon, however, classes will be over, then finals, and I’ll have some days to just sit and play games before my parents come and I have to do the whole “graduating” thing.continued
However, that doesn’t prevent me from (when I have a few spare cycles) playing with fun new things:
<ul><li>New Apartments – yes, apartments. I finally got my housing nailed down for the summer in San Francisco– I’ll be just half a mile away from Six Apart, in the middle of San Francisco. Should be awesome. I’m also getting rid of my roommate in Baltimore, and moving a couple blocks south on Charles St. in the fall; I’ll actually be right upstairs from Shannon, and even closer to campus. (Before, I was only across the street from the freshman dorms, but a whole two blocks away from the Engineering quad– what an awful walk! :-) Now I’ll be straight across the street from the Engineering quad. And also pay less rent.) Life is good.</li><li>New Phone – I just realized that this never got blogged; right before Grand Prix: Philadelphia, my contract with Verizon was up, and so my brother and I got iPhones. It works amazingly well. I spent three hours in the Apple Store before buying it, learning how the Great and Wonderful Apple could Change My Life. (So it’s a bit of a cult. :-) ) At the end, I was convinced– and not just about the phone (see below). So I’ve had it for a month, it seems to be holding up to me well, and I’ve enjoyed it a lot; one has to understand that before the iPhone, I didn’t own an MP3 player. I once did– back when they were brand new, I owned probably the first one in the state of Montana. A whole 128MB of capacity. It rocked, but then Dad took it for running, and now it’s been put in a drawer since he has an iPod Shuffle 2G. So I’ve been really liking having my music travel with me– and just recently, I’ve discovered the Podcasts in the iTunes Store, and so now I can listen to Car Talk or Talk of the Nation when I’m wandering around the campus at 2AM. (Yes, you can mostly download them from their websites– but iTunes does it automatically, so I don’t have to remember to check, much like Google Reader checks my 35+ feeds so I know I’m always up to date.) Awesome.</li><ul><li>You have to realize– I’ve hated Apple since I was six. Seriously. They were always the broken, crappy computers when I was at school, and they never worked with anything else, and nothing ever went right for them. Even OS X didn’t seem to be improving that– sure, it said it was more UNIX-y, but it still wasn’t particularly compatible with anything. As of Tiger/Leopard (and really, as of the Intel switch), however, this has apparently changed– and I was blown away, standing and playing in their store. I also got to enjoy a nice blue Kool-Aid while I was there– they’re so friendly!
</li></ul><li>New Computer – having gone to an Apple Store for three hours to experience an Awakening, I got tired of dealing with Vista’s incredible number of crashes for no reason. At the same time, my laptop started really heading down the road– since my deadbeat laptop company won’t even return my phone calls to fix my laptop (recall its untimely injury in November), this isn’t good. Now, however, I’ve handled the problem with a vengeance, and my new ultra-powerful Mac is tearing up my apartment, resplendent with ZFS support and shiny “whoosh” graphics whenever I do something. I even have enough storage on it to finally put my various servers’ worth of stuff onto one RAIDZ’ed system– which makes the whole effort much nicer.</li><ul><li>Of course, switching to OS X does come with some annoyances– why does Home go to the beginning of the document, as on precisely no other computer ever? Why are you so obsessed with the silly Apple key (or Windows key on my keyboard– my wrists won’t let me use that non-ergo (but very shiny) Apple Keyboard, so I’m using my (wonderful) Microsoft Natural 4000 still)? And why is there still no release of Java 6 for all the Apple products? Extraordinarily silliness. But a lot of it I can work around, one way or another.
</li><li>And, of course, I’m still dual-booting to Windows– which is only for DCI Reporter (the tournament tabulation software for Magic tournaments) and games– the latter being much more a hope that it will one day be relevant, than any reflection of now. I don’t actually go there that often, but on occasion it’s necessary. (I’m struck by how many things are really available for OS X though, now that everyone uses x86.)</li></ul><li>New Analytics – at long last, I was given access to the Woopra beta, so I can have live statistics, and watch visitors as they click around my site. (Not that I couldn’t technically have done this before– this just makes it much nicer.)</li></ul>Now, however, it’s time for me to get back to work; a project due on Thursday, another on Monday, and then reading period starts. I’ll sleep, no doubt, when I’m dead.
Apr 6, 2008
As I was handling yet another grade appeal last week, I made an interesting realization: my hobby and my (ostensible) job are the same.continued
For reference, the hobby to which I’m referring is judging Magic: The Gathering, and the job is being the Head TA for our introductory programming course (in Java).
So how are they the same?
<ul><li>I have a horde of people I’m supposed to enforce some order on.</li><li>The horde in question is filled with interesting characters– but for the most part, they’re smart, funny, great people to talk to, who I enjoy conversing with during any free second I happen to have.</li><ul><li>At GP: Daytona, a man I talked to was kind enough to share the secret for getting his wonderful huge Magic case; it looked like a 6xsized Ultra Pro case, but while it was at least as high quality, it was 1/3rd the cost of the small Ultra Pro one ($20 for the huge one, compared to $60 for a very small Ultra Pro case); the big secret was that Ultra Pro rebrands a toolbox found at Home Depot. How neat is that?</li><li>At GP: Philadelphia, I got to speak to a former US Robotics programmer, who now spends his time making computers for impoverished children, about the OLPC project.
</li></ul><li>My role is to help people, without being improperly helpful.</li><ul><li>In Magic, we answer the smallest possible question– this differs somewhat depending on what kind of tournament it is, but in general, we answer the question people ask, not the one they actually need to know to make the right decision, or the one they want us to answer, or the one asking what the best play in a situation is.</li><li>In Java, this becomes answering questions without giving away design questions, or answering questions they should have found in their textbook.
</li><li>In both cases, not giving them all the information in the world annoys the hell out of the people. (In Java, particularly, students demand that I just “do it” for them. Why would I do that? In Magic, players don’t demand I play the game for them– which is good, because while I’m actually reasonably good both at TAing Java and programming in Java, I’m not a good Magic player, at least not on the Grand Prix level.)</li></ul><li>The horde of people cheat, fairly often.</li><ul><li>In point of fact, this is not fair to the Magic community. The Java babies cheat way, way more– in one recent semester, we had a consistent thee or four different people caught (provably) cheating, EACH WEEK. That’s not even the highest rate we’ve had in the five semesters I’ve been doing this– and understand, this is with a class size of approximately 100. At Grand Prix: Philadelphia, we had maybe three or four disqualified, with 969 players. And we’ve not yet had a disqualification at JHUMagic. (Though hordes of judges are playing today; maybe this will be our first. :-) )</li></ul><li>Players appeal, all the time, often for very little reason.</li><ul><li>In Java, I’m actually the first line of appeals, so they get to come explain themselves to me. That doesn’t stop them from going to Dr. Houlahan (often without telling her that they’ve spoken to me; this leads to an obnoxious “playing Daddy vs. Mommy” problem), but sometimes I can talk some sense into them. “No, you don’t get points for having thought about the assignment. 0 means 0.”</li><li>In Magic, I only Head Judge JHUMagic tournaments, so there aren’t judges working under me; hence, I don’t receive appeals. But I do occasionally have appeals against my rulings, which is fine; it’s the player’s right, and I’ll be the first to admit that my rulings aren’t always correct. (Players tend to appeal the ones where they are correct, however, which is amusing.) The advantage here is that unlike in Java, when players are offensive about doing it (standing up and yelling for the Head Judge while I’m trying to speak– and understand, I’m always happy to get the HJ for them), it’s an actual infraction, with consequences; in Java, I can’t take off more points for being rude. (Though I want to. :-) )</li></ul><li>My signature has become wildly corrupted.</li><ul><li>In each of these activities, I don’t actually sign things, I just initial them. When I was only CAing, my initials were, you know, letters you could read. Since I’ve started judging as well (also requiring initialing), my initials have devolved into this kind of wild blur, best executed in black pen. It’s fairly amusing.</li></ul></ul>But hey– they’re both fun. (Well, judging is. :-) ) And in both activities, I have slowly established a rapport with the people involved (both other judges/graders and with the players/students), which is fun; players recognized me at GP: Philadelphia from judging at DreamWizards, and some new players at JHUMagic last week recognized me from the coverage of GP: Philadelphia (not the best photo, but here goes):
For now, off to judge what I hope will be the largest JHUMagic tournament ever; several judges are coming up early for the draft, as we’re holding a Judge Seminar afterward. Should be fun!
Mar 29, 2008
So, having worked a bit more on the blog (notice the new, new layout; incredible thanks to Bryan Tighe, for having adapted the Hemingway theme to Movable Type, and to Byrne Reese, for hosting it), I have several other issues with Movable Type, as I handle the little bits of the transition:continued
<ul><li>Standards Compliance. Yes, I know that standards are kind of a pain to deal with– but there are good reasons for them (so that we can all blame IE for rendering problems, for one, but also so that any screenreader/weird experimental browser/etc. can all read the page the same way. The big ones (XHTML, CSS) have been around forever. So why is it that Movable Type, as shipped, doesn’t validate as either clean CSS or XHTML? The CSS one is just a warning– but it’s simple to fix, enough so that it makes it seem like it’s been ignored. As for XHTML– again, it’s not hard. They specify XHTML 1.0 Transitional (not the highest possible bar), but they don’t even get there! None of this may be their highest priority, but it makes me somewhat cranky when I have to go poke through template code to fix something that is broken by default. (You’ll note that my pages are now fully compliant XHTML 1.0 Strict and CSS 2.1; check the bottom of the page.) Please note, however, that I had at least as much to fix with Wordpress when I started with it, so this isn’t MT-specific; if, however, MT were to make it perfect (at least with the set of default templates/styles) it would be a nice thing.
</li><li>There’s no built-in support for a blogroll. It’s not the biggest thing in the world, but especially because of XFN, it would be really nice if MT had some easy, chromed way to add blog links with XFN relationships to a widget somewhere. It’s certainly not impossible to do myself, but it seems like an often-wished-for feature they’re missing. I know people want it, because of the number of users of the MT Blogroll plugin– unfortunately, that hasn’t been updated for MT 4.x, so it’s not useful to me. Wordpress does have this.
</li></ul>On the other hand, I’ve found more things to like about Movable Type, as well:
<ul><li>It’s dead-easy to write my own widgets, something I personally struggled with in Wordpress. It took only a few minutes to make a blogroll that fit in a widget (not dynamic or database driven, but it works and looks fine); you can see it in action down at the bottom.</li><li>Awesome defaults– for instance, look at the Archive Page. Isn’t that nice? Wordpress never gave me anything as clean and functional as that for my archives, though I could have used it. (And obviously, it becomes more important the more you blog.)</li><li>Once again, incredible speed compared to Wordpress. Your mileage may vary, but compared to a version of Wordpress my shared host had specifically worked on to make it faster– MT just kicks its butt.</li></ul>So I’m still happy. Adding a few things would make me even happier, but I suppose you don’t always get what you want right away. For now– back to work, this time on the sort of things for which I’m graded. :-)
[EDIT: For spelling, as pointed out subtly by Byrne in the comments. :-) ]
Mar 28, 2008
Hello, denizens of the Interweb!continued
It’s been a long time (more than a month!) since I’ve posted, and this post isn’t going to try to cover all that; that’s what the next one will be for. Instead, I wanted to point out (for those of you who don’t look at my site, or those of you on feedreaders) that my layout has hugely changed; this is because I’ve switched from Wordpress, which I’ve always used, to Movable Type.
Why did I make the switch, one might fairly ask? Well, I’ve been bothered by Wordpress’ speed issues for a while now. They’re partly due to the fact that I use shared hosting, sure, but honestly, it was driving me crazy to have to wait 15 seconds for the front page of my blog to load, and over a minute for a post to finish being posted.
Secondly, I was actually convinced by Anil Dash’s very funny (and not a little informative) post, “A Wordpress 2.5 Upgrade Guide.” It went through the list of advantages of Movable Type, and showed how with the impending release of WP 2.5– the best choice was to leave WP entirely. Obviously it was somewhat tongue-in-cheek– but the WP community appears to have taken it as pure evil. Matt Mullenweg, a man who I thought would have made a rational and insightful riposte, instead replied in the blog comments with an ad hominem not related to the article– and that’s setting aside his Twitter response. With advocates like that– MT seemed like a more fun place to be.
So then, how was the actual changeover process?
Well, first, Movable Type’s import functionality leaves something to be desired. Having exported my blog in the WXR format as requested, I imported it into Movable Type– and found that MT lost all my tags, and all of my paragraph breaks, from all my previous blog posts. This isn’t good– they’re in the XML file (I checked), so this isn’t WP’s fault. I’ve gone through and restored the tags, but I haven’t gotten around to fixing formatting; it’s a much larger job.
Other than that, the changeover went quite well– and I’m pleased with the results. My blog loads much faster (due to the static generation in MT), but even the long-form publishing to make static pages (basically the slowest thing you can do; it has to recreate every part of the blog) is faster than it takes WP to push out one post. How great is that?
The administrative interface is much more responsive generally, too, allowing me to make the changes to add Analytics, for instance, much faster than WP can even show me where that code is.
My plugins are mostly unneeded with MT– OpenID support, for instance, is in the core. So “it just works,” not “it works as soon as I fight with it for a couple weeks,” which was my experience with OpenID on Wordpress. (Admittedly, that was partly because the original OpenID plugin for WP stopped maintenance, so I had to switch over to a new one.)
So we’ll see how this goes; if nothing else, I hope the new, slicker interface will encourage me to post a bit more often. :-)
Mar 28, 2008
Hello, all! So for those keeping track, it’s been very nearly a month since the last time I posted (excluding the earlier post about switching software, of course). Here’s the rundown of the interesting things that’ve happened to me in the interim:continued
<ul><li>When last I wrote, I’d just arrived in New Haven to visit Quinlan– we got to hear his small group of musical friends play, which was fun. :-) Also got to meet his girlfriend.</li><li>I got a new phone! It’s an iPhone, so I had to drop my Montana number– but as I have GrandCentral, I have one still (it’s just different): 406-545-0430. If you want my real cell phone number (say, so you can send me text messages), call me on the 406 number first, and I’ll give it to you.
</li><li>I judged at Grand Prix: Philadelphia, which was a blast; three days of awesome play. I was given the opportunity to judge the Grand Prix Finals– an amazing chance, where I got to sit very quietly and not make a fuss (assuming, of course, the players knew how to play correctly; they did :-) ). Also took some photos, mostly of judging stuff (always fun to have a big group of judges– 30+ attended). Nick, the L1 I helped train from L0, also got his stripes, which is always a great thing to see.</li><li>I helped my sister, Shannon, celebrate her 21st birthday in fine style– mostly at one fine establishment, but also sampling from others as the night went on.</li><li>I went up to visit my godson (now three years old!) in New Jersey, during the second weekend of Spring Break.</li><li>I broke up with Caitlin– my girlfriend, of two years and a bit. sigh This raised, to me, an interesting question about technological identity (though I’m hardly the first person to consider it, I hadn’t thought about it personally before).
</li><li>I accepted an incredible offer to go spend the summer in San Francisco, working with lots of really neat people at Six Apart! I’m delighted. I’ll be working under David, on Open Platforms. (On a related note, if you know of anyone who wants a subletter / housesitter in the area for the summer, let me know!)</li></ul>And, of course, the usual JHU grind of projects and homework. So I should probably go now, and attend to my Operating Systems project (pwn a linux box with a kernel module; obviously it’s not hard, but it’s meant to teach how silly it is to load untrusted kernel modules), my Programming Languages homework (do things in the Professor’s pet language), or any of my other ongoing major projects (Java Lab, research code, Information Retrieval, Constitutional Law V, Digital Preservation….) Should be fun.
Feb 23, 2008
So it’s been awhile since I last posted, mostly because of a rush of work. As I write this, I’m sitting on an Amtrak train to New Haven, CT, as I’m going to visit Quinlan at Yale. I can’t post from the train, unfortunately– while I’m eyeing the Sprint wireless broadband dongle of the person next to me, I doubt he’d be willing to share.continued
Feb 7, 2008
“Nice– now I don’t ever have to talk to you to see what you are doing.”continued
Feb 4, 2008
While browsing through Twitter messages a week or two ago, I encountered a message from David, pointing me to his new website. Go check it out for a minute, then come back.continued
Jan 30, 2008
So obviously, my good intentions about blogging more often didn’t work out so well upon returning to Hopkins– but hey, life is complex. So what’re the cool (seriously!) things that’ve been stealing my time away from the Blogoverse?continued
Jan 11, 2008
The first time I saw a mention of the “Hipster PDA,” I thought it was ridiculous. “So it’s just a bunch of 3x5 cards? How is that advanced organizational power? How will I do Google Maps on it? Or addresses? Or… anything? How is this not entirely lame?”continued
Jan 6, 2008
In my last post, I mentioned an impending road trip; now that it, and its followup meetings, are handled, I can talk a bit about what was going on.continued
Jan 1, 2008
Hello, friendly denizens of the Interweb. Having just woken up at 1:45PM (MST) after a really quite excellent New Year’s party (including friends I hadn’t seen in years– and new, cool people I hadn’t met before), I’m now camping out at a coffee shop to hang out and play with my XO without waking the rest of my family up.continued
Dec 27, 2007
So my resolve to keep blogging regularly was broken, it would seem, by the sad realities of the latter part of the semester. A brief update list, before I get on with the story:
- With a team, I did my Network Security project-- "Security Through Virtualization." The basic premise was to make a "secure" virtual machine through placing an antivirus scanner on another machine, then scanning changed files on the first continuously-- then, upon finding malware, rolling back the VM to a checkpoint. It turned out to be reasonably easy (well, for a term project; the professor said it could be done in a weekend, we spent more like a week on it), and so a good time was had by all.
- Somewhere in the middle of the various products, JHUMagic got its constitution finalized (we're an official student group now, yay!), and held its last tournament of the semester.
- I proctored, then worked (with all my CAs) to grade the Java final-- always interesting, or at least, always somewhat fun to see what students *actually* learned at the end of the semester (besides to hate me and/or Java :-) ).
- On my own, I did my final project for Embedded Sensor Networks-- a continuation and extension of the work I was doing for HiNRG. My task was to implement sensor network testbed control software-- which I had (previously) chosen to do in Rails. This worked out quite well-- Rails is designed for web applications, of course (which this was), and so the primary challenge turned out to be to write the middle layer (Rails being the top and MySQL and the motes being the bottom layer)-- which actually translated commands into action. It's research code, so I can't post it here (right now), but if someone wants to see it (especially if they know something about sensor networks, but even if they're just curious), I can certainly let you take a look.
- With my research team (the non-HiRNG one-- Shannon's Biomedical Engineering one), I went to visit Northrop Grumman. Fun people, if that's your area of interest; certainly they're doing interesting work. We got to learn about their research in the area of biodetection; naturally, what they told us was somewhat restricted, but it's not too hard to get some sort of idea.
So then, after last time’s (chaotic, poorly-thought-out) blog post, my dear readers should have been somewhat concerned; after all, taking away Brendan’s computer would be… bad. Anyway, what ended up happening is that I took a friend’s laptop with me to Florida for the break– which worked out fairly well. My laptop’s hinge is still broken– my dealer is having trouble understanding the definition of a “warranty” – caveat emptor is one thing, but I’d hate to have to use ahem measures of extraordinary gravity to bring them to my views on the matter. In the end, I suppose they’ll listen to Reason – Ultima Ratio Regum, indeed.continued
Nov 14, 2007
So, Sunday night I had a fairly large catastrophe: upon returning from the week’s tournament, I opened my laptop to find that, well, it couldn’t open quite right. Upon further examination, it turned out that the left hinge’s bottom half– a cast-steel solid part– had sheared, completely, a situation made even worse by the fact that the left side, on this laptop, contains the wires necessary to make the screen work.continued
Nov 5, 2007
It’d be great if I could manage to update this regularly; I suppose I’ll settle for “when I can get a chance.”continued
Sep 30, 2007
As previously promised, here I am once again, sitting in the Hacklab and writing a post to my blog, as there aren’t enough students who bother coming to office hours. “So why not reduce their number?” Well, we could– but the thing is, students do come. Over the course of the semester, I’ll have students at all times during my office hours. Once or twice, I might even have, say, six kids in the four-hour timespan. So it’s hard to reduce without cutting off (theoretical) Java Babies; therefore, we run 28+ office hours a week (for 120 students).continued
Sep 23, 2007
Time, it would seem, continues to pass. This not being unexpected, it does not need much comment.continued
Sep 11, 2007
So the habit of regularly posting appears to elude me, but nonetheless, I’ll try to keep the blog updated from time to time.continued
Aug 28, 2007
So I’m at home in Montana now, just for a few days– Saturday 8/25 through Friday 8/31. I had the opportunity to judge at the Last Chance Grand Prix Trial for Grand Prix - San Francisco on Friday, which was fun; the TO was generous enough to let me serve as scorekeeper (a role that can be either extremely helpful, with a good scorekeeper, or extremely damaging, with a bad one, to the tournament) for the eight simultaneous tournaments, which gave me some valuable experience– and I was able to do a bit of floor judging as well, near the end.continued
Aug 19, 2007
(Yes, it’s another post primarily about Magic. But it’s an exciting one!)continued
Aug 6, 2007
Jul 26, 2007
So, I haven’t blogged since…continued