'Geek' Archive

Speaking at IgniteTO tonight

September 2nd, 2010

I’m lucky to be speaking tonight at IgniteTO so please stay the hell away from The Drake tonight. Failure to heed this will force you to endure my sweaty babbly nonesense about how you need to run your company more like an unconference.

If you choose to ignore me then come say hi after I’m done torturing you.

I’m Not Technically Here

May 21st, 2010

I’m not 100% sure what real life application this has so I’ll leave that to your imagination. I will say that for some reason I’m asked about this a lot. This technique allows you to tunnel all TCP requests through a remote server using a secure connection. This means all requests, not just HTTP.

So what does this do for you? Well you could buy an SSH account on a server located, say in France. Using that SSH connection you could then browse the web while sitting at home in Canada. As far as everyone knows, you’re in France because all your requests are being tunneled through, ie coming from, your SSH server located in France. Again, why would you do this? I have no idea and the answer doesn’t rhyme with sulu or fandora for those in Canada. As well, I’m sure there are much simpler ways of doing this, this is just how I do it.

What you need for this is some SSH skills and a program called tsocks. Everything I’ll show here works on a debian based OS such as ubuntu, using a bash shell.

First login to your ssh account using the -D option, see “man ssh” for more explanation. This option allows you to specify a port. All connections on your machine to that port will then be forwarded over the SSH connection to the remote machine.

ssh -D 8989 username@ssh_server.com

Next you need to install and configure tsocks, it’s in synaptic for ubuntu people. Once installed, edit /etc/tsocks.conf and remove or comment out all lines except:

server = 127.0.0.1
server_port = 8989

Now close all instances of any application that you wish to use for this. Then open them using the tsocks command which forces the program to tunnel all the applications connections through your SSH connection:

tsocks firefox
tsocks ping yahoo.com

Done. Now any site you browse to with firefox thinks you’re sitting at a cafe in France and yahoo thinks you’re pinging it from Toulouse.

A far more thorough explanation.

Email Productivity

May 20th, 2009

A quick update on my attempts to keep email at bay. I can’t say I’m doing an excellent job of only checking email twice per day but I’m making a worthy effort. The main issues I keep running into is drafting emails effectively.

I still need to write emails, however, I don’t want to send them. The reason I want to wait to send is that if I’m sending emails throughout the day, it sets the expectation that I’m checking email and therefore ignoring responses. It’s difficult with most email clients to compose drafts without catching a glimpse of your inbox and having it’s unread total scream out at you for your valuable attention. If someone knows a simple way to write drafts, for sending later, without having to interact directly with your email client, let me know. I’m using plain old text files and cut and paste today, which is a pain.

Even if you’re not attempting to reduce how often you check email, here’s one tip I have for you. It’s not my tip, I’m sure I heard it from somewhere else. Never check email to start your day. We all do this. We start every freakin day by catching up on email. Subsequently we get lost in email hell until our stomachs remind us we’ve missed lunch and over 1/2 a day of actual work. Just try this, close your email client at the end of the day, then start everyday by tackling a real task BEFORE you even open your email client. Just try it, you’ll like it.

Just a note, I include twitter, facebook, laconica and other forms of messaging, networking, etc under this “email” category. The interesting thing that happens when you ball all these apps up and only check them twice a day is you quickly realize how much time they take to nurture and feed. You need to decide if they’re worth it to you personally.

If this topic sounds new and you’re looking for background, try this.

Unit Test Your Dev Environment

February 13th, 2009

This is likely one of those parties I just happen to be late showing up for, move along if this sounds like old news. I had an issue this weekend related to having the wrong version of a framework running in one of my development environments. It eventually became clear that was the issue as the bug only existed on one machine, worked fine on others.

This isn’t the first time I’ve been bitten by this pattern of bug and it won’t be the last. My guess is you’d be hard pressed to find a developer who hasn’t ran into this. In an attempt to put this headache to bed once and for all, I added a test to the unit test suite that scrapes the version of all the required frameworks and validates they’re the ones expected. Hopefully I’ll spot this issue quicker next time it hits.

(trying syntaxhighlighter for the first time)

        # check elixir
        import elixir
        version = elixir.__version__
        self.assertEqual(self._elixir_ver, version,
                "Incorrect Elixir version, expected '%s', local is '%s'" %
                (self._elixir_ver, version))

MicroBlogging and opening sources

January 23rd, 2009

If you’re interested in such things, great explanation of twitter, laconica, and OpenMicroBlogging here. Make sure you check out the comments as well, some great points in there including a hint at where twitter could be headed for a business model.

I’ll admit I’m biased as I met with Evan recently and he lives here in our little country but I’d still tie my wagon onto laconica over twitter had I to choose. I’m also not the type to chase business models tied to selling people’s patterns and data so if that’s where twitter’s headed then god speed.

While it’s not the main point of the above article, there is mention about twitter and it’s use of open source technology. While it’d be lovely if everyone using open source was able to contribute back into it, that’s not a requirement and I’d be cautious about suggesting it should be. As well, it’s not always obvious how that contribution occurs. Maybe some of twitter’s developers contribute heavily to these projects in their off hours? If this return contribution was required then it should be in the license. If they aren’t violating any licenses then they’re good.

[Wow, am I actually defending twitter??]

If you’re involved in open source, do you really want businesses like twitter choosing NOT to use your projects simply because they’re business model, horribly flawed or otherwise, prevents them from contributing back in an equal and fair manner? I’d think not, you’d want anyone and everyone using it regardless. Sure the ideal outcome is twitter participates in OpenMicroBlogging and open sources lot’s of their technology. If that’s not possible what should they do? Certainly we’re not suggesting they have to use all commercial software are we?

Open Source Tech Party in Toronto

December 5th, 2008

If you don’t know about hohoto yet, you should. Sponsor it, buy a ticket, whatever, hope to see you there!

“Join us at the #HoHoTo holiday party at The Mod Club Monday, December 15, 2008 at 7:00 PM (ET). Cash bar, DJ’s, and lots of twitterluvvin’ – what more could you want? It’s for geeks, phreaks, webheads, twitterfiends, techies, media, marketing, and PR types and all their friends. And everyone else! DJ’s, interactive media, and loads of holiday cheer, all for a great cause – The Toronto Daily Bread Food Bank”

DemoCampGuelph Wrapup

July 14th, 2008

Another amazing event last week at The Albion. We had a huge turnout, especially with it being cottage season. Our next event is in Sept, please sign up to attend here, and contact me if you’d like to demo.

Thanks to the following people for stepping up and demo’ing:

DemoCampGuelph6 next week!

July 4th, 2008

Next Wednesday evening is DempCampGuelph6. It’s an open event, talk about us, tell your mom, get people out! If you’re attending, please make sure to put your name on the wiki attendee list. If you want to demo, contact me.

Micro-Blogging with Twits

June 24th, 2008

I’ve explored and I’m willing to admit I’m fully on twitter. What that means for this site is that I post far less small bits here. Example, just saw this cool site bookrabbit that’s like zoomii for everyone’s bookshelves. I now tend to post small bits like that in twitter and not here. That’s all, thought you should know, it’s me not you.

If you know me and have any interest in what I post to twitter, you can find me here. On a similar note I’m pretty sure I’m trashing my facebook account soon.

Debugging in python

June 17th, 2008

If you’re a tech caveman like myself then you may not have a loving relationship with IDE’s in general. Hang on, now that I think about it, I grew up with IDE’s and I’ve tried, and spent a lot of my career in, most of them. This isn’t a case of not wanting to use the kid’s fancy new tools. Ok, stopping tangent…

When I lived in the java enterprise world, I was a heavy jdb user. Yes, even in a java shop I was in the minority in using a “simple command-line debugger”. Sorry but I’m a simple guy.

Lucky for me, python has pdb which “defines an interactive source code debugger for Python programs. It supports setting (conditional) breakpoints and single stepping at the source line level, inspection of stack frames, source code listing, and evaluation of arbitrary Python code in the context of any stack frame. It also supports post-mortem debugging and can be called under program control.”

I don’t know for certain, however, if pdb is like jdb then this is the module that any python IDE is using to offer you debugging capabilities. They build their gui on top of this module and expose pretty pictures and some subset of pdb to you. That’s another reason I prefer to use, and understand, things like jdb and pdb instead of relying on an IDE’s rendition.

If you have any interest, there are the ugly details and a gentle introduction.