Facebook

This really blew me away, follow the money…

facebook

Be careful kids.

Amazing Grace

One of my all time favourite songs (and bands).

I remember first hearing this on the abc on some sports panel show, can’t remember the name, but they moved to a commercial channel and died soon after, grrr. I was hypnotised, it’s very deep and I’m not even a little religious.

I can’t even remember how the original tune of amazing grace goes, I’ve listened to this version so many times.

Blue Tongue Harmonica Talk CD

I got Blue Tongues Harmonica Talk CD recently. It sounds great and it’s nice and easy to listen to. It’s described as blues and country harmonica fundamentals, and I was surprised how easy it was to pick up blues techniques when they are broken down into their individual parts. It’s a bit more difficult stringing them together, but practice, practice, practice ;)

A few weeks of practicing along with the cd and I’ll get some lessons I think. Might have to dig out the guitar, too.

The Blue Tongue Harmonica Store Learning The Harmonica

About a month ago I watched some random youtube video, and in the related videos was a blues harmonica howto which I clicked. It was awesome, I loved the sound and it looked easy enough. I can’t find that video now, and I have no idea how it related to the video I was watching ;)

I visited a local music shop and bought a harmonica, Hohner Blues Harp MS, wooden comb, C key. Think it was $45. $45 for a high quality musical instrument, awesome.

So I searched youtube and google for beginner harp lessons, there’s heaps of stuff out there. The first hurdle is blowing through one hole only, not easy at first when the holes are so close together. But there’s various techniques the lessons go through and with a bit of practice it’s not too difficult.

Anywho, on to the reason for this post. I come across a web page that recommended Hohner special 20 blues harp in the key of C for learning, and so I searched and come across bluetongueharmonica.com.au that had them. I ordered a special 20 for myself, $38, and a happy harp for my nephew, $7, in green. The colour is important, green sounds so much better to my nephew being his favourite colour.

Anyway, I was excitedly waiting for my order, especially the happy harp so I could give it to my nephew, and there was a delay and a mix up, and I sent an email complaining. It’s not really something I do very often, I’ll even say thank you to bad service at times :(

Barely minutes after sending the email, I think it was Doug from Blue Tongue Harmonica called and apologised and explained that they just had a big harmonica festival on and things were crazy, plus a worker was off sick and more than made things right.

I felt so good about the chat, Doug sounds like cool dude, and the fix up, that I wanted to give them a plug, and a recommendation. I think Doug is a shrewd business man that knows how to treat his customers, and I’m all for supporting small businesses.

This is what I aspire to

BTW, when uploading a harmonica video to youtube, it’s compulsory to hold the harp up to the camera and to make sure viewers can’t see a damn thing written on the harp.

This is what I sound like, sort of, without the bending.

(that’s not me in the video, obviously ;) )

If you want to try a harmonica out, give blue tongue harmonica a ring or email. They have everything you need, including instructional books and cds and private lessons and group workshops. Tell them I sent you ;)

Freeswitch on Ubuntu Feisty

While listening to Ray LaMontagne, I’ve been playing with freeswitch on Ubuntu Feisty.

Starting from a bare bones feisty, well, actually a bare bones dapper (openvz template I downloaded) upgraded to feisty in one fell swoop.

Getting freeswitch:

apt-get install subversion subversion-tools
svn checkout http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch
apt-get install autoconf automake libtool libmudflap0-dev libltdl3-dev\\
 flex bison gdb build-essential wget unixodbc-dev libnspr4
cd freeswitch
./bootstrap.sh
./configure --enable-core-odbc-support
cp build/modules.conf.in modules.conf

I edited modules.conf and uncommented spidermonkey. Spidermonkey is a javascript engine used by freeswitch to add functionality. So far for me, that’s just an answering machine.

make all
sudo make install

It installs in /usr/local/freeswitch

edit /usr/local/freeswitch/conf/freeswitch.xml

<!--#set "sip_profile=mydomain.com"-->

Assuming you don’t have srv records and know how to configure them, change mydomain.com to whatever fqdn resolves to the ip address freeswitch is installed on. I think (but I’m not sure ;) that you can choose any name you like, but it’s safer to use the fqdn for now.

You can leave the rest of the file alone.

edit /usr/local/freeswitch/conf/directory.xml

This is where you add extensions. You can modify that file, and add extensions, I moved it out of the way and created a new one like this.

<domain name="$${sip_profile}">
  <user id="100">
    <params>
      <param name="password" value="100"/>
    </params>
    <variables>
      <variable name="ruleset" value="internal" />
    </variables>
  </user>
  <user id="101">
    <params>
      <param name="password" value="101"/>
    </params>
    <variables>
      <variable name="ruleset" value="internal" />
    </variables>
  </user>
 <user id="102">
    <params>
      <param name="password" value="102"/>
    </params>
    <variables>
      <variable name="ruleset" value="internal" />
    </variables>
  </user>
</domain>

edit /usr/local/freeswitch/conf/spidermonkey.conf.xml

and add

<load module="mod_spidermonkey_etpan"/>

One more file to edit.

edit default_context.xml

add

  <extension name="internal">
    <condition field="destination_number" expression="^(10\\d)$">
      <action application="set" data="call_timeout=50" />
      <action application="set" data="hangup_after_bridge=true" />
      <action application="set" data="continue_on_fail=true" />
      <action application="bridge" data="sofia/${sip_profile}/$1%${sip_profile}" />
      <action application="javascript" data="answermachine.js" />
    </condition>
  </extension>

If you want to play with the answering machine, you’ll also need to download answermachine and edit it with your email address, etc, and save it as /usr/local/freeswitch/scripts/answermachine.js .

you can then cd to the bin directory and ./freeswitch

You should be able to register a couple of phones as 101, 102 and 103.

After you’ve made a few test calls, and everything appears to be working.

edit /usr/local/freeswitch/conf/sofia.conf.xml

change <param name=”accept-blind-reg” value=”true”/> to false
and uncomment <!–<param name=”auth-calls” value=”true”/>–>

Done, I’ve also setup a gateway which I’ll post about later

lighttpd and fastcgi

Continuing with my experimentation, I’ve switched back to lighttpd and fastcgi. I set fastcgi to run with 20 processes (threads?), any more and it starts swapping under load with 256 concurrent requests. Interestingly it was only swapping in, not out, I don’t know what was going on there, but I’ll leave it for now.

It looks like wp-cache doesn’t cache the front page, there’s a big difference between load testing the front page verses a post. It was a duh moment when found out as a few things dropped into place. 4 requests per second for the front page, average 30 seconds page load, against 230 requests per second, average 1 second page load for a post with 256 concurrent requests. That’s more like it.

Since I’ve installed php and mysql to run wordpress and drupal, I’ve abandoned turbogears (and postgresql) for now. I guess my strong bias is fading, which can only be a good thing.

Web Serving on a UML, in Particular WordPress

I’ve just installed and started playing around with WordPress on my Linode with my brand spanking new domain http://chesterton.id.au, this will be my first post, in fact. Amongst other firsts.

Installing WordPress required installing MySQL, Apache and PHP. That’s a fair amount of software for a small UML with 256M of memory. I wanted to have a quick look into tuning it. There’s no chance I’ll get it right first go, so I guess I’ll watch it and refine it over time. I might have to tweak it as the databases grows.

The biggest bottleneck in a hosted UML is IO, and Linode shapes it to make it fair for everyone. So the goal is to reduce IO.

Read More »