Featured Post

worst father of the year award

Just saw an interview with Australia’s latest test debutant’s Dad – Mr Johnson.Ian Healy asked him “Do you get nervous watching ?” to which he replies, “watching cricket?” Healy – “No, watching Mitchell” Mr Johnson – “I’ve...

Read More

How do you network?

Posted by brendo | Posted in All Posts, social | Posted on 08-09-2009

Tags: , , , , , ,

2

I recently attended the ACS Young IT Conference 09 and after having the fact that “you young people are doing it wrong, supposed to be networking but instead, just standing around drinking and talking” pointed out to me at the networking dinner, it got me thinking.

I barely saw any business cards change hands, but I (personally) have a heaps of new twitter followers/followees and a bunch of new facebook friends. This lead me to the question; do Gen-Y prefer social networks to business cards?

The person that told me this was bragging about the guys he got business cards from… I wonder if he’ll get home and start calling CIOs?

I think they’ll go in his rolodex and any chance of a relationship with it.

I have business cards, I even had a stack with me, but when I think about it; having someone on my social network(s) suits me more.

Why?

For me, it’s about commitment, building a relationship and convenience.

It is assumed that I will have things in common with most other attendees of a conference I attend, but if I meet someone, have a short chat – a few things in common – then end it by exchanging cards, the chances are high that I will not build a relationship with that person after the conference. However, if I add that person to Twitter and Facebook on the spot; it is highly likely that I will converse with them again. Having them in these networks means there is no commitment to interact, as with “Yeah, I’ll give you a call,” but there is an opportunity.

A business card generally contains an email address and phone number as the two primary points of contact, but I find ringing someone I met at a conference a little intrusive unless there is prior “permission” to do so. Addressing something they post on twitter/blog/facebook however is an acceptable way to build a relationship with someone. It also allows you to mine the interests and specialities of those that you meet to build better relationships.

We’ve all met the person at a conference who wants something off you, but has very little intention of it being a 2-way relationship. They want an introduction to a member of your network because they want to hassle them for employment, and they will pester you until you give that to them. Once you have, you won’t hear from them again until they need something else off you. Do you really want that person to have your phone number? I’d prefer them to contact me via a social network where I can respond when I am ready to, on my terms.

Now I realise that if someone gives you a business card you can go and look them up, but I would argue (especially with the number of iPhone’s I saw) that (virtually) everybody there was able to easily access the internet from their chosen mobile device, so why make it difficult. As people in technology, we are always connected so let’s use that to build better, stronger relationships within our network.

Hell, I don’t even own a rolodex.

Making the container div the full height of it’s floating child div

Posted by brendo | Posted in All Posts | Posted on 25-08-2009

Tags: , , , , , , , ,

0

This is one that consistently annoys the crap out of me. It usually happens when someone else has been messing with a layout I’ve developed – usually the type of web developer that uses tables for layout and loves the <font> tag.

When I find that my container div isn’t stretching the full height, it is usually because the HEIGHT property has been specified. Specifying height: 100%; Doesn’t have the effect you might think it would. Removing height: 100%; has the effect of making the parent container extend the full height of the child container, even if the child is a float.

Moving Gmail calendar to Google Apps For your Domain Calendar

Posted by brendo | Posted in All Posts | Posted on 09-09-2008

Tags: , , , , , , ,

3

So I finally got around to moving my domain to use google apps for your domain. So far I like it, but migrating from 2 years of Gmail use has been tough. I haven’t moved much email yet, though I’m pretty sure that a temporary upgrade to a pro account can take care of that – steps will come in another post once they are completed.

So now it’s time to move my calendars. I run out of 3 calendars, one for timetables (hours worked, uni classes etc), one for due dates (projects, assignments) and one for everything that doesn’t come under either of thsoe 2 categories like personal dates.

I expected it to be an annoying and arduous task, but low and behold, it is extremely simple!

First you need to log into your Gmail account, click settings up the top rightm, choose the calendars tab and export all your calendars.

Step 1

Unzip the file and keep the .ics files somewhere handy.

Next, log into your Google apps calendar and create the neccesary calendars.

Then click the little arrow next to Add and choose import calendar

next step

From here you select the file you want to import, the calendar you want to import to and voila! Calendar moved from Gmail to Google Apps for your Domain.

last step

Lyrical twitter bot

Posted by brendo | Posted in All Posts, programming | Posted on 18-03-2008

Tags: , , , , ,

0

After making the sickipedia twitter bot, I decided to make another that made use of a little bit more of the Twitter API this time. I call him lyricbot. Basically, you send a reply to lyricbot (after you have followed) with a line from a song and it will have a red hot go at telling you what the song is…

I decided to post some of the code for anyone interested in how I did it.

The bot is written in Python, and uses the python-twitter library for the Twitter API calls. I will apologize upfront, the code is probably disgusting, but this is only the second thing I’ve ever written in python, so I’m still an L plater.

The first thing we want to do is import the 3 libraries we need; re, twitter and urllib2.

import twitter
import re
import urllib2

Next we need to authenticate with the twitter API, then we’ll get the replies in the form of a Status object.

api = twitter.Api(username='lyricbot', password='nottelling:)')
status = api.GetReplies()

Now that we have all the replies sent to that user, we can iterate through them to decipher what people have said:

for stat in status: #iterate through replies
lyric = stat.GetText()[10:] #strip the '@lyricbot ' from the front and grab the text
userN = str(stat.GetUser().GetScreenName()) #grab the name of the user that replied
idno = stat.GetId() #the unique id no of the message. This is for ensuring people don't get multiple replies for one request

Next I parse the string for use in the URL and get the html:

lyric = urllib2.quote(lyric)
f = urllib2.urlopen(url) #open the URL into the stream
html = f.read() #read the url into a string

Once I have the html of the search results, I need to use regular expressions to find the song names from that site.

#compile the regex that finds the first 3 song names returned
re_lyr = re.compile('[123].([A-Za-z0-9].{10,80}).Lyrics', re.DOTALL)
#find the matches for the expression in the html
newRes = re_lyr.findall(html,1)
songs = ''

Once I have the (1, 2 or 3) song results stored in the newRes tuple, I need to check how many (if any) it found, or deal with none being found.

reslen = len(newRes)
if reslen > 0 :
songs = songs+newRes[0] #append to the string that gets sent
if tuplen > 1 :
songs = songs+' '+newRes[1]
if tuplen > 2 :
songs = songs+' '+newRes[2]
else : #if there were no songs found
songs = 'Sorry :( I couldn\'t find that one!

Now that we have a string to post (either the song names or the fail message), it’s time to send:

api.PostDirectMessage(userN, songs)

That’s about it really.
There will be another post after I launch it properly, probably with some updates.

Moving your active uTorrent torrents between computers

Posted by brendo | Posted in All Posts, Guegh | Posted on 14-03-2008

Tags: , , , , , ,

2

I am about to reformat my computer, but have torrents in the middle of downloading and can’t wait until they are finished, so this little trick is a godsend.

Navigate to
C:\Users\Brendo\AppData\Roaming\uTorrent
and back up the entire directory. (In Vista, not sure of the exact directory in XP)

Then navigate to your downloads folder
C:\Users\Brendo\Downloads
in my case, and back that up too.

Once you have reformatted/moved and installed uTorrent, simply drag those two directories over the top of what is already there and voila! your torrents are back how they were.

Now to finish setting up this computer to puuuurrrr…

Doin’ Lines…

Posted by brendo | Posted in All Posts, music | Posted on 13-03-2008

Tags: , , , , , ,

0

Normally when I go to a concert, I write a bit of a review about my experiences there, and with this summer being packed full of musical goodness, there will be a few posts about this. This summer that (once it has finished) will have crossed Rage Against the Machine, Incubus, Offspring, and Korn off my “to see� list.

It starts with Rage Against the Machine, which actually started waaay back in 2007

The Big Facebook Fail

Posted by brendo | Posted in All Posts, rant | Posted on 11-03-2008

Tags: , , , , , , ,

0

When the Facebook developer Platform was first announced, thoughts of brilliant applications using Facebook’s amazing viral marketing ability was all I could think about. It was touted as an online revolution. Colleges ran classes on developing Facebook applications and every Tom, Dick and Harry had a play around with FBML (Facebook Markup Language) – myself included.

Java RMI Client Authentication

Posted by brendo | Posted in All Posts, programming | Posted on 11-03-2008

Tags: , , , , , , , , ,

0

Security is painful. My attempts to make our applet that is using RMI use SSL as well have absolutely done my head in.

First there was the fact that a self signed certificate wouldn’t do. This wasn’t a big surprise, but it wouldn’t even allow me to test my app to ensure it was working before I forked out the big bucks for the proper SSL certificate.

I had an idea, I have a code signing certificate from Thawte that is worth a pretty penny, surely it will at least allow me to test my app, if not be my solution. Strike 2. A Code-Signing certificate can only be used to sign code (JARs in my case), not for authentication – again, no real surprise.

So an SSL certificate was purchased from a company we have a good relationship with, so we got it for wholesale price and away we went… almost. Java’s Virtual Machine looks in a certain spot for trusted certificates, but unlike the major browsers, only has about 15 in there. Of course the certificate we bought was not one of them. Strike 3 – back to the drawing board. For anyone reading this because they are experiencing similar problems, use:

keystore –list –v –keystore %JAVA_HOME%/lib/security/cacerts

Password: changeit

to view the certificates that are in that cacerts file. This is the default file java will look in if you do not specify a trustStore property when calling your applet/application.

We found a certificate in here, were able to obtain a refund on the previous and now it was time to invoke methods remotely over secured sockets and love life… nearly.

The first test of this saw love. The problem was that test didn’t bring browsers into play. I ran the RMI Registry and the Server Implementation, downloaded the jar and ran it from the command line on my PC. Voila!

Hello World!

I was ecstatic. Until I ran the applet from the same jar and got an error telling me “bad certificate�. This didn’t make sense as the root CA of the certificate we were using was certainly in the browser (both Firefox and IE7). A bit of looking around the forums provided very few answers so I decided to post myself (I very rarely post on java forums as the answers to my questions are there if I look hard enough).

It turns out that the Root CA certificates in the browsers have a property that specifies what actions a certificate using that Root CA can perform. The certificate we were using was marked for Code Signing, Server Authentication, Email Authentication. Notice Client Authentication missing. *sigh*.

This was getting thoroughly annoying as I have now spent 3 weeks trying to test code that only took me a couple of days to fully merge with the older code.

I tried checking the Client Authentication box in the browser for out certificate provider, but this didn’t fool the browser for a second, and I was still denied. After a long chat with an RMI expert, it was concluded that it is not currently possible to enable client authentication in RMI using SSL in an applet. If the application is not running from a browser however, this works as it should. The reason is that when you use the browser, it looks for the certificate there rather than in the parameters specified by the applet.

The work around is buy one of the (I think) 2 certificates that support client authentication, though this is untested as we added security other ways and as such, didn’t purchase one of these certificates.

The applet is now running with SSL enabled using Remote Method Invocation. Hurrah!

Opening Twhirl links in Firefox on Vista

Posted by brendo | Posted in All Posts, web | Posted on 08-03-2008

Tags: , , , , , , , ,

2

So I’m sure I’m not the only one who is extremely frustrated by all links that I click from Twhirl opening in Internet Explorer, even though I have Firefox set as my default browser.

It turns out this is some little quirk between Vista and Air, but it is fixable if you follow these steps:

Step 1:

Open Default Programs from the start menu.

Step 2:

Choose “Set Program Access and Computer Defaults”

Step 3:

Click Custom, then choose Mozilla Firefox (or whatever your default browser is) and click ok.

And now you are done :D

Brendo

Facebook is better

Posted by brendo | Posted in All Posts, web | Posted on 10-12-2007

Tags: , , ,

0

Just tried to change my name on facebook and before it gave me this:

Before confirming your name change request, please read the following.

* Your Facebook profile must be attached to your real name.
* You must include your full name.
* Celebrity names, nicknames, or other fake names are not allowed and will not be approved.
* Obscenity, curses, and swear words are not allowed and will not be approved.
* ISn’t~ ThIs <3 AnN0YiNg 2 ReAd? Non-standard capitalization and special characters are not allowed and will not be approved.
* Do not try to combine sentences into one word; Jane Lookatmysupercoolnewnickname Smith will not be approved.
* We review all name changes, so this may take a while.

No wonder it hasn’t been taken over by the deviants yet.