A "Personal Statement" on PrivacyMay 13, 2023
[Update 2022-06-06] IAPP has awarded me the FIP credential, either because of or despite this statement. :-)
The complete set of posts on the site.
[Update 2022-06-06] IAPP has awarded me the FIP credential, either because of or despite this statement. :-)
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
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
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
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
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
Update on December 4, 2013: Want to watch the videos?continued
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
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
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
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
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
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
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
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
At PublicMediaCamp today, I gave a quick introduction to Processing and visualization of data in general. Here’s some useful links:continued
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
“So if you’re at Google, why haven’t you talked about it?”continued
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
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
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
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
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
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
For the last few weeks, I’ve been working on a fun personal project: I’ve been building a wearable computing rig.continued
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
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
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
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
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
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
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
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
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
Twitter data is now displaying correctly on profile pages.continued
Just a few more changes today:continued
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
At long last, I’ve got something to show you all; I present Mnikr (pronounced like “moniker”).continued
Mnikr is now live! Check it out, and check out the blog post about it at Times and Measures!continued
Note: this is part two in my series, “A Guide to Social Networks for the Tragically Uncool.” For Part 2, click here.continued
Note: this is part two in my series, “A Guide to Social Networks for the Tragically Uncool.” For Part 1, click here.continued
Dearest and Most Exalted Professor and Advisor,continued
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
I just pushed a lot of changes to the production server:continued
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
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
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
I’ve been working hard on Mnikr Prime, so I thought I’d push some changes to the live server.continued
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
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
A collection of random things I’ve been working on:continued
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
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
Hello, world! Welcome to the new USSJoin.com enterprise, Malice Afterthought.continued
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
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
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
Only in Montana would a gas station have a sign that says “We have Bluetooth Headsets and MGD!”continued
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
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
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
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
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
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
Hello, friendly blogpeople!continued
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
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
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
Facebook is an extraordinarily closed platform.continued
The content here has been moved to http://yourdata.ussjoin.com.continued
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
“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
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
I’m unhappy with the state of my pants.continued
Two things I learned today:continued
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
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
Hello, friendly blogoverse!continued
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
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. :-)
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
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
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:
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
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
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
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
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.
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.
As I was handling yet another grade appeal last week, I made an interesting realization: my hobby and my (ostensible) job are the same.
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!
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:
<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. :-) ]
Hello, denizens of the Interweb!
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. :-)
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:
<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.
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
“Nice– now I don’t ever have to talk to you to see what you are doing.”continued
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
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
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
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
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
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:
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
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
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
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
Time, it would seem, continues to pass. This not being unexpected, it does not need much comment.continued
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
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
(Yes, it’s another post primarily about Magic. But it’s an exciting one!)continued
So, I haven’t blogged since…continued