Hacks


17
Jan 08

Development Approaches to Writing?

I know that many of my readers have tackled large writing projects (books, dissertations, etc.), so I’m hoping you can help me out. As I begin my thesis, I can’t help but look at it as somewhat of a software development project. While the creative process is different, the machinations are similar: I’ll be adding or editing lines (of text) and referencing objects (citations), and I’ll be stylizing and formatting the material. It’s a development process, with different content.

Here’s the problem I face. With software development, I use version control and project management software (Trac), I’ve got multiple backups on different machines, I’ve got builds, tests, etc. With writing, I’ve got a binary file that just keeps getting bigger each day. I don’t have an automatic way of seeing multiple versions, I don’t have software that lets me see the changes between checkins, so on and so forth. This is what I’d generally think of as lacking a “sane” development environment, and it is worrying.

A quick note about my writing flow. For a number of reasons, I do most of my writing in Word. My final document is often processed in LaTeX, but the actual writing and saving parts are done in Word. The problem with this is the writing process is a black box; I can’t see what changes I’ve made every day, I don’t have sane merges, etc. I suppose I could have a semblance of this functionality if I just saved a new copy of the document each day, but the idea of searching through 50 copies of a document to figure out what day I added that part and what I was thinking is just nuts, especially when I compare it to the heads-up display I get with Trac.

I’m willing to adopt a new word processor, I’m willing to write a bunch of scripts that will manage a build process. On the other hand, I’m not willing to write my dissertation in TextEdit (which I suppose is the only real answer if I want to follow a development method, sigh). But since I am new at this, I figure there are some tools or tricks that I’m missing. What I’m looking for is sane versioning, integration with SVN a major plus (this would enable me to Trac my project), maybe some advice on methods or tools that have worked for you. My hope is that this post will help others who stumble upon it, so please consider leaving a comment about what worked for you, etc. Thank you!


9
Jan 08

Practical Unit Structures: Yahoo on an iPhone

Starting a few days ago, Yahoo began intercepting iPhone traffic to Yahoo.com, sending it instead to a Yahoo mobile site. Annoying, and made even worse as Yahoo provides no apparent opt-out – I can’t find a link I can click that will reset my Yahoo.com preferences back to the regular Yahoo homepage.

With a little searching, I was able to find a solution to this problem. If you want to see the regular Yahoo homepage on an iPhone, use the following URL:

http://yahoo.com/?a

A little annoying to remember, but certainly better than having to use the mobile site. Yahoo, please remember that part of the reason I bought an iPhone is so I could browse regular websites. Unless your product is as good as Facebook for the iPhone (and they provide an opt-out), I’m likely not interested in using a stripped-down mobile version. Hopefully Yahoo will listen to its customers and offer an easy opt-out.


30
Aug 07

Outing fakesters with an address book

If you’ve tried to add new contacts on Facebook, Flickr or LinkedIn, you’ve likely been prompted to provide your Gmail/Hotmail/AOL email credentials. Using these credentials, these sites will cross-check your contact lists with known users on their site, in an attempt to hook you up with people you already know.


While the notion of sharing your authentication credentials with a third-party sort of blows my mind (too many years as an Admin, I suppose), as 80% of us use the same password across all sites (I just made up the 80%), it probably wouldn’t be too hard for Mr. Twitter to guess your Hotmail password if he really wanted to.


No, actually what interests me is how one could use this information leak to out fakesters. The approach is pretty simple – add a couple hundred email addresses to your contact networks in Gmail/Ymail/Hmail etc, upload to a site, and see just who pretends to be who.


This raises a question: Just when did it become fair play to share my email address? When I created a Twitter account, I provided my email for verification – but I didn’t assume that a third-party would be able to correlate my email to my Twitter identity simply by uploading an address book. What’s the big deal, you say? Let’s take the case of Fake Steve Jobs. What if Fake Steve were to create a Twitter or Facebook profile and use his “real” email address for account verification – his gig would have been up a long time ago.

Why does this matter? If you’re going to be a fakester, use Mailinator, right? Valid point, there will always been advanced technical countermeasures. What troubles me is how we trade the functionality of this handy “feature” for a reduction in privacy – and I’ve yet to see anyone really question it. If I provide a service with my email address, it has generally been my right to control who sees or does not see that email address. With these new “contact” functions, I lose control. My identity information is in the public, ready for anyone with an address book to discover.

So what if you are a fakester on Twitter or any of the other sites that employ these address book searches? Unless you’ve bulletproofed your identity by using a completely throw-away email address that you’ve never used anywhere else, it’s likely your identity could be compromised.

As Web 2 is ego-centric, anonymity/pseudonymity in consistently painted in a negative light. By embracing – and not questioning – these information leakages, we’re reinforcing this mode while perpetuating the fallacy that “there’s nothng to hide if we’re not doing anything wrong.” This is an erosion a privacy, and a new form of surveillance.


29
Aug 07

Practical Unit Structures

The beginning of the new school year always cuts down on writing time a little, so rather than posting another droning essay, I thought I’d share a few ideas that I’ve been thinking about lately.

Idea one: Web designers, Linearize online addresses. When you place an address on a website, it should be formatted as follows:

123 Main Street, Chapel Hill, NC 27514

rather than:

123 Main Street
Chapel Hill, NC 27514

Why? It is much easier to cut and paste the former, rather than the latter into Google/Yahoo/Live maps. The latter form of the address is optimized for letters and envelopes, while the former is optimized for online consumption.

Idea two: Let me schedule my cell-phone ringer. Everyone carries a cell phone to class – the students, the teachers, etc. I want to be able to program my class schedule into my cell phone, and for those times, I want my phone to vibrate, not ring. The problem I’m trying to solve is not remembering to turn my phone to vibrate – I can usually do that – but rather remembering to turn my phone back from vibrate to ring. If I can Bluetooth a video from my phone to my laptop, why can’t I schedule my ringer? It seems so elementary, but it is missing completely.


13
Jun 07

Hacking Fun: Never forget a birthday

For a long time, I’ve wanted a little robot to mail me and remind me of birthdays. Yeah, I know there are some online services that do this, but they are notoriously spammy. So last night I took a few hours and wrote my own, and I’m sharing it here with you.

The program is a pretty simple perl script designed to be run on a cron. You basically unpack it, configure it a little, and give it a list of birthdays. The program emails you a week before, a day before, and on the day of the birthday. Perfect.

This page has links to the download and instructions. If you find any bugs drop me a line or a comment. Of course, this program comes as-is, no warranties. Hope that some of you find it useful.


9
May 07

Symposium on Academic Productivity

I’m organizing an event for local students and faculty exploring academic productivity. Basically, academic productivity can be thought of as the tools and strategies you use to get your work done. Here are the details:

UNC Symposium on Academic Productivity
June 7, 2007, 1-4PM, Manning Hall 208
To attend: Add yourself to the wiki

Hosted by the School of Information and Library Science, the SILS Doctoral Students Association, and the SILS Research and Doctoral Committee.

About: The purpose of this symposium is to bring together students and faculty to share tips and strategies for academic productivity. What is academic productivity? It refers to the strategies, hacks or tools you use to get your academic work done. Perhaps you’ve got a good strategy for keeping abreast of new literature, or maybe you’ve got a strategy for backing up your files that you’d like to share. Simple or complex, come out and share what works for you.

Format: This is a three hour event, drop-ins are welcome. Each hour there will be four 10-minute presentations, followed by 20 minutes of discussion/hands on. If you’d like to present, you must be willing to document your hack and share it electronically so others can use it. The talks will generally be “walk throughs” of your strategies. A wide range of subjects are encouraged, and presentations should be casual.


4
May 07

WWW Tagging Panels Archived

Yesterday, I was looking for copies of papers from the 2006 WWW Tagging workshop, only to find a bunch of bad hyperlinks. After getting approval from the workshop sponsors, I set up an archive of the proceedings on ibiblio.org, the public digital library.

The archive contains full proceedings from the 2006 and 2007 tagging workshops (and hopefully more workshops going forward). If you examine folksonomy, tagging, etc in your research, these papers are well worth your time.

Hope this proves useful to you.