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
2010
06.06
In Rant

I often enjoy playing a nice violent video game (Although, due to lack of money, I only have two. (Call of Duty: Modern Warfare 2 (The one I play the most) and Operation Flashpoint: Dragon Rising (Don’t play this as much, due to a few issues I have with it.)), usually to unwind or be somewhat social with friends (Most of whom are separated from me geographically.). However, I am getting more and more frustrated with the sheer number of cheaters on Xbox Live. What makes this worse is that using a console rather than a PC, cheating is supposed to be reduced, but hey-ho.

The latest event was a rather enjoyable match, up until it turned into a boosting session. ${BOOSTER}… boosted off two members of our team (Presumably his friends.) until he got a Nuke for a killstreak.

This was annoying enough, but he had to go one step further. The nuke started it’s countdown at 166 minutes, rather than the normal 10 seconds. Why? Because, once the nuke countdown has started, no matter how many people you kill, your team’s score will not increase. However, you still gain XP from these kills. Doing this makes the match nearly endless, so you can gain XP to your heart’s content, without any of that frustrating “winning the game” business that wastes time.

Of course, this is far from uncommon; indeed the leaderboards are now almost completely useless, due to the number of people who used “10th Prestige Lobbies”*, or otherwise manipulated the game to make it to the top of the scoreboard. In fact, some of them weren’t happy with doing it once, they had to keep doing it over and over again. Once you realise that you can’t really get anywhere on the leaderboard legitimately, the fun starts to decrease. Coupled with the apparent complete apathy towards the cheaters, even the incredibly obvious ones (Such as the folk topping the accuracy leaderboard with -100000000 misses. (Congratulations, IW, your system is braindead.)), it stops being fun altogether and feels more like a grind.

Whilst I’m ranting about MW2 and IW, I feel like I should bring up my feelings about their play-testing of the maps the game shipped with. Whilst I appreciate that it’s difficult to test games thoroughly, due to the amount of variables and sheer manpower needed to test every single eventuality, the general feel of the game was that it had undergone little testing; with glaring flaws such as a glitch that allowed you to keep respawning your care-package markers (So that you, effectively, had an infinite amount of them.); or a texture issue that meant people could lay down in the floor on a hill and snipe, all the while staying protected from the enemy because the game thought they were behind a hill.

Yes, on a platform like the Xbox 360, you have the ability to patch your games after release; and those patches are forced onto your users if they wish to play online (Which helps prevent people ignoring an update to carry on using the glitch.), but it is not a substitute for not releasing those issues. And then there’s the wonderful wait before the fix is finally released, during which time people keep on abusing the glitch with few (if any) consequences. One gets the impression that the issue only gets fixed when the developers play against it and get frustrated, although I’m sure the reason for the delay is the extensive testing that patches require.

The effect is that, whilst I like the game, the fun is taken out of it when you try to play against people who just hack what they want out of it. Why bother putting the effort in if others are going to reap the rewards without that effort?

* “10th Prestige Lobbies” are hacked game lobbies that run almost permanently (Using the hacked nuke method as above.), with insane amounts of XP for a kill (To the point of needing scientific notation to represent it.), and automagically invite you back after you leave to choose the prestige menu item. (Basically, one hit takes you to the next prestige level.) They also can do things like unlocking all titles and emblems (Which makes it really obvious that someone has cheated, when they’re 5th prestige but have the “Prestige 10″ title (Only supposed to be unlocked at 10th.) and the 10th prestige emblem. (Again, only supposed to be unlocked at 10th.))

Comments Off
2010
05.08
In Rant

This is aimed at no one person in particular.

<rant>

  • I am not psychic. If you need help, ASK FOR IT; don’t get pissy because I didn’t read your mind and magically come and help when you wanted it. Also, don’t then go on to be pissy and refuse any help if it is offered, because then you just make yourself look like a child having a tantrum. You cannot then turn around and claim that everyone is being lazy and not helping you; this, again, makes you look like a child and reduces the chance that anyone will offer to help again.
  • If you are yelling at us for breaking the hinges on the doors because we’re “constantly slamming the door”*, it makes you a hypocrite when you get in a huff and slam the door (three times, if once wasn’t bad enough.) hard enough to make the entire house shake. It’s most likely you doing all the damage, and I’m getting tired of being blamed for things I didn’t do.
    * Despite the fact that it’s mostly you slamming doors and stomping around in a huff.
  • Don’t whinge that I need to go out and get some fresh air, then complain that I have the window open. You know that breeze blowing in? That’s fresh air.
  • Just because I didn’t immediately drop what I was doing and run to whatever new task you want me to do doesn’t mean I a) didn’t hear you, or b) am ignoring you. You keep telling me to finish what I start.
  • Follow-up to above: It’s annoying when people start walking away from you when they’re talking, it also makes it very difficult to hear what they’re saying. You hate it when mother does it to you, don’t do it to me. Also, don’t get pissy when I didn’t read your mind or decipher the mumbling; that’s annoying too. I may have to ask you to repeat what you just said, getting angry at me for doing that is pointless and helps no-one.

</rant>

Comments Off
2010
05.01

If you can read this, it means I didn’t screw up setting up the "blogging from emacs" capability. Yes, I can blog from emacs, now I have yet another excuse to stay in this OS^WEditor.

It seems I keep finding things about this strange, extendible editor that I never knew were possible; or I never expected to see in an editor. Although I should have been tipped off that this was going to get a little silly by the fact that it has a mode for tetris.

I followed this nethazard.net post as well as using ELPA (http://tromey.com/elpa) which makes installing Lisp packages very easy.(And, it keeps them up to date, which is handy. :) )

The only issue I’m struggling with is that the auto-fill mode is a pain in the arse, because whilst it handily wraps the text at a nice and easily readible length; the post is then also broken at that point by a <br>, which means I have to go back and de-fill the paragraph.

On the upside, I can use the editing keys I'm used to without accidentally closing the window, as happens far too often when I’m editing things in a browser. The downside of this is I keep hitting C-x C-s to save the draft, and that publishes the damn thing. (Same habit that keeps destroying documents in GUI editors. That and the key for backward-kill-word being the shortcut for "Close Window" in said GUI editors.)
So now I can waste my time blogging much more efficiently, I might even eventually have something I can publish. :D

Comments Off
2010
04.30

In case you hadn’t noticed, I’ve not worked on Harlie for a while. This is because (as I rediscovered when I returned to attempting to work on it) it’s driving me insane trying to work out how to do what I want without reverting to horrible, horrible (and possibly incredibly pessimal) hacks; or even being unable to do things at all.

For example, the commands side of the bot…
I intended for this to be easily extendible, so that plugins (inconsistently referred to as ‘modules’ in some places.) can add their own commands. This turned out to be more complicated than I first thought (What wasn’t, on this project?). And the result was that, especially with the re-arranging of the commands into “command subcommand”, it turned into a mess of if/elsif/else trees. This was incredibly non-optimal, to the point it arrived at pessimal.

The second most frustrating point of this project I have not even attempted, it’s still stuck on the drawing board because I can’t think of a way of doing it without driving myself insane (Well, moreso.). I want to be able to let plugins register for events, so that an event gets sent to multiple plugins (For adding triggers, etc.). The only way I could think of doing this (And I think it says a lot about my method of working…) was having an array of handlers and iterating through it, calling each one and passing the contents of the event.

I then promptly slapped myself for thinking up something so awful. This is, quite frankly, a hideously stupid way of doing what I want. One, as perl is single-threaded (See the next paragraph for complaints about this, too…), and I’d be iterating through the array; if one handler sat there and did nothing, the entire bot would grind to a halt. Two, it’s a fairly clumsy-feeling solution, and possibly quite fragile.

And now, for the lack of multi-threading… Yes, I know Perl has ithreads, but I’d have to recompile perl on this PC, and it causes things to break. This is a Bad Thing™. Also, as it’s a compile-time option, it’s not guaranteed to be enabled on every user’s install. Which means it would only work on a few installs, and as I’m not going to enable that feature because of the aforementioned breakage, not on mine. What this lack of multi-threading means is that if a function runs on too long (I don’t have a specific example, but imagine a plugin that attempts to process a large amount of information (or inadvertently enters an infinite loop.)), the bot will not receive events and eventually ping out. This is a Very Bad Thing™.

So now, the programming language I chose because of its suitability for programming an IRC bot (The fact that perl handles text very well.) is becoming a big limiting factor in what I can do. The problem is, what language do I move to now, and how much work is it going to take me to get even half-way to where I am with the perl version? (My vote is on: A lot.) (I’m currently looking at using C/C++ with Boost and libircclient.)

2010
03.27

Rule 34: If it exists, there is porn of it. No exceptions.
Therefore it follows that, if there is no porn of something, it does not exist. There is no porn (at least, at time of writing.) of The Game. Therefore it follows that The Game does not exist, ergo you are not playing it, and thus cannot lose said game. QED.

(Anyone wants to prove me wrong, go ahead. I don’t play the game anyway, but it’ll be amusing. :D )

Comments Off
2010
03.15

seeing 03:58:57 up 97 days, 16:06, 1 user, load average: 0.04, 0.03, 0.00 just before you reboot the machine to deal with a hardware failure. :(

Comments Off
2010
03.15

Well, I’m going back full circle again and moving back to WordPress. This is not due to any failing of Drupal, it just seems over-powered for what I need. It also doesn’t help that I’ve got to manage various plugins to do stuff that WordPress does out of the box.

A lot of crap will be trimmed on the way (Moving is a wonderful time to find out what you don’t need to keep, and throw it away.), but I shall try to keep things that I think are important.

Comments Off
2010
03.06

Updated x1
Earlier this morning, I got OpenBSD 4.6 to boot on the Octane2. It installs fine and boots from the hard-drive as well as can be expected. I get all the way to logging in and trying to ping another machine before I notice the problem.

It has no network. This is rather irritating. I shall explore further, and report my findings.

OpenBSD boron.tamber-krain.homeip.net 4.6 GENERIC-IP30#23 sgi


# ifconfig -a
lo0: flags=8049 mtu 33152
priority: 0
groups: lo
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
enc0: flags=0<> mtu 1536
priority: 0
pflog0: flags=141 mtu 33152
priority: 0
groups: pflog

Another step back. Now it refuses to start. Powers on immediately on applying power, fans spin but it doesn’t wake up. Following the troubleshooting chart gives me three potential causes:

  • Unseated system module (I have reseated it three or four times, no change.)
  • CPU failure
  • Front-plane failure

As I believe I have eliminated the first, the only way I can be sure is to replace either the CPU or the front-plane. (I am beginning to wonder whether the spurious IRQs I was seeing might have been a symptom of a dying front-plane. If so, then I can narrow it down a little further.

Comments Off
2010
03.03

No, I’m not dead yet. Nor do I have a job yet. So I don’t really have an excuse for not updating my blog in a while, other than I’ve not really had anything to say. (Y’know, not that that stops a lot of folk, but…)

And now, for the actual ‘content’ of this post:

Harlie

Documentation Updates

The README has been gathering dust for a while, and I still need to update that in light of all the changes I’ve been making. However, I’ve started adding POD to my code, so hopefully it should be easier to keep the documentation up to date.

Commands Changes

I’ve moved the admin commands to attempt a more structured commands list. The commands array has been cut down, and commands such as ‘quit’ are now accessible through ‘admin quit’.

The structure of the commands parser is also about to undergo an overhaul, but I’ll try not to break too much. During the overhaul, I’m going to get the plugins API to work as it should. (Because randomly exploding and taking out the plugin is just a little annoying, especially when there is no debug output from the explosion.)

Privileges/Authentication

I’ve just, very recently (In fact, whilst I was writing this part of the blog post.), got the authentication working in a very infant form. It relies on a hard–coded array whilst I’m testing, but The Real Thing™ will use (Or, at least, I’m planning to use.) SQLite with DBI.

And the results of my tinkering with the privileges code? And I wonder why people worry when I mention I’m looking into AI…

SGI Octane

I have tinkered with the Octane a little more, and now I can get it to semi-reliably netboot (Okay, it’s hell getting it to do that. Sometimes it boots, sometimes it doesn’t. And then, just over half the time, once I get it to boot, the kernel falls over. The solution to the first issue is to bounce the tftp server, the solution to the second… I’ve not found that yet, I just keep trying until it works.).

My current findings:

  1. The Gentoo Linux SGI netboot does not boot (*** PROM write error on cacheline 0x1fcba700 at PC=0xa8000000202729e0 RA=0xa800000020273064)
  2. Bad things happen when booting OpenBSD 4.6 See the capture of the serial console for the gruesome details. (I did get a 4.5(?) to install, but the kernel booted from the disc did not see the network interface. (This is annoying, as the 4.5 netboot sees the interface just fine, that’s how I did the install. :/)
  3. IRIX is a bugger to re-install. (I’m following this: Spinlock Solutions Techpubs – Installing IRIX 6.5 from Linux to do the install. I get all the way to “When inst starts, make sure it opened the distribution by doing from 192.168.7.2:/mnt/6/irix/” and then the trouble starts.

Once I get everything dug back out of the plastic crates they’re tucked into (Might be a while.), I’ll have another go at it and experiment some more.

Comments Off