Life & much, much more

Gentoo Linux blogs on Planet Larry

If you use Gentoo Linux, you probably know that you find Gentoo Linux blogs on Planet Gentoo. If you haven’t heard of a planet before, A planet is a website that aggregates a series of blog feeds, and most open-source communities have one. For example, there is also Planet KDE and Planet GNOME. Planet Gentoo, however, is limited to the topic of Gentoo Linux itself, and only aggregates content by Gentoo developers. In the past, Steve Dibb (beandog) started up planet Larry, named after the Gentoo mascot “Larry“, which hosted blogs of Gentoo users. Naturally, Gentoo users get up to all sort of interesting endeavours, and so begun a slightly less technical, less stringently project-specific blog feed. Here’s a picture of Larry below.

Larry the cow mascot

Unfortunately, recently after checking back at my old feedreader list, I noticed that Planet Larry had gone AWOL, and so decided to recreate it. It was never an official Gentoo project and Steve Dibb didn’t seem around, and the domain name (larrythecow.org) at the time seemed to be squatted on by advertisers. If you visit it now, despite a half-baked attempt at a Gentoo-ish theme it was filled with “laptop recommendations”. Instead, I registered planetlarry.org and started up a new aggregator. The concept is the same as the original. In short:

  • If you use Gentoo Linux and write a blog which has a feed, you can add your blog to Planet Larry
  • You can write about anything you want, as often as you want. It doesn’t necessarily need to be related to Gentoo Linux at all — although I did find that most Gentoo Linux Blogs seem to have more technical content.

So, go ahead and check out PlanetLarry.org. If you contact me I will add your blog.

Credits for the Larry the cow male graphic go to Ethan Dunham and Matteo Pescarin, licensed under CC-BY-SA/2.5.

Life & much, much more

2018 New years resolutions

The first half of January’s resolution probation period has ended, and so it’s perhaps safe to post the goals for the year. So in no particular order, here they are.

  • Blog more. There’s a lot that’s been happening, and very little of it sees the light of day online. There are plenty of projects to provoke, reflect upon, or just answer your organic search query. My blogging habits used to be a couple times a week, and slowly died down as life took over. It certainly shows in the analytics dashboard. By the end of the year, monthly sessions should equal the same numbers seen in 2015. This means content creation, content creation, and more content creation. You can probably already see that a mobile friendly theme has been refreshed, new categories, and a few posts already published.
  • Divest. Financially, investors in their 20s can take a long-term view. This is the time to build up investing habits, and experience different markets. By the end of the year, I would like to invest in 20 different markets and start understanding my risk profile. Last year I experienced managed funds, blue-chip stocks, and rode the crypto currency roller coaster. This year will be more.
  • Consume intelligently. The environment is changing. Now is as good a time as any to build habits to be a more ethical consumer. We vote with our dollars, and it is our responsibility to support supply chains that promote good values in our society. Once consumed, we should break the disposable habit that arose sometime in the previous generation, and go towards zero-waste.
  • Improve digital security. The crypto boom is the public’s first taste of moving more traditional assets into a decentralised network. Unlike centralised systems, decentralised systems are very hard to kill. I foresee more of our digital lives being interconnected, even if we don’t realise it. It is pertinent that we promote more usage of privacy practices, such as password managers, secure protocols, self-hosted infrastructure, encryption, and signing.
  • Begin longer term work and life. I’ve been in the architecture industry for a year and a half now after being primarily in software. It’s probably time for training wheels off, and to start specialising in an area of architecture that is socially beneficial. Similarly, despite the prohibitive housing costs here in Sydney, the ongoing market correction suggests it’s time to revisit settling down in the more traditional sense.

Until 2019, then.

Uncategorized

Marketing noise or marketing contribution?

I follow a few feed planets here and there. For the unitiated (few), a planet is an aggregation of blog feeds, normally filtered by topic so that interested readers can get the scoop from multiple sources from as central location. An interesting point which crops up once in a while is what determines whether or not a blog post is appropriate for the planet. Often this is because a few posts get through that don’t have anything to do really with the topic but instead talks about their personal life.

The main argument used against this is that people join the feed planet in order to read about their favourite software or development, and that "nobody gives a rat’s ass about your personal life", thus diluting the rest of the content. While I agree with this in essence, I would like to ask people to reconsider what they consider as inappropriate.

I am here referring specifically to open-source projects’ planets. In my opinion the number one difference between the user-facing open-source concept and the user-facing company concept is that whilst a company seeks to inform its users, open-source projects should seek to engage their users. The difference is simply because an open-source community survives on the interest of the community. Now when people refer to the "community" of an open-source project, I believe a common misunderstanding is that it only refers to the group of people connected to the product. No. What it really should refer to is the group of people … connected to the rest of the group.

So when an open-source project engages its users, it shouldn’t do so on a community-project level, but instead on a community-community level. People should respect that the rest of the community has interests outside the product, and should take this not as noise but instead as a contribution to the community. After all, the lifeblood of any open-source project is the community. I believe that developing a relationship on the "people" level rather than the "product" level is vital for the long-run sustainability of a project. It’s a protectionist measure against elitism, of which larger projects are prone to, promotes feedback, empathetic development, and guards against bureaucracy.

Of course, this only applies to some planets depending on their purpose.

So, the next time you decide to tell your planet something totally irrelevant, don’t apologise.

Life & much, much more

thinkMoult blog design updated.

It’s come a long way since the original concept redesign back in the July of 2009. The thinkMoult blog has been incrementally updated probably once a month with small tweaks to the layout. The blog has been stripped originally from its (relatively) featureful edition to the bare essentials – ie. a streaming wall of text with emphasis on clear headers and content areas.

To me a blog is a very much a written journal. Social and pictorial blogs aren’t "blogs" in my definition of the word. As a result I’ve decided to condense things a little, cutting out pictures which don’t complement the article, focusing on clear typographical elements (pushing the limits of the beloved Arial font!) and effective use of padding rather than borders. I’m maintaining the simplicity of the previous layout (no sidebar, no link lists or fancy plugins) and sticking to my roots.

The design itself was inspired by the Depo Skinny Theme but with obvious edits here and there on font styles. What this implies is that I’ve also involuntarily drastically improved the semantics behind the blog itself – which is a good thing of course.

Everything should’ve been ported over such as avatar support in comments, asides along with my asides category pagination hack, and the various footer tweaks. There have also been a few edits here and there which add to the overall polish of the design.

Well, I hope you like it, and let me know if there is anything which looks messed up.

Life & much, much more

WIPUP sightings!

Was happy today to find this mention of WIPUP by a Latino by the name of Gnosis VonDark – he had found WIPUP from the openDesktop submission and gave his thoughts on the bigger picture behind WIPUP on his blog. It’s in Spanish so you might want to run it through a translator.

It discusses the similarity behind libre software and the scientific community, specifically on the scale, the want for freedom and the reliance on community participation. WIPUP is a system to bridge the gap between developers and users. As explained numerous times before, there is so much behind the scenes that users are missing out on simply because of this communicative barrier – WIPUP aims to make it easy to share progress on even the most complex of projects in society-friendly chunks.

Creative or technical works are increasingly becoming more mainstream as applications are developed which makes Joe able to create professional quality work. I view this as the first of two main steps between the merging of these two communities – the first is when both parties are capable of the same, given the same amount of time with little exceptions (which is progressing at the moment), and the second is when the infrastructure exists for fully compatible transfer of works, critique of works, and participation in work.

WIPUP is interesting in a way in that it is unique to target small-scale or even individual work, a completely free platform reliant on the users’ choice of format, and yet tries to detract attention away from collaboration. In other words, WIPUP is not project management, neither is it a portfolio – it’s a snapshot. It’s not for looking at the past creations. It’s not for planning future achievements. It’s for viewing what’s current.

It is through this ideology that I wish to bridge the gap. Creative or technical works are not any different from other industries or hobbies because they have a wealth of accomplishments and academic milestones behind them, nor that they are reaching for the stars – it’s that they are actually identical to all other industries and hobbies because they consist of ongoing processes. Not many can relate to a mass of past knowledge – because it is the result of the combined intelligence of many contributors! Not many can relate to a goal – because it hasn’t been achieved! Anybody, however, can relate to a process, and especially a small scale, individual process.

Well, verbosity is a sin, and especially one full of brainfart. It’s time to stop writing.

Despite the lack of blog posts, I have been doing a couple things, which can be seen on my WIPUP profile.

Uncategorized

The very best of thinkMoult

Well, a year has passed and it’s a great time to look back over the year and follow the tradition of mentioning the first letter of names who contributed to that awesome year – in alphabetical order of course. Not that these are the only people, but they did definitely add some flavour.

A. B. C. C. C. D. E. G. H. J. J. K. L. R. T. Z.

We notice the entrance of 3 more than last year, with some remaining and some leaving the list, and a new highscore of 13/26 letters. Notably we have a new A, C, G, J, K, and a loss of an F (his fault for not replying) and an M (my fault for somehow magically forgetting he existed).

Now to start looking back at the best posts on thinkMoult ever. Or something like that. In reverse order we have…

Word processing? Real Men use LaTeX!

This little entry marks my discovery of LaTeX – basically a markup language for documents. I still use LaTeX to this day and don’t see myself stopping anytime soon. It’s also an eye-opener for those who think that Microsoft Office is the be-all and end-all. It’s a fun hidden subject to most people on the street and for that it deserves the 8th article of the year.

Sibelius, Finale, Cakewalk? Real men use Lilypond.

Similar to the previous post we continue the theme of "Real Men". This time introducing the markup of music it also represented the creation of Evan, my first music composition in a long time. It’s also opens up the idea of me releasing more compositions in the future as I continue to recalibrate some priorities.

The problem with Gentoo

This charming little post shows my second public displeasure at Linux – in this case a few personal downfalls with the Gentoo Linux distribution. Despite this hiccup I still very much like Gentoo and continue to use it today. In fact, I _just_ got my wireless working :P It also provoked a few comments from the Gentoo crowd (a hocking 16 to be exact) and made me see Gentoo in a different light. Gentoo fills a very interesting set of niches in the Linux market and I’m glad to be in one of them.

Perspective Failure

This was was also a turning point in some ways more than others – it was just after my third Perspective magazine had been released and I insulted my very own handiwork. Or rather it’s printing. I also jabbed at the entire development process for the magazine, complaining about time restraints, inefficiency, and the purpose behind the entire thing. This consequently led to a very interesting "debate" over issues, me refusing to do the next Perspective issue, and a comeback with my final Perspective creation with a completely refreshed design, a revamped workflow and most importantly, my very own article on the front page hoping to instil a little bit of initiative in my fellow students. This initial spark was supported by a whopping 23 responses – and a lot of private emails, too. It continues to influence certain events even today.

Beware of Google

Originally written back in May this definitely overdue post predicted the imminent takeover of Google. Speaking 7 months later with proof that this has started to escalate prooves intuition to be right after all. And no, the web takeover did not begin long before Google – simply because Java isn’t Google. Nor was anybody else that tried to do it. I remain a steadfast opposer to Google services and boycott it as necessary (with the exception of Google Docs, required for working with the KDE promo team). At the same time, it’s a fun thing to watch. This provoked a decent 12 comments.

The Open-Source Market – Limitless and Forever expanding?

This prequel to the 2nd article of the year earns its 3rd article of the year award. It takes a step back at the open-source market and uses Linux as an analogy to observe several of its common problems and mishaps. It takes a few daring jabs at a system to solve it but which will never be realised through raw social inertia. Definitely a wall of text, some brainfart here and there, but a post I like to rereading myself.

Kaizen and Kakushin’s Practicality in Open-Source Business Models

This memorable post was applauded silently through select IRC channels and takes a very simple and small idea about efficiency and extrapolates it throughout many different aspects of open-source business models. A gem of a post, with some lovely diagrams splattered throughout. It also ends with a few open-ended questions and was definitely something I enjoyed writing and reading again. Simple to understand and a good introduction. Yep, that’s the 2nd article of the year.

How to use CodeIgniter’s OpenID library to integrate OpenID in your existing user system.

The Article Of The Year ™ has one hell of a mouthful of a title. It’s one of the few technical posts I have written, in the form of a guide of a problem I tackled myself. It turns out that this is a pretty popular problem and one that hasn’t been answered due to the complexity of answering it. I feel I did a decent job in providing a solution understandable to most people and reports in the comments show that it has worked – boosting my geek cred considerably!

It also wins due to brute force of having 45 comments (and counting!)

’till next year!

Uncategorized

Make a category not considered as a post in WordPress

In other words, how do you make posts that are in a certain category not count towards total page post count in WordPress?

A while back I set up Asides on this blog. The problem was that previously I was displaying 5 posts per page. Now with asides it still displayed 5 posts per page, but as asides are probably one sentence long at most I personally don’t consider them to be blog posts. This meant that it didn’t display 5 “real” posts per page. So, how do I fix this?

Disclaimer: I’m not experienced in the under-the-hood of WordPress and as a result some of this solution might be hackery. However it works for me, and that’s what counts.

Problem 1: displaying 5 real posts per page regardless of how many asides there are.

WordPress loops through a series of posts per page and displays them one by one. Initially I thought they would increment a counter, of which I could easily change so that if the post category was in “asides”, it will not increment the counter. However there were a couple flaws: 1) There was no counter, or I completely missed one, 2) The database queries sets the LIMITs from the administrator settings right at the very beginning, and 3) pagination will be completely messed up.

The solution was pretty simple, firstly we set the database query LIMIT to an obscenely large amount – more posts than we ever think we’ll need on a page. This can be done in the administrator panel. Change “display posts per page” to a random large value. I chose 15 because it seems pretty realistic that real posts + aside posts < 15 for 99.9% of the time.

The second step is to manually change the criteria for when the loop terminates. This way it will not actually show 15 posts, but instead up to 15 posts. What we’ll do is create a new counter, where ever time we display a post that isn’t an “aside”, we increment the counter, until it hits 5 posts (if I wanted 5 real posts per page) – at which time it’ll terminate the loop.

This can be done in the wp-includes/query.php page. To begin with we’ll need a new variable in the class for our counter. So below class WP_Query { we should add:

var $counting_up = 0;

Just to make sure that $counting_up resets itself as it should, we’ll add this to the init() function:

$this->counting_up = 0;

Now the next step is to modify the the_post() function. When the loop has started and the category is not an aside, we’ll increment our counter. In this example my aside category ID is category 429. This will be different for you, so you change it. So simply add this to the the_post() function:

if ( !in_category(429) && $this->current_post != -1 ) {
$this->counting_up++;
}

Now we’ve got our counter, we’ll set up the loop to terminate correctly. This can be done in the have_posts() function. Notice this is the have_posts() function inside the WP_Query class, not outside. We can modify our if statement to terminate when our counter hits 4 posts (as the first isn’t counted – therefore in effect we’ll display 5 real posts), and also when we don’t have a do_not_terminate variable set to the WP_Query. Why this do_not_terminate variable is important is if we ever need to override this, as well as later I’ll explain when we look at pagination issues. Here is my completed modified if statement:

if ($this->counting_up == 4 && !$this->query_vars['do_not_terminate']) {
$this->in_the_loop = false;
do_action_ref_array('loop_end', array(&$this));
$this->rewind_posts();
return false;
} elseif ($this->current_post + 1 < $this->post_count) {
return true;
} elseif ($this->current_post + 1 == $this->post_count && $this->post_count > 0) {
do_action_ref_array('loop_end', array(&$this));
$this->rewind_posts();
}

Now we’ve solved problem 1, and 5 real posts are displaying on our front page, let’s move on to problem 2.

Problem 2: previous page, or going to older posts will no longer work.

Since pages are pretty obsolete at this point, we’ll switch to using offsets. This is because each page will no longer display a fixed number of posts, each may display a variable amount of posts, minimum being 5 (that we set just now), and maximum being 15 (that we set at the very beginning). So to start we’ll hop over to our index.php in our theme file, and simply get the offset from the URL and pass it through to our post loop. Here goes:

<?php if ($_GET['offset'] && is_numeric($_GET['offset'])) {
query_posts('offset='. $_GET['offset']); $offsetting = $_GET['offset'];
} else { $offsetting = 0; } ?>

So with that code in index.php, we can now visit myblogsite.com/?offset=20 and offset our posts by 20. To determine how many posts to offset by in previous pages, we simply take how much we’re currently offset by, and add all the posts we’ve displayed on the page, regardless of whether or not it is an aside or a real post. To do this we need another counter. So we’ll initialise our counter, perhaps near the beginning of index.php:

<?php $on_page = 0; ?>

… then within our while (have_posts()) { loop, (or whatever equivalent loop your theme uses), we’ll just increment it:

<?php $on_page++; ?>

So then we recode our “previous posts” link to go to:

<a href="http://yourblog.com/?offset=<?php echo $offsetting + $on_page; ?>" >Previous posts</a>

That was simple, eh? This brings us to problem 3.

Problem 3: newer posts don’t work, for obvious reasons.

Going forward in time is a little bit more complex. We want to calculate how much less we should offset by. To do this we’ll create a function to calculate this. The function will need to know how much we’re currently offset by. Based on that, it’ll query 15 posts into the future, then loop through those posts in reverse order. If it can’t go 15 posts into the future (eg: on the first page, and perhaps the second), it’ll go as far into the future as it can. When looping through, it’ll record the category of each of the posts. Whenever it hits a post, it’ll increment the count we want to offset less by. When we hit a post that category isn’t an aside (category 429 in my example), it’ll increment a counter that determines how many real posts we’ve hit so far. So therefore we have two counters. When the real counter hits 6 posts, it’ll terminate the offset counter. This is because I want 5 real posts per page, and based on how we coded problem 1, we know that the last post of any page must be a real post, not an aside.

We can place this function in the functions.php file of our theme. Here is the function, of which lazy people can copy and paste:

function back_to_the_future($offset = 0) {
$new_offset = $offset-15;
if ($new_offset < 0) {
$new_offset = 0;
}
$diff_offset = $offset - $new_offset;
$future_query = new WP_Query(array(
'showposts' => $diff_offset,
'order' => 'DESC',
'offset' => $new_offset,
'do_not_terminate' => TRUE
));

$post_data = array();

while ($future_query->have_posts()) {
if ($diff_offset == 0) {
break;
} else {
$diff_offset--;
}
$future_query->the_post();
$cat_id = get_the_category();
$cat_id = $cat_id[0]->cat_ID;
$post_data[] = $cat_id;
}

$post_data = array_reverse($post_data);
$count_posts = 0;
$count_total = 0;

foreach ($post_data as $post_cat) {
if ($post_cat != 429) {
$count_posts++;
}
if ($count_posts == 6) {
break;
} else {
$count_total++;
}
}

return $offset - $count_total;
}

People who looked through the code will realise that we passed the do_not_terminate variable to WP_Query that we set up when addressing Problem 1. This is required because if we didn’t, we won’t get 15 posts into the future, instead we’ll just get however many posts starting from 15 posts into the future that include 5 real posts – which is totally useless.

To finish off nicely we’ll edit our “newer posts” link to use this calculated offset in our index.php file, but only display when we have a proper offset to show and we’re not on the first page.

<?php if ($future_offset != 0 || !empty($offsetting)) { ?>
<a href="http://yourblog.com/?offset=<?php echo $future_offset; ?>">Newer Posts</a>
<?php } ?>

Tada – all done! I hope that helped somebody out there, but if not at least I have it for archival purposes. If you’re using it, let me know how it goes!

Uncategorized

Implemented a new “Asides” feature.

As you might’ve guessed, the thinkMoult blog is not the fanciest WordPress implementation in the neighbourhood. Heck, our sidebar disappeared a while back. The site currently uses three plugins: a related posts feature, one that allows you to subscribe to comments, and finally good ol’ Akismet which likes to delete any comments that mention the word viagra.

WIPUP is gaining momentum and will replace some of my blog posts as the main way I release updates on projects, and as I’ve quit Twitter I have a small hole left inside me for short updates that happen once in a while. Astute readers would’ve noticed just below this post there is a post … without a post! Yes, it’s a tiny update and I shall use it for better means in the future than greeting mother Earth.

For those living under rocks, it’s basically a short sentence update that will not necessarily follow the post-every-2-days schedule I try to stick to. The update can also optionally include a link to another website.

For those curious on how I did this hackery, I followed the instructions from this guide. Well, not fully – I made some modifications and I couldn’t be bothered to style it so I just made it a header. It’s semantically incorrect – so sue me.

Uncategorized

Botspam or loners?

I was clearing out some of the spam comments I receive on this blog when I noticed some comments were debatable. The contents of the comment were definitely related to the subject matter and some even showed a hint of legitimate interest, but they linked back to sites akin to “losebodyweightnow.com” and posted under ridiculous names you’d find in Scrabble.

Further research found that apparently there are companies online that pay people to comment on blogs and link back to other rather suspicious websites – presumably paying the very same company for “quality” advertising. Even sadder than that is that similarly there are companies that allow you to buy comments for your own website.

Why my own blog has risen to such a status of “worthy of force comments” is a question you should probably ask those crappy web crawlers who serve these spam companies, but we have a more serious issue at hand here: the relationship status of those who pay people to comment on their own blogs.

Now boys and girls, play nice and teach Akismet the nature of these comments.

P.S. Apparently it seems as though Bing is getting people to post positive comments on themselves. How scandalous!

Uncategorized

Mass-amateurisation of the Internet

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?

Uncategorized

…back with a tux.

The thinkMoult blog is back! (with a purpose). Before anything, you might have noticed that e2-productions.com is down. That’s because I’m fully rewriting the whole site.

If you like PHP, simple webdesign, graphics, or are just interested in making a site, this is something you’d better look out for. E2-Productions is going to be built from scratch, featuring mainly a development system, user system, portfolio generator, resources etc…and will all be built using my lovely PHP framework, called POSE2. POSE2 is a very simple framework, and basically routes all the information in an intelligent way, allowing you to arrange your files also in an intelligent way. This way, you don’t get lost in all the clutter of a huge website. Not only that, everything is neatly ordered in Modules, which means you can cut out a certain section of your site, and give it to a friend, which will be completely compatible with their site. wow.

This blog will be updated ASAP, and even more on wednesday after my exams are finished. Coming soon will be the download of the POSE2 PHP Framework, and the release of the website’s current stage. (if you’re lucky, you can go to e2-productions.com right now and see if you can access my localhost – which will be available until i reset my modem or my computer.

Now, about my computer, I’m now no longer on my dying 10 year old ancient desktop which requires prayers to boot up. I’m now on a sexy, (only 3 years old) laptop with 240MB ram (might upgrade it later) running on Gentoo, linux. I’ve learnt so much about linux so far (something to blog about in the future), and now it has Firefox, aMSN, The GIMP, Blender, Audacity, Apache, OpenOffice, BitchX IRC, CLI ftp, Vim…etc. All the power tools needed for graphics, sound, servers, programming, chat, and work. What else do I need? Oh, yes, I added two games in case I get bored. (available on portage), such as “Chickens”, which involves blowing up chickens utilizing rocket launchers, shotguns, quick wit, intelligence, strategy, positioning…oh no, wait…yeah, you just blow up chickens mindlessly. Another, is XPilot (and XPilot-NG), so far, it’s been a pretty addictive game, especially because I lag all the european servers. You should try it out.

So, until Wednesday, then. Then you’ll have some pretty stuffez.