Monthly Archives: April 2012

Half a Terrabyte

With companies in Australia offering 1TB plans, us New Zealanders have been getting pretty jealous of only having 100GB plans for the same money.

Except that a couple days ago, my ISP Snap! upgraded everyone’s data allowance by at least 4x…. taking me from a 105GB plan to a 555GB monthly plan at no additional change.

Was a great surprise when I logged into my account, having only previously skimmed the announcement email which went into the mental TL;DR basket.

Good thing I got upgraded,used almost 50GB in 2 days :-/

I’m currently paying around $120-130 per month for half a terrabyte on a naked DSL line and to quote 4chan, it “feels good man”.

Of course it’s only DSL speed – although if I was planning to stick around long term at my apartment, I’d look into VDSL options which are available in some parts of NZ. And the first Ultra Fast Broadband fibre is starting to get laid in NZ so the future is bright.

For me personally, once I have 10mbit or so, the speed becomes less important, what is important is the latency and the amount of data allocated.

I suspect snap!’s move is in response to other mid sized providers providing new plans such as Slingshot’s $90 “unlimited” plan, or Orcon offering up to 1TB for $200 per month on their new Genius service.

TelstraClear is going to need to up their game, for the same price for my half terrabyte, I can only get 100GB of data – although supposedly at 100mbits/10mbits speeds (theoretically, since when they previously offered the 25mbit plan I couldn’t get anywhere near that speed to two different NZ data centers…)

Even with it’s faults, TelstraClear’s cable network still blows away DSL for latency and performance if you’re lucky enough to be in the right regions – they should press this advantage, bring the data caps up to match competition and push the speed advantage to secure customers.

Meanwhile Telecom NZ still offers internet plans with 2GB data caps and for more than I’m paying for 555GB, I’d get only 100GB. Not the great deal around guys… :-/ (yes I realize that includes a phone, that has no value to me as a mid-twenties landline-hating, cellphone-loving individual).

Expressoholic

As much as I love a visit to a fine dining establishment such as Ti Kouka, sometimes it’s nice to just have somewhere you can go for a hearty laid back feed, coffee, beer and just enjoy some solid yet tasty food without hurting the budget too much.

Expressoholic has been open for around 24 years, although not always in the same location – first starting off on Willis St, before moving to Courtney Place for 18 years, until a rental dispute forced them to move to Cuba St.

I only became acquainted with Expressoholic after the Cuba St move, which put it right inbetween work and home for both my best mate and myself, making it an ideal option for our brunch and coffee needs.

I feel obligated to point out that for a cafe with a label of “Expressoholic”, their coffee is pretty standard Wellington fare – it’s a decent brew, but nothing that stands above other options in Wellington (in 2012 anyway – when they opened, I expect it would have been a bit of a game changer).

However any concerns about the coffee are forgiven as long as they continue to serve up delicious, well sized and affordable meals with lots of vegetarian options. :-)

Pancakes with berry and marzipan.

Deluxe Nachoes - the ratio of topping to cornchips is very heavily stacked towards the topping, great lunch or dinner option.

Tofu Burger - one of my favourite options, but it's a big meal! Their fries are cooked perfectly too, the exact right crunch.

Depending who's making them, the milkshakes can be average or amazing. Either way, never disappointed.

I rate the food here highly, all the meals are always well prepared to a consistent standard, served promptly and with the range on the menu, there’s always an option regardless of what you fancy that day.

The service is also excellent, with friendly and effective staff including the owner who’s often serving tables and clearing up afterwards.

For added points; unlike many Wellington Cafes, Expressoholic is open into the evenings and has a liquor license, so if you want to enjoy a beer whilst chomping down a hearty plate of nachoes, this is the place to go.

Whilst I’m not a huge fan of their black & white decor, the table art is pretty neat and they recently expanded into the shop next door adding a number of additional tables, since the expansion there’s been a table every time on 99% of our visits – be smart and avoid the typical weekend lunch rush hour though, it is a popular location.

Mirrors showing off your dreamy blogger who you know and love/hate. Note pre-coffee hair.

Expressoholic is located at 136 Cuba St, just a block up from the bucket fountain, well worth a stop whenever in Wellington.

DAViCal 1.0.2 on RHEL 5 & 6

To follow up on my previous post about DAViCal, I’ve built and published RPMs for DAViCal itself and the php-awl dependency.

These are based off provided spec files from the project and tweaked somewhat to be more suitable for RHEL 5 & 6.

 

RHEL 5 & PostgreSQL 8.1 Note

Whilst DAViCal is intended (and for normal operation, does) work with PostgreSQL 8.1 or later, this version is too old for the LDAP authentication module to work, as it uses some PostgreSQL 8.4 version queries.

Fortunately RHEL & CentOS ship with both PostgreSQL 8.1 and PostgreSQL 8.4 now available, so you can fix the solution by installing with:

# yum install davical postgresql84-server

 

RHEL 5 & 6 Installation Instructions

These instructions assume you have confirmed the Amberdms RHEL 5 “amberdms-os” repository at minimum – or you can go and pull the specific RPM files you want – php-awl and davical and add them to your own repository.

Once the repositories are setup, simply install with:

# yum install davical

DAViCal uses PostgreSQL, if this is a new/first PostgreSQL installation, you will need to start and possibly initilise the DB:

# service postgresql start
 /var/lib/pgsql/data is missing. Use "service postgresql initdb" to
 initialize the cluster first.     [FAILED]
# service postgresql initdb
 Initializing database:    [  OK  ]
# service postgresql start
 Starting postgresql service:     [  OK  ]

We need to edit the PostgreSQL user authentication configuration to allow local-only password-less access for the DAViCal application. Optionally you can configure MD5, ident or other desired methods. Add the two lines below to the configuration file, above any existing lines.

# vi /var/lib/pgsql/data/pg_hba.conf

 # trust davical
 local   davical davical_app     trust
 local   davical davical_dba     trust

Restart PostgreSQL for the changes to take effect:

# service postgresql restart

Install the database:

# cd /tmp/
# su postgres -c /usr/share/davical/dba/create-database.sh

 Supported locales updated.
 Updated view: dav_principal.sql applied.
 CalDAV functions updated.
 RRULE functions updated.
 Database permissions updated.
 NOTE
 ====
 *  The password for the 'admin' user has been set to 'EXAMPLE' 

 Thanks for trying DAViCal!  Check in /usr/share/doc/davical/examples/ for
 some configuration examples.  For help, visit #davical on irc.oftc.net.

Adjust the access rules for Apache & restart it:

# vi /etc/httpd/conf.d/davical.conf
# service httpd restart

Test access at http://localhost/davical/or whatever your appropriate server URL is. Any 403 errors probably suggest fault with the /etc/httpd/conf.d/davical.conf IP ACL configuration.

 

RHEL 5 & 6 Upgrade Instructions

Using the packages I have provided, the DAViCal PostgreSQL DB will be updated on any new releases when installing newer RPMs.

This uses the /usr/share/davical/dba/update-davical-database script supplied with DAViCal and shouldn’t require any manual execution or options normally.

 

LDAP Authentication

To configure LDAP authentication, edit the configuration file and define the external authentication settings.

vi /etc/davical/config.php

See the notes in the file about LDAP configuration or consult the quite reliable source of documentation at the DAViCal wiki.

You will also need to have php-ldap installed – it’s not one of the default package dependencies – if it’s missing, you will get this clear message on the login screen:

"drivers_ldap : function ldap_connect not defined, check your php_ldap module"

To install, run:

# yum install php-ldap
# service httpd restart

If authentication still fails to work, try the following

  1. Check the version of PostgreSQL used – must be 8.4 or later, not 8.1, as per my note at the start of this document.
  2. Check Apache error logs (typically /var/log/httpd/error_log)
  3. Check the LDAP server logs

 

 

 

DAViCal, awkward name, great features

A reoccurring theme of this blog is that I love to be able to use open standards and open source for storing and accessing my information – biggest example is of course IMAP for email, but I also use tools such as Mozilla Sync Server for self-reliant synchronization and backup of client device information, without using external cloud providers.

I’ve been a user of Evolution for almost a decade now – sometimes criticized as the “Outlook of Linux”, Evolution provides mail, calendering, contacts and todo lists to the GNOME desktop, with a pretty large but sometimes slightly buggy feature set. For me personally, it’s always done a great job and it’s my key business productivity tool.

I moved all my mail onto an IMAP server years ago, which makes it easy to shift clients if I ever need to – in my case, pretty much just needing to access mail from both my laptop and smart phone.

However this hasn’t been the case for other key data such as calendering and contacts. A few years ago, the open source calendering solutions available weren’t that well developed, and many clients suffered limitations such as read-only functionality.

Thankfully this has been changing – most clients (*glares angrily at Microsoft Outlook*) now support CalDAV and CardDAV quite reliably, which gives us an open standard that works across different programs, platforms and device types.

  • CalDAV is an open standard for the exchange of calendering and task/todo/memo information between a client and a server.
  • CardDAV is an open standard for the exchange of contact/address book information between a client and a server.

These two standards have a number of implementations, both open source and proprietary, of note is Apple Calender Server, which is Apple’s open source implementation; and DAViCal, an open source LAMP based server solution that is becoming quite popular.

I’ve used both solutions – my employer runs an Apple Calender Server after getting fed up at not having free/busy between engineers. Whilst we ended up running a MacOS server, the Linux ports have improved and there are resources for setting it up on a Linux or even BSD host.

Apple Calender Server works reasonably well with Evolution, I never have any issue booking events, however Evolution appears unable to accept or deny meeting requests, forcing me to go to the calender server web-interface which is actually pretty horrific.

I decided I wouldn’t use it for my own personal calendering, even if I went to the effort for porting it onto my Linux servers, it wouldn’t really be the solution I ideally want as it lacks a lot of features and isn’t as easy to configure as other Linux services.

Instead I had a look at DAViCal. It’s a feature-packed calendering and contacts application developed primarily by Morphoss in Wellington NZ, started by Andrew McMillian of ex-Catalyst IT fame.

Despite having an annoyingly tricky name to type (you try typing it for the 100th time at 3am without typoing on the capitalization!!), the software itself appears reliable and worked across a number of devices when I ran tests.

It’s not perfect, I have some issues with the user interface design, which very functional and effective, it’s not that intuitive to a new user, exposing far too many options to them at the beginning, ideally have a simple/advanced option so a user who just wants to add user calenders and do basic stuff can do so, then dig into more detailed ACLs, tokens, shared calenders, etc as needed.

Naturally it’s open source, so I should stop complaining and hack up some code to demonstrate what I think might be better. Maybe if people would stop stealing my car I’d have time to get something done. :-/

Main Screen Turn On! (Maybe some more 1-2-3 clear setup flows here would be nice, the wall of text is kind of offputting for visual people like myself).

Options! All the options!

The web-based interface is only for administration, there isn’t a web-based calender app provided with DAViCal, instead choose any CalDAV client you wish to use with it, whether it’s web based or client-side.

I haven’t given DAViCal’s feature set a full work out yet, at this stage I’ve just setup my personal calendar, contacts and todo list on both Evolution and my Android ICS phone but haven’t touched meeting requests, shared calenders and free/busy information.

Partly my testing is a bit limited since I’m only running Evolution 2.30.3 (Debian Stable) which is a little outdated and it looks like there’s some functionality missing/broken that might not be an issue any more.

On the mobile side, I’m using “aCal”, an open source Android application written by the DAViCal developer, providing a CalDAV calender, todo list and read-only contact/address book synchronization.

This now means I can add, edit and delete calender and task entries on either my Android phone or Linux laptop via evolution and have it propagate to the other device – although unfortunately this is based on polling, rather than push (looks like push is possible theoretically via an extension to the standard, works with iCal).

Tasks & calendar entries in a bright sunny UI

I can also get read-only copies of all my contact information from Evolution synced through to my phone, but sadly there isn’t support for editing contacts on the Android phone just yet.

I did also consider using LDAP for my address book entries, but CardDAV looks like a better designed solution, it’s very rare that I don’t see “LDAP” and “headache” mentioned in the same sentence, and this comes from someone maintaining and supporting LDAP enterprise environments…

Essentially the main problem with LDAP, is that there isn’t an exact standard for address entries, so what works for one client, might not work 100% for another, along with limited selection of decent applications for actually managing LDAP address databases.

Also some clients treat LDAP assuming it’s going to be a million+ record store and expose different UI compared to that of smaller address books which harm user experience (*glares at Evolution*).

aCal & Android ICS address book integration - note the uneditable edit screen on the right, read-only for now :-(

The other main issue with aCal is that it doesn’t sync with the native OS calender program, but instead provides it’s own. Digging through the documentation and mailing list, this appears to be due to the native application lacking support for some of the functionality needed for a proper CalDAV implementation, so a sync solution would leave certain features missing, although I’d still like the option.

Of course these are limitations of aCal, not DAViCal or the standards themselves – there are some other CalDav & CardDAV sync programs available in the Android market under non-open licenses, which you have the option of trying.

The nice thing about using standards is that you can have multiple vendors competing to make the best product/tool for their customer’s needs, not simply using lock-in to maintain/force a customer base. :-)

Overall DAViCal seems really nice and in my testing has been quite reliable – I’m now moving on to more rigorous testing and am in the process of migrating my calender and contacts information into it, once I start using it daily in the real world the true testing begins.

Keen to take a look at what options I have around exposing some information publicly, eg sharing schedule free/busy with friends on different servers.

Grand Theft Auto

Had a wonderful wake up this morning with a call from my property manager, advising that thieves had attempted to steal my car.

Apparently a tenant called in 111 around 7am in the morning, finding my car with the lights on, engine running and door open.

Once the property manager figured out that it was my car, they called me, but after a 4am coding session, I didn’t end up waking up until around 10am.

After running down and checking it out, I made the decision to try and shutdown the car, considering that the police weren’t appearing any time soon and I didn’t want it to a) burn all my fuel and b) risk the engine overheating.

Unfortunately my car knowledge is about as good as most people’s computer knowledge – I get in, turn it on and drive, which meant I wasn’t totally sure on the correct step – I figured that removing that battery would do the trick, but wasn’t totally sure if that was the right move.

Ended up calling AA, who were pretty pathetic and told me that I can’t get any callout as “it’s a vandalism problem”, making me wonder why I even pay for them at all and offering no other assistance.

My insurance company AMI wasn’t too useful at first, saying if I needed help, they’d send a first-responder service out and charge me. A subsequent call had one of their staff confirming that disconnecting the battery would be the correct step to take.

Once disconnected, the car then stalled and thankfully stopped, although I made sure to drop it into neutral before turning off the engine (automatic).

Left running at the complex entrance, fortunately other cars could just get around it.

Ripped up dash :'(

Bye bye beautiful :-(

The weird thing about the theft, is that after going to the effort to start my car, they then stole nothing but some change and my laptop car charger, ignoring my decent car stereo and of course, the car itself.

After reviewing the camera footage, it turns out that they stole my car simply to have something to open the security gate with, whilst they drove out with a specific car that they were targetting.

I guess they really did decide my Starlet was too uncool to steal… sadly they didn’t think it was uncool enough to leave alone entirely, probably due to it’s simplicity and no alarm making it easy to steal.

Pretty rough job (but not uncommon apparently) as they butchered the drivers lock and then tore apart the dash and ripped off the light control column, leaving it in a right mess.

Took about 7 hours for police to come out, not really my greatest first impression with police involvement, but the officer & forensics person were both friendly and easy to deal with and I now have a case number with them and a case number with my insurance company to have to chase up with them on Monday.

Not sure at this stage whether it’s going to be a repair or a write off – the rest of the car is in excellent condition and it’s a great unit, but it’s only valued at $4k.

Thankfully I do have insurance… although I’m sure AMI don’t love me, seeing as I just moved my car to them only two days ago, and it’s really going to fuck my no claims bonus. :-(

Auckland Harbour

Took this on my way into Auckland CBD for Wordcamp this morning – Auckland has a lot of faults, but it is quite a pretty region (or would be without the massive sprawl and motorways all over it).

Battleship! Unsure which one, no AIS information being transmitted, so unable to lookup.

Leosticks are a gateway drug

At linux.conf.au earlier this year, the guys behind Freetronics gave every attendee a free Leostick Arduino compatible board.

As I predicted at the time, this quickly became the gateway drug – having been given an awesome 8-bit processor that can run off the USB port and can provide any possibility of input/output with both digital and analogue hardware, it was inevitable that I would want to actually acquire some hardware to connect to it!

Beware kids, this is what crack looks like.

My background into actual electronics hasn’t been great, my parents kindly got me a Dick Smith starter kit when I was much younger (remember back in the day when DSE actually sold components! Now I feel old :-/) but I never quite managed to grasp all the concepts and a few attempts since then haven’t been that successful.

Part of the issue for me is I learn by doing and having good resources to refer to, back then it wasn’t so easy, however with internet connectivity and thousands of companies selling components to consumers offering tutorials and circuit design information, it’s never been easier.

Interestingly I found it hard to get a real good “you’re a complete novice with no clue about any of this” guide, but the Arduino learning resources are very good at detailing how their digital circuits work and with a bit of wikipediaing, got me on the right track so far.

Also not having the right tools and components for the job is an issue, so I made a decision to get a proper range of components, tools, hookup wire and some Arduino units to make a few fun projects to learn how to make this stuff work.

I settled on 3 main projects:

  1. Temperature monitoring inside my home server – this is a whitebox machine so doesn’t have too many sensors in good locations, I’d like to be able to monitor some of the major disk bays, fans, motherboard, etc.
  2. Out-of-band serial management and watchdog restart of my home server. This is more complex & ambitious, but all the components are there – with a RS232 to TTY conversion circuit I can read the server’s serial port from the Arduino and use the Arduno and a transistor to control the reset header on the motherboard to power-restart if my slightly flaky CPU crashes again.
  3. Android controlled projects. This is a great one, since I have an abundance of older model Android phones available and would like a project that allows me to improve my C coding (Arduino) and to learn Java/Dalvik (Android). This ticks both boxes. ATM considering adding an Android phone to the Arduino server monitoring solution, or maybe hooking it into my car and using the Android phone as the display.

These cover a few main areas – to learn how to talk with one wire sensor devices, to earn how to use transistors to act as switches, to learn different forms of serial communication and to learn some new programming languages.

Having next to no current electronic parts (soldering iron, breadboard and my general PC tools were about it) I went down the path of ordering a full set of different bits to make sure I had a good selection of tools and parts to make most circuits I want.

Ended up sourcing most of my electronic components (resister packs, prototyping boards, hookup wire, general capacitors & ICs) from Mindkits in NZ, who also import a lot of Sparkfun stuff giving them a pretty awesome range.

Whilst the Arduinos I ordered supply 5V and 3.3V, I grabbed a separate USB-powered supply kit for projects needing their own feed – much easier running off USB (of which I have an abundance of ports around) than adding yet-another-wallwart transformer. I haven’t tackled it yet, but I’m sure my soldering skills will be horrific and naturally worth blogging about in future to scare any competent electronics geek.

I also grabbed two Dallas 1-wire temperature sensors, which whilst expensive compared to the analog options are so damn simple to work with and can be daisy chained. Freetronics sell a breakout board model all pre-assembled, but they’re pricey and they’re so simple you can just wire the sensors straight back to your Arduino circuit anyway.

Next I decided to order some regular size Arduinos from Freetronics – if I start wanting to make my own shields (expansion boards for the Arduinos), I’d need a regular sized unit rather than the ultrasmall Leostick.

Ended up getting the classic Arduino Eleven/Uno and one of the Arduino USB Droids which provide a USB Host port so they can be used with Android phones to write software than can interface with hardware.

After a bit of time, all my bits have arrived from AU and the US and now I’m already to go – planning to blog my progress as I get on with my electronics discovery – hopefully before long I’ll have some neat circuit designs up on here. :-)

Once I actually have a clue what I’m doing, I’ll probably go and prepare a useful resource on learning from scratch, to cover all the gaps that I found hard to fill, since learning this stuff opens up so many exciting projects once you get past the initial barrier.

Arduino Uno/Eleven making an LED blink. HIGH TECH STUFF ;-)

Push a button to make the LED blink! Sure you can do this with just a battery, switch and LED, but using a whole CPU to read the button state and switch on the LED is much geekier! ;-)

1-wire temperature sensors. Notably with a few more than one wire. ;-)

I’ll keep posting my adventures as I get further into the development of different designs, I expect this is going to become a fun new hobby that ties into my other two main interests – computers and things with blinky lights. :-)

Ti Kouka Wellington

Whilst plotting my visit to Wellington this weekend, I naturally had to place Ti Kouka Cafe high up on the list (sadly they’ll be closed for the public holiday weekend, so I only have a short window to get my visit in).

Situated upstairs on 76 Willis St, Ti Kouka now occupies the space once taken by my much loved and much missed favorite Katipo Cafe, once the local for Tom and I during #geekflat and Amberdms startup days.

After Katipo suddenly closed, it underwent a bit of refurbishment and an entirely new cafe emerged – Ti Kouka.

Rather than focusing on the counter-culture feel and cheerful hearty feeds that Katipo had, Ti Kouka is an entirely new venture with an entirely different approach, focusing on top quality food, presentation and dining experience.

With one of the founders and main chef being ex-Logan Brown, the food is excellent and tends to be a little more varied than the usual fare found in most cafes.

I’ve had the opportunity to enjoy both their breakfast and lunch menu. Whilst the vegetarian selection for lunch isn’t huge, there are a few good options – a couple more would be a nice touch.

Ti Kouka don’t do the stereotypical huge breakfast with everything on the plate, rather choose a base meal and select a few delicious sides to go with it, or mix things up and go with a couple smaller options.

Breakfast, with a delicious pile of their famous chips. Also a bowl of their excellent mushrooms.

Ti Kouka is also where I’ve had the best pancakes/hotcakes of my life – rather than cream, it’s been served with ricotta cheese and buttery maple syrup, which must be real maple, since it tastes far more amazing than any I’ve had before.

Even dedicated pancake parlors don’t come close to this….I normally tend to go for savory meals as the cafe breakfast option due to many pancakes being served a bit too dry & plain, but this is certainly not the case at Ti Kouka and well worth trying.

This is the most delicious pancake I've ever had. Ever.

If you end up at Ti Kouka for dinner or drinks, it is highly recommend to try a side of their chips, which are nothing short of the most amazing potato based creation known to mankind thanks to a triple-frying process.

The coffee is pretty excellent too, I’ve never had a bad coffee there – even managed to order a soy latte without the nasty burnt rubbery taste that too many cafes fail with when making it.

Living in Auckland, I miss this delicious coffee, so, so much. :'(

Whilst the meals never appear huge, they are always very well executed with excellent flavor, well thought combinations, consistently good standards and I’ve always been pleased and full at the end of my meal, without leaving tonnes on the plate like I end up having to do at some establishments.

My only real complaint is that my favorite lunch time meal option of the Grilled Haloumi has been changed from when it was originally introduced with beetroot & dukkah to a new more salad focused option, which whilst good, isn’t quite as good as my original favorite from them. :-(

Sadly this menu item has changed a bit, but still good.

Ti Kouka has quickly established itself as one of my favorite places, although it does tend to be somewhere I go when I specifically want a delicious meal and relaxed dining experience, if I’m craving a big breakfast after a late night and in a hurry, better off looking at other options like Expressoholic-  you want to take the time to enjoy the Ti Kouka experience.

I’ve found that it’s an ideal location for dates, business meetings or an evening with friends for tapas and drinks (Thr-Fri only), the venue is spacious, quiet and has various table options including being able to look down onto Willis St, or one of the more private booths ideal for secluded dates.

Take a look at some of the other reviews on Gusty Gourmet, Foodie Gems of Wellie, and (as much as it pains me to link to them) Fairfax/Stuff, they all proclaim the excellence of the food and there’s a few pictures of some of their nifty meal offerings.