I've been following the steps outlined on Patrice Mandin's site to set up a cross-compiling version of gcc-3.3.3 that will produce outputs for the m68k-atari-mint target. I'm not running MiNT, but this seems to be the closest thing to building an Atari TOS compatible binary.
What I don't understand is the amount of work necessary to do so. I first have to compile an oldish binutils with a native x86 linux target, then start using that binutils to build the same version of binutils, this time for the 68k Atari target... then build the entire gcc-3.3.3 for x86, and then again for 68k. Jesus.
I thought the whole idea of a modular compiler design was that it wouldn't cost too much to implement a new target machine - just a separate backend that can be plugged into your existing compiler, that accepts intermediate representation code from the frontend and produces assembly specific to the target machine which it can assemble and link.
So why do I have to recompile binutils and the entire gcc twice each? This doesn't seem right.
But then, I don't know much at all about gcc - perhaps there are other, much easier ways of accomplishing the same goal.
Please comment if you know anything about adding new backends to gcc!
Sunday, May 27, 2007
Saturday, May 12, 2007
Postscript looking manky?
Since I got my nice new cheapo network laser printer set up in Linux and Windows, I've noticed a problem when printing some Postscript documents from Linux. The pages will look fine on screen, but some fonts won't be sent to the printer (or something) and it will use a proportional font (e.g. Helvetica)'s character spacing with Courier instead, a fixed font, which results in totally uneven and sometimes overlapping characters horizontally. I read somewhere that Ghostscript has much more fonts than Postscript, so perhaps not all the font data is being sent to the printer and this is the problem.
I scratched my head for a while, trying different viewers and the like, but eventually stumbled, completely accidentally on a fix which works for me, although results in massive bloat:
Run ps2ps on the postscript file. This is supposed to 'optimise' the postscript file somehow, but so far has resulted in them increasing in size for me, and looking weird on screen... however, the printer output is absolutely spot on. It just seems to convert everything into image data... which is a lame fix, but suits me for printing.
I'd appreciate it if anyone else knows more about this and maybe a better solution!
I scratched my head for a while, trying different viewers and the like, but eventually stumbled, completely accidentally on a fix which works for me, although results in massive bloat:
Run ps2ps on the postscript file. This is supposed to 'optimise' the postscript file somehow, but so far has resulted in them increasing in size for me, and looking weird on screen... however, the printer output is absolutely spot on. It just seems to convert everything into image data... which is a lame fix, but suits me for printing.
I'd appreciate it if anyone else knows more about this and maybe a better solution!
Tuesday, May 08, 2007
more exams
Another set of exams coming up. This time, I think I'll fall back on the tactics I used in 2nd and 3rd year - just reading as much as possible, then using mnemonics to memorise lists of keywords to remind me of notable elements in each subject.
I'm not sure if I'll use Pauker at all for this - my exam performance in semester one this year was much worse than last year (68% average compared to 81%...??), probably because I was biting off too much to chew. The flashcards route needs more experimentation for general study.
Anyway, this time there are only three exams, one of which (Compiler Construction 2) is almost a gimme (although I thought its predecessor was a great exam and only ended up getting 63% or something on the paper, so I'll have to be wary), one of which should be alright given a bit of care and attention (Real-time Embedded) and one of which will require a bit more work since it's so bloody abstract (Z).
That said, JM seems really decent so I don't think he'll fuck us over on the exam.
Just have to stop procrastinating now...
I'm not sure if I'll use Pauker at all for this - my exam performance in semester one this year was much worse than last year (68% average compared to 81%...??), probably because I was biting off too much to chew. The flashcards route needs more experimentation for general study.
Anyway, this time there are only three exams, one of which (Compiler Construction 2) is almost a gimme (although I thought its predecessor was a great exam and only ended up getting 63% or something on the paper, so I'll have to be wary), one of which should be alright given a bit of care and attention (Real-time Embedded) and one of which will require a bit more work since it's so bloody abstract (Z).
That said, JM seems really decent so I don't think he'll fuck us over on the exam.
Just have to stop procrastinating now...
Friday, May 04, 2007
birthday +/-
Had a nice birthday yesterday, to a large extent because I finished and submitted my project documentation (on time). Looked pretty good too.
Then balanced it out by having a massive row today... logically.
Also, when I got home yesterday evening, my Firefox 2 had somehow lost the session with about 20 tabs open... which was frustrating, so I gave Opera a go... seems so much better than Firefox - much smaller memory/CPU footprint and faster response times, as well as some handy mouse gestures and that speed dial thing. It's pretty impressive! And looks like it works fine with SCIM...: 我想吃一点人东西。
Then balanced it out by having a massive row today... logically.
Also, when I got home yesterday evening, my Firefox 2 had somehow lost the session with about 20 tabs open... which was frustrating, so I gave Opera a go... seems so much better than Firefox - much smaller memory/CPU footprint and faster response times, as well as some handy mouse gestures and that speed dial thing. It's pretty impressive! And looks like it works fine with SCIM...: 我想吃一点人东西。
Wednesday, May 02, 2007
finally some improvement!
I had an epiphany (love that word) last night while trying to sleep, and came upon an idea that seems incredibly obvious now, so I guess I was stuck in a mental rut for a while. Need to raise the temperature when that happens, or something...
Anyway, my agent was spending all its time choosing illegal moves and being punished by the environment which trivially rejected those moves until it returned a valid one. However, since I'm using a neural network as a function approximator for the TD(λ) agent, making 1000 illegal moves followed by one valid one isn't a great way to learn - the backpropagation for the many illegal moves not only slows the whole thing down, but much worse, it results in so much network noise that the reward for a good move seems to get drowned out, as one of my lecturers in DCU helpfully pointed out a few days ago.
So last night I realised that not only was training on illegal moves a waste of time, but more importantly, since illegal moves are well-defined, I could just have the environment tell the learning agent which moves are legal (by passing in an array of booleans, one for each action... false for illegal and true for legal). Then the agent devalues the illegal moves and pays attention to the valid moves instead... although this could have been implemented better. In fact, everything could do with a lot of refactoring - it's too coupled to add proper unit tests for some of the behaviour.
Anyway, I implemented this and now the agents train against each other at a rate of almost one game per second on my machine. Not blazingly fast, but enough to get the following modest result in enough time to do a demo hopefully:
score before training: 76%
score after training: 88%
Success: 22 tests passed.
Test time: 886.09 seconds.
That was for 100 evaluation games against two random players, followed by 500 training games against other TD(λ) players, followed by another 100 evaluation games against randomers. It's probably not totally accurate as it's learning even against the first random player, and also because random players don't play to win, so it's almost a different game!
Still, it's an encouraging result... actually the first encouraging result. Bit of a happy birthday present really...
Anyway, my agent was spending all its time choosing illegal moves and being punished by the environment which trivially rejected those moves until it returned a valid one. However, since I'm using a neural network as a function approximator for the TD(λ) agent, making 1000 illegal moves followed by one valid one isn't a great way to learn - the backpropagation for the many illegal moves not only slows the whole thing down, but much worse, it results in so much network noise that the reward for a good move seems to get drowned out, as one of my lecturers in DCU helpfully pointed out a few days ago.
So last night I realised that not only was training on illegal moves a waste of time, but more importantly, since illegal moves are well-defined, I could just have the environment tell the learning agent which moves are legal (by passing in an array of booleans, one for each action... false for illegal and true for legal). Then the agent devalues the illegal moves and pays attention to the valid moves instead... although this could have been implemented better. In fact, everything could do with a lot of refactoring - it's too coupled to add proper unit tests for some of the behaviour.
Anyway, I implemented this and now the agents train against each other at a rate of almost one game per second on my machine. Not blazingly fast, but enough to get the following modest result in enough time to do a demo hopefully:
score before training: 76%
score after training: 88%
Success: 22 tests passed.
Test time: 886.09 seconds.
That was for 100 evaluation games against two random players, followed by 500 training games against other TD(λ) players, followed by another 100 evaluation games against randomers. It's probably not totally accurate as it's learning even against the first random player, and also because random players don't play to win, so it's almost a different game!
Still, it's an encouraging result... actually the first encouraging result. Bit of a happy birthday present really...
Wednesday, April 25, 2007
boltzmann in action selection
I've been replicating across some of the functionality of my TD(lambda) bridge player project into Java to test in Tyrrell's world. Last night, I fixed a kind of obvious bug that had slipped me for a week or so and made it work hopefully properly, at least for the TD(0) case.
The performance in Tyrrell's world wasn't all that great though, so I started decreasing the softmax temperature parameter to make it a bit more greedy... here's an interesting result:
with temperature ~=0.8:
Steps: 255 Sexed: 0
Steps: 11 Sexed: 0
Steps: 263 Sexed: 0
Steps: 274 Sexed: 0
Steps: 211 Sexed: 0
Steps: 257 Sexed: 0
Steps: 253 Sexed: 0
Steps: 251 Sexed: 0
Steps: 254 Sexed: 0
Steps: 307 Sexed: 0
Steps: 428 Sexed: 0
with temperature=0.14:
Steps: 391 Sexed: 0
Steps: 392 Sexed: 0
Steps: 393 Sexed: 0
Steps: 393 Sexed: 0
Steps: 392 Sexed: 0
Steps: 391 Sexed: 0
Steps: 394 Sexed: 0
Steps: 391 Sexed: 0
Steps: 394 Sexed: 0
Steps: 391 Sexed: 0
Steps: 392 Sexed: 0
Steps: 393 Sexed: 0
I'd have thought survivability was random if you did practically nothing, but I guess not? Anyway, that's obviously a bit too low.
The performance in Tyrrell's world wasn't all that great though, so I started decreasing the softmax temperature parameter to make it a bit more greedy... here's an interesting result:
with temperature ~=0.8:
Steps: 255 Sexed: 0
Steps: 11 Sexed: 0
Steps: 263 Sexed: 0
Steps: 274 Sexed: 0
Steps: 211 Sexed: 0
Steps: 257 Sexed: 0
Steps: 253 Sexed: 0
Steps: 251 Sexed: 0
Steps: 254 Sexed: 0
Steps: 307 Sexed: 0
Steps: 428 Sexed: 0
with temperature=0.14:
Steps: 391 Sexed: 0
Steps: 392 Sexed: 0
Steps: 393 Sexed: 0
Steps: 393 Sexed: 0
Steps: 392 Sexed: 0
Steps: 391 Sexed: 0
Steps: 394 Sexed: 0
Steps: 391 Sexed: 0
Steps: 394 Sexed: 0
Steps: 391 Sexed: 0
Steps: 392 Sexed: 0
Steps: 393 Sexed: 0
I'd have thought survivability was random if you did practically nothing, but I guess not? Anyway, that's obviously a bit too low.
Monday, April 23, 2007
MiniJavaBackend
Well, that was one hoor of an assignment. We were basically given a month's extension - I had it practically finished except for the extra CALL tile handling - function prologue (callee-save and copying formals) and epilogue (restoring callee-saves and setting up return value) when it was originally due, and left it on hold until a few days ago.
Actually getting CALL working even half-properly was a total headwrecker. The documentation was shit, and there are still unexplained issues that I don't understand - for one, incoming parameters get copied into temporaries that are never referenced... instead, what look like older temporaries are used. Sob.
Actually getting CALL working even half-properly was a total headwrecker. The documentation was shit, and there are still unexplained issues that I don't understand - for one, incoming parameters get copied into temporaries that are never referenced... instead, what look like older temporaries are used. Sob.
Monday, April 16, 2007
czt -> community Z tools
Here's a tip for anyone who needs to put a Z specification together quickly.
Never, ever, ever, ever, EVER use CZT. It is the most frustrating, dog-slow piece of shit software package I have used in my life, without exaggeration. With jEdit it's just unstable and crashy enough to warn the user away immediately.
As a plugin for Eclipse, it starts out nice, then after about one page of simple Z schemas, it parses the buffer repeatedly on every single keystroke, even if you tell it not to in the configuration page. It throws syntax errors on things that look right according to any examples of Z I have ((i,j) of a natural x natural type referenced in an axiomatic definition).
It started out in a promising fashion, and the output through latex looks nice, but now I'm in a position where I don't understand the errors it's giving me (after the unbelievable 3 minute delay every time I make a change (ie: hit some keys)) so I can't even convert what I have to tex and work on that directly - I have to delete all of the code that causes errors as quickly as possible so it will parse the buffer successfully.
Never, ever touch this stinking pile of pain. It's just not worth it.
Never, ever, ever, ever, EVER use CZT. It is the most frustrating, dog-slow piece of shit software package I have used in my life, without exaggeration. With jEdit it's just unstable and crashy enough to warn the user away immediately.
As a plugin for Eclipse, it starts out nice, then after about one page of simple Z schemas, it parses the buffer repeatedly on every single keystroke, even if you tell it not to in the configuration page. It throws syntax errors on things that look right according to any examples of Z I have ((i,j) of a natural x natural type referenced in an axiomatic definition).
It started out in a promising fashion, and the output through latex looks nice, but now I'm in a position where I don't understand the errors it's giving me (after the unbelievable 3 minute delay every time I make a change (ie: hit some keys)) so I can't even convert what I have to tex and work on that directly - I have to delete all of the code that causes errors as quickly as possible so it will parse the buffer successfully.
Never, ever touch this stinking pile of pain. It's just not worth it.
Saturday, April 14, 2007
reinforcement learning with function approximation
This is much harder than I thought. I've got a series of tests (not very modular at all - they're split into only two source files and cover test-first unit tests and empirical performance measures) which examine the components of the system in some way... the neural network seems to be functioning reasonably, although it's less accurate than I'd expected for pure numeric output, unless I format the output as a binary string again... annoying.
Not sure now whether to have the TD net represent its estimated values like this or keep it as an expanded sigmoid for now.
Here's its performance just now on a 30-room random walk test - there are two actions: 0 is left and 1 is right. All rewards are 0 except when entering the terminal state (furthest room to the right) which gives a reward of +100. I kind of expected much better performance ages ago, but I guess it's harder to get these systems right than I thought. Although it completes the task in 15 moves a few times (the minimum amount), it often goes wrong.
I'm thinking the next step is to implement a softmax action selection method and maybe another test.. or, I dunno, actually carry on with the functional requirements of the thing. Time runneth short.
Not sure now whether to have the TD net represent its estimated values like this or keep it as an expanded sigmoid for now.
Here's its performance just now on a 30-room random walk test - there are two actions: 0 is left and 1 is right. All rewards are 0 except when entering the terminal state (furthest room to the right) which gives a reward of +100. I kind of expected much better performance ages ago, but I guess it's harder to get these systems right than I thought. Although it completes the task in 15 moves a few times (the minimum amount), it often goes wrong.
learningRate: 0.5Sometimes it gets stuck in some weird state (local optima?) and never really learns anything. At this point, the action selection policy is just the action with the best estimated value unless the two actions appear worth the same, in which case it's a 50/50 tossup, or the epsilon-greedy function chooses a random action with probability 0.08.
steps taken on run 0: 697556
action 0 chosen: 91.2195%, action 1 chosen 8.78051%
steps taken on run 1: 67
action 0 chosen: 38.806%, action 1 chosen 61.194%
steps taken on run 2: 99
action 0 chosen: 42.4242%, action 1 chosen 57.5758%
steps taken on run 3: 121
action 0 chosen: 43.8017%, action 1 chosen 56.1983%
steps taken on run 4: 115
action 0 chosen: 43.4783%, action 1 chosen 56.5217%
steps taken on run 5: 27
action 0 chosen: 22.2222%, action 1 chosen 77.7778%
steps taken on run 6: 15
action 0 chosen: 0%, action 1 chosen 100%
steps taken on run 7: 35
action 0 chosen: 28.5714%, action 1 chosen 71.4286%
steps taken on run 8: 19
action 0 chosen: 10.5263%, action 1 chosen 89.4737%
steps taken on run 9: 17
action 0 chosen: 5.88235%, action 1 chosen 94.1176%
steps taken on run 10: 17
action 0 chosen: 5.88235%, action 1 chosen 94.1176%
steps taken on run 11: 15
action 0 chosen: 0%, action 1 chosen 100%
steps taken on run 12: 15
action 0 chosen: 0%, action 1 chosen 100%
I'm thinking the next step is to implement a softmax action selection method and maybe another test.. or, I dunno, actually carry on with the functional requirements of the thing. Time runneth short.
Tuesday, April 10, 2007
Bin Ankh
Japan, America and pacifism
Tangentially, tacked on to this post about consumer robotics in Japan is a very interesting discussion on the degree of pacifism in Japan since WWII, movements (or lack thereof) of American politics over the last 50 years and wherever the rambling trail leads. Read it!
Sunday, April 08, 2007
software for truly lame people: WhiteSmoke
I got an ad from FreshDevices in my email today, and instead of deleting it like 99.9% of the other ones, I had a look and saw mention of a program called WhiteSmoke.
The ad text read:
This premise raised my ire pre-emptively, since if the "simple" English sentences communicate the correct meaning, surely making them artificially "more sophisticated" is either distorting the meaning or at best, fluffing out concise text with superfluous padding. In a sense, de-optimising the text.
So I had a look at the site and found pretty much what I expected.
Before:
He was very interested in our product line, however, he has some issues with our priceing.
After:
He was very interested in our innovative product line, however, he has some significant issues with our pricing.
How does it know whether the product line is innovative, and is it even relevant? Obviously the assumption is that you would always refer to your products as "innovative" whether it is or not, but this just makes the word optional and eliminatable (okay, that's probably not a word, but it should be...).
Ignoring the fact that it corrects the obvious typo in "pricing" (which should be done by another single-purpose tool anyway) it also adds the modifier "significant". This is all clearly in the name of making simple text sound more formal and "clever", but I have two issues with this:
a) People should be able to do it themselves without changing the meaning inappropriately
b) This clearly changes the meaning inappropriately.
If someone doesn't speak enough English to write in an academic tone, they can get by with what they have and use a dictionary/thesaurus to get the meaning across. And a native English speaker has absolutely no excuse to even consider using this thing. Using an automated tool to make your writing look "clever" is the very opposite of clever. It's akin to having a voice filter on your phone that transforms your speech into a different accent (Cockney Skank to marbles-in-the-mouth Rupert). The whole concept is utterly lame and anyone caught buying such a tool should be whipped. Whipped!
The ad text read:
Write like an English pro using this software. With full-text analysis solution, convert simple English sentences to become more sophisticated automatically.
This premise raised my ire pre-emptively, since if the "simple" English sentences communicate the correct meaning, surely making them artificially "more sophisticated" is either distorting the meaning or at best, fluffing out concise text with superfluous padding. In a sense, de-optimising the text.
So I had a look at the site and found pretty much what I expected.
Before:
He was very interested in our product line, however, he has some issues with our priceing.
After:
He was very interested in our innovative product line, however, he has some significant issues with our pricing.
How does it know whether the product line is innovative, and is it even relevant? Obviously the assumption is that you would always refer to your products as "innovative" whether it is or not, but this just makes the word optional and eliminatable (okay, that's probably not a word, but it should be...).
Ignoring the fact that it corrects the obvious typo in "pricing" (which should be done by another single-purpose tool anyway) it also adds the modifier "significant". This is all clearly in the name of making simple text sound more formal and "clever", but I have two issues with this:
a) People should be able to do it themselves without changing the meaning inappropriately
b) This clearly changes the meaning inappropriately.
If someone doesn't speak enough English to write in an academic tone, they can get by with what they have and use a dictionary/thesaurus to get the meaning across. And a native English speaker has absolutely no excuse to even consider using this thing. Using an automated tool to make your writing look "clever" is the very opposite of clever. It's akin to having a voice filter on your phone that transforms your speech into a different accent (Cockney Skank to marbles-in-the-mouth Rupert). The whole concept is utterly lame and anyone caught buying such a tool should be whipped. Whipped!
Monday, April 02, 2007
TD(lambda) and bridge
I've been doing another all-nighter working on my final year project - a neural-network based TD(λ) reinforcement learning bridge player... I say that, but really I've been hung up on implementing the bridge game model. It's as complex as I worried it would be - that is to say - fairly difficult. And I can't just go to sleep (unless it's for 2 hours... hmm....) as I'm due to demo something at 11:30am - 7 and a half hours from now. Eeehhhh, right. 真不好.... all I have so far is some confusing code and a limited-scope set of testcases. Sleep is sounding better and better!
Sunday, March 25, 2007
dodge this....
Apparently NASA is researching the effects of high-speed collisions of tiny meteorites on the moon's surface. The concept is pretty disturbing, since some of the rocks are travelling at up to 35 kilometres per second when they hit the ground. At those speeds, a spacesuit isn't going to stop you from being turned into a smear instantly... so how are we going to survive in space?
As NASA explains it, you might dodge a bullet but still get caught by its shrapnel. Among the questions they want to answer: Are you more likely to get cut off at the ankles by debris spattered along the horizon, or hit from above by material on high, ballistic trajectories?
Wednesday, March 21, 2007
consequences of blind faith
BBC: Indonesians jailed for beheadings
This really makes me wonder how people can possibly be that vicious and remorseless. This guy and his two friends beheaded 3 schoolgirls because they were students at a Christian school, as revenge (or something) against the Christian community for some previous violence against Muslims.
How could their made-up rubbish (religion) be more important than the lives of innocent civilians? He said at the sentencing that he didn't care about going to jail either, demonstrating a total absence of remorse.
As far as I see it, religion offers only the "blind faith" needed to murder innocents in the name of God and brotherhood. This is the same kind of conditioned psychotic mentality exhibited when fanatical Muslims burned down embassies and basically violently wrecked the place over those Muhammad cartoons. Idiots.
The old Christian phrase "love of money is the root of all evil" is inaccurate. I think the correct one should be "blind faith in religion is the root of all evil", because it allows apparently normal people to dehumanise and then horrendously butcher and murder other civilians.
This really makes me wonder how people can possibly be that vicious and remorseless. This guy and his two friends beheaded 3 schoolgirls because they were students at a Christian school, as revenge (or something) against the Christian community for some previous violence against Muslims.
How could their made-up rubbish (religion) be more important than the lives of innocent civilians? He said at the sentencing that he didn't care about going to jail either, demonstrating a total absence of remorse.
As far as I see it, religion offers only the "blind faith" needed to murder innocents in the name of God and brotherhood. This is the same kind of conditioned psychotic mentality exhibited when fanatical Muslims burned down embassies and basically violently wrecked the place over those Muhammad cartoons. Idiots.
The old Christian phrase "love of money is the root of all evil" is inaccurate. I think the correct one should be "blind faith in religion is the root of all evil", because it allows apparently normal people to dehumanise and then horrendously butcher and murder other civilians.
Friday, March 16, 2007
China's new property law
A quote from a Chinese net user on the new property law passed in this year's "National People's Congress", which turned up on the BBC's news site.
Sarcastic bastard. I love it!
"With the property law, finally, I won't be afraid of losing my bicycle. If I lose it, if it is still in China, it still belongs to me according to the law."
Sarcastic bastard. I love it!
Saturday, February 24, 2007
scim + firefox 2
Firefox 2 and 1.5 as distributed by Mozilla are linked against a different version of libstdc++ than the binary distributions of the SCIM input method. I think. Anyway, whatever way it's done, Firefox crashes immediately on startup - running it from the command line produces this output:
So it happened again today when Firefox updated itself to 2.0.0.2, and I happened upon a much nicer workaround:
This allows me to use SCIM in Firefox 2. Happy days...!
/usr/lib/firefox/run-mozilla.sh: line 131: 2198 Segmentation fault "$prog" ${1+"$@"}I encountered this problem before and worked around it by specifying xim as the GTK input method module... but this meant I couldn't use any input methods.
So it happened again today when Firefox updated itself to 2.0.0.2, and I happened upon a much nicer workaround:
sudo vim `which firefox`then add:
GTK_IM_MODULE=scim-bridgea line before "moz_pis_startstop_scripts()".
This allows me to use SCIM in Firefox 2. Happy days...!
careful now... DOH!
Hahahaha.
...
Anyway, I did pretty shit in my fourth year semester one exams - worse than any other semester since I started the course in 2003. I think my average is about 67%, but I can't be sure until I get my Cryptography assignment marked... looks like I only scored 67% on that paper as well, though. Unnnh...
It's weird - I walked out of most of the exams thinking "I nailed that!", but nope. This means I need an average of 75% or better on my three subjects and final year project to get a first class honours degree. Usually I'd say "no problem, I keel you. Badges? We don't need no steenking badges!" but after last semester I dunno what to think - seems like my level of understanding sense was pretty inaccurate...
...
Anyway, I did pretty shit in my fourth year semester one exams - worse than any other semester since I started the course in 2003. I think my average is about 67%, but I can't be sure until I get my Cryptography assignment marked... looks like I only scored 67% on that paper as well, though. Unnnh...
It's weird - I walked out of most of the exams thinking "I nailed that!", but nope. This means I need an average of 75% or better on my three subjects and final year project to get a first class honours degree. Usually I'd say "no problem, I keel you. Badges? We don't need no steenking badges!" but after last semester I dunno what to think - seems like my level of understanding sense was pretty inaccurate...
Friday, January 26, 2007
post-exam stress syndrome
After two weeks of exams and a couple of 4 hour sleep nights in a row, I guess it's natural to be absolutely exhausted. Still, I think all of them went okay except the Graphics fiasco, which was a kick in the face for a lot of us.
Still, as long as I passed it, I can hopefully make up for it with the other stuff... I keep telling myself how I'll work more efficiently in semester two. I'd better...
In other news, this is great reading. In fact all the articles are cleverly written (and where does he find the stuff..??)
Still, as long as I passed it, I can hopefully make up for it with the other stuff... I keep telling myself how I'll work more efficiently in semester two. I'd better...
In other news, this is great reading. In fact all the articles are cleverly written (and where does he find the stuff..??)
It is also important to remember that Glen and Sophie are characters in two separate productions. Hey, it's the magic of post production. Glen then sits down to talk to another new character about Sophie. This is where the seams are really starting to show, as Glen obviously is in a barracks in the middle of the jungle, while the man he is talking to is in an office, in different lighting, and in a different movie. This guy then hires someone to rescue Sophie.Brilliant.
Friday, January 19, 2007
Subscribe to:
Posts (Atom)

