Coding – inner.geek the self-discovery adventure of brett taylor Thu, 13 Dec 2018 20:37:13 +0000 en-US hourly 1 https://wordpress.org/?v=5.4.4 https://i0.wp.com/inner.geek.nz/wp-content/uploads/2015/09/cropped-fierce.jpg?fit=32%2C32&ssl=1 Coding – inner.geek 32 32 11564923 A path for quickly becoming productive with Node.js /archives/2017/04/08/a-path-for-quickly-becoming-productive-with-node-js/ Fri, 07 Apr 2017 22:56:24 +0000 /?p=1076 If you’re an experienced web developer, and you want to learn Node.js and be somewhat productive with your time, here’s an easy path to begin with.

I’ll assume you know raw JavaScript and a little raw Node. Enough JavaScript to be familiar with the DOM, anonymous functions, and callbacks. You dont have to know React or anything of the sort.

First up, Learn enough to recognise the new syntaxes in ES2016, along with promises, arrow functions, generators and async await. You don’t have to be good at them; just be able to know how to read them.

Now learn enough Node and NPM to start a vanilla Express server and realise how much work it would be to write a whole fully featured web application in it.

Now quit jQuery, cold turkey.

If you come from using a Rails-like framework such as Rails, Django or Laravel, the though of scouring NPM for all the packages you’ll need, you’ll be wanting someone to make opinionated decisions about the right packages for the job for you. May I suggest Adonis.js. It comes with all the MVC, Authentication and ActiveRecord stuff you’re used to, along with loads of other good stuff too. You’ll have a good reason to learn about Generators, Promises and async await here.

Resist the urge to jQuery.

If you want to write your front end as a single page application (SPA), to run in front of your API, you could use what you’re familiar with, or you can start afresh with Vue.js because it has the gentlest learning curve of any of the mainline frameworks, all the best stuff from the other frameworks, and you don’t even have to learn a bundled/compiler if you don’t need it.

Vue is easy to learn, easy to adopt, and you’re never forced into complicating things too early. Go at your own pace, and eventually you’ll learn about components, which will change everything. Get started with Vue’s single file components and never look back.

With Vue, you don’t need a router out of the box, until you know you do. You also don’t need state storage until you know you do.

You want to write a universal app, or use Material design you can do that when you want. Heck, you can even bring in JSX if you’re feeling that. And you dont have to add any of these packages to your project, until you need it, and in any order.

tl;dr: Learn enough JS and Node to spot new JS language constructs, starting with Adonis will give you a reason to learn the new stuff while giving you an easier path to success.

Disagree? Got a easier, faster path to productivity and learning all this crazy JS? Chime in below, or hit me up: @Glutnix on Twitter.

]]>
1076
New inner.geek.nz design! /archives/2010/01/19/new-inner-geek-nz-design/ /archives/2010/01/19/new-inner-geek-nz-design/#comments Tue, 19 Jan 2010 09:56:27 +0000 /?p=615 Yup, I got a new design! I did this all in 1 day.

Sure, I did spend some time ‘upskilling’ at work doing the design and html template, but I got the whole WordPress skin done in about 4 hours.

I based it off of the Classic theme (y’know, the ugly default theme) and tweaked the living daylights out of it, adding extra template files.

I’m quite happy with how it came out. What say you?

]]>
/archives/2010/01/19/new-inner-geek-nz-design/feed/ 4 615
Arduino Reaction Game /archives/2010/01/12/arduino-reaction-game/ Tue, 12 Jan 2010 10:45:16 +0000 /?p=586 I took a few hours after work on Monday and made this:

Want more details on this? Check out Brett’s Arduino Reaction Game in the projects section.

]]>
586
Programming for Health: A Reflection /archives/2009/08/11/programming-for-health/ /archives/2009/08/11/programming-for-health/#comments Tue, 11 Aug 2009 11:48:30 +0000 /?p=549 I’m on ‘staycation’ –annual leave from my normal day job at Natcoll. Staycation because I’m not actually vacating where I am: I’m still at home in Wellington.

I’ve been volunteering at Catalyst IT working with Brenda Wallace to work on projects of her choice. She assigned me to work on Laconica (an open-source version of Twitter that works in a distributed fashion). In order to do so I’ve had to learn a little about many different technologies, like PostgreSQL, the weirdness of Apache+PHP on MacOS X 10.5, and overall, how to checkout and contribute code to an open source software project with Git.

I’ve now had three code merges into Laconica, albeit very minor ones, mostly fixing bugs.

I don’t even use Laconica. (Twitter is working just fine for me, thanks.)

But I feel great.

Computer programming is something some have described as the most complex thing humans have invented — it’s all abstract, there are few corollaries to it in nature. Probably the only thing more complicated is quantum mechanics (but that is, in fact, nature).

My job is to explain, demonstrate, and encourage people who have never programmed a computer in their life (let alone their VCR) to create rather complicated things we call websites.

Why have I enjoyed contributing patches so much to an project I don’t use or much care about? A couple of reasons:

The Zone

The elusive Zone has many names; Wikipedia refers to it as “flow“. It’s that state of being you get when they’re so intensely focussed in the task at hand that time and reality become irrelevant because you’re so energised and focussed and involved at what you’re working on, and having good success at doing it. You come away feeling elated and energised that you’ve completed something of value.

I haven’t been in The Zone for nearly four years. I’ve been teaching people how to program for nearly four years now, and nary the mind to knuckle down and flex my coding muscles. I’m too worked up with office politics, helping my workmates with the technology, and thinking that I wasn’t good enough to be in the industry.

Learning

It’s good to know that I can do it, though to do it professionally, I’d just need to learn more about the processes involved.

I’ve had to learn how to use Git, how to create PostgreSQL users and databases, and submit my finished code to the project administrators for merging with the mainline version of the program’s code.

I don’t normally get to be a learner. I’m a full-time teacher, and what I have to learn is usually because I need to teach it.

It’s nice to learn things for me and me alone. I may never get to teach what I’m learning here, but what I’ve learned is helping fulfill me (more on that later)

That old adage “Those who can, do. Those who can’t, teach”. It’s lies.

Actually I’m a tutor, but that’s just a particular kind of teacher. Not meaning to blow my own horn, but according to my student evaluations I am actually a really good tutor. Sure, I have my weaknesses, but overall, apparently I rock at it.

And I really enjoy teaching. It’s rewarding when the metaphorical light-bulbs turn on above the student’s heads. Some of them slowly brighten, some just pop on, and some of them shine more powerfully than others, but the lights do turn on. To know that a learner now understands one of the most complicated things there is to know,

I was at Wordcamp New Zealand here in Wellington over the weekend, and Nicki Gemmell was talking about using blogs at primary schools around New Zealand. She related how uploading an image to a blog was something a principal got excited about: “I uploaded a photo to our school blog today; how cool is that?!”.

As a programmer who has written photo upload functionality, I forget how far I have come and how valuable the skills I have really are. The challenge of teaching people to do things is fun and rewarding. Teaching students to do this even more complicated stuff is the same but even more challenging.

Teaching programming, from my own experience, is the ability to communicate the concepts and foster the understanding and use of them. I was told by a trainer there were four levels of competency:

1. Unconscious Incompetence – you are unaware that you don’t know how to do X.
… awareness brings:
2. Conscious Incompetence – you are aware that you don’t know how to X.
… learning brings:
3. Conscious Competence – you can do X, and you are thinking about it when doing it.
… practice brings:
4. Unconscious Competence – you can do X, but you do not have to think about it when doing it.

I say that there’s a fifth level: where you have become once again conscious of what it is you are competent at. And that’s the level where you’re ready to teach it.

To be able to teach, you must be able to learn, and then go further so you can show others the way.

Those who can teach, do teach.

People

Okay, I’ll be honest: being around Brenda and the other like-minded geeks at Catalyst IT has been a really energising experience. Being able to vent frustration at code and technology, bounce ideas off each other and have fun while doing it has been great.

But working on Laconica and spending some time reading other peoples code and improving it, and learning the technical, and social aspects of doing so has been fun and very enlightening.

My motivation for staying a teacher has been pretty simple: Hell is other people’s work. Most of the employment in the industry has been creating websites for companies; wish fulfilment for others. I could change the world one organisational website at a time, or I could change the world 20 web students at a time.

But working on an open source project has let me use my programming skills to directly improve, ever-so-slightly at this stage, the lives of people around the globe. By making the software they use better.

Having that sense of purpose in what I are doing is really important to me. I don’t want to just be working to collect a pay check: working to live. And I don’t want to be living to work either. I just want to do what is worthwhile while I’m alive: live life to the fullest. Use the abilities I have to do things worth doing.

I am a teacher. I am a programmer. I’ve been neglecting the programmer side of me.

“Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends – commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. Larry O’Brien and Bruce Eckel

]]>
/archives/2009/08/11/programming-for-health/feed/ 3 549
Jakob Nielson rides again /archives/2009/06/24/jakob-nielson-rides-again/ /archives/2009/06/24/jakob-nielson-rides-again/#comments Tue, 23 Jun 2009 23:10:12 +0000 /?p=540 Just had this one come through the wire:

Jakob Nielsen’s Alertbox, June 23, 2009: Stop Password Masking

Usability suffers when users type in passwords and the only feedback they get is a row of bullets. Typically, masking passwords doesn’t even increase security, but it does cost you business due to login failures.

This sounds like Nielson kicking up publicity. This is shorter than his normal articles and he hasn’t backed this one up by mentioning his latest rounds of usability tests. He’s often got really good points, but this is one that I have issue with.

Nielson has forgotten that the reason password masking exists is if you type it out but don’t submit the form right away, then it won’t be on the screen for a long length of time for passers-by to ‘shoulder-surf’. The form could be really really long and/or you might be a really slow typist.

Padlocks and deadbolts keep honest people honest. The same goes for password masking.

Not to mention that password masking is visual shorthand reminder for the personal habits of “you should remember what you right in this box, cos even you won’t see it” and “no-one else should see this but you”. If we removed this ‘tell’, what would become of the culture of ‘protect your password’?

Think of where, other than web sites, that password masks get used. ATMs, EFTPOS machines, computer software, the Operating System uses it. Western culture is conditioned to this design pattern, and I speculate that the only people who have trouble remembering passwords are the ones who were born before 1980.

I guess a compromise would be to have the field in plain text when it has focus, switching to a password mask on blur…? Not a difficult solution.

]]>
/archives/2009/06/24/jakob-nielson-rides-again/feed/ 2 540
What am I editing code with? /archives/2009/05/25/what-am-i-editing-code-with/ /archives/2009/05/25/what-am-i-editing-code-with/#comments Mon, 25 May 2009 00:19:56 +0000 /?p=535 Keri Henare, an acquaintance of mine from a couple years ago asked the NZ PHP Users Group today:

Just curious as to what your IDE of choice is for PHP development and why?

You’ll see that I replied with the following.

Being nearly Mac-exclusive, I do most of my coding in TextMate, and any text manip in TextWrangler (it has superb grep/regex capabilities).

I don’t use an IDE, but if I was to use one, it’d be something like Coda or Espresso.

If I wanted to use a cross-platform, free IDE that isn’t half bad, but is based on Eclipse, I’d use Aptana for HTML+CSS+JS+PHP support. It’s nice because it has built in support for Firefox and Safari, (and IE when you’re on Windows).

  • TextMate Mac, €39
  • TextWrangler Mac, Free
  • Coda Mac, US$99
  • Espresso Mac, €60
  • Aptana Mac/Win/Linux, Free
]]>
/archives/2009/05/25/what-am-i-editing-code-with/feed/ 1 535
The truth about iPhone Emoji /archives/2009/02/06/the-truth-about-iphone-emoji/ /archives/2009/02/06/the-truth-about-iphone-emoji/#comments Fri, 06 Feb 2009 02:35:32 +0000 /?p=446 There has been a few posts going around the internet talking about the enabling of Japanese emoji on the iPhone. I was curious, and after enabling and experimenting, here’s the truth about emoji on iPhones.

Once enabled, you get access to a staggering amount of icons! To be exact, 469 symbols, ranging from smiley faces to weather icons, flags, animal faces, (clean) hand gestures, and much more. Here’s what they all look like, screen-grabbed right on my iPhone after I put them all in an email. FYI, scaling has occurred, these are not perfect.

Diagram listing all Emoji for iPhone and iPod Touch v2.2.1

Diagram listing all Emoji for iPhone v2.2.1

The trick here is that while these icons look fantastic on the iPhone, when sent in SMS text messages and emails, the beautiful pictures you see above are sent as Unicode characters, as they came through to me via my Gmail:

These characters are part of the Private Use Area of Unicode. Which is why, if you’re viewing this page on a browser not running on an iDevice, you will see a whole slew of question marks or boxes with little letters in them, followed by the copyright, registered trademark and trademark symbols.

Doing some more research, it turns out a bug has been filed on OpenRadar outlining how Apple’s implementation isn’t even that compatible with NTT DoCoMo’s de-facto standard on ‘Pictographs’, even though it would seem they’ve implemented every single icon in that standard.

I’m not expert, but it seems that pre-Unicode, Japan standardised on Shift-JIS, a modification to ASCII that would allow the storage and display of the Japanese Hiragana and Katakana characters that make up Japanese written language. This was pressed forward into the design and manufacture of the Japanese handsets, and even into the operator’s networks, and for the time being, this means both NTT DoCoMo, the biggest telco in Japan, and Softbank, the telco serving iPhones in Japan.

NTT DoCoMo created the defacto standard on emoji on Japanese mobile phones, and have outlined the character encodings for both Shift-JIS and Unicode. Every handset in Japan supports this standard.

When the iPhone was first released, it apparently was criticised in Japan for not supporting the sending and receiving of emoji glyphs. Eventually Apple got around to it, but according to rdar://6402446, iPhone Firmware 2.2 currently implements the encoding of emoji using Unicode characters in the private use area, but not the same private use characters as the NTT DoCoMo Pictographs standard.

So it would seem that, to cut a long story short, Apple’s emoji are directly incompatible with every other handset in the world.

According to Apple, Softbank doesn’t even do translation for iPhone SMS to other Japanese handsets. It will however, translate emoji in emails, but only if you have a Softbank email address and SIM.

And because the rest of the world doesn’t have handsets that work with emoji, that’s why Apple only enables the emoji keyboard for phones with Softbank SIMs.

Still, it wouldn’t be too difficult to write a script to support emoji characters in your web app, supporting both NTT DoCoMo Unicode and Apple Emoji Unicode. Apple have done a nice job with their icons. Interesting times.

Sources:

]]>
/archives/2009/02/06/the-truth-about-iphone-emoji/feed/ 2 446
Parallax Backgrounds /archives/2007/03/20/parallax-backgrounds/ /archives/2007/03/20/parallax-backgrounds/#comments Tue, 20 Mar 2007 08:14:33 +0000 /archives/2007/03/20/parallax-backgrounds/ I got thinking about how I could build a parallax background system for web pages, powered with JavaScript, so I did:

Parallax Backgrounds

Done using simple CSS and a nice bit of JavaScript, but nothing too advanced, and without any libraries!

Enjoy it!

]]>
/archives/2007/03/20/parallax-backgrounds/feed/ 17 388
A Better, More Productive, Short URL /archives/2007/03/19/a-better-more-productive-short-url/ /archives/2007/03/19/a-better-more-productive-short-url/#comments Mon, 19 Mar 2007 11:22:35 +0000 /archives/2007/03/19/a-better-more-productive-short-url/ After talking with Chris Pirillo over Twitter, hearing him say how most short URL services don’t do good pretty semantic URLs, and thinking I could build a better solution, I did.

urlTea

A Web 2.0 look at the Short URL services.  Light, simple interactivity. Intuitive design. And even an API! I’ll probably GPL it soon too…
Your thoughts?

]]>
/archives/2007/03/19/a-better-more-productive-short-url/feed/ 8 386
Twitterlex 1.2 /archives/2007/02/08/twitterlex-12/ Thu, 08 Feb 2007 05:35:28 +0000 /archives/2007/02/08/twitterlex-12/ Yup, it’s patch time — Twitter.com announced that they were going to standardise on 140 characters maximum for everyone, so I changed Twitterlex to reflect that change. I also made a few minor cosmetic tweaks, and have now released Twitterlex 1.2. Enjoy 🙂

]]>
374
Twitterlex v1.1 /archives/2007/01/28/twitterlex-v11/ Sun, 28 Jan 2007 09:52:25 +0000 /archives/2007/01/28/twitterlex-v11/ Just finished working up Twitterlex v1.1.  I’ve added a few things to the widget, the big things being Growl notification and maximum character warnings.  Again, it’s still free, so go update!

]]>
367
Firebug goes 1.0 and out of beta! /archives/2007/01/26/firebug-goes-10-and-out-of-beta/ Thu, 25 Jan 2007 23:01:23 +0000 /archives/2007/01/26/firebug-goes-10-and-out-of-beta/ Congratulations to Joe Hewitt, developer of Firebug, the best of breed “console / inspector / debugger / monitor for HTTP / JavaScript / DOM / CSS / AJAX“.

The extension for Firefox just went 1.0 final (heh, a Web 2.0 tool coming out of beta), and that’s a big deal. Joe has been working on Firebug for just over a year, and it has become a tool more indispensible than even Chris Pederick’s Web Developer extension!

What? You don’t have either of these?! You call yourself a web developer? Let me guess, you still think IE is the only browser worth developing for, and heck, you probably believe that developing to Web Standards is just elitist acadamia… get with the program. Why leave the interpretation of your code to tag-souped chance?

… Eh-erm. Sorry about that monkey I had to get off my back. I heard a rumor yesterday and my anger has found its vent.

But seriously, all those IE die-hards that are still out there today should be amazed at what tools our industry-standard (as opposed to the de-facto-standard) web browser we call Firefox makes available, let alone makes possible.

Since Mozilla 0.7, I’ve found it’s more time-efficient to develop in a Gecko-based browser, then bug-fix for everything else — because it’s much harder and stressy to start in IE and bugfix to Gecko. I’ve found this true for all the technologies: CSS, JavaScript, XSL, AJAX, and now SVG

Viva la revolución! Viva la web standards!

]]>
363
Twitterlex v1.0 beta /archives/2007/01/21/twitterlex-v10-beta/ Sun, 21 Jan 2007 11:28:47 +0000 /archives/2007/01/21/twitterlex-v10-beta/ After my friend Chris introduced me to Twitter, and I discovered that many big names in the web industry are using it regularly, I’ve embraced the Twitter lifestyle. If you’ve not used Twitter yet, it’s a service that you can use to do ‘nano-blogging’ — updates shorter than ~140 characters — from nearly anywhere for free. You can update from the web, from your IM client, or from your phone via SMS text message. But the best part is when you find your friends or people you admire using the system, and receiving their update back through one of those methods mentioned. I’ve got several interesting people on my Twitter friends list — it’s always interesting receiving a text message from them!

Twitterlex 1.0beta Screenshot Front

You can now update from your Mac OS X Dashboard, with my first ever Dashboard Widget Twitterlex. It displays the latest status messages from your friends, and provides a quick access way for you to update your own status easily!

Download Twitterlex dashboard widget

]]>
361
Loading JSON in ActionScript 2 /archives/2007/01/18/loading-json-in-actionscript-2/ /archives/2007/01/18/loading-json-in-actionscript-2/#comments Thu, 18 Jan 2007 09:43:13 +0000 /archives/2007/01/18/loading-json-in-actionscript-2/ Because I blew a few hours trying to figure this out the last few days, and finally cracking it, here’s how to fetch some JSON from a web service and have it processed into an object in ActionScript 2.

import JSON; // http://www.theorganization.net/work/jos/JSON.as

var jsonFetcher:LoadVars = new LoadVars();
jsonFetcher.onLoad = function(success:Boolean) {
	if (!success) {
		trace("Error connecting to server.");
	}
};
jsonFetcher.onData = function(thedata) {

	// ...
	// if writing a desktop app or widget, string manip or regexp
	// the JSON data packet out of the JS source provided by many
	// web services at this point..
	// ...

	try {
		var o:Object = JSON.parse(thedata);
		//mytrace(print_r(o));
		trace(print_a(o));
	} catch (ex) {
		trace(ex.name+":"+ex.message+":"+ex.at+":"+ex.text);
	}
};

// get the feed
jsonFetcher.load("url-to-json-feed.php");

// from: http://textsnippets.com/posts/show/633
// recursive function to print out the contents of an array similar to the PHP print_r() function
//
function print_a(obj, indent) {
	if (indent == null) {
		indent = "";
	}
	var out = "";
	for (item in obj) {
		if (typeof (obj[item]) == "object") {
			out += indent+"["+item+"] => Objectn";
		} else {
			out += indent+"["+item+"] => "+obj[item]+"n";
		}
		out += print_a(obj[item], indent+"   ");
	}
	return out;
}

BTW, what’s up with these JSON feeds that serve up JS that’s JSON plus some more code? That’s annoying — you gotta strip it out before you run the JSON converter :P.

Update: here’s the actionscript 2.0 JSON.as file people were looking for.

]]>
/archives/2007/01/18/loading-json-in-actionscript-2/feed/ 19 355
HTML Tags for the memories /archives/2007/01/16/html-tags-for-the-memories/ Tue, 16 Jan 2007 10:43:46 +0000 /archives/2007/01/16/html-tags-for-the-memories/ While Glutbook was waiting for it’s death knell to be pronounced upon it, I was using my windows desktop machine to re-launch my cousin Michelle’s popular website, Bunny Abandonware. We had worked on the site together before returning from vacation, redesigning the look and building it on a new back end (specifically, Word Press). Migration of the content was always going to be the hard part, but we put a Saturday and most of a Sunday aside to blitz the design, get the content in and migrated, and most of the hard work was done. A little more migration done by Michelle that week and it was ready for me to launch it.

So we did. And let me tell you, I’m really happy with how it turned out. It’s nothing revolutionary or taxing, but it was heaps of fun to redesign and make the templates as we went, with Michelle right there working with me.

This comment from The Abandonware Blog about Bunny Abandonware 4.0 really made me feel good:

Finally some nice scene news! Bunny from Bunny Abandonware has been mentioning is for quiet some time now but finally managed to get the new version of her website online and I must say (again) that it kicks ass! The unique colors used by only one abandonware site, the wonderfull [sic] navigation, the nice kinda web 2.0 style with all the gradients and big buttons ‘n stuff… damned pretty.

LOL, I did some Web 2.0 :rolleyes: 😉 But I’m taking it all as a compliment. I believe that what Michelle does with her abandonware hobby is crucial for the survival, not just of the games, but of the memories. Abandonware, while legally dubious, is less a case of stealing and more the case of paying tribute. I keep telling Michelle she’s not just another retro gamer; she’s an archivist — the curator of her own museum. A museum where the exhibits remind her visitors of the way video games used to be, and where not only games, but ourselves as people have come since then, for better or for worse.

I think the best Christmas present I gave myself was when for Christmas I gave my brother a huge pack of water balloons . I had moved out of home to Wellington and I had come to realise that I missed him. We had fun in that back yard that one day, running around with the sole purpose of cooling off and having a blast. But I did it with the motive of having that memory to look back on — a careless, happier day in my history. It worked, and it’s one of the most cherished memories I have. It didn’t cost a lot.

Memories are worth gold, but the most valuable memories are the ones that cost the least.

]]>
354
Tag, I’m it. /archives/2007/01/10/tag-im-it/ /archives/2007/01/10/tag-im-it/#comments Wed, 10 Jan 2007 11:04:25 +0000 /archives/2007/01/10/tag-im-it/ Gee, thanks Tim. You know, with all the big names who’ve been part of this meme, I never reckoned that I’d get tagged. I suck at tag. In fact, that’s the first of five things you never knew about me:

  1. I sucked at tag. Primary school was pretty hellish for me — I was unfit, I had no friends, and I could never catch anyone. It’s a part of my life that I like to forget. Because I had no-one who liked me or understood me (my parents admit to not really understanding me and my interests when I was young) I turned to reading books and learning. If I had to pick someone who I think understood me when I was young, I’d probably have to say my grandmother on my mother’s side, Lois, who unfortunately passed away while I was at Intermediate, or just starting, I can’t remember. She would buy books for me all the time, and it was her who I credit for getting me into computers and specifically programming. An Osbourne book on Basic for various computers like the Commodore 64 and the TRS-80, and the really simple game listings within it. I would spend hours staring at that code, trying to figure out what the game would do. I wouldn’t get any kind of computer until after she passed away, and then it was a 286 and no-one told me where GW-Basic was.

    Gosh, there’s a bit there. Does that count as only one?

  2. I love computer games, but in reality, I’m not a hardcore gamer. I like the games that I can pick up, play for 15 minutes, and then put to one side. To this end, I rarely finish a game. A mild case of ADD? It’s certainly not AD&D 😉 I can count on one hand the games I’ve clocked without cheats:
    • Half-Life (PC)
    • Half-Life 2 (PC)
    • Half-Life 2: Episode 1 (PC) (but that barely counts)
    • Phoenix Wright (Nintendo DS) (but it’s mostly trial-and-error. Heh, trial, law game)
    • Doukutsu Monogatari (aka Cave Story) (PC)

    Yet recently I’ve bought so many DS and GBA games for my Nintendo DS Lite, and haven’t clocked any others

  3. I’m not allergic to anything, but I have had cancer. I have a giant scar on my back from where they removed a melanoma (skin cancer). Luckily it came back from the labs that it hadn’t spread, but I can’t give blood anymore. If they’d let me, I’d go every six months. So if you’re reading this, and you are able to give blood, you should go do it — it helps so many people out there, and only inconveniences you for a few hours; heck, most workplaces will let you go give blood on work time!
  4. When I want to chill out, the forest is my chill out space. I love to just go somewhere and listen, relax. Rivers are also very awesome. I was baby sitting a couple of my mum’s friend’s kids for the weekend one time in the middle of summer, and they had some really large inner tubes, so we took them out on the river out the back of their house, and had a ball and we all got so tired, we walked back, packed stuff away, and we all fell asleep in the lounge where we were sitting, totally unexpectedly. It was probably the quietest they ever were!
  5. I like chiptunes. Music made on old retro hardware that sounds like it could have come out of an old GameBoy or C64. I especially like the stuff that comes out of 8bitpeoples
  6. Bonus Fact: I don’t like peas. But that said, they are tolerable when mixed with other vegetables. But by themselves, blargh.

Bob Brown (Confessions of a Guru), Hamish MacEwan (self titled), Hillary (Kiwirose in Canada), Dan Milward (Mind of Mufasa) (fix your feeds, they’re broken), and Unbounded (self-titled), even though Unbounded is the kind of guy who would abhor this kinda meme; TAG – You’re it!

]]>
/archives/2007/01/10/tag-im-it/feed/ 1 349
WellRailed’s “Getting started with Ruby on Rails” /archives/2006/10/10/wellraileds-getting-started-with-ruby-on-rails/ /archives/2006/10/10/wellraileds-getting-started-with-ruby-on-rails/#comments Tue, 10 Oct 2006 04:23:32 +0000 /archives/2006/10/10/wellraileds-getting-started-with-ruby-on-rails/ Tim Haines writes:

Tomek, Nahum, and I are organising a Rails session for newbies this month. We aim to make it the best Rails session yet. We’ve organised some books to give away, a discount for O’Rielly, and will be putting on Pizza (and hopefully beer if we find a sponser. 😉 The session will be about building a basic blog app, but the overriding theme will be to get the uninitiated but curious, and the beginners along, and give them a taste of the good stuff. We aim to nuture their curiousity into a love of Rails – which will benefit the entire Wgtn software development scene.

What: Getting started with Ruby on Rails – a community based approach
When: 6:30pm, Tuesday, 31st October 2006
Where: CreativeHQ, 25a Marion Street, Te Aro, Wellington (behind Resene Paint)
Presented by: Nahum Wild
Intended audience: Anyone interested in Ruby on Rails.
Prerequisites: Interest in Ruby on Rails. Knowledge of programming in any language will be useful during the live demo.
Refreshments: Hell pizza
Cost: Free. It’s a community event. It is our turn to give back.

The format will be as follows:

  • Arrive between 6:30 and 7pm.
  • Start at 7pm: Welcome and introduction
  • Quick overview of Ruby on Rails and its main underlying design pattern: Model-View-Controller
  • An end to end demonstration of how to build a simple blog application in Rails.
  • Q&A time.

Interested? Only 12 places left… Find out more about this event! I’m looking forward to this one…

]]>
/archives/2006/10/10/wellraileds-getting-started-with-ruby-on-rails/feed/ 2 338
Tetris got 0wn3d! /archives/2006/10/04/tetris-got-0wn3d/ Wed, 04 Oct 2006 08:20:05 +0000 /archives/2006/10/04/tetris-got-0wn3d/

Quinn is an implementation of a popular falling-blocks game which, according to the Tetris Company, must not be named here.

ROFL. You got served, Tetris Co.

Seriously, Quinn is a really good implementation of that unnameable game for Mac OSX.

]]>
333
O’Reilly? YA RLY! /archives/2006/09/22/oreilly-ya-rly/ Thu, 21 Sep 2006 21:57:38 +0000 /archives/2006/09/22/oreilly-ya-rly/ <script type="text/javascript" language="Javascript"> i = /^[O]{1}( {1}RLY)\?{1}$/mi ; j = /^Y(A) {1}RLY[\!.]?$/mi ; q = prompt('O'Reilly? Ya Reilly!'); if (i.test(q)) { alert (q.toUpperCase().replace(i,'YA $1')); } else if(j.test(q)) { alert (q.toUpperCase().replace(j,'NO W$1I!')); } </script>

O'Reilly? YA RLY!

]]>
332
ESV Daily Verse Screensaver for Mac OS X /archives/2006/08/13/esv-daily-verse-screensaver-for-mac-os-x/ /archives/2006/08/13/esv-daily-verse-screensaver-for-mac-os-x/#comments Sat, 12 Aug 2006 12:14:43 +0000 /archives/2006/08/13/esv-daily-verse-screensaver-for-mac-os-x/

ESV Daily Verse Quartz Screensaver Screenshot

So I’ve been mucking around with Quartz Composer for Mac OS X recently, and a few nights ago, inspiration struck. So I spent my evening making up this: ESV Daily Verse Screensaver. I am learning a lot about Quartz just making these kinds of things, and the fact that this one goes online to get stuff from the ESV’s RSS feeds is even neater. Maybe someone out there will enjoy this one 😀

I’m working on a ‘star wars’ type screensaver with the same content right now, but am having issues with pixelisation of the text when I get it at the right angle and perspective, i.e., freakishly close up.

As Quartz Compositions tend to be user-editable, I’ve decided to release all of mine under a Creative Commons Attribution licence.

]]>
/archives/2006/08/13/esv-daily-verse-screensaver-for-mac-os-x/feed/ 6 327
WCAG2 will be squashed by the developer community /archives/2006/05/24/wcag2-will-be-squashed-by-the-developer-community/ /archives/2006/05/24/wcag2-will-be-squashed-by-the-developer-community/#comments Tue, 23 May 2006 21:00:05 +0000 /archives/2006/05/24/wcag2-will-be-squashed-by-the-developer-community/ Joe Clark, respected Web Accessibility guru, author of Building Accessible Websites, is criticising the draft version of the new Web Content Accessibility Guidelines which has been under development for over 5 years now.

Clark doesn’t just criticise the content of the new guidelines, but the manner in which they have been delivered to the world and how valuable stakeholders haven’t been listened to or even consulted.

What does this mean? A lot of the work of WCAG1 — the things that actually work — seems to be being undone and losing a lot of it’s punch. And instead, most of what WCAG2 is proposing Joe claims to be unachievable — and he’d know.

I could start explaining, but you’re better off reading what Joe Clark had to say his A List Apart article.

The WAI committee didn’t give much time for interested parties to provide comments — only until 31st May 2006. You better read this now and provide your feedback to the group while you still can.

UPDATE: Corrected some mistakes — thanks Joe Clark for dropping by and correcting me 😉

]]>
/archives/2006/05/24/wcag2-will-be-squashed-by-the-developer-community/feed/ 3 314
MacZOT do it again… /archives/2006/04/25/maczot-do-it-again/ Tue, 25 Apr 2006 10:41:14 +0000 /archives/2006/04/25/maczot-do-it-again/ There’s a BLOGZOT 2.0 on MacZOT.com for a great piece of software you might have heard of called SubEthaEdit from CodingMonkeys. If you want it for free, you’ll post about it on your blog too. If 600 people blog about this special in the 24 hour span this sale is on for, MacZOT and TheCodingMonkeys will award $105,000 in Mac software, total to the community! W00t!

SubEthaEdit is basically multiplayer notepad – it allows you to collaborate with others across a network, all editing the same file in different places.

I don’t know if I’d use it personally, but hey, commercial software for free is not something I’d balk at 🙂

]]>
302
Get Naked! /archives/2006/04/03/get-naked/ /archives/2006/04/03/get-naked/#comments Mon, 03 Apr 2006 01:26:41 +0000 /archives/2006/04/03/get-naked/ In the interests of educating about web standards, I’m joining in with the First Annual CSS Naked Day, which is April 5th. It should be good. If you can’t wait till Naked Day, you can view any page on this site by tacking ?gonaked=1 on the end of any inner.geek.nz url, or view this page naked.

]]>
/archives/2006/04/03/get-naked/feed/ 1 295
WordPress Plugin: Mycroft Search Plugin Generator /archives/2005/05/19/wordpress-plugin-mycroft-search-plugin-generator/ /archives/2005/05/19/wordpress-plugin-mycroft-search-plugin-generator/#comments Thu, 19 May 2005 08:29:32 +0000 /archives/2005/05/19/wordpress-plugin-mycroft-search-plugin-generator/ I was at work, and an idea hit me: Firefox search plugins are just text files. They also contain a lot of stuff that WordPress stores in it’s database. Why not make WordPress generate a search plugin for itself? Why not make a plugin that will work on any WordPress 1.5+ install? So I spent the rest of the day making the Mycroft Search Plugin Generator plugin!

Try it at the bottom of the sidebar on this site, or in the Meta section of the sidebar on Webfroot!

]]>
/archives/2005/05/19/wordpress-plugin-mycroft-search-plugin-generator/feed/ 6 191
The ESV Online Edition /archives/2005/05/18/the-esv-online-edition/ /archives/2005/05/18/the-esv-online-edition/#comments Wed, 18 May 2005 01:33:27 +0000 /archives/2005/05/18/the-esv-online-edition/ Colour me impressed with the ESV Online Edition… I’m still geeking out about it… They have put a lot of effort into the web development of this site.

The site is valid XHTML, they provide various RSS interfaces, including Bible in One Year feeds and various other daily devotionals, a Web service (SOAP and REST/HTTP-GET) interface for doing verse fetches), favelets, A Firefox search plugin, integration with OpenSearch initiatives such as A9.com, Javascript syndication, and even search-by-email! Talk about spreading the Word of God!

I also really enjoyed reading the Technical Introduction to the ESV Online Edition, which included a report of a usability study of their own and other bible search engines, expected behaviour and implemented behaviour, caveats of search ambiguity, how their whole bible is in XML and is transformed into XHTML, what they did for older browsers, popular bible book query patterns, and strangely enough, MySQL database definitions and PHP source code for viewing (not borrowing) of how their search works. I learnt a lot.

Wow… It’s so geeky, it almost makes me proud to be a Christian 😀

Oh, and the translation itself is good too 😀 They even have the entire audio version available to listen to, and if you search on something, you can listen to the results too 😀

]]>
/archives/2005/05/18/the-esv-online-edition/feed/ 2 189
Gizoogle Bookmarklet /archives/2005/04/15/gizoogle-bookmarklet/ Fri, 15 Apr 2005 02:59:20 +0000 /archives/2005/04/15/gizoogle-bookmarklet/ A request was made on an IRC channel I hang on for a Gizoogle Bookmarklet, which would translate any website into straight-up dope GANGSTA.

So I did it.

Get your Gizoogleate It! Bookmarklet after the jump…

]]>
181
WordPress 1.5 installed /archives/2005/02/17/wordpress-15-installed/ /archives/2005/02/17/wordpress-15-installed/#comments Wed, 16 Feb 2005 23:43:05 +0000 /archives/2005/02/17/wordpress-15-installed/ Yup… it’s all installed. I’ve installed it, configured it, and decided I liked Kubrick (the default WordPress 1.5 theme) enough to just hack it into a site I like, not to mention how lazy I am… So here you have it. It’s not totally Kubrick, but it smells like Kubrick.

I’m loving the 1.5 action. I love how plugins just add themselves to the menu bar in the admin panel. I love the dashboard. I love Pages. I love the Presentation tab.

One cool thing I discovered about Kubrick is it has a few CSS classes for adding images to posts, namely .aligncenter, .alignleft and .alignright… I’ve been meaning to add these kinds of classes to Webfroot for a while, but then again, we don’t post nearly as many images as we could…

]]>
/archives/2005/02/17/wordpress-15-installed/feed/ 3 172
Re-learning to type /archives/2005/02/03/re-learning-to-type/ Wed, 02 Feb 2005 21:18:10 +0000 /archives/2005/02/03/re-learning-to-type/

Hey Adam,

I heard on the show you were looking to learn how to type better. I used to be just like you, always looking at the keyboard, somewhere between hunt and peck and touchtyping.

A few years ago I had a whole lot of spare time on my hand, and I looked into the Dvorak keyboard layout. It’s a completely different keyboard layout, but it’s got some advantages over the standard QWERTY layout. All the vowels and most common constants are on the ‘home keys’, and more common letters are nearer the home row.

  ` 1 2 3 4 5 6 7 8 9 0 [ ] BACKSPACE
     ' , . p y f g c r l / =
     a o e u i d h t n s - ENTER
      ; q j k x b m w v z

You don’t need a new keyboard to learn Dvorak, because Windows, Linux and MacOSX have the ability to switch to Dvorak in software (instructions later).

Learning Dvorak appealed to me because I could learn keyboarding afresh — my bad habits that I had learned using the QWERTY layout would be useless.

It took me about 6 weeks of typing before I was able to ditch the Qwerty layout. But during that time, if I had something important to do, I would switch back to Qwerty, and when I was done switched back to Dvorak.

However, it has been said that you can learn the Dvorak layout in about a month…

About 2 months after starting the learning process, my friend started learning Dvorak too. We’re both computer programmers working in the Web industry, so typing is an integral part of our day. I now no longer look at the keys, and am touch typing. I average about 45wpm when typing from copy.

Biggest con with the Dvorak layout:
Ctrl-Z : Undo
Ctrl-X : Cut
Ctrl-C : Copy
Ctrl-V : Paste

Those editing key shortcuts are grouped together on the Qwerty keyboard, and are close to the Ctrl key — On Dvorak keyboards they are all over the place. And the worst one is when editing a blog post in a web browser, and on Dvorak you go to press Ctrl-V but by accident you press Ctrl-W, which is the shortcut for Close Window… that’s something that really got me angry when learning.

But four years on, I’m still a Dvorak advocate.

If you do want to learn keyboarding (Q or D) here’s a tip:
Don’t EVER look at the keyboard while learning.
If you’re learning Dvorak for one, your keyboard will have the wrong key labels on them. Instead of buying a new keyboard or putting labels on your keys, print out a copy of the layout and attach it to your monitor somehow. Typing tutor programs display the keyboard on the screen for a reason 🙂

A veritable treasure trove of Dvorak information is available at http://www.mwbrooks.com/dvorak/ including a picture of the layout and how get your OS to remap your standard QWERTY keyboard to a Dvorak layout

A really good typing tutor program is Ten Thumbs Typing Tutor, and is available for Windows, Linux and Mac!

Anyway, love the show, keep it real!

]]>
160
WP Plugin: Official Comments /archives/2005/01/12/wp-plugin-official-comments/ /archives/2005/01/12/wp-plugin-official-comments/#comments Wed, 12 Jan 2005 08:23:18 +0000 /archives/2005/01/12/wp-plugin-official-comments/ I just whipped up a quick WordPress 1.2/1.5/2.0 plugin that allows you to distinguish comments made by WordPress users. It also will automatically approve comments made by WP users.

Current Version: 1.1

How It Works:
If you are logged into your WordPress admin panel, and you make a comment, the plugin will see that you are an official WP user of your blog and mark the comment with your WP User ID.
When the page is rendered, that User ID is called up by the plugin functions, which you can use to change text, change CSS class, add images, whatever your imagination desires.

Installation
Either:

  • RECOMMENDED: Install WordPress Plugin Manager then use the One Click Install for Official Comments. This will also make it easier to install other plugins and upgrade them in the future.
  • OR: Download Official Comments, extract and upload official-comments.php to your wp-content/plugins directory. Log-in to your WP admin panel, go to the Plugins tab and activate the Official Comments plugin.

How to implement:
Simply add this somewhere within the Comments loop in wp-comments.php and/or wp-comments-popup.php:

<?php if(is_wpuser_comment() != 0) {echo "Official ";} ?>

Or get tricky and add a CSS Class to the LI:

<li class="comment <?php echo (is_wpuser_comment() ? ' commentOfficialUser' : ''); ?>" id="comment-<?php comment_ID() ?>">

and this very basic css example:

.commentOfficialUser { border: 1px solid black; background-color: #999999 }

Documentation
View Official Comments Readme.txt

Examples
There is a very basic example on this post, but more exciting examples available at Webfroot.

Known Issues
It only works with official comments made after the point of installation, as WordPress doesn’t automatically add the WP user ids to the comments field it already has.

Bugs and Suggestions
Any bugs or suggestions, please email me — email link in the sidebar (RSS readers: drop by the site 😉 ).

]]>
/archives/2005/01/12/wp-plugin-official-comments/feed/ 159 155
Responsible Tourism /archives/2004/12/13/responsible-tourism/ Mon, 13 Dec 2004 04:02:16 +0000 /archives/2004/12/13/responsible-tourism/ Launched a new website at work today — Responsible Tourism. It’s semantically correct, valid XHTML 1.0 Transitional, valid CSS, and looking good 🙂 I did all the design work for the site, except the logo — we got a contractor to do that. XHTML and CSS all by yours truly 🙂

I’m especially proud of the CSS work on “The Code” on the index page — it looks like a table, but it’s not! — it’s a <dl> with nested <ul>s! Mmm… semantic goodness 🙂

I used Fireworks, Dreamweaver, TopStyle and the content editors all used Contribute.

]]>
152