1 0
post icon

New Installer Skeleton

15. Sep, 2011

Ever written a web application, wondering what will happen months down the track when a client (or even *gasp* you) need to install your web application?

I am working on a new installer skeleton (if you will) which will allow you to very simply create a fully functional installer for your slightly complicated web applications.

Basically, you can provide the user with different modules. Modules are either required or optional. Modules can define what forms they will show to the user. When a modules form is shown to a user, it gets the chance to run code (via a function in the module’s include file) to both before the user is asked to input any data and after. Also, a separate function can be used to validate that the user has entered correct code.

The installer is (almost) completely modular. I should have an awesome release over the next coming weeks… here is a sneak peak.

Read full story »


Written By Tim Groeneveld.
post icon

CentOS 5.7 has been released

14. Sep, 2011

I know I might bag out CentOS at the best of times, but Karanbir Singh – our fearless leader of all CentOS developers has announced the immediate availability of CentOS-5.7 for i386 and x86_64 Architectures.

Well, what are you waiting for? yum upgrade.

Read full story »


Written By Tim Groeneveld.
post icon

How Meetup.com started

11. Sep, 2011

I got an email today from Scott Heiferman, one of the founders of the site ‘Meetup’.

A lot of people were thinking that maybe 9/11 could bring
people together in a lasting way. So the idea for Meetup was
born: Could we use the internet to get off the internet -- and
grow local communities?

We didn't know if it would work. Most people thought it was a
crazy idea -- especially because terrorism is designed to make
people distrust one another.

A small team came together, and we launched Meetup 9 months
after 9/11.

Today, almost 10 years and 10 million Meetuppers later, it's
working. Every day, thousands of Meetups happen. Moms Meetups,
Small Business Meetups, Fitness Meetups... a wild variety of
100,000 Meetup Groups with not much in common -- except one
thing.

Meetup is totally oriented towards planning in-person group activities rather than catching up online, and I like the features it doesn’t have almost as much as those it does. You can’t create a really complex profile, private message other people, or post a bunch of status updates.

The people you meet are often very open and friendly; it doesn’t take long before they stop feeling like strangers.

Meetup really is an online network that exists to help people connect in real-life groups on a local level – the first of it’s kind. To see that it grew the way that it had made me an even more proud user of the website.

Read full story »


Written By Tim Groeneveld.
post icon

More snippets

06. Sep, 2011

Yesterday I posted about having an existing ssh-agent load on all new shells. Here are two more handy snippets of code from my .bash_profile

The first code snippet is a follow on from yesterday, were I can type ‘lock’ or ‘unlock’ into my shell and the ssh-agent will follow on accordingly. When your ssh-agent is locked, users that have access to the ssh-agent will be required to type in your SSH agent password.

function lock () { ssh-add -x }
function unlock () { ssh-add -X }

The next snippet of code adds a ‘ns’ command. I have issues trying to remember IPs – especially when they are not used too often. This command lets me easily remember :)

alias ns='for x in ns1 ns2 ns3 ns4 ; do host $x.google.com; done'

When run:

[tim@2-xlc-controller ~]$ ns
ns1.google.com has address 216.239.32.10
ns2.google.com has address 216.239.34.10
ns3.google.com has address 216.239.36.10
ns4.google.com has address 216.239.38.10

The last dirty one liner that I love is another simple time saver. Many people use the ‘whois‘ command to find out what nameservers are used by a domain name. It’s not too long before you work out that it is not really the best way to be finding out what the domain name’s nameservers are.

function nameservers() { echo $1\'s nameservers are:; dig +trace $1 | grep NS  | grep "^$1.";  }

This handy one liner allows me to do awesome things like:

[tim@3-xlc-controller ~]$ nameservers google.com
google.com's nameservers are:
google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.
Read full story »


Written By Tim Groeneveld.
post icon

Have ssh-agent load on all new shells

05. Sep, 2011

I love ssh-agent, but always found that running source ~/.ssh.agent annoyed me!

That was before I wrote this code, which I absolutely love:

source ~/.ssh.agent

PID=$SSH_AGENT_PID
if [ -f /proc/$SSH_AGENT_PID/cmdline ]; then
        CMD=`cat /proc/$SSH_AGENT_PID/cmdline`;
        if [ "$CMD" != "ssh-agent" ] ; then
                PID=0
        fi
else
        PID=0
fi;

if [ "$PID" -eq 0 ]; then
        ssh-agent > ~/.ssh.agent
        source ~/.ssh.agent
        ssh-add
fi;

Put simply, when added to your .bash_profile this code will ensure that your current ssh-agent is loaded. You may now ssh freely into servers without always typing that 100 character SSH Key password :)

Read full story »


Written By Tim Groeneveld.
post icon

Strict Notice: Only variables should be passed by reference in ..lib/Zend/Db/Select.php on line 216

01. Sep, 2011

Having problems with your (older) Magento install on your (newer) PHP?

Some versions of Magento have been using the ‘current‘ function incorrectly.

If you experience the following error:

Strict Notice: Only variables should be passed by reference in ..lib/Zend/Db/Select.php on line 216

A simpler fix may just be to change two files:

File One: lib/Zend/Db/Select.php
Find:
$correlationName = current(array_keys($this->_parts[self::FROM]));

Replace With:
$arrayKeys = array_keys($this->_parts[self::FROM]);
$correlationName = current($arrayKeys);

File Two: Toolbar.php
Find:
return current(array_keys($this->_availableMode));

Replace With:
$arrayKeys = array_keys($this->_availableMode);
return current($arrayKeys);

Read full story »


Written By Tim Groeneveld.
post icon

RHEL, Scientific Linux & CentOS: A sad story indeed

21. Aug, 2011

I love RedHat Linux. I think it is a beautiful piece of engineering. Hundreds of thousands of man hours spent ensuring systems that have packages installed keep running. Continuously.

One thing however that I have found is that my favorite RHEL clone for years, CentOS has been slacking. Bad.

For example, RedHat Enterprise Linux 6 was released 10/11/2010, not bad, seeing as it’s previous version, RHEL5 was released 15/3/2007 – Three and a half years earlier. CentOS? Well, Version 6 of CentOS was released July 10. In the time that it took for CentOS to release their new fresh build of CentOS 6, RedHat had already released their first service pack/major update to RedHat, RedHat Enterprise Linux 6.1.

I must point out here, the fact that CentOS does not have 6.1 is not a security issue. Any security patches for RHEL have made their way to CentOS.

Scientific Linux on the other hand have been tracking the updates and new releases very well. They had their remix of RHEL released for public consumption on March 3 – not too much of a short wait. The fact that it is not a very faithful clone has scared me from moving to it, but with the long wait of CentOS 6.1, I am starting to think that it might just be time to change my mind and grow up!

Read full story »


Written By Tim Groeneveld.
post icon

Sydney Bank 2.0 Meetup

21. Aug, 2011

As the cost of living increases and the dream of home ownership seems like an unachievable goal, how can we ensure we have the right tools in place to encourage GenY to build a financially sustainable future and make the most of their personal finances?


View Larger Map

On Tuesday, August 23, a group of us will be meeting at Forresters Hotel at the Cnr. Riley & Foveaux St. in Surry Hills to brainstorm some ideas. I will be there, along with at least 11 others. Feel free to bump into me and say “Hi!”.

Read full story »


Written By Tim Groeneveld.
post icon

Duff Beer, IRL!

24. Jul, 2011

Duff Beer!

While in Brisbane, a good friend of mine (Hadi Nematollah) introduced me to Duff Beer (of The Simpson’s fame). Although I am not really  a beer drinker, I can say that I was not put off the taste. Not a bad deal, $25 for a six-pack of novelty beer. Bonus points for being drinkable!

Read full story »


Written By Tim Groeneveld.
post icon

I love Brisbane

23. Jul, 2011
A panorama of a Brisbane city

A panorama of a Brisbane city, Oh how I love Brisbane

 

Brisbane, one of the few cities that I really love. It quite possibly might even be my favorite capital city in Australia. Should you look down similar streets in Sydney, everyone is too busy to have even the smallest of smiles.

Streets Beach - an artificial beach with a view of the city

Streets Beach - an artificial beach

 

Bubble O' Bill ice cream

Streets Bubble O' Bill ice cream

Sure, Sydney has some nice beaches – as it is a capital just kilometers away from the coastline of the Pacific Ocean – such as Manly Beach and Bondi Beach (which has made many a lifegaurd state celebrities with the TV show Bondi Rescue), but Brisbane has Streets Beach, a man-made beach with just about 4,000 cubic meters of sand. It allows you to have a perfect view of the city lights while kicking back eating a Bubble O’ Bill ice cream.

Park on the South Bank - Panorama(Click to see Full Image)

It almost seems like that on every corner there is a park. Not just a tiny 50m2 block, but a decent sized area. Enough to fit a school class room worth of kids in. The parks in Brisbane show the fashion, style and flare that defines Brisbane, especially South Bank. South Bank is Queensland’s cultural precinct and includes Australia’s largest Gallery of Modern Art, the Queensland Theatre Company, Queensland Museum, Queensland Performing Arts Centre and State Library of Queensland.

Read full story »


Written By Tim Groeneveld.