Bluemonkey’s blog

February 27, 2010

Silly things: house alarms

Filed under: Uncategorized — bluem937 @ 10:17 am

I’m sure if Ozzyfrog were to tackle this issue, he would manage to output a lengthy and highly amusing blog post about their silliness and similarity to geese, but I don’t really have the time or skill to do so, so I’ll just keep it short and sweet:

Seriously, what’s with house alarms?

Many people around my neighbourhood have them installed. I’ve been living here for over a decade and haven’t heard of any burglaries in that time. You wouldn’t believe it if you heard the frequency of house alarms going off. Now, they don’t go off because somebody is actually breaking into the house to nick some stuff, it’s just because some silly twit who doesn’t deserve an oxygen quota has forgotten to turn it off when they walk into their house. Having set the alarm off, they then spend 10 minutes running around like a headless chicken wailing and rapidly gesticulating with their arms. Then they remember their alarm code and turn the damn thing off. Until then everyone within a 50km radius must endure the horrid screeching of their alarm. grumble grumble.

Now, if a house alarm went off because there genuinely was an intruder, I would consider the house alarm to be a useful tool. However, people have become so desensitised to the sound of an alarm that nobody actually cares anymore. Upon hearing a house alarm, my reaction is not “oh no, somebody’s burgling the neighbour’s house!”. It’s closer to “Gah, some idiot got it wrong again”. I wonder if any security specialist has ever heard the tale “The boy who cried wolf”. There’s an important lesson they could learn in there.


January 2, 2010

New Year stuff

Filed under: Personal — Tags: , , , , , , — bluem937 @ 12:26 pm

Well, first off I’ll wish everyone luck in the new year! And when I say that, I don’t just mean it as a clichéd exchange of greetings. For me, and many others, 2010 will be an important year, since it is my (and their) last year of school. I’m forecasting quite a difficult year, challenging but rewarding. After all, by the end of it, hopefully we’ve picked up enough knowledge and life skills to get us to the next stage of our journey (ooh more clichés).

Personally, I don’t think ENTER is everything. Sure, by the end of the year, our academic efforts of the past 13 years will be summarised in 4 significant digits, but there’s more to life than that. It’s about renewing, strengthening, and creating friendships. These friendships are essential to maintain sanity (well, insanity maybe for some). It’s important to study and learn and all that school stuff, but not at the expense of maintaining interpersonal relations. Bing, we have a buzzword/jargon! Let’s go from there.

It’s not just interpersonal relations that are important, but intrapersonal relations too. I wish I could say this without being clichéd, but it’s just not possible, so let’s just put on a pain grimace and move on. Yes, it is about knowing yourself, and it is about being yourself. You have to be honest, knowing what you can and can’t do. It’s just not possible to study 30 hours a week for each subject! You have to know how you feel, otherwise your emotions could sneak up on you. Above all, you just have to act based on what you are; what you will become; not what you can’t be.

This should be obvious, but it’s important to think about the future. Not just about what you want to do in the future, but what you can do now that will help you then. I want to go to uni, do a software engineering course, and then eventually get a job as a software engineer. Who knows what will happen after that. For me, software development is an interest, so I’ll just carry on playing with programming, development tools, and numerous half-finished projects. I also think getting more work experience is a valuable pursuit, so that gets dropped onto the list of goals for 2010.

I think it’s worthwhile to make a philosophical reflection on 2010 and beyond. I’ve made mine, but I’m all out of puff with writing this, so I’ll leave it there. My question to you: How will you make 2010 yours?

September 25, 2009

A brief think about tagging and database normalisation

Filed under: BlockLand — Tags: , , , , , , — bluem937 @ 4:00 pm

Ok, so I make no proclamation to be an expert on the matter, but having quite recently faced the issue of database schema for tagging myself, I wanted to share my thoughts.

So, as part of BlockLand, we’re going to need some way to store data about Articles. You know, the usual: author, timestamp, content, etc. It would also be nice to have a way to tag articles with uh… tags for all of that Web 2.0 nonsense about related posts, categorisation, indexing, etc.

Now, storing author, data, time, content, etc. is fairly simple to do in a database. After all, you just have a table with columns for each piece of information you want to store, and make a row for each article. We’re not talking rocket science here. Ok, so let’s make a column for tags. Hang on, but I want multiple tags. I want different tags on each article. I want to see tags and all the articles they belong to. I can’t just dump that into a column.

Well, I could, in a fairly kludgy approach. I could have a column that holds a list of all tags for the article. That would work fine for finding tags on a particular article, but if ever I wanted to do a search by tag or similar, I would run into phenomenal trouble. It means slowly trawling through every single tag in every single article and working out if the tag I want is there. No, this solution will not do.

The first idea I gave serious consideration to was having a one-to-many relation to a separate Tags table. This table would include a pointer to the relevant article. Finding all the tags for the article simply meant hitting this table and matching up the ID columns. Simple and easy enough. However, I began to realise the downside of this approach- many articles could have tags in common, which means there would be heaps of rows in the table that were almost identical to each other. I liked this solution for a while, because it seemed simple and effective to me, but mainly because I couldn’t think of a better way.

Now perhaps this is what you go to school for, but eventually I read about the proper database normalisation techniques. Apparently, many-to-many relationships work just fine if you put a linker table in the middle. So basically, you’ve got your same-old Articles table, a Tags table that basically says “I am a tag this is my name” and a magical table that goes in the middle that sticks everything together. The middle table just has a reference to article and to tag, nothing more. That way, the Articles table doesn’t have a big pile of smelly old tags rotting in a column, and the Tags table isn’t filled with more of the same.

So, to make sure that the Articles-Tags link works nice and quickly, it needs indexing. Making a primary key automatically makes an index, but this will only work in one direction. So you’ll need to make a second index pointing the other direction so that you can work the link both ways. I feel that I’ve ranted on quite long enough now, so I guess I’ll just deliver this parting blow for anyone who doesn’t understand but actually cares about that last paragraph. This is the single article that most influenced my design choice. I thought it was extremely useful in explaining what to do and why to do it.

Well, that’s all folks lights are up, you had better wake up and exit the theatre.

September 23, 2009


“Hang on, why am I reading this? Surely he hasn’t updated his blog?” Indeed, he has. Shock Horror. Anyway, I didn’t actually emerge from the murky clouds of the Blogosphere just to post some silly self-referential nonsense, so let’s just assume that all the fanfare is dealt with from this point onwards.

Nay, the real reason I started blogging was to tell you about the work I started doing on BlockLand. Those long in the tooth may have remembered my hype about BluemonkeyBlockLand some time ago, but for many reasons that never really got past a fanatical ideas stage. Finally, my development skills and motivation have improved enough that I am once again starting work on the project. I’ve decided to start from scratch rather than trying to sort out the mess from the original attempt.

So, yesterday and today I’ve been sorting out the rear-end of the application. So, after spending a few hours carefully considering storage schema for the database (I might blog about some of the more fascinating areas later) and an ORM to beautifully transform my database into object-oriented glory, it then came time to actually implement said schematics. And that’s when things got interesting.

Ok, so I’ve never actually used SQL before, apart from a few trivial SELECT statements in a Software Development project, so creating a complex database schema without guidance was going to be a challenge. Nevertheless, after a couple of one-on-one one-to-many (ouch, a SQL joke *cringe*) sessions with the Internet, I felt reasonably confident that I could create all the tables, columns, keys, and indexes required. That wasn’t so hard. I then proceeded to grind my head against the wall as I tried to make sense of Stored Procedures. Every time I tried to work something out, it was like I was being gently slapped in the face while someone was trying to compress a block of Smorgy’s jelly into my brain. The really solid, rubbery stuff.

Now, I said I had more motivation to develop BlockLand, but I didn’t mention anything about masochism, so I decided to temporarily jump ship and try a different solution. So, Visual Studio cranked up and it was time to make an Entity Framework. Frankly, I’m very impressed with these things, but I’m sure my readership won’t find then nearly as riveting. Anyway, I got some more work done, but realised I’ll need to make more Stored Procedures anyway. But that’s a job for tomorrow.

Anyway, I’ll try to think of something less computer-y to post about in the next installment of the blog, but meanwhile, just welcome my return.

January 5, 2009

All aboard for i386

Filed under: Uncategorized — bluem937 @ 11:00 am

Well, by the time you read this, I will be at NCSS, hopefully having lots of fun, but I can’t let my blog fall silent for a whole week, so I have (hopefully) set a scheduled post. If you are reading this, then it was successul. YAY! Now, to get here, I went on a plane. Big Woop. But, this is something that I’m sure not even Ozzyfrog might know about planes. The autopilot runs on the 80386 CPU. Now, unless you were born in the 70’s (or earlier) you probably won’t have a clue what that means. From that clue, you can probably guess that it is not a state-of-the-art, modern processor. Oh no, it is, in fact, a 1986 processor. Somebody out there might remember running there awesome 386 processor, this is it. This is before the days of Pentium (the original, at least some people should remember them).

Don’t lose your faith in planes however, even though a modern CPU is 1000’s of times more powerful, consider this: it has 5 of them. I hear you gasp in shock and awe… indeed, even if one of these dinosaurs remembers it was extincted 65 million years ago, there are still four more to fly your plane. Don’t worry, they are so slow, by the time they realise they are dead, the plane will already have landed safely.

Typically, these processors ran at 16MHz, compared to the 1.6Ghz my laptop processor runs at. That’s 100 times faster. But then again, my laptop processor is based on the Core architecture, so can do 4 calculations per clock. Oh, and it’s dual core. That makes it 800 times faster. Not to mention the improved instruction sets developed since the 386 was released. The 386 does have some things going for it though: it’s been around for nigh on 23 years, so people pretty much know everything there is to know about it. It is also one of the simplest CPUs on the x86 instruction set, which is still used to this day. It supports true virtualisation, and it’s good to know that if one part of the autopilot screws up, it won’t crash the whole computer.

So, next time you board an aeroplane, say thankyou to the folk at Intel for building such a reliable processor. Oh, and what a testament to “old stuff lasts longer”.

Now, this is an unusual situation, since I won’t be able to read, moderate, respond, etc. to any comments until I return, so, by all means, leave a nice message, spam the blog, or start a flame war. I hope you all have a nice time, I am (or will be), so everyone else should too!

January 1, 2009

New Year’s Revolutions

Filed under: Uncategorized — bluem937 @ 12:01 am

Ok, I’m not one to make New Year’s resolutions, but if I did, I would make the resolution to keep my blog going, keep it interesting and entertaining. So, with that motive in mind, I’d like to hear your feedback on my blog so far. What do you think of it? Do you like it? I can take into account your feedback, and make this blog better. So, dump your thoughts into the poll below. Also, welcome to 2009! In Roman Numerals it is MMIX, which is kinda cool. Wikipedia’s page on 2009 has some quite interesting stuff, if you care to read it. Anyway, that’s about it, I look forward to your feedback, and to the new year!

December 31, 2008

Filed under: random — bluem937 @ 11:36 am

Bluemonkey: mah computer is being slow
Bluemonkey: 😦
Ozzyfrog: 😦
Bluemonkey: thats better
Bluemonkey: now it is playing music
Ozzyfrog: 🙂
Bluemonkey: i swear it takes it at least 30 seconds to start playing
Ozzyfrog: lih
Bluemonkey: lih at lih
Ozzyfrog: lol at lih at lih
Bluemonkey: lol at lol at lih at lih
Ozzyfrog: lih at lol at lol at lih at lih
Bluemonkey: lol at lih at lol at lol at lih at lih
Ozzyfrog: ROFL at lol at lih at lol at lol at lih at lih
Bluemonkey: I doubt it.
Ozzyfrog: ok
Bluemonkey: are you actually rolling on the floor laughing?
Bluemonkey: and if u were, how are u typing?
Ozzyfrog: The computer was rolling too
Bluemonkey: I see.
Ozzyfrog: indeed
Ozzyfrog: (i think he believed it)
Bluemonkey: lol
Ozzyfrog: lih at lol
Bluemonkey: lol at lih at lol
Ozzyfrog: lih at lol at lih
Ozzyfrog: at lol
Bluemonkey: lih at lih at lol at lih
Bluemonkey: at lol
Bluemonkey: lol
Ozzyfrog: lol at lih at loh at lih at lol
Ozzyfrog: lol
Bluemonkey: lol

As Ozzyfrog succinctly put it, “our convos have reached at new level of sillyness”. At least it wasn’t in the ‘eternal’ group chat, which has been kept alive now for about 5 days. Oh, for the record, “lih” is an acronym for laugh-in-head, a more truthful display of amusement than the overused “lol”. In this case, “lol” actually meant “laugh-out-loud”. Yes, Ozzyfrog was rolling on the floor, with the computer as well. It’s quite skilful, in fact.

December 29, 2008

Ozzyfrog’s [new] blog

Filed under: Uncategorized — bluem937 @ 9:07 pm

Well, I figure all folk should know that Ozzyfrog, not content with earbashing the world from one source, is now offering rants in stereo! LOL, ok, he just began a new blog. I’m guessing it is more of the same stuff that we have been seeing on Ozzycaiphas, but obviously Ozzyfrog will be the sole editor. Anyway, I am glad to see that I am already in the blogroll :D. Good luck with your new venture Ozzyfrog, I look forward to reading more of the “disease” to come.

December 28, 2008

Infernal IMAP, Sadistic SQL Server, Worrisome Word

Filed under: Uncategorized — bluem937 @ 12:19 pm

Well, it seems that my computing gremlins have returned to make my experience hell. I thought I was finally rid of them, after a stage where my laptop broke every four months. Well, for Christmas, I got new, updated gremlins. In their quest to destroy my mind, they have taken it upon themselves to trash my programs. Here we go:

I’ve heard people say good things about IMAP, which is an email delivery protocol that offer push email, reliable transmission, and good security. I have been using POP3, another protocol, to have messages from my Gmail account downloaded to my computer, into Outlook. This was all working well for me, but it wasn’t push email, so Outlook needed to run a send/receive before messages were actually delivered. IMAP is push, and I figured instant delivery was reason alone to get it, as well as the other reasons. So, I went along and changed my protocol to IMAP. Sure, it took a while, since Gmail uses custom settings for all its ports and encryptions, but that wasn’t too hard, as there was a helpful setup guide.

Sure, all sounds good right? Wrong, it has created another data file in Outlook instead of using the current one, which means that all my lovely integration was gone. Instead of having one data file that contained all my tasks, contacts, appointments, notes, events, etc. as well as email, it had split. This was really annoying, since the effortless integration between my mail and organiser was gone. Furthermore, IMAP didn’t actually download the messages properly, only the headers, which meant that every time I visited my inbox, it needed to communicate with the server to find out what was in the mailbox. Then, to read an email message, it then needed to download that message. Overall, it was excruciatingly slow (ok, that was an exaggeration, but an Australian ADSL connection is quite slow, compared to the instant response from something already on my computer), and Outlook frequently stopped responding by downloading headers and messages. There were some other problems with it, but I can’t be bothered whinging about them right now. Fortunately, I have rid myself of the infernal IMAP and have returned to my faithful POP3. That problem is solved. However…

I have been having a fair bit of trouble getting SQL Server working properly. I am sure it has nothing to do with trying to install a server-class application on a notebook, and is just the computing gremlins at work again. Now, I do a fair bit of programming, and recently have started building decent data-driven applications. For this I have been using SQL Server Compact, an excellent solution for small-scale applications, based on SQL Server, but with a greatly reduced footprint and requirements. This was all fine for building client applications, but now that I am doing web development, BluemonkeyBlockLand, Visual Studio has decided that SQL Server Compact is not sufficient. Fine, I thought, I also have SQL Server 2005 Express on my computer. Peculiar; although I have the management and configuration tools for SQL Server 2005 Express, the actual application seems to be missing. I reasoned that the tools may have installed with the Compact edition, and so would still need to get SQL Server. I downloaded the installer for SQL Server 2008 Express. And that’s when the fun really began.

Well, the installer takes a couple of minutes to configure itself; so what, I have time on my hands. It then launches into a full-blown installation manager: very nice; it looks a lot like a high-end server product, and this is the free Express edition! I run the environment-checking tools to make sure my system is ready. Turns out I need to download Windows PowerShell, which is a new Windows shell meant to replace the archaic DOS Command Prompt. Personally, I haven’t ever used it, but I’ve heard it’s an improvement. Also, it integrates with the .NET Framework, which I love and adore. (Back to the story) That was fine, I now passed all the criteria and was then ready to install. And that’s when it finally hit me how much this was marketed for servers. The language used in the confirmation dialogs was enough to send me chickening out, not wishing to mess up my laptop too much. With my tail between my legs, I retreated away, whimpering, from the scary server application ready to install on my laptop.

Later on, I was talking with Gizmolio about it, and I realised it wasn’t anything to be worried about. I went back to the installer, got it all ready and- cannot find installation resources. Great, now it cannot find itself, and hence it can’t install. I think that means back to the drawing board, since I have no idea where it put the installation resources, and cannot be bothered manually trawling through my hard drive just to find them (I can’t search for it, since I have no idea what it is called). When my spirit has recovered enough from being crushed, I might try again.

On a lighter note, and this isn’t really a problem, more of a peculiarity, the default document name in MS Word is now no longer Document1. It is, in fact Document2, for reasons totally unknown to me. It is just one of life’s mysteries that exist purely to confuse me, and of course, another reason to blog. Now, congratulations for reading this post, which I have managed to ramble through to 931 words so far, as well as everything I type after that number, which I won’t count since that will just enter an endless cycle of repetition. Anyway, thanks for reading, and keep commenting, pingbacks, etc. Ok, I will just write one more thing, the word count is now exactly, precisely, absolutely, completely, accurately, (more stalling adjective words (and brackets that help alot)), truthfully, (I love thesaurus!) equal to 1000.

December 22, 2008

Designing intelligence- evolving the concept of life

Filed under: Uncategorized — bluem937 @ 9:56 pm

Hooray, strap yourselves in for a highly philosophical musing on the nature of life. In particular, I want to explore evolution and intelligent design. Faith is often a very tricky topic to discuss, but I will do my best. I think I am a spiritual person, even though I don’t strongly adhere to any particular faith. I think everyone should have their own philosophy, so I’m not forcing opinions on anyone, just making some observations and discussion. Science seems to be the predominant faith among people these days, but there are some areas of the whole universe explanation that just don’t work.

What about evolution? Sure, it looks good as a grand theory on how arrogant humans are the best animals on the planet, but just why does it work? The classic debate is eyes; while this is certainly not the only interesting situation, it is one of the most compelling counter-arguments to evolution. Darwin’s Theory of Evolution revolves around the maxim “survival of the fittest”. Exactly what made the primitive eye “fittest”? Considering the primitive eye was just a splodge of photoreceptive chemicals, how would this help? These first eyes would only be able to tell the difference between “night” and “day” as they were too crude to recognise anything useful. These organisms don’t have any form of night/day cycle, and survived without knowing the time, why would they suddenly need to know? Since “eyes” offered no advantage to the survival of the organisms, the organisms that possessed eyes would surely die out due to their mutated genetics. Evolution appears to be wrong.

Perhaps the cause of the eye truly is God, ahem, playing god; aka “Intelligent Design” (ID). I don’t think this is the answer either. It was most likely just chance that made this happen. Sure, there is a slim chance, but it could happen, and obviously did happen. But arguing evolution in this instance is poor science. Obviously there is no advantage in having such a crude eye, and it is just luck that it survived. I don’t believe in Creationism, although there is nothing wrong with it. Evolution has a lot of appeal to scientific minds, but if one examines it closely, it does not satisfy the keen observer. Intelligent design seems to be a compromise between them, but is accepted by neither. The true “story of life” is impossible to tell, as anyone can make “evidence” support their own faith.

  • Creationism is simple: everything was created by a higher power, and any evidence that suggests otherwise is just a test of faith. Which, in this day and age, lots of people have failed.
  • Evolution is simple: everything is derived from simpler states, and all happens because of definable “rules” and “laws”. In a modern and chaotic world, people like the comfort that some things are always the same; the laws of nature. The evidence obviously proves this to be so?
  • Classical mythology is simple: everything is built out of elements, which make all objects different. All objects have a patron deity, which watches over and guides them. It is just common sense that things work this way, there is no need for evidence.
  • Nihilism: everything is nothing.
  • Various other-ology, -ism: truncate, squeeze, squash, and generally shout loudly until the evidence is in a suitable state to support your grand theorem.

Anyway, that’s about all I have time for, but I hope this has been interesting. I want to hear you replies, comments, pingbacks, deblatogs, but don’t start any flame wars or I will be upset. Everyone can and does have their own philosophy in these situations, so respect that, all the while reflecting upon and considering your own. If anybody likes this, I will unleash some more of my philosophy upon you, but for now, let’s just see everybody deal with this.

Older Posts »

Blog at