Tuesday, April 22, 2008

Just a quick note on Zope3:

I'm used to Django as a web framework, and I just wanted to try out Zope quickly, just to see what it's all about. Immediately I have issues. Firstly, they want me to use python 2.4.3, but that makes sense, considering I'm using the latest public release, which was January of 2007.

Secondly; configure.zcml wasn't set up right by default. Following tutorials, I was just supposed to install Zope, make an instance, and do a runzope. When I did the ./runzope, I got a bunch of angry errors about configure.zcml. What's a .zcml file? Now I know, but in all the beginner tutorials, I didn't see any mentioning of editing any config files, or doing anything with .zcml files. Very upsetting. Anyway, if you have that weird issue, just stick this in your configure.zcml:


<configure xmlns="http://namespaces.zope.org/zope">
<include package="zope.annotation" />
</configure>


So yeah. fun. hurray. whee. now it works.

Sunday, April 20, 2008

New Stuff

Well, much has definitely happened since the last post. I'm definitely becoming less of a n00b. perhaps more about that later. but now the reason for this post:

I'm testing out a new keyboard:) At work, I use two keyboards (yes, I know I'm odd). I dual-screen, with one hand on the laptop keyboard, the other hand on a USB connected keyboard. I do this for comfort; my hands and arms are in a natural position, instead of all tensed up. But now that I'm leaving work and heading back to school, I need a new battle plan. I won't be dual-screening, so using two keyboards would be really awkward and uncomfortable.

Deathly afraid of getting carpal tunnel, I opted to buy an ergonomic keyboard. The winning feature: a split keyboard. The problem with real split keyboards is that they're MAD EXPENSIVE. It's $140USD for the Freestyle with 20 inches of keyboard separation. I have to pay 40 bucks more for 12 inches of cable? To hell with you. 20 inches doesn't even offer me enough freedom. Goddamned wires.

Anyway, I got the Microsoft Natural Keyboard 4000 (4000 because they clearly made 3999 keyboard models preceding this one). I got it for 56 bucks. dead cheap. It's awesome, and the special function keys will work with Ubuntu if I hack on it enough, but I'll wait for Hardy Heron to be released. Apparently upgrading my kernel might help solve some problems.

Speaking of problems, there is ONE big thing that is bothersome about this keyboard. Highly, disgustingly irritating, as a matter of fact. It's the space bar. IT CLACKS. VERY, VERY LOUDLY. All the other keys are nice and muted, but the space bar feels like one of the old-school keyboards I used 10 years ago. That's no compliment. It's (pardon my colorful language) FUCKING ANNOYING.

The underside of the space bar is now full of kleenex. That'll work for now.

Sunday, February 10, 2008

Hints for Installing MySQL (Community Server) on Ubuntu:

Let Synaptic Package Manager do all the work.

Seriously. Just select mysql-server-(version) and mysql-client and it tells you what other packages need to be installed with them.

The first time I installed it through the terminal, all was good, and then I stupidly went ahead and uninstalled it afterwards, because I thought I misconfigured it, but turns out it was just missing a library (oops). Anyway, this time I used the Package Manager, and everything was less of a headache. I usually subscribe to the view that letting programs do things that you're perfectly capable of doing for yourself end in bad ways, but this was quite dead simple. Hurray for idiocy!

Friday, January 25, 2008

Possibility

Seeing that I have all this time this weekend, I think I'll finally start working on a bit of web app design. I definitely need to start doing some more programming or development at home, but there are so many other things to do too! And also, exhaustion after work never helps either....

But with the joy of Jpop and the intensity of metal, I shall prevail!

(though, probably not.)

Sunday, January 20, 2008

The End of a Meaningless Era

January 11th, 2007: The birth of Ubuntu Gusty Gibbon on my laptop. Instead of dual booting, I gave a half-hearted wave to Windows XP and dedicated my whole hard disk to Ubuntu. And my god, am I happy. No more hangs, when one program stalls, the others still run at regular speed. MY COMPUTER IS MAKING HAPPY SOUNDS (which means that just the fan is audible; hence no more grunts and grinding all the time). Sure it doesn't have the same robust software, and all the games found on Windows, but I've no need for either of those.

I forgot the name of the system that ties all of Windows' processes together, but that is the main reason of why I'm happy about the switch. Due to Windows' process management system, CPU dedication is given to the most "important" processes, and if they hang, so does everything else since all the processes are linked together. This is the fundamental flaw with Windows and it renders it completely inferior to popular UNIX based OS's. On Ubuntu, I've already had hangs with Firefox and Rhythmbox, but ALL OTHER PROCESSES RAN AT THE SAME SPEED. And I can easily kill the stopped programs in the terminal. In Windows, on the other hand, if Firefox froze, I'd have to kill it several times (for baffling, unknown reasons) and it usually resulted in system restarts. Anyway, due to that reason, I can't go back to Windows. Not until they change their process management...

By the way, for those who think computer crashes are normal:

They aren't. Reformat (if you really really love Windows or something), or just switch teams. Um... operating system teams, I mean. EXPLORE YOUR OPTIONS. Plus, you can always dual boot (unless you hit unresolvable errors;) but reformatting would help that)

If Windows works for you, great; it's all about what works. But certainly for me, this is one decision I truly wish I made sooner.

Moving on...

In other news, I attended the last day CUSEC 2008 (Canadian Undergraduate Software Engineering ...Convention?), which was fun and I got some interesting looks into different programming usage, but one talk I did appreciate the talk by CodingHorror.com's Jeff Atwood. He talked about the importance of writing about code instead of just coding, and putting importance on communication for computer science/software engineering students. I really find that to be a key issue, and kind of reminded me to start writing this blog again.

His points also reminding me that isn't about whose code is better, but whose code is most useful. Being in CS, we're told that optimization is key, but is it really? I think I'm better suited for software engineering if that's the case. Optimization is surely important and needed, but as CS students, we absolutely need to see the greater architecture of the software as a whole, and not just the code.

Saturday, January 5, 2008

Those who can't do, teach.

And so my fate has been temporarily decided: If I enjoy programming enough, and find myself useful to others and what not, I shall set out in the job field in computer science. If not, I shall pursue higher studies with QUANTUMMMMMMMMM COMPUTTTTTTINGGGGGGG (reverb). That stuff sounds intense, and it's what the career advisors should have told me about before, as it combines so many fields I'm interested in. But moving a long to the main point:

I'm not an expert, but I am definitely considering writing an Intro to Programming/Programming Principles book. In Python. FOR THE MASSES. Why? Because computers shouldn't be so baffling to people (see The Daily WTF). Java, C++ (C especially), is complete gibberish to most people. What's a pointer? What's a variable? What... what... is that #! Q-Bert swear word doing there?!

Screw that stuff, it shouldn't be, and now isn't, that hard. We'll see how hard it is to explain when I start penning it down...

Saturday, December 29, 2007

The Revival

Alrighty, long hiatus. I lost interest, and life got very, very busy.

Things that have happened as time elapsed:
  1. Spent the entire summer puttering around at work, running tests, doing tests, writing documents, working hard. I learned a lot about Q/A testing, web frameworks, and how Java based software should definitely be avoided unless you have a terabyte of RAM, and God's brain as a processor.
  2. Spent all that free time after work NOT learning C++ as planned, but rather, puttering around with friends. Definitely had some fun times. Ate at great restaurants, but alas, there is very little fun to be had in the city of Toronto (in comparison to the great city of Montreal!;))
  3. Finished my work term, had the option of coming back on my next work term. I had to think hard about it, and I was really scared of saying no. I liked working there, but I thought it was time to challenge myself and try out for software developer positions. So after long debate, I declined their offer, and set out on a different path. While back at school, I had about 10-14 personal/group/phone interviews with many companies. I totally, completely embarrassed myself in one of them. This particular one was with a great, huge, well-known employer, offering about 20-30$/hr USD. I didn't know it was a technical interview, so I hadn't prepared, and I completely forgot...EVERYTHING. "In Java, how do you implement a linked list?" UMMM... shit. Having done nothing but testing that summer, I completely forgot the most basic syntactical rules and basic data structures. Then I was asked to implement something with recursion. Oh, it was all fine and dandy till i realized that, OOPS, I didn't end up making a recursive method at all, but just a regular stupid o(n^2) method. Oyyyy. Anyway, I learned from that and the next interviews were much better. I landed a job as a Python programmer. Now, if only I knew Python...
  4. The study term ended with complete shit marks. Totally my fault. I took a much too heavy course load, mixed in with a lot of nothing, emotional distress and fooling around. Now, learning Python (which, by the way, is AMAZING and everyone should learn it. Especially beginners; it's quick, intuitive, clean, and beautiful) and other stuff.
Now, I'm busying myself with preparations for the new work term! Hopefully, I won't be useless. That's my major fear. Being a n00b and getting this kind of a position kind of REALLY scares me, but you know... my employers seem really cool. I hope I don't let them down!

NB: I can't dual boot Linux and Windows for the life of me. After defragmenting, there's some weird system error that refuses to let me partition. Now, I have to settle for VMware until I can resolve this. But god, my computer is seemingly too slow for VMware...