Home     RSSRSS

Monthly Archives: August 2009

Game console idea

August 30, 2009 by Brian | 1 Comment | Filed in work

I love being able to install games to by Xbox 360. It makes playing much quieter & stuff seems to load faster. Unfortunately, like PC games I’ve played in the past, playing a game from the hard drive requires the disc to be in the player. Makes sense, as it proves that I didn’t copy it from my buddy & pass it around.

Here’s the thing…. it sucks!

I’m no more lazy than the next person, but come on! I mean, I can turn the console on & off with the wireless remote. I change the turner on my TV with my remote & I’m off & playing .. as long as the game is in the console.

So here’s what we do:  I usually keep my games close by my console anyway (for easy access – cuz they need to be in to play) so why not install some kind of RFID or wireless thing-a-ma-bob that is part of the game case. The console can just check if it’s in range – and preseto – I don’t have to get off my lazy butt to play!

Tags: , ,

Proper timeout handling with Apache HttpClient

August 24, 2009 by Brian | 7 Comments | Filed in work

I’ve seen some really bad things happen when developers don’t code in proper timeout handling. Occasionally I’ve been asked what the best way to handle timeouts is – so I thought I’d share my take on it:

MultiThreadedHttpConnectionManager connectionManager =  new MultiThreadedHttpConnectionManager();
HttpConnectionManagerParams params = connectionManager.getParams();

params.setConnectionTimeout(connectiontimeout); //set connection timeout (how long it takes to connect to remote host)
params.setSoTimeout(sotimeout); //set socket timeout (how long it takes to retrieve data from remote host)

HttpMethodBase baseMethod = null;

try {
  HttpClient httpClient = new HttpClient(connectionManager);
  httpClient.getParams().setParameter("http.connection-manager.timeout", poolTimeout); //set timeout on how long we’ll wait for a connection from the pool

  baseMethod = new GetMethod();
  int statusCode = httpClient.executeMethod();

  …
}
catch (ConnectTimeoutException cte ){
  //Took too long to connect to remote host
}
catch (SocketTimeoutException ste){
  //Remote host didn’t respond in time
}
catch (Exception se){
  //Some other error occurred
}
finally {
  if (baseMethod != null)
    baseMethod.releaseConnection();
}

Tags: , , ,

Subversion keeps changing permissions of my files [FIX]

August 4, 2009 by Brian | No Comments | Filed in work

On my Unix machine whenever I did an “svn update” and files were actually updated, the permissions would change, rendering them inaccessible to the httpd process, therefore 403 Forbidden errors in the browser.

After much searching that yielded a lot of results about storing executable flags in SVN using propset. This didn’t help as I didn’t want it to be executable, just world readable. Turns out the problem was in my .profile, my umask setting was 077. Changing it to 012 solved it for me. Note: 012 makes files you create group writable.

Snippet from my .profile

#umask 077
umask 012
export SVN_SSH="ssh -l olore"
export EDITOR="/usr/bin/vi"

Read more about umask on Wikipedia

Tags: , , ,