Wednesday, October 15, 2008

The iPhone

I'm writing this from my brand new iPhone. So far the experience has been totally positive. Setup was seamless and it's quite easy to use.

If you have the cash I highly recommend it - it's definitely worth the money.

Sunday, September 07, 2008

Google Chrome

Google entered the fray with nothing more than a simple search engine - but it revolutionised the way we think of the internet. Since then, the company has grown exponentially. With the onset of Gmail - a revolution in online email - Picassa, Google Earth, Google Maps, among many other products, Google is a household name.

One of the biggest advantages to Google's products is that every single one is free - their advertising schemes provide enough revenue to allow them to release everything for free.

And so, the newest entry in the world of Google betas is their browser - Google Chrome. You can check out the Google blog entry here, and if you just can't wait you can grab it here.

I could bore you all with all the technological workings, but I won't - just know that it's fast, secure, and so far I haven't been able to fault it. It's far better than Firefox or IE (or ) in my opinion. It's even open source - so the entire development open source community has free access to it as a base for future projcts.

Check it out if you haven't already.

Monday, June 09, 2008

Foot Photos Continued!

Yes, that's right. I'm keeping the tradition with yet another photo of my feet at an unusual place. I went ice skating on Saturday, and so I figured I'd get another foot photo in:


This could be an interesting idea to look back on in 10 years time...

Sunday, May 18, 2008

Mattise Progress (and blog updates)

Well, it's been a while since I talked about Mattise here, and although I'm not sure exactly how many people follow its development I think it helps me as much as it helps everyone else to know exactly what's going on...

The current working copy of Mattise (ie, Mattise 3.0) has the following features:
  • Powerful bitmap-based page allocator
  • Simple kernel heap allocator (possibly changed to dlmalloc in the future)
  • Paging support, with reference counting for mappings
  • ELF binary support (loading modules, which are basically object files, and linked binaries)
  • Rudimentary VFS (currently just performs replacement based on a prefix/device binding, soon will replace the old device manager)
  • Device manager (soon to be replaced with VFS)
  • ATA driver (hard drive I/O)
  • Console driver (/dev/tty basically, though no terminal compatibility at all yet)
  • FAT32 support (no other FATs though)
  • Tiny bash-like shell
  • Functional newlib port
  • Runs NASM, binutils
The last point is what I'm most proud of.

Also, to avoid making multiple entries within the space of such a short amount of time, I'm going to mention some new things that I'll be bringing into this blog:
  • More personal stuff (photos, anecdotes, etc...)
  • Updates on projects
  • Informational articles
  • (Rarely) A discussion about some concept (eg, "Gaming: Pick up and Play or The Epic?")
Enjoy!

Saturday, May 17, 2008

Thailand/Laos Trip: Foot Photos!

In my not-so-recent-anymore Thailand/Laos trip, I had a thing where I took photos of my feet at different places. It's about time I actually put these up somewhere, so here they are!

This is outside a temple, if I remember correctly:

This isn't really a foot shot per se, but it looks cool.

This here is at the Plain of Jars (Site 1) in Laos.

This is at a bus station in Thailand, just before a long and tedious 12 hour bus trip. I dunno why we sat around waiting, because it would've been smarter to use up all of our energy and then get on the bus and sleep away the hours...

This is in Chiang Mai International Airport (who knows, you might stand on this exact spot one day...) waiting for our flight (in the checkin area though).

Next overseas trip I do I'll make it a goal to get a shot of my feet in all situations I'm in, so I can continue this idea.

By the way, I did actually remove those shoes during the trip - they just happened to be more comfortable than my pluggers every single day.

A final foot shot...

None of those are my feet, but it goes to show what motorbiking in rural areas can do to your feet.

Seagate's External Hard Drives

I recently purchased a Seagate FreeAgent Desktop (500 GB) to store my music, disk images, and video editing scratch data. It was fast enough (even over USB) to suit my needs, and I was extremely happy with it - and it even looks stylish in comparison to some of the "bricks" you can get these days. I was a very happy customer.

Until Wednesday.

Turns out I've now experienced something a lot of other FreeAgent Desktop owners have experienced - the drive simply doesn't get recognized anymore. This of course causes no end of frustration as I have a couple of hours of video I can't ever get back (that's *extremely* important), several disk images for different operating systems (multiple Linux distributions), and my entire music library stored on a now unaccessible drive.

Every troubleshooter I've done points to internal failure, and at the moment I'm pretty sure the internal controller is fried or something. I've seen many people put up pictures showing how to pull apart the case and get the hard drive, but it's completely useless to me because I don't have another enclosure (and I need it for my laptop).

I highly suggest not getting a FreeAgent Desktop if you're looking for an external hard drive solution, but instead I would point you to a FreeAgent Pro, which doesn't seem to suffer from this problem.

EDIT: To update with what's going on, it turns out I need to send my faulty drive to Seagate and they'll ship out a replacement to me. Of course, I need to pay to send the drive to them. Data recovery isn't included in any of this, so I'll have to pay extra to get my critical data off the stupid thing. Obviously the warranty is totally useless to me because it doesn't cover any data on the drive, so I may as well crack the case and shove the drive itself into another computer (or buy an enclosure).

I'll say it now, I used to have faith in Seagate as a brand, but right now I'm drawing a line in the sand and saying that I will never be buying another Seagate device again. Sorry, Seagate, try harder next time.

Thursday, March 20, 2008

The Forum User Problem and Taking it On

Recently I've been reading around on osdev.org, and have been unhappy with what I've seen. It would appear that a wave of people are joining the forum, and in some way or another turning the forum against them. I'm not going to name any specific usernames, though...

I'm sick of these people posting to a thread with no knowledge of the subject to pick apart the original topic, and point out what's wrong with it - even after a moderator or a more experienced member has posted with assistance. Further, I find it frustrating when a user is told an answer and replies along the lines of "laziness" or something like that and yet continue to complain about their issue.

In fact, in a recent discussion assisting lukem_95 with his PCI Numeration code, he posted a "Smart Question" (which increased my respect for him/her) in which he explained the problem he was having well, provided his problem code, and showed evidence of attempting to figure out what went wrong himself. An answer was given, all seemed well, until another member decided he didn't like the question.

Here starts a flame war that continues on and on, and includes a statement "I don't think there are any real programmers here" (paraphrased) - an extremely inappropriate statement considering we have a university lecturer (slash doctorate) as a moderator (Combuster) and several industry programmers (ie, JamesM, omin0us, et al).

So what can we do to tackle this problem, when threats of a ban, comments about a member's behaviour, and generally going against the community doesn't stop anything?

I believe there are several ways to solve the problem:
  • User suspensions: suspension for a week (or longer/shorter depending on severity of issue) that gives the member time to think over what he/she did and lets any flamewars cool down
  • Thread locking: a feature of most forum systems that I believe isn't used enough. Locking a thread stops both parties from continuing the fight
  • Personal messaging: let the two concerned parties continue with the discussion in a personal message chain. I know that PHPBB2 forums support multi-user personal message sending, so this is not difficult. A problem with this approach is a lack of moderation.
  • User bans: ban users who break the rules.
I dislike the last option, because it's final and harsh, but it is definitely justified after several warnings.

Forums are online communities - let's try to get along with each other - and think twice before hitting that "Post" button.

Saturday, January 26, 2008

OS Development and Debugging

Well, I've finally gotten back into my OS developing - this is now the third rewrite of Mattise (titled "Mattise 3.0") and I'm truly starting from scratch on this one. I'm spending a lot longer getting the basic x86 code implemented (stuff like paging and the descriptor tables) and putting it through a lot of tests to verify that it's ready to do the job. Once I've finished with these tests I can add layers to it, such as context switching (threads and processes, although processes are really just a set of threads) or a driver system.

Debugging all this is proving to be the hardest thing out of all the code I've written. At the moment I have to use a whole bunch of printing calls to output state until I finally figure out the source of the problem (and hope it's not those same printing calls). I've heard of people writing a dprintf interface to the Bochs port E9 hack but I personally think that sounds pretty, well, hacky, and means testing in other emulators is harder. My favorite idea is a debugging system that talks to the kernel via a serial line, but I'd still need to verify that the serial line works properly. A serial driver could even be written inline, not using a proper driver interface, to make life easier.

I'm happy with my first couple of days re-entering the fray that is OS development on the x86 architecture. All I need to do is wait for the Intel Manuals to arrive in the mail and I'm set. I'll make an effort to keep this blog up to date with all that's happening as a reference point not only for everyone else but for myself.

The project page hasn't been modified yet but it's at http://www.sourceforge.net/projects/mattise.