I started a new job a couple of months ago. Sadly the IT policies are a little restrictive, they won’t even let me use my own mouse with the company supplied computer. So I’ve gone rogue. I bought a new MacBook (black, naturally) in December and thanks to the power of VMWare I’m using it pretty much full time at work.
Which has had an interesting effect on my approach to the software I use. Over the past couple of years I’ve been finding myself using either web based applications or command line scripts I wrote myself. What with having a desktop machine at work, a laptop and a home machine all running different operating systems the web browser and the command line are the easiest ways to synchronise my data via common applications.
As I’m now using the same machine at home and work I’ve started to drift back to o/s specific desktop applications. Instead of Google Reader I’ve switched to NetNewsWire Lite, I’ve replaced the WordPress text area with MarsEdit and I’m trying out OmniFocus instead of some hacked up scripts for my to do list.
I’m not sure what this says about me or my choice of technology, other than that I’ll get a frosty reception from the Google posse at the next Sydney Python meeting. But add this to the fact that I gave back the company supplied Blackberry and I think I must be bucking some sort of trend here. Is it just me or is anyone else fighting back the tide of web apps?
Most of the country may be on holiday but some of us are working hard and we’re thirsty.
This Thursday, the 3rd of January, 2008 from 6:30pm, there will be a social gathering of the Sydney Python Users Group and any individuals interested in discussing Python, Web, Ruby, Perl etc.
Laptops, code review, show and tell etc allowed and encouraged.
We meet in the ground floor area next to P.J. O’Briens Pub internal entrance in the Grace Hotel, Cnr York and King Street, Sydney, New South Wales 2000
See you there.
I found this blog post via Reddit and was happy to see the positive benefits the author is getting from profiling his SQL and indexing his database. He could have avoided the slow running query in the first place by following Andy’s simple rules of indexing;
- If your database doesn’t do it automatically, add indexes to all of your primary key columns
- Add indexes to all of your natural key columns
- Add indexes to all of your foreign key columns
When primary or foreign keys are composites (i.e. contain more than one column) create an index containing all of the columns in the same order that they are defined in the corresponding constraint.
If none of this makes any sense and you are responsible for your application’s database give me a call, my consulting rates are very reasonable.
On Thursday the 6th of December, 2007 from 6:30PM, there will be a social gathering of the Sydney Python Users Group. Any individuals interested in discussing Python, Web, Ruby, Perl etc. are welcomed, nay encouraged, to attend. Laptops, code review, show and tell etc. are allowed and encouraged.
We meet in the ground floor area next to P.J. O’Briens Pub internal entrance in the Grace Hotel at the corner of York and King Street, Sydney, New South Wales 2000.
I’m going to do my best to be there, although my new job is keeping me somewhat busy. I should turn up even if it is only to increase the level of sartorial elegance and to show off my shiny new Macbook.
Yes, I’ve got a new job (details will be forthcoming), but in the mean time I’ve got a shiny new Macbook (black, naturally) running Leopard.
As part of setting it up I wanted to run some of my web pages locally and realised that PHP wasn’t enabled out of the box. Luckily it is really easy to set up. Just sign in to a terminal session as a user with admin privileges and;
$ sudo vi /etc/apache2/httpd.conf
and then uncomment line 114, which starts out looking like this;
#LoadModule php5_module libexec/apache2/libphp5.so
Then restart Apache by de- and then re-selecting ‘Web Sharing’ under the ‘Sharing’ pane of System Preferences. You don’t need to do anything else because the nice people at Apple thoughtfully provide an appropriate configuration file that is included when you enable the PHP module.
I have packaged and released version 0.2.1 of gerald. You can find all of the details on the project page but in a nutshell the changes from the last release are;
Bug reports, patches and test cases to the usual email address please. Or just a message to let me know you are using the code, that would be nice.
Today I’ve come across a new definition of insanity. It is this;
Expecting an update of every row in a 13 million row table (which is subject to frequent updates) to complete in one pass without timing out.
Of course, this wouldn’t be necessary if the system in question was running a version of PostgreSQL that was released after 2003. Damn those risk averse system administrators.
I should probably explain. In versions of PostgreSQL before release 8 you cannot increase the size of a column. Therefore to increase the size of one of the columns in our production database we have to add a new column, copy the contents of the old column to the new column, rename both columns and then drop the old column. Now that is what I call a database refactoring.
The government of Australia today introduced a bill into the parliament giving the commissioner of the Australian Federal Police the power to censor the internet.
Did I miss a memo, is it 1984 or something? This sort of thing should not be allowed in what is supposed to be a civilised country. I shall be writing to my MP for all of the good that will do.
Details of the bill are here. The press release from the Australian Privacy Foundation explaining why this is a monumentally bad idea can be found here.
Update: I should mention that this has all the hallmarks of a slimy underhand trick by the government. Parliament is likely to be in its last week before an election is called and my suspicion is that they are slipping this bill in at the last minute and hoping that no one notices before it is passed as law. The good news is that the media has picked up on it already.
Catching up on my blog reading I notice that Mark Rittman is down under next week. I’m not in a position to attend but if you are working in the Oracle and BI world you shouldn’t miss this seminar from a truly world class expert in all things Oracle and BI.
And Mark, there is an offer of a cold beer on your blog.
I rarely link to other blogs, but when I come across something that I think that you, dear readers, would appreciate I feel it would be churlish not to share. I’ve recently started reading Jeff Smith’s SQL Server Weblog and it is a veritable cornucopia of great information.
All of it is good solid advice about how to design, build and work with your database. I even forgive him using the wrong database because everything he writes is of such high quality.
This article alone will come in useful whenever I have to explain the concept of primary keys to monkey coders who only understand object models.
Thanks Jeff, keep up the good work.