Category Archives: Updates

About me, and Status

Quick Update + A Collaborative Music Notation Software

A quick look at my last post shows that I’ve not touched this blog for about half a year.

I have however continued time to time to write short notes on facebook which reminds me that I should repost them here.

Since the last year, I’ve graduated from the University of Singapore and as my final year project, I build a collaborative music notation software prototype.

To summarize the project in a nutshell, it is a web application that allows you to write, edit, save, play music using a simple point and click interface. It runs simply using your modern web browser (firefox, chrome, safari, etc), and possibility on mobile devices on your iPad. It works whether you are online and offline, it would synchronizes so you won’t lose any data. Its real time and collaborative nature allows you and your friends to edit a document and watch each other work on it at the same time.

If I could describe it in simpler fashion, I would like to call it a Google Docs for Music. It kind of started with a prototype using html5 canvas in dec 2009. So the project made used of html5 related technologies, jquery, css, javascript, canvas extensively, comet/websockets with socket.io, node.js for the server side, and couchdb for the database layer.

If you are interested in more details, you might like to look at some slides I have hosted on slideshare below.

For sometime I’ve also been thinking whether I should create a product with this, or to create an open source project around this. Since I’ve graduated from school, I’m likely to take on a job to repay my loan for my university’s tution fees. While I would really love to continue on this, I do not know how much I would be able to contribute to a open source if I decide on this. I welcome any comments you may have. :)

Keep Going

Something I remember from a book about journals – keep writing, even in times its difficult to write. Inspiration doesn’t come always, and sometimes the motivations and goals for doing something turn dim. The book mentions a lady who was depressed after losing a loved one, didn’t have the inspiration to write about new things, but keep recording seemingly mundane actions like waking up, sleeping and eating for a long period of time, and eventually that helped her recover.

Because I started this blog initially for myself, at times, I feel apologetic to myself for not maintaining my blog. Sometimes I procrastinate when I have too many things to write about. Then times swing when I’m unsure of what to write. At least I keep a little diary where I dump my thoughts and feelings in it and 6 months after I’m here, reading them helps me measure myself.

And my photos here (or here @ facebook) these days seem to be the outlet of expressing the (almost daily) adventures I’m going through.

Have a great year of 2009 ahead, if I haven’t greeted you so, late but better than never.

2009 New Year Fireworks, San Francisco
New Year Fireworks 2009, San Francisco, from Treasure Island.

Pinging Zz85

Dear all who drop my website,

My apologies for not maintaining this (broken) site and updating the content.

While I attempt to fix some kinks, you might be able to spy on some web experiments over at my new domain http://joshuakoo.com/labs

Here’s the ping to show I’m alive.

Changelog: Switched a twitter badge, updated heatmaps counter, added photos sidepod, updated K2 which fixes layout problems.

Twitter Timeline Updated

In my previous post Timeless Belt Of Time: How I Integrated Twitter in Timeline, I posted the code for laying out twitter posts on the timeline.

Previously that was done by calling the json Twitter API. It work well for the current 20 status but the archive call (80 posts) didn’t work. I filed a bug report at Twitter, but when I last check again 3 days ago, it was still not working.

To implement a workaround for archives, I modified my server side php code to get the XML format. SimpleXML was used for parsing the xml, then since my server didn’t support json, I use the json library from pear php.

Here’s the updated code for download.

Recently, I have a regain interest in adobe products, namely flash lite and flex. My first flash lite app is a Metronome, and maybe I might post it if I polish it up.

Eventful Weeks

The past weeks (not over a month) have been pretty eventful (writer’s side-thought: eventful sounds more positive than busy?).

(usual projects, schooling, concerts, performing and weddings… yadayadayada…)

So to shorten, the more important events (to me) are:

  • NOC interview
  • New facebook application: Boombasheep
  • NUSSO Concert: Flame of the Night
  • NUSSO Elections
  • Piano Exams

NOC interview
I’m grateful to be able to attend the 2nd interview. Questions asked were similar to the 1st, but I felt my responses were better during the 1st interview. Still, the interview teaches me lessons and gives me experiences, and the least I tried was to show my determination. Lesson from my dad remains- pray, try my best and expect the least.

Boombasheep
Screenshot
Boombasheep
is the name of the latest facebook application I developed together with Lester Chan, and my Zi han, my OG-mate. The objective of the game is simple and in fact brainless: a bomb is created with a time to explode, and so the parcel gets pass around. The idea came from Chua when we were sharing ideas, then I decided it was feasible. Although it was meant for my 3rd assignment, my personal objectives deviate from the assignment’s, but I believe our team were largely satisfied with the outcome.

Flame in the Night
Mr Lim and Me
Photo with our conductor, Mr Lim
Before this concert was NAF Opening concert, but this concert had the orchestra and committee preparing at least half a year ago. Although some might expected better, it was still a great experience for everyone and myself at YST‘s concert hall and comments have been positive. The concert was also reviewed on The Straits Times. A pleasant surprise was I personally didn’t really expect my siblings and friends made out over 10% of the hall’s capacity (thanks for coming!). Photos here.

Elections
I got voted for Welfare Secretary post. Its my wish that I’ll be able to contribute as in the best of my capacity for the best of everyone.

Piano Exams
Something that I wanted to be over and done with since last year, and today’s the day. I feel indebted to many- first to the many friends who often encourage me. Auntie Fong who first persuaded me to take on, and buying the exam book for me, Uncle Yeow Whye, Auntie Alison who sponsored the exams, and recommended my teacher to me, my teacher Ms Winnie for her care and patience in these few quick and brief months, my parents for sponsoring the lessons fees, and my mom especially for encouraging me so much beyonds words and actions. The first piano exam in my life, things feel far from ideal, what only was familiar is the courage had to gut down failures when it comes again: hence preparing the worst is my unwritten plague to try again until success. (However, Auntie Alison cheerful declared my exams pass over the phone :p)

Closing
These are the times, stressful, challenging and trying. I ever thought if I would lose my sanity. Thanks be to God whose grace is sufficient for me. Battles continue with mid-term exams and assignments for the next 4 consecutive days. While the future and the many outcomes lies unknown, trust and hope needs to be learn.

Week @ A Glance

What I have been doing in and outside school the past week.

Scheduling my time.
Didn’t really find a good timetable software so used excel to do up my weekly timetable (like doing training programmes in army). Later played with Google Calendars and Mozilla Sunbird. Google’s very good alternative for outlook calendar, you could sync calendars with others, integrated with gmail, accessible anywhere and I love its Quick Add Event feature. Timetable pretty good for a 1st semester student. Latest first lesson is 9am and schools ends at 4pm latest of my 4 day study week, except CCA on wednesdays.

Configuring my emails.
I’ve 2 school email accounts, 1 unix account, another outlook exchange account. I wanted so mail forwarding so all mails could be read from a individual place. The “.forward” file was added in unix, and a rule for outlook was added to forward all mails to my gmail account.

Attending lectures.
2nd week has no tutorials so I basically go to school for lectures. So lectures are boring (perhaps I couldn’t understand, perhaps I learn’t those before) so I used FreeMind on the laptop to create mindmaps.

Swim.
I decided not to renew my Safra my membership knowing I could access the school’s swimming pool. I lost my new goggles on of my sessions.

Rain and stars.
Days of rain causing numerous soaked socks. However, rain’s a very pleasing sight and sounds. One night walking home after the rain, the sky seemed to move the clouds aside, and the rolls the curtains for a bright moon accompanied with sparkling stars. I revised my stars glazing techniques. My bro mentions a “blood red moon”, or a lunar eclipse (earth between sun and moon) happening soon.

Port forwarding puzzle enlightened.
Over months of being puzzled why the port forwarding on my router didn’t seem to work, I discovered an issue after honeypotting ports and debugging telnet sessions. The 2wire router didn’t seem to establish the connection if you call its external address from the internal network. The port forwarding works fine for others though. I confirm my findings using a proxy server and my unix account from school

Listening to music.
I plugged my usb speakers into my server. SSHed and ran screen -R. I use juke on a jukebox full of baroque music. I remembered WCPE and ran mplayer on its streams. The music keeps playing even turning off the computer. If my computer’s on, I would perhaps Naxos online music library, subscription prepaid via school fees.

Books.
Borrowed some books on listening from YST library in hope to understand music better.

GPS.
Retrieved GPS nmea logs on my phone, converted to GPX and uploaded to different sites for different reports and maps.

Computers in my home.
Networking devices has reached to a record. Counting the main ones,
3 Laptops – 1 a touch screen tablet, all connected wireless except the power cables
3 Desktops – all connected via ethernet port
1 Server -Running linux as well as server as a network switch
2 Networked printers -1 Ethernet connected, 1 Windows-shared Laser Printer

Surfing the net.
Firefox add-on Timetracker on my mom’s laptop says I’ve been surfing the net for 62hours since start of this month, 4th August. MeeTimer reports about an average 1h 45mins a day.

sick! (Written on 26 May ’07 Sat)

I’m feeling terrible…

BBQ Chicken

long free weekends are hard to come by for me, yet i felt sick early on this saturday. likely because of the dose of bbq chicken & samba stingray followed by icecream late last night.

BBQ Stingray

so i tried using the computer, but not for long, because i visited the toilet for a considerable amt of time, followed by a long rest (6 hours sleeping, to be exact) missing my lunch. So I woke up in the evening, and the unwellness kicked repeated the cycle. So I woke up again late at night, struggling with the hot and cold on my bed, I’m posting this with my Nintendo Opera Browser. View in 150% and handwriting recognisation mode, wasnt the best way to surf the net, but the least dizzy for now.

More on DS Browser wars next time.

Okay, so i edited to post to add some pictures.

NDS Lite vs PSP

Why I chose the Nintendo DS lite (NDS Lite) over the Sony Playstation Portable (PSP).

Its seemed like a long month in May. I was spending more on projects in Camp, but my concentration is definitely drained elsewhere. It wasn’t duties, so maybe music, maybe something else.

May is a month lots of money spent, on gadgets mainly, perhaps kicked off by the IT Show.

So I bought a NDS Lite -this will be added to my memories of hand-held computer games I bought in my life (I could count all of them with my fingers) since young.

While the majority of people I know owns a PSP, and rare minority an NDS, why the latter for me?

Here’s my reasons. NDS..

- Seemingly cheaper (~$230 vs ~$300)
- More portable (Easier to carry around or place in the pocket)
- Longer Battery Life
- Touchscreen (With a stylus, even 2)
- Although hardware’s power no where near the PSP, games are more creative and innovative (hardware usually fully utilized)
- Interesting homebrews
- DS sales wins high over PSP
- Comes in nicer colours

In no way here I’m looking down on the PSP. The points above are mostly debatable, eg. price of the PSP is quite low now (and getting even lower after a recent news says sony will cut down another 15% due to low sales). For its powerful hardware and features, its hard to beat. Tons of quality homebrew / hacks are available for the PSP.

For advice I would say, take the PSP if you want the entertainment (nice screen, graphics, and music) but pick the DS if you want something special, innovative or classic.

See this link which had a big influence on me for buying the NDS. Maybe this might affect you another way.

6 more months left in NS

Some updates from camp’s life

1. Awarded Best Soldier in SAF Ammunition Command for month of Oct 06

Best Soldier Award

Well, the whole story about this award supposed to be another post, but anyway here’s what happened in short.

My outgoing OC looked for me when I was on off, through the telephone asked me to prepare a presentation at a conference for commanders.

After giving my speech, CO asked a write out regarding my defining moments.

Basically this was a chance I could recall my learning experience and memorial moments in NS and to thank all those who have helped me one way or another.

2. Promoted

after being a Corporal for about a year

Old Rank
Old CPL Rank to…
[okay the circle thing above the rank is a formation badge, which I backstitched (handstitching's another topic) not that well unfortunately]

New Rank
3SG (3rd Sergent) Rank.

ping? pong! (# see footnote)

Its been over 2 months, from the last year since I posted any new stuff on my blog. Welcome back!

I have a more or less the usual excuses for that my long absence from blogging. Here’s the excuse list

Reason #4. Server downtime

No idea why sometimes the pages loads too slow or the server fails to connect I may be planning to revamp my entire blog, upgrade the wordpress engine, create a design myself, move and host it on my server located at home.

Reason #3. Occupied with tons of end of the year and new year events

End and the start of year have no lack of festive seasons and activities in army, church or home.
In camp, usual work & duties continues.. In december I had 2 weeks of advance training course.
Then after that, was about a week sent overseas with my family
When I’m back, it was time for caroling and christmas and..
the cycle continues..

Reason #2. Series of computer tragedy
The irony that I’m always helping others fixing their computer problems, I never get the to solve my own.

Lately I threw out my pentium 3 pc, but I still left with tons computer debris. motherboards and other computer junkies are left lying around with a slight hope of electric life sprinkling in them or waiting to be “basketed”.

My main personal and working system, pentium 4 2.8ghz ht starts to load windows slow (which means really slow.. worst than my pentium 3 could boot up windows xp). ram problems, northbridge fan problems.. and when i think i got them fixed.. strange noise from my 160gb sata harddisk even after formatting. well, im using xubuntu (a debian, xfce, ubuntu type of stuff) on a old 40gb maxtor hdd (at least on a 80pin ribbon cable) to type this.

Reason #1. Plain laziness and impatience

Well, I could have used some other computer, login from somewhere else. But no, I thought my environment then on my pc was the best customised and didnt attemp, even when i would create an entry anywhere else on planet even though it was so.. technically possible.

Anyway here goes a post to break my silence, hopefully this would drive me out of my reason #1 keep going..

(btw the post is titled ping pong, well not that it has to do with table tennis but i remembered irc servers would “ping” clients which reply “pong” to show that they are alive — yes i’m still here. )