Picture
Picture
Picture
Picture
Picture

Archive for August, 2004

Tease

In what can’t be described as a surprise, Apple today unveiled the newly re-designed iMac.

I want one.

I think.

I can’t really decide. I’m 95% happy with the new design, and I think it’d be especially cool with a wireless keyboard and mouse, but that white area below the screen is very large. I already have a 17″ iMac, and part of me really can’t be bothered with the hassle of listing it on eBay and shipping it to the winner.

But I did renew my Apple developer membership, as I was contemplating a couple of months ago, just in case they released something I wanted. That’s because it gives me a hardware discount which would knock a decent amount off the already reasonably priced new models. That makes the 20″ 1.8Ghz G5 model a serious tease.

I have the cash on hand to buy the iMac now, but would I be better off just sending it to my credit card company and reducing my already admittedly high debt.

Tuesday, August 31st 2004 at 6:23 pm / Apple / Permalink / Post Comment »

Sugar

As each day goes by, my confidence in Bearscript grows. There were bugs today of course, but they were quickly fixed and in turn, new ones created. Which were also fixed, and the cycle repeated. But no showstoppers, nothing that’s making me think it can’t be done.

A couple of hours ago I managed to solve the last syntactical problem, which will allow me to add a fine layer of sugar on everything. I haven’t completely implemented it yet, but that’s down to me having a lack of motivation tonight, rather than for some technical reason.

As I’ve said already, there’s no hope in hell that the whole of Bearthing is going to be finished for my self-imposed 23rd Sep deadline, but with Bearscript in the position that it now is, at least it shouldn’t be long before I’m actually seeing stuff on the page.

Monday, August 30th 2004 at 11:11 pm / Tech / Permalink / Post Comment »

Syntactical

If you happen to have a browser that supports SVG, why not check out Deathwish’s latest Bearscript example. It’s quite fun.

If you can’t view SVG, you can get the Adobe plugin from here.

There’s a lot of Bearscript things going on to make that work as it does, so it’s a great example of how far the language has managed to progress over this weekend. Global variables are back working again and at least 75% of the syntactical weirdness has been cleaned up too. Plus, with the addition of compiled code caching and further optimisation, everything has seen a serious increase in speed (like 1000%+).

The documentation is now seriously out of date, but I’ll tackle that later in the week once I’m sure things aren’t going to change too much more.

It’s been a very productive weekend, if not a particularly happy one.

Sunday, August 29th 2004 at 11:16 pm / Tech / Permalink / Post Comment »

Fundamentals

Well it seems that August 28th will go down in history as the date on which all Bearscript fundamentals finally worked.

Now I’m still not ready to jump around like an idiot, waving my arms in the air, proclaiming my success, because I still lack confidence in it. I’m sure that at any moment I’m going to find some terrible bug that’s going to show that variables still don’t work in all of the situations they’ll be used in. But I haven’t found it yet.

There are still some interesting syntactical problems cropping up (regarding accessing slices of arrays and keyarrays mostly), where perhaps things could be cleaner, and global variables haven’t been re-implemented yet, but the language is doing what it’s meant to do for the first time. Big thumbs up to Deathwish for coming up with ever more inventive ways to break things, it’s certainly helping to carry the development process forward with increasing aplomb.

The journey so far has been a good example of why I should never give up too easily, even when things seem completely hopeless. Something which has significance in other areas of my life too.

Saturday, August 28th 2004 at 11:22 pm / General / Permalink / Post Comment »

Shock

Minutes away from giving up completely, I suddenly had one more idea of how I could fix all of the Bearscript variable problems.

And amazingly (and I say that truthfully, for I am still in shock) it appears to have worked. Now I’m not quite ready to raise a glass to my success just yet, but initial tests (a Mandlebrot generator would you believe) are producing the correct results.

Maybe we’ll see a Bearscript powered Chatbear v3 after all. Just as it was looking like it would be another Perl based affair.

Friday, August 27th 2004 at 11:58 pm / Tech / Permalink / Post Comment »

Pace

Right now I’m thinking sleep is my best course of action.

But I will quickly mention that I did finally get some sort of success out of Bearscript tonight, with much better variable handling, functions that can be defined anywhere, and perfect passing and almost perfect returning of arguments. I’ve done a rough update to the documentation, but there is a lot of new information still to put in there. I plan on completely changing how variables are referenced and de-referenced, so I’ve crossed out that whole section, but I currently have no idea of what the best syntax is for this.

I’m tempted to take a break from Bearscript and do some work on our "Our Game" instead however. Just for a change of pace.

Thursday, August 26th 2004 at 11:08 pm / Tech / Permalink / Post Comment »

Diverse

Well Monday’s attempt to fix Bearscript was a disaster, so I sat down with Perl tonight to try and devise a new approach. I spent three hours just writing Perl scripts, passing around variables to functions, looking for ways to make it as consistent as possible. It doesn’t have to be nice looking Perl, as long as it’s not too diverse, it’s easier for the parser to create the right thing.

I think I’ve come up with something, but I’m having issues with the BNF grammar which have held me back from completing my testing. I’ve made a lot of different syntax changes over the past few days, as well as tonight, so the manual is now wrong in a lot of places. When people actually started using the test versions, it threw up not only a lot of bugs (like I’ve mentioned already) but showed that for even simple things, you were having to write an awful lot of spaghetti code. Especially when dealing with multi-dimensional arrays and keyarrays. All of that has now been cleaned up, giving you the much simpler and more consistent…

output myarray[5]

For outputting an array slice, or…

output mykeyarray["name"]

…for outputting a keyarray value. And now it’s perfectly acceptable to put an expression in-between the square brackets, or to do more than one of them…

output mykeyarray["name"]["bob" & "alice"][5][6 + 7][somevariant]

Now THAT’S a multi-multi-multi-dimensional keyarray. But you get the idea.

The changes to the function syntax I won’t mention until I’ve locked them down more. But basically you now have to define the type of variable you’ll be passing within the function define line. And you can now define them anywhere in your code.

If this STILL doesn’t all work, I’ll have to take a serious look at whether or not I’m even going to continue with it. Certainly completing everything by the 23rd of next month is completely out of the window.

Wednesday, August 25th 2004 at 11:34 pm / Tech / Permalink / Post Comment »

Anti-Climax

After yesterday, today was bound to be an anti-climax, and I was right. Nothing happened.

But that doesn’t usually stop me writing some sort of drivel.

I woke up in a lot of pain, as all the places where I was held by the harness are now incredibly sore, both to the touch and when I move. Especially my shoulders. I guess it’s just the force at which you stop after the parachute opens that does it. My lips have also cracked, as if they all of a sudden realised how dried up they got during the freefall.

Bearscript tests last night revealed it to be a pile of junk, but I thought I had come up with the ultimate solution during the car journey home tonight. I spent the last few hours implementing that idea, but it turns out to be a load of junk too. So now things are in an even worse state than they were before, NOTHING runs now. *sigh*

Hopefully tomorrow will bring less pain and better code.

Monday, August 23rd 2004 at 10:53 pm / General / Permalink / Post Comment »

Tandem

The alarm went off at 6am. I wasn’t quite sure when I should be setting it for, unsure about how long it was going to take to drive to St. Andrews, but that seemed early enough for a Sunday morning. I had slept fine, but I still rose quite quickly. Maybe that’s because the radio is pretty bad at that time.

I showered, made my first visit of the day to the toilet, and actually managed to eat some breakfast. Although my stomach was certainly starting to do some leaps, I was pretty calm on the outside. I have a nervous stomach, so my nerves all seem to congregate in that single place.

It was almost 7 before I finally started the drive. I knew roughly where I was going, having driven in that area before, but I still paid close attention to the directions I had been given. This turned out to be a mistake when I took the wrong turning (I’m much better in these situations just working on instinct) but somehow I managed back onto the correct road again. I stopped once more at a public convienence, not a particularly nice one either. You could guess what kind of things happened in that toilet of an evening.

I got to Sky Dive St. Andrews at about 8:40am and signed in, paying my balance of £190. I was fifth on the sheet.

Myself and about seven other people had a safety briefing just after 9am and were shown what we were going to be expected to do. It all seemed so simple, a couple of arm and leg positions to do at the right moments, but as I was to find out later, not that easy. Only two tandem jumpers could go at a time (since the plane could only hold 4 people plus the pilot) and that meant that I would be on the third flight. Weather permitting of course.

Thankfully the weather was great, and they got through them pretty quickly. In fact it really didn’t seem like much time at all before I was called through to get suited up, and introduced to Freddy, the poor guy who was going to be strapped to my back. I’m sure I looked fantastic in the bright yellow jump suit, but I’m pleased to say there were no mirrors in sight to catch a glimpse of myself. I’m sure I would have been so embarrassed I’d have gone home right then. Of course at this point, suited and harnessed up, visiting the bathroom again was not an option, but I felt ok anyway. I laughed and joked and made small talk with the various friends and family members of the the other idiots jumpers outside. That made me feel slightly more at ease, as the laughter of others normally does. Yes, even in a crisis, I’d be the one telling knock-knock jokes.

Freddy came out and checked I hadn’t slackened off any of the harness belts since he had tightened them up (he obviously read my blog last night) and then we headed off to the plane with the other guy (Neil and his instructor Dave). We got into the plane first, which meant we’d be jumping second.

It was a nice ride up, the weather was really nice and the view over Fife was fabulous. I wasn’t really aware of the height, and in fact felt very calm about the whole thing, chatting away with Freddy as we went up. I noticed he had an altimeter on his wrist, so I could see it increasing as we climbed higher and higher… up to the 2 mile point we would be jumping from. As we reached about 8,500 feet he increased the tightness on the straps so that I was pretty much now sitting on top of him. Shortly before 10,000 feet the door was opened, which was my queue to pull down my goggles.

Then the first guy jumped.

It was about this point that I suddenly felt that the inevitable was upon me. There was no turning back at this point, although that wasn’t really the feeling I had. It was simply a case of “well here we go then”.

We shuffled forward and while Freddy sat on the edge of the plane, I was hanging out of it, attached by the straps on my shoulders and hips to him. A few seconds later, we were off.

Sky!

I’ve spent the last few hours trying to come up with an adequate description of what this moment was like, but I am unable to do it. There really is nothing that can properly express what it’s like to travel the distance of one mile, in 30 seconds, vertically. That’s 120mph if you can’t do the math.

Windy would be one description.

This is where the training is meant to come in, and you’re meant to put your body in the right position. But two miles up, hanging out of an aircraft, I suddenly found that I had the mental capacity of a two year old. Simple commands like cross your arms and lift your legs to kick your bottom just didn’t compute. I managed it somehow, but I think it was more instinct than actually knowing what I was doing. When it came to opening out into the traditional skydiver position (arms outstretched) I was still trying to comprehend the fact that I was falling at 120mph from two miles up. With a man on my back.

When the parachute opens, at one mile up, the acceleration is pretty rapid. 4G was a figure I heard. You pretty much just stop, dead.

And that’s when I felt sick. I get terrible motion sickness at the best of times (playing Quake 3 for instance) so this probably wasn’t the best thing to be doing. And I was right. I heaved, and I heaved, and I heaved… but I managed to hold it in. No carrots from me.

In-between the heaving, I chatted with Freddy, controlled the parachute (yes, you do get to control it yourself, which is cool), flew through some clouds and generally aimed us towards the landing site. My legs were pretty sore where the harness was gripping me and my arms were getting pins and needles from the circulation getting cut off, but I was pretty adamant that I was going to control it as much as I could rather than leaving it to him.

The ground came up pretty quick, even though it’s a four minute descent from the time the parachute opens. Which was a blessing because of how my stomach felt, but a curse because I WAS enjoying it. At this point your final training manoeuvre was meant to come into play, as you were expected to lift your legs up. Another thing that seemed so easy in the training room turned out to the be the hardest thing in the world, requiring me to grab the suit with my arms and lift them up that way. We landed perfectly, with only a slight bump, and I put my legs down and stood up.

Earth!

Everybody took great pleasure in telling me how white I was, and to be honest, I felt it. In fact even now, 12 hours later, my stomach still isn’t quite right. But I was very pleased to have done it, and took my certificate of completion with great pleasure.

I sat in the canteen afterwards for about half an hour before I ventured into the car for the drive home. I had the window open almost the whole way, just in case.

I think it’s still too early to properly reflect on the whole experience, as much of it is still a blur. But as I approach my 25th birthday, I feel as if I’ve actually achieved a life ambition, and that’s the first time I’ve been able to say that.

Just don’t ask me to do it again.

Sunday, August 22nd 2004 at 11:07 pm / General / Permalink / Post Comment »

Goodbye

This is my final post, the time has come to say goodbye.

Well, maybe.

Tomorrow morning, weather permitting, I’m going to try and kill myself by strapping a man to my back and having him throw me out of a plane at 10,000 feet. This suicide attempt is going to be slightly hampered by the fact that he should have a parachute strapped to his back, but I’m still hopeful things will go to plan.

After all, crashing the car and rolling across the field half a dozen times failed to produce a result, so I can’t be that unlucky twice.

Can I?

Saturday, August 21st 2004 at 9:16 pm / General / Permalink / Post Comment »

Hunt

If you haven’t already given Bearscript a shot, please do so now and start writing some test scripts so that we can hunt down those bugs. You’ll find details here on how you can get access and where you’ll find the (still uncomplete) documentation.

I solved a whole number of issues tonight, but I’m sure there must be more, especially surrounding the calling of object functions and custom functions (especially ones that chain). A helping hand would be appreciated.

If you won’t do it for me, do it for Marvin.

Friday, August 20th 2004 at 11:31 pm / Tech / Permalink / Post Comment »

Bugs

Bug. Bug. Bug.

That’s what Bearscript is full of. Bugs. I fix one, another appears. I come up with another bit of very simple test code, ten more make themselves known.

Bearscript sucks basically. And I suck even more for believing I could do this.

Thursday, August 19th 2004 at 10:55 pm / Tech / Permalink / Post Comment »

Rejuvenated

My brain just isn’t in the high gear it needs to be tonight. As I’ve mentioned before, Bearscript essentially compiles to Perl code, which means that what comes out the end is a fully executable Perl script.

As languages however, they work quite differently. Bearscript thrives on consistency, and puts a lot of effort into removing the things that get in the way when writing Perl, while at the same time trying to maximise the things Perl is good at. Bearscript presents variables as objects, which Perl doesn’t. Bearscript doesn’t make you jump through hoops when working with functions that you want to pass arrays or hashes to. Bearscript doesn’t make you remember which symbol should go at the beginning of each variable name, or what order things should go in when you want to de-reference something.

The majority of the Bearscript development has gone into creative ways to make this possible. Once you move pass the basic grammar parsing stage, you actually have to generate running code. This is initially easy, but as you start layering in more functionality, it quickly becomes a nightmare just to keep track of what states are in the compiler and what states are in the running code. Bearscript does a lot of voodoo to make this all work.

And that’s why my brain needed to be in high gear tonight. I needed to be able to coax that voodoo enough so I could solve an issue that’s plagued me since the beginning, making sure that references get created and followed automatically. But I just couldn’t do it. I’ve got one solution idea, but it’s such a crappy way to do it, I’d rather come up with something else.

So I’m heading off to bed. After sleep, perhaps my voodoo creation skills will have been rejuvenated.

Wednesday, August 18th 2004 at 10:15 pm / Tech / Permalink / Post Comment »

I

Tonight…

…I wrote more Bearscript documentation.
…I fixed object related bugs.
…I found a problem which threatens to cause a whole load of issues and potentially screw up my entire system.
…I watched a program about chess, specifically Deep Blue and Garry Kasparov.
…I made bad decisions when dealing with a certain situation, felt like a fool, and reminded myself that most of the time, I’m just dumb.

A typical night.

Tuesday, August 17th 2004 at 11:18 pm / General / Permalink / Post Comment »

Serious

I wrote another 3,000 words of documentation tonight, and it’s starting to get a bit tedious now. I’ve got the section on objects still to write and then the complete object reference and I believe that’s it, so at least I can see the end is in sight.

Writing the documentation this early is serving the purpose it should however, as I have come across and fixed many bugs along the way. As I write each chapter and have to come up with examples to demonstrate the concepts I am trying to get across, each part of functionality gets properly tested. It even helped me to find some bugs last night in sections that I previously believed to be working correctly, so it’s good to see these things get shaken out.

Although, it has to be said, nothing is going to be a better bug test than actually sitting down and writing all the Bearthing services in the complete language. That’s when I find out that the whole thing falls apart when you actually try and do something serious.

Monday, August 16th 2004 at 11:31 pm / Tech / Permalink / Post Comment »

Hands

Tonight I put Bearscript in the hands of the people for the first time by creating a demo site running the latest code which anybody can access. A bug was found and fixed with variants in minutes, so it’s already been a success.

I’m hoping two things will come from this. The first is that it’ll give me a better idea of what needs done, both in the code and the documentation. Secondly, other people just have a habit of doing things which are just… different. They write their code in interesting ways, or come up with ideas for what test code to create that I otherwise wouldn’t.

I debated long and hard over whether or not giving public access to it this early was a good idea, especially when just a few extra days can make such a difference. But other people testing will ease the pressure on me, and that should hopefully mean a quicker development schedule.

Which is especially important if this is going to launch before I turn 25.

Saturday, August 14th 2004 at 11:45 pm / Tech / Permalink / Post Comment »

Giant

Tonight I created a Bearthing site, which I’ve done before. So that’s nothing new.

But then I gave it FTP access, which has only just been completed. Proper authentication, correct file permissions and the inability to access anything but your own files. I’ve even got working file quotas. And yes, I support more than one FTP account accessing the same site so you and your friends don’t all have to share the same login if you’re working on something together.

And then I wrote a Bearscript source file, and uploaded it. And it worked. First time.

And then I uploaded a .bhtml file, which is an HTML file with embedded Bearscript. It worked too. First time.

So this means it’s now possible to create Bearthing sites, upload files to them AND run your own Bearscript to do whatever it is you need done.

One giant step towards completion.

Woo!

Friday, August 13th 2004 at 11:59 pm / Tech / Permalink / Post Comment »

Titles

This post was going to be called Empty. But I’ve called a post that before. I was calling it that for different reasons this time though. Now I don’t know what to call it. Titles are so difficult.

Thursday, August 12th 2004 at 11:34 pm / General / Permalink / Post Comment »

Left

My left ear hurts.

Wednesday, August 11th 2004 at 11:07 pm / General / Permalink / Post Comment »

Braces

Tonight Bearscript entered the crazy world of braces.

for n = 1 to 10 {
output n & “\n”
}

I’ve been bouncing back and forth on this issue for a while as I fight with myself over what kind of language I’m actually trying to create. I’d been avoiding braces because I always thought that words like "then" and "end if" were easier to read for the newcomer. However the reasons for using braces are somewhat stronger. The first of these is that a lot of existing coders are used to them, since they’re used in languages like Perl, PHP, C and Java. The second is that it’s consistent. It’s always { and }. It’s not then/end if, while/wend and for/next. And thirdly, a number of programming editors out there support things like brace matching and auto-indenting, both of which make the life of a potential developer much easier.

So it’s all changed over and so far, no regrets.

The rest of the time was spent cleaning up, optimising and finishing off various elements. I added new loop control commands for jumping out of a loop early or moving to the next iteration (nextloop, exitloop and reloop). I added a new function to the variant object that lets you explicitly create a reference to the specified variable. I cleaned up all the error messages, so that they clearly stated which line the error was on and made sure that whether the error is coming from Bearscript or Perl, the format is consistent. I started making sure that the language was case-insensitive, so X and x were the same variable and output and OUTPUT were the same command. And finally I updated the documentation to take all these changes into account, as well as adding some new examples.

Still plenty documentation to write, but I’m really struggling to think of anything the actual language is missing now. There’s still a couple of elements that are case-sensitive (object names and functions mostly), but every test script I’ve written so far is working as it should.

I think the plan is to complete the main Bearscript documentation before moving onto anything else, mostly so I can get the satisfaction of having something finished.

Tuesday, August 10th 2004 at 10:56 pm / General / Permalink / Post Comment »

Who?

I am Richard Smith, part time genius, full time procrastinator. I make my bed in Hamilton, Scotland, from where I cast my eye over the Internet like a king surveying his land.

Recent Purchases

Burnout Paradise (Xbox 360)
Programming Collective Intelligence: Building Smart Web 2.0 Applications
Join With Us (Special Edition)
Philex - HDMI Cable For HD Ready TV's - 1 Metre
Joytech HDMI Tri-Link Switcher (PS3)
Philips DVP5960 - Multi-Region Capable DVD Player With HDMI And Upscaling To 1080i - Black
Logitech Harmony 555 Universal Remote Control
Philips Nivea Coolskin HS8060 Moisturizing Rotary Shaving System
Apple I Replica Creation: Back to the Garage

Twitter

    All content is (c) Copyright 2003-2008 Richard Smith. This is where it ends.
    RSS Feed / Comments Feed