2010
09.01

Once again, September has crept up on me. And so, since I have this blog for a reason, I thought I’d have a status update.

Harlie

Harlie has been left alone for a significant amount of time (Two months, according to the git logs. Good grief, time really has flown past.), due to lack of interest. I think it’s about time I just admitted that it’ll never be a functional IRC, bot and that it’s a project that’s grown legs, tentacles, pseudopods, etc…

Octane/MIPS

The Octane is quite happily running OpenBSD 4.7, although my attempts to try bootstrap Gentoo on it were quickly thwarted by the discovery that the server hosting the bootstrap scripts is down. However, the hamster was revived, and I’ve grabbed the bootstrap scripts. Bootstrapping was going fairly well, but we shall have to wait until tomorrow to see the result. :)

In the meantime, I’ve also been trying to make ChibiScheme compile; It’s not been going well. Typically, it looks like I’m on my own with this issue.

The gory details


cc -fPIC -shared -Iinclude -Wall -g3 -o lib/chibi/ast.so lib/chibi/ast.c -L. -lchibi-scheme
LD_LIBRARY_PATH=.: PATH=.:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin ./tools/genstubs.scm lib/chibi/net.stub
Bus error (core dumped)
gmake: *** [lib/chibi/net.c] Error 138

Other Projects

Artificial Intelligence

I seem to have found a project where I can put this to use, so my attempts to learn about AI might go a little better.

Tower Defence Game

This is the project that gives me somewhere to apply things I’ve learned and to learn more about AI, etc.; and actually has a purpose (Unlike the IRC bot, which currently serves no purpose other than as a distraction.).

The eventual aim is to have a game that plays in a way similar to the ‘standard’ Flash-based games, with a few crucial differences:

  1. Customisable enemies. (Including AI.)
  2. Customisable towers. (Again, including AI.)
  3. Blocking enemies is allowed, with the caveat that they
    will attack towers if they can’t find a path.
  4. Multiplayer(?)

This is likely to be a project that evolves more than it is planned, but I hope to have at least a demo by Christmas (Christmas 2010, thank-you very much. :p). However, it seems that my projects are developed and released on Valve time, so who knows when it’ll actually be done.

2010
08.14

HTML Email. Seriously, who the hell thought this up? I need a browser to parse a page of HTML so I can read the three lines of actual text that was sent.

And why do I have to put up with this bullshit? Apparently so that the sender gets to use their favourite font on email. -twitch- Or so that they can put their logo and stylesheet on it. Seriously, WHY?! It’s an email, not a website!

I need to get a lawn, so I can yell at people to get off it…

Comments Off
2010
08.13

For what little good it will do, I’d like to note my frustration with the countless people misusing "could care less" where they should be saying "couldn’t care less".

It’s annoying, because those three characters completely change the meaning of what you’re saying. If you could care less, it means you do care about it; whereas if you couldn’t care less, it means you don’t care about it one jot.

Is it really that hard to get it right? This has been another episode of "Little Things That Wind Me Up"; don’t bother going back through the archives to look for them, none of the previous ones are on here. Although they may be written up for your amusement. Now, back to your scheduled mangling of the English language.

Comments Off
2010
07.31

Last time I tried to install OpenBSD on the SGI Octane2, it didn’t go well. –insert flashback here, lots of swearing and possible violence–

This time, installing OpenBSD 4.7, it worked wonderfully. Whatever issue caused the spurious IRQ 2 from the xbridge has been fixed, and now I can actually put it to use. Finding a use to put it to, however, is going to be more interesting. Maybe run that AI project on it…

Comments Off
2010
07.21

As I ranted about previously, I’ve switched to KiCAD after hitting some frustrations with EAGLE. However, KiCAD does not have quite the array of component libraries that EAGLE does. One well-recommended library is a collection of all the EAGLE libs run through a well-recommended converter script. Unfortunately, it seems that the less-used parts (The SO-DIMM socket, for example), are horribly horribly mangled. The well-recommended script also seems to have destroyed the library I created for the Loongson (Which was my first clue that it might not work as advertised.). I don’t have the datasheet just to hand, but it is most definitely not right.

This is rather frustrating, because I now can’t trust any of the libraries without going through them and verifying all of them against the datasheets. I know I should be doing this anyway, but it’d be nice to have a proper library of parts that you can use to avoid re-inventing the wheel or screwing yourself over. (It’s not like SO-DIMM sockets are rare or anything.)

It’d be even better if this library of parts wasn’t locked into a proprietary format that requires incredibly expensive (Or incredibly limited) software to use. It seems, however, that CadSoft’s EAGLE is the Microsoft Windows of the EDA world. Everyone* uses it, so it’s reasonably safe to assume that someone can open a project created in it.

(* Not actually everyone, but it feels like it at times.)

Maybe I’m getting annoyed over nothing, but it does annoy me a little that people complain if someone doesn’t release schematics or source-code for projects, but they’re happy to accept a closed BLOB? Okay, so maybe I am getting a little grouchy. =p

It obviously doesn’t matter until it bites you in the ass… And, for some reason, I want to wave a cane and start yelling at y’all to get off my lawn. Probably best I don’t have a cane or a lawn.

(And, for anyone who’s going to ask what I’m going to do about it. I’m going to try to fix the dimm library. Tomorrow… er, later today. :) )

Comments Off
2010
06.23

Okay, web developers, It’s time we had a chat. You know that little thing you keep doing with password fields, autocomplete="off"? Yes, that violates the Principle of Least Astonishment. It’s also frustrating and (believe it or not) makes things less secure.

If I tell my browser to save passwords, I want it to (surprise, surprise) save passwords. What right do you have to override my preference? This misguided, halfarsed attempt at security is making my life a pain, because my browser isn’t saving passwords when I expect it to. So you know what I have to do with my passwords instead? I have to write them down. And that reduces my security and convenience; because now not only is my password on a piece of paper that anyone can read (Rather than in my password manager, where only I can read them.), but it’ll inevitably end up getting lost and I’ll have to reset my password (And the whole cycle starts again.)

So, please, stop trying to make security decisions for me; because I know what to do with my passwords better than you do. (Out of interest, what do you do? Use the same, easy-to-remember (but horribly insecure) password for all your sites? Have a notepad with all your passwords on? Or are you the kind of person who can remember the countless random 12-character alphanumerical passwords you have for everything?)

My current solution, because no-one will read this and stop forcing their idea of security on me; is to edit the function _isAutoCompleteDisabled in nsLoginManager.js to always return false, which lets my browser save passwords like I intended.

Comments Off
2010
06.23

With the (start of the) addition of user management in the bot, it looks like I’m beginning to get somewhere with the bot. However, I am beginning to dislike working on some of the code because of the state it’s in; yes, I know it’s my fault it’s such a mess!

In my defence, this is mainly due to how parts of it have been developed. As I didn’t intend for it to grow to the point it is now, there was no real plan (It was originally meant to be a simple platform for another project to rest on top of, but then I thought “Ah, it’d probably make the other project simpler if I had x, or maybe y…” and it just grew. (The entire project is a feeping creature.)), so things have been glued on or woven in as and when the idea hit me.

This is not a recommended development strategy; it tends to lead to code that is A Great Big Ball Of Hair, or worse…

So, to condense a paragraph or two of blathering into a few words: "It has architectural issues." And, to fix these issues, I’m going to tear it apart and put it back together. I have the technology, I can refactor it! Keep an eye out for the refactor branch, where the carnage will be happening.

Comments Off
2010
06.18

Picked up work on Harlie again, and finally created the module that’s been missing and breaking the fresh-out-of-vcs bot. (Anyone inconvenienced by this, let me know by email and I’ll give you your money back. :p )

Still on the whiteboard are the changes to build in multithreading; working plugins; user and permission controls and so forth. I’m spending this afternoon working on the user and permission side of things.

Whilst I’m on the topic, I thought of a method to allow the owner of a bot to add themselves to the permissions database. This is a little bit of a chicken-and-egg problem, they need admin permissions to add themselves to the database that tells the bot that they have admin permissions. And then there’s the risk that someone ‘steals’ the bot by registering themselves as the owner before you do. (Which would be annoying at best.)

My solution to this? If the users database is empty, a single-use key is generated and displayed on the console. Anyone attempting to register themselves as the bot’s owner must identify themselves with the single-use key. (If an attacker can see the owner’s console, there are bigger issues than just being able to take over the irc bot. :P )

This adds the owner to the users database with full permissions, and they can take it from there; using the bot commands to add/delete/etc users. :)

[Attempt 4, because WordPress is refusing to let me post :/ ]

2010
06.13

You may notice a few issues with the theme of the blog, such as things not lining up any more. This is because I made an attempt to change it to variable-width, and the way I’ve done it is a tad fragile. However, the issues are entirely cosmetic (Which is good.), so the changes are for the better in my opinion. :)

Comments Off
2010
06.09

One of my hobbies is hardware design (I quite enjoy it, but I don’t have the qualifications (Or the confidence) to do it commercially.), which I use CadSoft EAGLE for.

Unfortunately, the Evaluation version has some limitations that make it impossible to use for the project I’m looking at. I can create the
schematic very easily, but I cannot lay out the board because the free version is limited to a board that is far too small to fit a connector as long as a DIMM socket.

Cadsoft EAGLE refusing to let me start my project, because I have already gone beyond the limitations of the freeware version.

The DIMM socket is too long for the freeware's highly restricted board layout space.

I could remove those limitations by buying the software (I’m not opposed to buying software if it’s worth it.), but the price-tag is aimed at large companies; and is completely out of the reach of The Average Hobbyist. (e.g. Me.)

For example, to remove the board-size limitation but otherwise have the minimum I can work with (Schematics + Board layout) I’d have to purchase the Professional version at a price of nine-hundred and ninety-six (996) US dollars. My response to that, suitably toned down, was “Um… No.”.

So, for those of us without pockets like buckets, what options are available?

  1. Keep the Evaluation version, and break your design up into little boards, each interconnected with plug/socket.
  2. Keep using the Evaluation version, but only create schematics and get a friend to create the board.
  3. Find another piece of software and hope you can export as much of your work as is required to reconstruct it under the new software.

Currently, I’m choosing the third option and using KiCAD. The biggest issue will be re-creating or converting the parts used in the project, especially the BGA part for the processor. On the other paw, it would help me get used to the software…

Stay tuned for updates on the war against terror^Wclosed-source software.

Comments Off