Log in

No account? Create an account
bradbev [entries|archive|friends|userinfo]

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Nearly Xmas!! [Dec. 12th, 2005|02:44 pm]
Time for another update. I'm pretty slack, so I'll just take the time to say "Merry Xmas!", because knowing me I won't post again before the big fella in the red suit arrives.
Isis and I are trying to go boarding every weekend, and so far we are 4 times in the past 5 weeks. The last couple of times we went to Willamette pass (willamettepass.com), smaller ski field than Mt Hood, but a lot less people and easier for us to get to. I'm pretty happy on Green runs now and Isis has enough board control that she can get down a Green run at a speed she is happy with. Lots of fun! We have one more weekend to practice before we head to Canada and Whistler Mountain for Xmas with Isis' Canadian relatives.

Sigh, nothing too bad, but nothing too good. At least it is nearly Christmas.

Still playing with Lisp. This language really is different. Normally when I pick up a new language, I read some documentation, write a few trivial examples and then throw myself into a project that is somewhat graphical in nature. Not so with Lisp, mostly because I really don't feel like I have enough understanding to create a decent Lisp program. I look at some of the code posted to c.l.l, and my mind boggles.
I am also frustrated that the best Lisp development environment is Emacs + Slime, I like Vim damnit. I've discovered a few techniques that are making me somewhat productive, but I am having to debug printf style for the most part. The good thing is that I am doing very little debugging, I can test snippets of code very easily, run them in the Lisp (SCBL to be exact) image and know that for the most part they work.
To learn Lisp better I am writing a Vim clone. I started using Ltk (a Lisp binding to Tk), and had a passable prototype quickly. It was dog slow though, mostly because of me. Profiling the code showed that huge amounts of time were being spent in low-level SBCL string functions, it took me a while to understand why.
I was repainting the screen at every character press - this is slow, but hey nothing compared to rendering Open GL scenes at 60 fps - the way that the Ltk binding sends commands to Tk is via a text stream pipe to a Tk interpreter, which results in a lot of created strings & a lot of data transfer.
I decided to give up on Ltk rather than optimise the string passing, after all Ltk was never my prefered target front-end, a simple text ncurses interface was.
So back to cl-ncurses. Which promptly blew up on my new SBCL install for reasons unknown. Generally the code in cl-ncurses is fine, but there are some nasties, for example, to access C macros (getyx), the author created a C file with functions that simply wrapped the macros. The C file needs to be compiled by the system's C compiler, which means that cl-ncurses needs to be explicitly aware of different platform specific details such as what compiler to use. Ick.
So I looked at Verrazano, which automatically generates bindings from C/C++ headers. In general this is a good idea, because you can track the latest C headers by just rerunning VZN over them. Contrast this to cl-ncurses that was finished in 2004 and hasn't tracked ncurses changes since.
VZN is very good, not quite there yet, but I learned a lot about Lisp libraries & how to install them by installing VZN's dependancies. It is actually pretty easy, I'll have to write about it.

I also posted an idea to cll about forming CL Janitors (now CL Gardeners), which is a project where a bunch of newbs like me can help CL in general by doing some clean up work.

Got to run, laters!!
Happy New Year.
link1 comment|post comment

Updates [Nov. 23rd, 2005|08:37 am]
As usual, it has been a very long time since I posted anything - 4 months in fact.
Personal life:
Isis and I are still having a ball in the US of A, we have been tooling around Oregon a bit, and went to Bend last weekend. Bend is a pretty cool town, I think we'll probably go back there at some stage. We wandered around Smith Rock and were impressed. The weather has been getting colder here, and frankly it is about time - although having two summers is very nice, I was ready for a change in the weather. There was a big ski sale a couple of months ago and we bought all snowboarding gear for the both of us. We've never snowboarded before... Luckily, we got some good snow two weeks ago and my friend Chris took us boarding, he's been doing it for years and gave us all the tips we needed to get started. We learned on a perfect day & both picked it up pretty well, managing runs down the bunny slope without falling! It is a ton of fun and we can't wait for the next good snow day.

Work life:
Things are going well, getting near shipping quality so there is a little less to do.

Geek life:
I am now typing 100% Dvorak, I don't think that my speed is as fast for raw typing as Qwerty, but to be honest most of my time I use Vim to edit code & there is less actual typing when you edit. I am just as fast using Vim now as I was with Qwerty. My Qwerty skills have gone out the window - I can still type on those keyboards but I need to look at the keys. I think that if I had to do a lot of actual typing, I would quickly increase my Dvorak speed.
I am also learning Lisp. Yes, you read correctly, Lisp. It is a strange beast with many tricks, but so far I think that when I learn these tricks I will appreciate the language.
So what are my impressions?
- I am learning a lot about programming. I consider myself an expert level C coder, and most of the languages I have since learned can quite simply be thought of in C terms. Lisp has parts that are so far left feild of C that it hurts my head.
- Dynamic typing and garbage collection are good. You type less characters with dynamic typing, your code is more flexible and faster to write.
- (The parentheses aren't too much of a hassle)
- Prefix notation is fine, but tough to get used to for arithmetic operators, I always think "a + b" start typing a, need to backup and type (+, then go to the end and type b. This is probably just habit though.
- I find myself building small and simple functions that I would just type inline in C. I think the reason is that the typing cost for creating a function is low, eg

float sqr (float x) {
return x * x;
(defun sqr (x)
(* x x))

A trivial example, but the idea extends. So I have many small functions which get called.
- Some of my code looks really really pretty, some looks ugly. I'm going to refactor the ugly stuff.
- Emacs is the preferred editor. Ugg. I am writing a Vim clone in Lisp that maybe will turn into a decent Lisp IDE.

Generally I like Lisp, try it out!!
link2 comments|post comment

WOOOOHAAA [Aug. 6th, 2005|08:55 am]
[mood |excitedexcited]

Woohoo, so many things!!
First - My job has been approved, I am now officially working in the USA for longer than just a couple of months!! So we're gonna be here for a while.

Second - Isis and I are getting married today! We have been together for over 7 years, engaged for 3-4 and owned a house for 1. So maybe it was about time really :)
Our friend Rob (from NZ) has driven down from Seattle, and Isis' aunt and cousin have flown in from Vancouver BC for the big day.
link1 comment|post comment

(no subject) [Jul. 27th, 2005|08:37 am]
Looks like that permanent job is looking pretty good... can't post anything concrete yet - but I've been told things that make me smile.

On coding:
C/C++ String handling absolutely blows ass. I'm writing a small app, absolutely tiny to use during production testing. Some parts of it want to be configurable, so I figured a small .ini file of the form
- indicates the line is a comment
key value
key and value are single words only.

You'd think it would be easy. So I started writing a simple tokenizer class last night. This morning I remembered the strtok() function (actually I'll use wcstok()), which I am going to use instead. But think of the inefficiency!!
D's string handling is the bomb in comparison.

Also I am trying to type 50/50 dvorak/qwerty. I now make more mistakes typing qwerty & type really slow with Dvorak - yay! Maybe I should just bite the bullet and switch to Dvorak 100% & concentrate on improving my speed. I do like Dvorak better, I think it has noticably less stress on my hands.
link2 comments|post comment

(no subject) [Jul. 15th, 2005|01:42 pm]
[mood |chipperchipper]
[music |snif, I have no iPod]

I haven't written here in ages, though I am going to try to do it more often. Don't expect actual content though - that would be too much to ask for.

Isis and I are in the USA now, small town called Corvallis. Just have to get a permanent job now...
linkpost comment

Movin' on [Mar. 7th, 2005|09:39 pm]
[mood |excitedexcited]

We are MOVING. Isis and I quit our jobs today. I've been offered a job in Corvallis, Oregon and we've decided to take it.
Couple of months and we're outta here!
linkpost comment

Still busy [Sep. 13th, 2004|10:31 pm]
Work is still busy, and it seems like the only thing that I write about here.
We finished painting our hallway this weekend. Can you say YELLOW.

Who am I kidding - nobody reads this :)
linkpost comment

Argh deadlines! [Aug. 25th, 2004|08:25 pm]
[mood |busy]

Work is busy busy busy!! It's as if we have a million things on all at once. It's good really, but I am spending longer hours here than my old job, and I am coming home totally drained.
I'm reading "The Lair of Bones" by David Farland. It's the fourth book in the Runelords series - and I likes it!
linkpost comment

Long time since my last blog [Aug. 22nd, 2004|12:01 am]
It has been ages since I blogged. Work has been really enjoyable - the amount of variety that I get working for a consulting firm is way higher than working on a single project for a large corp.
I'm also really enjoying working primarily in a Linux development environment, the only time I've had to reset my computer has been lately when I've been developing a linux driver, and making a bit of a mess of it :)
I've also been playing with the D programming language, it is sooo nice. I really don't want to have to use a C++ compiler ever again, and I'm going to try to avoid C++ as much as possible outside of work time.
linkpost comment

New job, fun! [May. 25th, 2004|08:32 pm]
I think I am going to enjoy my new job quite a bit. I get a nice window overlooking the city centre from the 17th floor :)
Working for a small company is looking to be very different to a large company. There is a feeling that the things you do (or don't do) will have a large effect on the state of the place & therefore your job. A large company feels like it will be there forever & there will always be a pay cheque.
Anyhow, there is lots of cool chunks of hardware around the place to play with - TOYS!
linkpost comment

[ viewing | most recent entries ]
[ go | earlier ]