Simon's tech blog and lab

The 2013 Linus Roadster, a long haul review

No Comments

 

2013 Linus Roadster

2013 Linus Roadster

Just about a year ago I went crazy and purchased a 2013 Linus Roadster after getting frustrated with my lack of biking pretty much all through 2012.  It was a bit of an impulse buy, or at least I couldn’t seem to stop myself from buying it.  Thankfully it was a good purchase.  I haven’t gotten up to my peak biking form again (a harrowing but awesome move to BC didn’t help) but I still have no real regrets about purchasing this bike.  It’s held up very well, and it’s not a bike you have to pamper or “prepare yourself” to ride… I’m looking at you Cannondale Bad Boy!  I still loved it but man it needed a lot of adjustments seasonally.

As promised the internal 3-speed hub is low to nearly no maintenance, and the rest of the bike is so simple it’s very hard to bump out of shape while riding it.  I wouldn’t quite take it offroad but it can handle dirt and grass as well.  It’s a great way to explore Vancouver Island, and I’m glad I dragged it across the country with me.

So, long term?  Still loving it, and if I needed a bike I’d probably just buy another Linus.

Viva La Android: The Perfect Android SSH Setup

No Comments
Google Nexus 7 running JuiceSSH with a Apple Bluetooth Keyboard

Google Nexus 7 running JuiceSSH with a Apple Bluetooth Keyboard

A few things have been on my Android wishlist for a while now.  An Android phone with the right tools is a great mobile device for systems administrators, and for anyone who needs to use SSH to connect to hosts.

ConnectBot is great, but it was still just a little fiddly for me to use.  For example it didn’t honour certain keys when I was using an external keyboard, like the Apple Bluetooth Keyboard you see in the picture to the left.  A slight workaround was to use the excellent Hacker’s Keyboard instead, but that would take up valuable screen space, and if you’re going to be working for more than a couple of minutes it’ll get tedious.

So recently I re-visited this question to see if things have improved; They have, greatly!  At least for me on my Google Nexus 7 and LG G2.

The first thing I found was JuiceSSH, which is an excellent SSH client and does pretty much everything I need it to do without any fuss.  JuiceSSH will respond to the Control keys on your external keyboard, so I was already most of the way to a working SSH setup already.. But since I’m fancy, and I use CAPS-LOCK as the Left Control key, my rhythm was still slightly off.

The second part of the puzzle for me was to find something that would allow me to re-map CAPS-LOCK as Left Control, for Android.  I really thought this would be difficult, but instead it was really easy thanks to External Keyboard Helper Pro.  It’s a paid app but it’s well worth it for me.  It allowed me to re-map the keys the way I wanted to, and I don’t think I’ve even fully tapped the potential of what it can do.

So between these two apps, I’ve got a great little super-mobile SSH platform if I need one on the road.  It isn’t a huge problem for me at the moment since I picked up a used Thinkpad x200 off of eBay but I’ll leave that for another post.

Must have WordPress developer plugin: “Better File Editor”

No Comments

better_file_editor I love that WordPress gives you the ability to edit theme files directly on the server from the interface, but the editor is pretty basic.  I’ve become highly reliant on code highlighting to keep myself sane (especially when working with other people’s code!) and it was always slightly painful to work without it.

Enter this brilliant WP plugin; Better File Editor which utilizes the Cloud9 IDE to give you a full-featured editor built right in to WordPress.

Points of Interest

The Nick DeWolf Photo Archive is one of my favourite things on the Internet

No Comments

54-392

Nick DeWolf was primarily known as the co-founder and CEO of Teradyne, which to this day is a well known provider of technical test equipment.  Among his other accomplishments, he was also an avid (and damned good) photographer.

Thanks to the dedicated work of archivist Steve Lundeen, Nick’s massive collection of photographs have been added (and seem to endlessly continue) on Flickr.

Nick captured some great moments over the years, including this epic shot of Miles Davis mid-gig.

The archive is pretty expansive, especially considering the photography is the work of one busy man: There are over 70,000 entries spanning several decades, starting in 1952, and seem to have been taken from several corners of the globe. You can get completely lost in Nick’s world and it’s worthwhile.

Nick passed away in 2006 but even during treatment never stopped snapping.

Making it *slightly* easier to not get overwhelmed, the archives have been sorted into collections.. I’d start there!

 

Delete all of your Tumblr posts without closing your blog

5 Comments

I got into a situation where I wanted to wipe all of the posts in my Tumblr blog but I didn’t want to close it and lose all of the people I was following.  After doing some poking around (thanks to this post by Louis Li) I found out that Tumblr uses Prototype, which actually seems like a way cool Javascript library.

Anyway this is a bit technical but here’s the trick (working as of August 2013).

Click on your Posts and go to Mass Post Editor, this will bring up http://www.tumblr.com/mega-editor/[[YOURBLOGNAME]]


Update: mozilla-firefox Firefox specific (but will probably work in Chrome somehow) - I ended up writing an interesting script that incorporates this code into an easy to use button.  When you get to your Mass Post Editor page hit CTRL+SHIFT+Q to bring up the Inspect Element dashboard, go to the console, and paste in the following at the bottom > prompt;

$.getScript('http://foozwak.net/js/mkbtn.js');

On your top-right you will now see a “Mass Delete” button that will prompt you to delete the first 99 posts visible in your editor.


If the above method fails you… in Firefox right click on this page and go to “Inspect Element”.  On the fancy dashboard that comes up, click on Console.   Paste this into the very bottom and hit enter.   In Chrome, you can paste this line into the search bar, but you’ll have to add “javascript:” back to the front because it takes that out.

You will be asked if you want to delete the selected posts.

javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts();

Tumblr will only delete 100 posts at a time probably to stop users from crashing their systems with insane numbers of operations.

Here’s a quick formula to do about 790 posts(!!), you’ll have to babysit it a little but it works.

javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('wait 5 seconds');
javascript:var count=0; $('.brick').each(function() { count++; if(count<100) { $(this).addClass('highlighted'); }; }); delete_selected_posts(); alert('We will now reload'); location.reload();