Hi and welcome to my personal page where I'll post about my games, projects and other stuff in my life.

Or visit the Big Archive

February 24, 2012

Favourite Programming Language

All the programmers love to promote their favourite language, or to hate on others. Now I read a post which claimes my favourite language is not good enough! But he's correct of course, there is no one language to rule them all. You should always choose the mest language for the job, be it C or Ruby, but most don't learn enough of them. Maybe he's right, maybe we're all just lazy?

Whatever the reason I certainly have a favourite language, or rather a few. If I would have to name one I would probably say Perl, just because I've had the most fun with it! I do enjoy C++ and as I've made most of my precious games in it that's a good candidate. Haskell is absolutely awesome and so is Lisp. There I've listed 4 favourites! But of course I don't care about that really, I tend to fall in love with most of the languages I use.

Well I don't particulary like Ada... But I do admit it has some nice features, and the error messages are great! But how about Java then? I've been joking around a lot with it but to be honest I don't really hate it. Sure there are better alternatives but there are good points. The JVM, the libraries and the simplicity of it appeals to me. Maybe it's not simple but I'm used to the thinking.

To echo his suggestion: learn new languages. I'll add that don't just learn them: use them for something real and learn to love them! And don't just learn similar languages (from C++ to Java isn't worth it) but try to switch it up a bit (try C++ to Haskell). You'll find you'll be a better programmer when the dust settles, and you can actually choose a language gwith the strengths for a particular prolem.

End rant.

Posted by Jonas Hietala in Programming | Comments(0)

January 4, 2012

2011 in Review

It's time to wrap up the year that's been. Be warned for slight ego boosting here.

2011 Geek Achievements

  1. Wrote three games this year:
    1. My-Minions
    2. Grand Thief Arto
    3. Sat-E
  2. Bought a new computer!
  3. Bought a mechanical keyboard.
  4. Bought custom Starcraft 2 keycaps for the keyboard.
  5. Learned 68k assembly.
  6. Learned about algorithms and data structures.
  7. Bought a lot of programming books.
    1. The Pragmatic Programmer
    2. Structure and Interpretation of Computer Programs
    3. Introduction to Algorithms
    4. Modern Perl
    5. Effective Java
    6. Learn You a Haskell for Great Good!
    7. Land of Lisp
    8. Maybe something more...
  8. Read a lot of programming books. Modern Perl and The Pragmatic Programmer were my favourites.
  9. Learned some Ada.
  10. Learned a lot of Perl.
  11. Learned a tiny bit of Haskell.
  12. Learned some emacs
  13. Got a hint of design understanding thanks to Design for Hackers

2011 Non-Geek Achievements

  1. Went to a dance course with Veronica.
  2. My stumach is in good shape!
  3. Read and loved A Song of Ice and Fire.
  4. Achieved 7 kup in Taekwon-do.
  5. Read a lot of manga. Some recommendations:
    1. Bakuman. A nice slice of life manga about... making manga. Surprisingly captivating.
    2. Gamaran. A slightly brutal battle manga with loads of weapons.
    3. Vinland Saga. A bit more brutal battle manga about vikings and war.
    4. Beelzebub. Battle manga but with a ton of light hearted humor.
    5. The Breaker. Another battle manga, a bit more direct perhaps.

2011 Failures

  1. Didn't produce enough games.
  2. Didn't write enough code.
  3. Did not learn enough Haskell.
  4. Have a lot of books I haven't read yet.
  5. Did not have enough free time.

Plans for 2012

  1. Keep Veronica happy!
  2. Make more games.
  3. Code more! Much more!
  4. Blog more!
  5. Learn more Haskell (yet again)...
  6. Transform my site to something new, something that I don't dread to use.
  7. Improve in Taekwon-do.
  8. Be more disciplined in studying, coding, training and cleaning.
  9. Read the programming books I have but have not read yet.
    1. A book about Erlang.
    2. K&R C Programming language.
    3. SICP, all important for every programmers. I hear.
    4. Probably missed something... Damn I've got many.
  10. Get good results in school.
  11. Try to be a bit more social (it's hard).
  12. Get more free time somehow.
  13. Complete a larger personal project.
  14. Learn more mathematics.

Posted by Jonas Hietala in Yearly Review | Comments(0)

February 9, 2011

A Week of Headache

This was supposed to be a productive week with lots and lots of Perl and Ada but instead I've had this big headache all week, and some the week before and it's gotten pretty bad so I can't really concentrate on anything really. The electronics assignment was a bitch and it took a looong time to complete, even if all I had to do was to rewrite some stuff. You just love when the result is completely wrong just thanks to a misplaced minus sign.

So now I'm a bit worried, luckily not as much as my girlfriend, and what's the cause of this? The lack of water is probably the source of 90% of my headaches but now when I drink and drink it only eases of a bit and then it's back. Painkillers help a bit but I don't want to turn into a junkie just to be able to act normally.

Luckily I think I've found the reason, but sadly it's not the very best one. I think I need glasses. I squint all the time in front of the computer and I'm getting headaches when I'm reading. So this Friday it's judgement day. I dunno what I'm hoping for, if it's glasses then fine at least it should be better, but if it's not then it might be a bigger problem somewhere.


Me of tomorrow?

Posted by Jonas Hietala in General | Comments(1)

January 26, 2011

Focusing Attention: Study Hacking

A week of drawing is over, but I didn't draw that much. It was a little bit of a fail from my part.

But the past is the past and this week I'm going to be study focused. Not that I need to study, but I really need to rework my study technique. I've been going on like a classical student, in the bad sense, by skipping class and getting super stressed when the tests and deadlines are over me. Somehow you manage with some last-minute studying and all is well.

Well not really. I already have a bad stomach and stress makes it a lot worse. Even if I didn't have this problem stress is never good, especially not when you need to take this test or finish this assignment for tomorrow. It screws with my health, my study results and it intrudes on my free time far too much I'd say.

This is when I dusted an old bookmark I found a long time ago: Study Hacks. It's some guy who writes about studying and study technique and he's got some pretty good ideas. This is what I'll focus on this week: to change my routines and take control over my studies and don't let them control me.

Here's a little rundown of the main principles from Study Hacks as I understand them;

Do fewer things
Sure it makes sense. When I signed up for an extra course last year I felt pretty damn stressed and I couldn't really focus on my other courses knowing I had this extra class I missed to catch up with. It was even on my mind when I tried to do other things and when I got my stumach problems I decided to drop it. That was seriously a pretty damn good decision: I felt a lot better with it gone.

Do them better
Also what are good grades? They should show your skill but if they're good they should also impress. And what are you most impressed by? Someone with straight-A or someone who's read 40 points more but with slightly worse grades? I think we're more impressed by deep knowledge in a smaller area (better grades in fewer courses) than by someone who's a know-it-all but specialist-in-nothing. Maybe it's a good idea to focus on getting really good grades instead of trying to do too much at once and risk to spread out too much?

Know why you're doing them
Lastly it makes sense why you should know why your study technique works (or doesn't). So we can change and adapt. After all what is the definition of Insanity?

"Doing the same thing over and over again expecting different results" - Albert Einstein

Posted by Jonas Hietala in Attention | Comments(0)

January 19, 2011

The I'm Great quote

A new semester at the uni and so far it looks promising; I got a hold of some new books even though the bookstore had a snakelike queue similar to the Jörmungandr (the snake that encircled the earth in nordic mythology) and our new programming course started. This time it's Ada's turn and as always it should be interesting. At a first glance it doesn't look like it's introducing anything completely new from what I'm used with. I guess it looks like a cross between C and Haskell's type system spiced up with some other stuff.

It's funny how I notice all these little, syntactic similarities (haven't done anything real with the language yet so I'm a bit shallow now but whatever) from different languages. It was a long time ago I came across a language that distinguish between functions and subroutines. I think that was the case with Visual Basic, my oh so dear first language a few years ago. Might've been five years ago?

Anyway quite enough of that, I don't want to derail too much. What I really wanted to write about is when our new teacher, who by the way is completely awesome, asked us who thought they were a great programmer. Most of us laughed it off but I think there were two, maybe three, who raised their hands.

I thought about raising my hand, but who do I think are great programmers? Knuth, Thorvalds, Djikstra, Stroustrup Silverman and Carmack comes to mind. They're probably not the greatest, but they've done some really notable things. Do I think I'm at their level? What a laugable question, I'm miles away. And I'm sure there's some epic bearded fellow somewhere out there who's even higher on the programming skill ladder.

Now what is a great programmer then? I have no idea. But I do know that with all the things I don't know, I couldn't be one. Sure I've done something in about 10 different (some not so different) languages. But there are hundreds more. I've done nothing low level, I have no experience with op codes or assembly and I'm not up to date with the latest scripting languages. There are a few new interesting languages like Rust, CoffeeScript or Go which I haven't even looked at yet. Of course the number of languages you know doesn't make you great, but it just feels like I'm missing stuff.

Sure these guys could be great - who am I to say otherwise? But you'll have to wait a long time for me to spill the I'm great quote. Hell, maybe even a lifetime?

Posted by Jonas Hietala in Rants | Comments(0)

January 17, 2011

Focusing Attention: Drawing

In my last post I wrote about some ideas and projects I have and how it's a little bit too much at a time, so now I'm going to try something new here. In the beginning of every week I'll declare something I'll be focusing on and then that's the only thing I should focus on on my free time. Just so I don't drift off from irc bots in haskell to opening a new Erlang book or starting a game and then move on with another.

Not really so I don't work on several things at once but so I don't think about the other things too much.

This week I think I'll be focusing on drawing. I kinda like to draw and I drew a lot when I was little but then it wore off a bit, I dunno why. I think I was pretty good too, well I didn't think so then but when I look back at the drawings I'm sure I at least had something going for me.

Recently I bought the book Drawing on the Right Side of the Brain - I'm not really sure why but so far it's been pretty darn good. Hopefully I'll have some progress, but I'm sure I'll have fun whether it's a success or not.

Of course there are some amazing stuff around and if I could get a tenth or even one percentage of his skill it'd be cool has hell!

Posted by Jonas Hietala in Attention | Comments(0)

January 14, 2011

The Top Idea

Recently I've been having a dozen ideas and projects I've been poking around with:

  1. I wrote a simple lua, later perl, which announced when a new day9 episode has come. Later I expanded it to search for new manga episodes, but now it's broken and unfinished.

  2. In an attempt to learn Haskell I began writing a simple irc bot, but I never did come far with the language and now I'm a bit stuck. I have the bot itself working but I want to restructure it with plugins instead of hardcoding every command and I'd like to have some interactivity like saving state and fetching info from internet. But I haven't come that far and now it's on a stand-still.

  3. Totally not related to the other two I want to learn how to draw. On a little whim I bought the book Drawing on the Right Side of the Brain and I was totally blown away. I was a bit sceptic at first but she's explaining everything so scientifically and the results look amazing. Almost too good to be true. But as always I started but I'm not there yet, in fact a pretty long way from finished.

  4. Back to the programming business. I'd like to update the backend of this site, but to be fair it's not that important. Just something that'd be nice to do.

  5. What's worse is my game projects. What projects you ask? Well I started a few much bigger games this time and they have just faded away from my brain little by little and now I'm not that into them. I mean the ideas are amazing, but I haven't done anything with them.

The issue here I think is that I'm trying to do far too many things at once. Back when I wrote all my experimental games I didn't have these many things going on. In fact they were the only thing on my mind - you know the thing you think about when you're in the shower or before you go to sleep. Hell I've even woken up, all sweaty, and had a solution but the very problem I had struggled all day with!

Paul Graham wrote a nice article about this a while ago. He's more focused on startups of course but the core of the article very much applies to me. I'm not keeping the right idea on the top of my mind, instead I think it's changing - I'm doing too many things at once. One time I'm focused on say learning Haskell but the next day, or even the very same night I'm all wound up about a game I'd like to make! How will I ever get things done if I'm floating around like that?

Of course Paul points out that I'm in good company, even Newton fell into this trap and I have a feeling many more have this problem.

Posted by Jonas Hietala in Productivity | Comments(0)

January 6, 2011

2010 in review

I saw a post on briancarper where he reviews the past year and it sounds like a great idea actually.

2010 Geek Achievements

  1. Wrote a few games earlier this year;
    1. The Chronicles of Bim: The 100 Fake Afros
    2. A Geek Valentine
    3. Beebop The Island Hopper
    4. Where's Teddy?
  2. Updated this site a bit.
  3. In the process I learned a lot of PHP, Javascript, mysql and design. Fun and useful.
  4. Switched to Slackware which I like a ton better than Ubuntu.
  5. Learned a lot more linux. Thanks Slackware.
  6. Learned a lot more git.
  7. Learned a lot more vim.
  8. Tried out and configured uzbl which I still use.
  9. Learned a bit of Haskell.
  10. Tried out Perl a bit.
  11. Learned a lot more Lisp.
  12. Switched to zsh. It's fine after a bit of config
  13. Rebuilt a custom Kernel a few times, some failures but learned a lot. And got starcraft 2 to work!
  14. Read a lot. This years high were One Piece and Jefferey Deaver. Real World Haskell scores the highest Geek score.

2010 Non-Geek Achievements

  1. Moved to Linköping with my girlfriend Veronica and I didn't just survive but I also liked it!
  2. Enrolled in a Linköpings University in Computer Science. We'll see if it'll get geeky later, atm it's a breeze but we have a ton of seemingly fun courses to go.
  3. Took a massage course.
  4. Learned how to cook more than one dish.
  5. Did the dishes, expertly maneuvered our vacuum cleaner and did the laundry. More than once!
  6. Started Taekwondo and after a few months of hard work I even got a yellow stripe for my white belt!

2010 Failures

  1. Didn't produce enough games.
  2. Didn't write enough code.
  3. Got worse in my stumach towards the end of the year. Too stressed and not enough regular meals I guess.
  4. Didn't blog enough. Sorry :(

Plans for 2011

  1. Get good results in school.
  2. Make more games.
  3. Code more!
  4. Blog more!
  5. Learn more Haskell (again). This time continue with the small irc bot I'm writing.
  6. Learn a few more languages and expand my knowledge. Maybe some low level stuff with C or assembly? Or some more higher level?
  7. Get a better sense of algorithms.
  8. Try to be a bit more social
  9. Get a new belt in Taekwondo.
  10. Be a bit more disciplined with training, coding and school.
  11. Loosen up a bit more so the stumach won't mess anymore.
  12. Last but not least, keep Veronica happy and help around at home.

I thought I didn't do anything this year I guess it's been a productive year anyway. But in 2011 I think I'll do a lot more still.

Posted by Jonas Hietala in Yearly Review | Comments(0)