I started working in an office again last Fall and found myself wanting to access my home machine often. It was time to finally set up some sort of VPN. My home machine is a Mac mini attached to a projector and a Drobo. I have an iPad, phone, and work laptop, but that’s the extent of the computing devices I use at home. I use the mac mini essentially headless, accessing it via OSX’s built in Screen Sharing and file sharing. I wanted to recreate that experience remotely. Continue reading
This weekend @SanMo (original post) started freaking out and reposting the same tweets over and over again. Code superstar Chris Finke wasn’t available to help me track down the issue so I reanimated Chris Nelson for assistance. My initial thought was that Twitter had changed the way it served mentions. retweet.py stores the status_id of each status it retweets in a sqlite database so it doesn’t repeat itself. Browsing the database, I noticed that the two tweets it was repeating were the first with ids above 10 billion (a recent milestone). Chris pointed out that running
sqlite> SELECT MAX(status_id) FROM retweets; Returned the id ‘9663742534’ and not the true maximum. The table that retweet.py creates has two text columns, one for status_id and one for the timestamp. Changing the status_id column to integer causes MAX() to work properly (I’m not sure what the technical reason behind this failure is). To get retweet.py running again, I did the following (via Chris) from the command line:
# sqlite3 sanmo.sqlite
sqlite> CREATE TABLE retweets2 (status_id INTEGER PRIMARY KEY, timestamp TEXT);
sqlite> INSERT INTO retweets2 SELECT * FROM retweets;
sqlite> DROP TABLE retweets;
sqlite> ALTER TABLE retweets2 RENAME TO retweets;
That will shift all the old data into a new table. The initial database creation routine needs to be fixed in retweet.py and will probably be in version 1.3. The fix above works for me but your mileage may vary.
This is a fun little trick I learned while traveling this weekend. When I’m not on my home network, I often use ssh -D to dynamically forward all of my traffic via SOCKS proxy to a remote server. This weekend though, I found myself trapped in a network with only an HTTP proxy to access the internet, so I couldn’t even check my email via HTTPS. The solution was to use connect.c to relay SSH through the HTTP proxy. I temporarily added two lines to my SSH config that proxied all host connections through the HTTP proxy.
ProxyCommand connect -H xxx.xx.xxx.x:80 %h %p
Then I set up my SSH SOCKS proxy as usual.
ssh -ND 8822 firstname.lastname@example.org
I used connect.c, but a friend had success with corkscrew.
Goozex is a videogame and DVD trading service I’ve been using and I’m quite happy with it. Each game or DVD has a point value based on the age and demand. You earn points by giving items and spend points to receive items. Each trade costs the receiver 1 dollar. Points can be purchased 100 for $5. New games usually enter the market at 1000 points and age in 50 point increments.
I came to OSX from a Linux environment so there are often times when I’m using Finder and thinking, “Damnit, this would be faster with a command line.” I thought I’d share two tools that I’ve found alleviate some GUI pain. The first is Marc Liyanage’s Open Terminal Here which drops you into a shell in the current folder. In my experience, command line mplayer is the least crashy/clunky media player on OSX for playing odd codecs, so I just open terminal here when I find the file(s) I want to play. The second tool is Jim DeVona’s LSelect which lets you select files using shell style globbing just like you would with ls. It’s much faster than the GUI for even the simplest of tasks like selecting just one file type. I’m using both of these with Henrik Nyh’s fine icons. I hope you find these tools useful.
Shareaholic is a browser addon that streamlines the process of using bookmarking services. When it originally debuted, I wasn’t using Digg or delicious that often. I’ve recently accumulated a lot of bookmarklets that I use fairly frequently and decided to give Shareaholic another go. These are the services I’m using Shareaholic for:
- Bit.ly – When I want to share a link on Twitter, Bit.ly is my goto. It shortens and gives you free stat pr0n.
- Google Reader – I’ve got a fun group of people on Reader and this makes it easy to inject stories into my shared items.
- Instapaper – I’m guessing I’d get more mileage out of this if I was an iPhone user.
- Tumblr – Used most often for adding posts to Fucking Curated.
- WordPress – For posting here.
- Amazon Universal Wish List – I always wanted to make more use of this and Shareaholic makes it easy.
- Gmail – Sending links via Gmail was all I every used Mozilla’s Ubiquity for.
I installed the extension on Firefox and now that the dev channel of Chrome for Mac has extensions I’ve got it there too.