Archive for July, 2009

Why nobody reads blog posts

Thursday, July 30th, 2009

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Mass-amateurisation of the Internet

Tuesday, July 28th, 2009

I cannot pretend it isn’t a commonly known fact that the Internet (and technology in general) has led to the mass-amateurisation of many professions – journalism has become blogging, we see photography websites, animation portals due to the advent of Flash, writers, graphic and sound artists, and of course 10 year old programmers.

I recently arrived in Jakarta to visit my relatives. In Jakarta and most Asian countries it’s quite normal to have a maid in the house. They are treated much as part of the family and are normally full-time. The maid in my aunt’s house has a boy around my age and a baby girl who loves to play hide and seek with me – or maybe she’s too scared to come out all the time. The maid’s name is “L”, mainly because I feel it disrespectful to call her “the maid” in this post – she is a very pleasant person.

Anyway, I had some free time and so I opened up my laptop. Unable to get online just yet I decided to start up my local server and began coding a new feature into Eadrax. P, who is L’s son wandered into the room and peeked at my screen. I had just switched to a new tab in Firefox and was testing out some MySQL queries in PHPMyAdmin. Without a moments hesitation he said:

“Dion, itu SQL iya?”

Translated into English, this means:

“Dion, that’s SQL, yes?”

You have to understand that he has never owned his own computer (until very recently I was informed). He  is unfortunately not privileged to have high-end education, and only pops into the Cybercafe once in a while to “learn how to use the computer” for his university course – unrelated to computing. And of course, he’s 17.

Further probing found he had two blogs (here and here), knew some Windows command prompt commands, knew about SQL injection (uhhh – well…), knew about Linux and Ubuntu, and was quite familiar with the concept of ripping off HTML codes (or any client-side visible code really) to implement in his own fashion.

I’m sorry, but 99% of the people in my school don’t know about SQL injection. I would say 95% don’t know any command prompt commands of any sort (well, knowing `ping` or `ipconfig` doesn’t count), 80% don’t know how to rip and implement source code, 60% won’t know about Linux, let alone Ubuntu, and well – I guess only 50% don’t have a blog of some sort.

Talk to the average government school student and you would find those percentages skyrocket – except for the blog one maybe.

There is of course the chance that I have stumbled upon an irregularity but I do believe that this is a trend we are all underestimating.

Similar experiences, anyone?

The Road to KDE Devland (Moult Edition) #0

Sunday, July 26th, 2009

Well then. I’ve been motivated by Hans Chen who originally decided to walk the path to a KDE developer and to do my own. For the technophobes, KDE is an actively developed desktop interface (for want of a better description) which is pushing ahead what the desktop is capable. It is also a community for everybody – the programmers, the artists, the PR folks and most importantly, the users.

Somebody once said that open-source will truly succeed when anybody and everybody will have the capability to create the environment around them completely as they see fit. I’m not denying that this’ll result in a lot of crappy environments (or not to my liking) but it basically says contribution shouldn’t be limited to those who mutter binary in their sleep.

I’m going to see if I am able to make this contribution. Let’s start by giving you the case study:

I do know PHP and do web-development. I have coded a black jack CLI game in C++ (well it was a start). I do graphics design and am proficient in The GIMP. I once touched Python but probably have forgotten a lot. I am a student and have no intention of going into programming as a career and have been self-taught. I have no deadlines, no clear goals nor any roadmap for this project, and am always juggling a variety of other projects on the side.

That, sounding quite like the commitment level proffered by most individuals seems like a vague and – well, truly realistic to be honest. I shall post my progress here with no fixed schedule and see how things go along :)

I’m thinking of starting by reading “Accelerated C++” – mainly because whoever thought up that title got the 100% keyword efficiency award for word estate. 2 buzzwords in 2 words. Eeeexceeelent.

Tech tip #3: Rip audio from an .FLV file.

Friday, July 24th, 2009

Well folks, here’s another quick tech tip that I use once in a while. How do you rip only the audio from an .FLV file? .FLV files, or Flash Video files are the format used in browser-embedded videos, common on video-sharing sites such as YouTube or Vimeo (and Eadrax!) For whatever reason if you have an .FLV file of your favourite music video, now you can get the music rocking solo.

mencoder a.flv -o a.mp3 -of rawaudio -oac mp3lame -lameopts cbr:br=192 -ovc copy

I’ll stay off tech tips for a while as the weekend is coming up.

Tech tip #2: MPlayer play music recursively in a directory.

Wednesday, July 22nd, 2009

I have always wondered how to do this. It’s quite often I have directories full of media files (specifically music) and subdirectories within them also with music files, and though the manual for MPlayer is thicker than the Chinese phonebook I have not been able to find any option for it.

I did however find a method which isn’t exactly the guru one-liner, but here it is anyway. It’s broken into two steps, the first to create a playlist:

find -maxdepth 1 -type f -name \*.\* > playlist

Then finally play the playlist:

mplayer -playlist playlist

Just add a -loop 0 suffix if you want to loop :)

Blog redesign.

Tuesday, July 21st, 2009

I’ll be honest – I do not get the craze behind social networking. Why somebody would want to tell me their feelings throughout the day is beyond my understanding. Today I have stripped my blog of all the crap that was floating around (I ripped off some free template previously) including but not limited to the tag cloud, the categories, the search, the advertisements, and those links that appeared down the sidebar that I never knew how it got there in the first place.

It always puzzles me why blogs are the way they are – to be a blog is meant to be an occasional narration of ones thoughts. You can’t sort your thoughts into categories, and tags are a feeble attempt unworthy outside directory websites. So I present to you the blog as I wish it to be.

Of course, it’s unfinished. It will probably stay unfinished. There are some bugs and annoying things I will fix slowly over time, as well as that weird portfolio carousel lingering up there, but that’s scheduled for “soon”.

For those wishing to see the technical wizardry hidden behind this lovely guise of a crappily coded template for WordPress, I present the most ultimate crappily coded WordPress template of all time. I have hit a stunning 39 XHTML validation errors and (hey, I wasn’t expecting this) 1 CSS validation error.

If you actually bothered to read to this point, let me know what you think :)

What’s new 18th July 09

Saturday, July 18th, 2009

Right, for lack of time to write a fully fledged post, I bring you in bullet point form what is going on. That should be bliss to your “lacking” attention spans.

  • I am working at a fine architecture company called Hamiltons International
  • I am building my portfolio for my university application
  • I just finished my driving theory test and passed
  • My progress in the area of piano has picked up again, but the waters are murky
  • Eadrax development will lurch forward once again
  • I will be leaving to Jakarta this coming Friday
  • I have begun a redesign for thinkMoult, which will contain a portfolio section
  • I am wondering what to do with E2-Productions
  • I have a lovely collection of school projects and personal projects originally planned for the summer but not been able to start on yet. Aww.

Oh, by the way, Manchester United just played our patriotic Malaysian National Football Team and beat ‘em (expected) 3-2. MU won’t be disappointed and nor will the Malaysians – a very good ending score in my opinion.

The zen of PIM

Tuesday, July 14th, 2009

korgacPIM is the acronym for Personal Information Management: todo lists, email, rss, calendar, contacts, journals, blogs, etc. Recently I have been poking around trying to achieve the “zen” of PIM, where my PIM data is accessible from anywhere, and from any medium – from the internet, from my Windows Mobile 6 powered phone, and from my desktop.

As a KDE-user, naturally I have attempted to use the Kontact PIM suite. KMail and Akregator both work wonders with my data and are no problem, but working with contacts, calendar and to-do lists are a real PITA. The interface for managing the actual PIM storage (which I’m more interested in than the PIM data itself) is completely unintuitive, making me choose from several backend types with no description whatsoever, to work-in-progress Akonadi migration of which the status is quite unknown to me, to random remote/local synchronisation of untitled .ics files. The journal section seems to serve no purpose whatsoever.

Are there any kind souls who have reached their own personal “zen” of PIM management who care to share their setup with me? The criteria is:

  1. Hopefully able to use with Kontact
  2. Hopefully able to use/synchronise one way or another with my Windows Mobile 6 phone
  3. Not using Google services, but a way to store a compatible-with-other-apps file on my personal server would be a definite plus!

Note that I do not necessarily need a feature packed application. For example for a calendar all I want is the ability to say “this happens on this date”, with an option for start/end time. The repeating event feature is also optional but appreciated.

Perspective July 2009 Released

Monday, July 13th, 2009

snapshot13As many people know, I am the layout editor of my school’s “Perspective” magazine. It is a student run organisation and this will be the last issue I design before I hand over my role to the year below (it’s a yearly thing).

I am happy and proud to announce what I believe is the best issue I have ever produced, and you yourself can compare it to the first, the second, and the third issue.

Perspective is made using free and open-source software including The GIMP, Scribus, KDE, Okular, and Vim. However as the industry standard is the proprietary format Adobe InDesign, I am required to convert it to this format at the final stage. However rest assured this is nothing more than copy and pasting – I present to you a magazine made (almost) completely with free software.

This issue is special because you can download this magazine in PDF format. Feel free to read it – it includes a lovely front-page article by me, 3 entires into the art pages at the end, as well as a two-page article about open-source nearing the end featuring pictures of KDE and Elephant’s Dream – the open-source movie by the Blender Foundation. Some kid also wrote an article about the history of web browsers, but I was quite shocked to see that one line said “Google Chrome was released as a beta in September 2008 by Microsoft” – I think they meant for Windows. Nevertheless, my job is to bother about the design, not the standard of articles, and I’m happy to say that this has upped the bar – from what I see at least.

Clickety here to download.

Oh, and for the lazy, here is the thumbnail view of the entire magazine.

perspective_final_compressed

Thank you for scrolling through, I hope you’ve enjoyed the magazine over the year, goodbye and good luck to whoever replaces me.

Chrome in the Clouds: The Google OS

Friday, July 10th, 2009

If you read my initial post about Google Chrome (the OS, not the Brow- wait a minute, is there even a clear distinction anymore?) you would have realised that I didn’t really give opinions on what I felt about it but instead  how I visualised it to be. I believe in designating some mull-over time before making a judgement. (hypocritically speaking, I did not do that when constructing my conspiracy theory when Google Wave came out)

Now is the time to see what exactly is going on.

My feelings in a nutshell

  • Would I buy such a product? If it were cheap (100 dollars or so), yes.
  • I feel Google is harming open-source.
  • Cloud computing is very important to me for accessibility and synchronisation.
  • We cannot fight, and should not fight.

The story behind it

The first point is easy to justify and I do believe this is very agreeable. This is an area of the markt people have always looked towards with an expectation of a “trustworthy” brand, and Google has just provided that to them. People will buy for this OS.

To a company, Google is probably executing its marketing strategy in the most effective way possible. They use a product-orientated approach, making the product first then selling it to the market – or so it seems. Google knows two things: 1) They have craploads of data, and 2) They own (pretty much) the biggest mass marketing device in the world. However they do know that even though they “own” this realm, they cannot control it. It’s like a pet – you own but cannot control it.

They way you control it is by feeding it. Such is the nature of open-source development. However Google is able to turn open-source into money by producing a good percentage of the product before open-sourcing it. This allows Google to keep the leash on the project. You developers aren’t building the product side by side – no: you are doing the grunt work that turns a framework into something consumers will love – something with the name Google slapped onto it.

Let’s move onto my third feeling. This is because of a trend I have noticed over time. Computers is no longer about being in full control of your data – it’s about being in full control of your data no matter where you are. Cloud computing sorts this out – it’s no wonder Google’s objective is “to be the hub through which all the world’s information passes through“. Sorry guys, but the fact is that most consumers want this. The only time they won’t is when the company providing it has a bad reputation – but Google? No, Google’s never been evil have they? Not to the average joe they haven’t. It’s the average joe that changes the workflow – it’s the average joe that makes such a way of working part of your daily routine.

You see, Chrome isn’t about making an operating system to do useful stuff – Chrome is all about changing people’s workflow to become web-centric. Instead of moving into the desktop market, what Google is doing is moving consumers into the web market.  Why do you think it’s named Chrome after their browser? It saves on the advertising costs. You advertise the OS, you advertise the browser. Google is pushing ahead HTML 5 specifications to redefine what the web is capable of, and their browser Chrome going to be the biggest, baddest boy in the playground that knows the meaning of the word “compatibility” backwards. Advertise them both at the same time – what you get are people getting the “wow” experience Google can provide with all its toolkits online from the browser, and making it easy as pie to integrate it into how they work. It’s not because Google Docs is simply an application that allows you to edit documents online, it’s because it’s a shared, accessible, compatible, synchronised alternative.

We cannot and should not fight.

Yes. My last point is so awesome it deserves its own special section.

You cannot fight once a market leader has made a choice on a product/system. We saw it with Windows and we may very well see it again. (I assume you have all seen Google Wave?) Instead we have to understand the market. What does the market want? How do we provide for it?

Now, I am a KDE user myself but what I see as major areas for Linux and DEs in general to focus on are:

  • Plasmoids (in KDE at least) – this is a stepping stone to integrate new technologies and the web into the desktop workflow
  • Provision of private clouds, complying with open-standards – for private, secure and PERSONALISED (imagine giving users the freedom to shape their cloud environment) mobility and synchronisation
  • The social desktop
  • The semantic desktop

Am I right, am I crazy, have I missed out stuff?

Shower me with your thoughts please.

The Google Operating System – Chrome.

Wednesday, July 8th, 2009

Read Google’s original blog post about it.

That’s right, my conspiracy theory about Google (orignally posted a good month back) has come true, and it’s going to be out there around late 2010.

Brief summary: Google is making an operating system (Linux-based too) with help from the open-source community that focuses on getting the user online and into a browser as quick as possible. The browser is now the ultimate tool on the system. It is currently mainly meant for stuff like netbooks (note this is a separate project from Google Android) but will apparently also be able to provide a good experience for any desktop setup.

Since it’s too late to grimace at Google during their drawing board sessions, I like to ask myself what would an OS be in a time when many of our activites are web-centric.

Most of the main problems I outlined for Google in my conspiracy theory was how they could convice people to change their workflows. Apparently Google has decided to give them an operating system. This interface can easily be optimised to make it feel natural to shift their workflow completely into what they can do in a browser, some tabs and the new shabang HTML 5 will come with.

I took a look at Moblin, another netbook Linux-based OS – one thing instantly popped through my head: this doesn’t look like any window manager, it looks like a website or single application. Something you might expect similar to MythTV. (If I am wrong please correct me).

The first decision I would make on designing a UI for Google’s purposes is not to have any start menu. Something similar to Apple’s dock with modifications (also with an auto-hide) would be great for optimising screen real estate. I would also integrate what I now see as KDE Plasmoids as part of the entire interface (as in within applications itself too instead of only the desktop shell). I would also ask myself what applications could be and should be replaced by web applications. Such examples are email, document editing, chatting, and social networking. What could not and should not be are graphics and multimedia editors, games, and system management tools. It seems very much now that we can split our activities into 2: if you want to make technology, do it offline. If you want to use technology, do it online.

Personally, I can easily now see how easily I can adapt my workflow to this internet-centric pattern.

What about you? What do you expect from Google’s OS?

A little math probablility problem.

Tuesday, July 7th, 2009

I was originally planning tomorrow to post the new Perspective Magazine for you to ogle at (distribution on Friday!) but I shall delay that and you shall be rewarded for waiting with a PDF you can download of the magazine. Ooh.

Instead tonight I had some free time (because tomorrow I shall be skiving school spending time productively at home) So I decided to look at an NRICH problem. Yes, that’s right. I was so bored I decided to do math. Edit: Apparently I didn’t notice the star rating system so it seems as though I picked an easy one.

Click to see problem: Succession in Randomia

Let’s consider a probability tree:

Diagram2

… OK. The first thing we notice is that it looks prettier. Let’s see the series for B now: 1/4 + 1/16 + 1/64 + … . This is identical to T. We can do the same for L and say we have 2/8 + 2/32 + 2/128 … which is exactly the same as B and T. Plugging it into a/1-r (r being 1/4) we get 1/3 for all three. Hence we can say that in fact it is a completely unbiased way of choosing a successor.

My answer to that question is therefore: “Yeah they have an equal chance

Well, I wasn’t going to stop here. Why don’t I simulate it? Here is the coding that simulates the situation (the cheapest brute force technique to tackle the problem):

If you don’t know programming, go take a read through the code anyway and see if you can get a grasp of what’s going on :)

<?php
// The number of times each king as won.
$bingo = 0;
$toto = 0;
$lotto = 0;

// How many times we are going to do the crowning ceremony
$ceremonies = 10000;

// Loop through these instructions to carry out the crowning ceremony.
for ($i = 1; $i < $ceremonies+1; $i++)
{
    $win = FALSE; # Nobody has become king yet.
    $oddeven = 1; # Because the first throw is odd. Assume 1 = odd, 0 = even.
    $firsttoss = TRUE; # We are tossing for the first time.

    // This variable is used later to determine which variable $x or $y is
    // reassigned a value and which keeps the previous toss value.
    $a = 0;

    // Keep on tossing the coins until somebody wins the kingdom.
    while ($win == FALSE)
    {
        // Here we only flip one coin, this will alternate between $x and $y.
        // The one ($x or $y) that isn't assigned a new value will retain the
        // previous toss value so we can find out whether or not we have got
        // two HH or TT in a row.
        // Assume H = 1, T = 2
        if ($a == 0) {
            $x = rand(1,2);
            $a = $a + 1;
        } elseif ($a > 0) {
            $y = rand(1,2);
            $a = 0;
        }

        if ($firsttoss == TRUE) {
            // Nobody can win on the first toss.
            $firsttoss = FALSE;
        } else {
            // If it is HH and ODD...
            if ($x == 1 && $y == 1 && $oddeven == 1) {
                // Lotto will become King.
                $lotto = $lotto + 1;

                // Somebody has won the Kingdom.
                $win = TRUE;
            }

            // If it is TT and ODD...
            if ($x == 2 && $y == 2 && $oddeven == 1) {
                // Lotto will become King.
                $lotto = $lotto + 1;

                // Somebody has won the Kingdom.
                $win = TRUE;
            }

            // If it is HH and EVEN...
            if ($x == 1 && $y == 1 && $oddeven == 0) {
                // Bingo will become King.
                $bingo = $bingo + 1;

                // Somebody has won the Kingdom.
                $win = TRUE;
            }

            // If it is TT and EVEN...
            if ($x == 2 && $y == 2 && $oddeven == 0) {
                // Toto will become King.
                $toto = $toto + 1;

                // Somebody has won the Kingdom.
                $win = TRUE;
            }
        }

        // ... If nobody has won anything ...
        if ($win != TRUE) {
            // We flip again, so Odd->Even or Even->Odd.
            if ($oddeven == 0) {
                $oddeven = 1;
            } else {
                $oddeven = 0;
            }
        }
    }
}

// Tell the computer to print out what results we have.
echo 'Bingo: '. $bingo .'<br />';
echo 'Toto: '. $toto .'<br />';
echo 'Lotto: '. $lotto .'<br />';
?>

I ran it and here is an example result I get. Out of 10,000 ceremonies, this is the number of times each king has won:

Bingo: 3322
Toto: 3340
Lotto: 3338

Pretty close, eh?

Back from the Jungle

Monday, July 6th, 2009

I actually arrived back on Friday and was going to post this earlier, but the development on Blender 2.5 caught my eye, so here is the delayed post.

Last week almost nothing happened due to me spending Monday through Friday deep in the jungles of Taman Negara. This is part of a little something called the Duke of Edinburgh Award, AKA nowadays as The International Award. I am currently at Gold level and to complete it I am required to do a year’s worth of a skill-based activity, physical-based activity and community-service orientated activity as well as a week spent away from family and friends learning a foreign culture and participating in some self improvement activity. Oh, I forgot something. That’s right, a good deal of time doing “camps”.

A camp is where you get thrown into a jungle with a 20kg backpack holding everything you survive on: food, water, tent, sleeping bag, clothes, etc. Anybody who have participated in one of these can tell you it’s a good deal more than a walk in the park. You are made to trek  a good many hours and kilometers per day, sometimes carrying your full gear (20kg or so). The European outdoors also probably feature a lot cleaner grass and sunny areas to do an all-day trek in, but Malaysia seems to love exhibiting countless leeches, polluted rivers, icky forest dwellers and not to mention the vast array of thorny undergrowth ready to stab you.

Last week’s camp highlights included:

  • A 5 hour bus journey
  • A brown river that served as a shower
  • A survival day where:
    • You had to only eat tapioca you cooked yourself.
    • You had to make your own fire (no matches, stove, whatever, just with sticks)
    • You had to drink water boiled from the river.
    • You had to build a shelter to spend the night in (from palm leaves and sticks)
  • A provided-for barbeque :D
  • The “giving back to nature” ceremony being performed (not very enthusiastically) a couple times in the forest.
  • Another 5 hour bus journey.

All in all, it’s been post-worthy enough.

Here I am back in civilisation along with several nasty wounds around my ankle (leeches), two large Domino’s pizza, and a glass of fresh orange juice. There is one more week of school before the holidays start, so I also smell some interesting new updates brewing.

Not very picture-friendly for a camp, eh? I think somebody who went on it with us snapped some photos along the way so if I do grab hold of them I’ll dedicate another post to broadcasting them.

Upon some self reflection this was an utterly boring post. Here are your 5 minutes back.

Blender 2.5 Features Video

Friday, July 3rd, 2009

blender2.5-dev1Hello everybody, I’m back from my 5 day jungle trek and I’m just catching up on what I’ve missed throughout the week. I was initially going to award you all with a post about the trek itself, but it turns out Jonathan Williamson from Montage Studio (the very same who does the Blender screencasts and gave some good tips for ThoughtScore) has got himself a Blender build for Windows 7 and has recorded a short screencast demo-ing the development.

I am truly amazed with what has been going on and I will definitely throw myself back into Blender this holiday and its stuff like this that really shows what open-source is capable of. Blender is one serious threat to the huge commercial monopoly in the 3D industry. Here is a short list of the features he describes:

  • New design/look
  • Panel splitting/deleting/management
  • Not limited to one window only
  • Massive reorganisation of features that make it more intuitive
  • Real-time playback animation while editing
  • Real-time playback animation while rendering
  • Every single value in Blender can now be animated
  • Support for macro options
  • New transform panel
  • Search option for features

Without further ado:

Clicky here to watch the video.