I'd use Linux, but it doesn't have the applications I want…

The biggest complaint I hear about Linux is that people can’t find applications that they need to be productive. Well, if you know where to look, you can find a replacement for nearly every Windows application out there.

To make your transition to Linux easier, I’m going to point out the Linux equivalent of some key Windows applications. Then I’ll show you some places to look on your own if you can’t find what you want.

Linux has all the applications you could want!

Linux has all the applications you could want!

Even better, all these programs will be free!

Continue reading

Posted in Utilities | Tagged , | Leave a comment

I’m So Sick of Testing and Sorting Through Logs by Hand

Not those kind logs silly!

Not that kind of logs, silly!

Software testing is a very important part of releasing any product. After all, no one wants a big buggy product. (Especially when it can ruin your whole mission.) On the other hand though, testing software is boring. I’d much rather be writing software than testing it. (Besides, my code never has bugs! *sarcasm*)

When I’m working on a project for school or work, I usually spend a lot more time testing and tracking down bugs rather than coding (80% of effort on 20% of work kind, of thing). I usually try to give my code pretty good test coverage, but its tedious to run through a large set of tests, especially just remembering them all.

To help with this, I wrote a Python tool to run my tests and then display the results visually using HTML, rather than a log file or something similar.

Continue reading

Posted in Code, Utilities | 4 Comments

Make Tutorial: Part 2

Colleges will be back in session in a month or two. When I first started school, I was forced to use Unix for all CS classes, but given very little instruction in it. Very “sink-or-swim”. I actually still have a page of notes where I wrote down basic commands, such as ‘ls’ and ‘pwd’, from a lecture given on the first day. After that first day, you were on your own. make

This same philosophy applied to our projects. Projects typically consisted of 5 or more files and it quickly became tedious to compile and link all those files by hand. We were given no hints to use Make to assist us. After discovering this tool, it greatly increased my productivity. Because of the gains I saw, I thought I’d write a few tutorials on using Make. Hopefully, it will help a beginning user to get accustomed with the tool and point them in the right direction to learn more.

This is Part 2 of my make tutorial.

Continue reading

Posted in Code, tutorial | Tagged , , | Leave a comment

Who would have thought Sublime Text was so, well, sublime!

A few days ago, I wrote about my Quest for the Perfect Editor. Well, the quest is over, with Sublime Text being a clear winner.

I’ve used it as my main editor these past few days to give it a fair chance to impress me and it hasn’t let me down yet. Sublime bills itself as, “The text editor you’ll fall in love with,” and I can easily see that happening.

She obviously just tried Sublime Text for the first time.

She obviously just tried Sublime Text for the first time.

Sublime has features that you’ll love no matter what you’re writing, whether it be code, prose, or poetry.

I thought I’d write a little bit about why I like it so much, as well as encourage you to at least try it for yourself. If you’re in the market for a new editor, this will be where your search ends.

Continue reading

Posted in Code, Utilities | Tagged , , , | 6 Comments

Web-host downtime makes me angry

As a few of you know, my Purdue website went down the other day. If you wanted to view the example files from my other blog post, that was just too bad.

I can relate to this angry rhino!

I can relate to this angry rhino!

This post will mostly just be a rant about how irritating downtime is and a little discussion about getting  a new host. Continue reading

Posted in Rant | Tagged , | 3 Comments

Quest for the perfect text editor

No matter what language you program in, you probably use some type of text editor (or IDE) to write your code. There are a ton of choices out there. I’m sure we each have our own opinions on what is good and bad in an editor as well as what is necessary, depending on the type of work you are doing.

A good editor can make you more productive , by providing frequently used shortcuts, good syntax highlighting, and easy ways to navigate your text. Or, it can make you less productive by providing no shortcuts, no highlighting, and making you use the mouse to navigate. (I’m looking at you Notepad.)

I’ve never really found an editor that hits my needs right on the head, so I thought I’d write down some of my opinions and experiences.

Continue reading

Posted in Utilities | Tagged , , | 7 Comments

Is Erlang actually fast? Why not just stick with C?

What’s the point of learning Erlang when I already know {your language here}? It will take a long time to learn the language and even longer to become good with it… I don’t want to learn a whole new library… Functional programming is hard… My text editor is super awesome at {your language here} and I don’t want to use new tools…

Would you like some cheese with that whine?stop-whining

I’m going to show you a few ways Erlang excels, with a special focus on concurrent applications. I’ll even include some benchmarks to prove it. So sit down, be quiet, and give Erlang a chance!

Continue reading

Posted in Code, Erlang | Tagged , | 4 Comments

Simulating the Human Brain? Cool! But I'll believe it when I see it.

If there was a complete model of the human brain, imagine all we could learn. We could perform experimental surgical procedures, we could study the effects of new drugs, or do anything else that needs human testing but is too dangerous for a real human.3d_model_neuron_web1

That’s exactly what the Blue Brain Project is trying to do. According to them,

The Blue Brain Project is the first comprehensive attempt to reverse-engineer the mammalian brain, in order to understand brain function and dysfunction through detailed simulations.

In fact, the project claims that they may have a model of the human brain in the next 10 years.

Continue reading

Posted in Science | Tagged , | Leave a comment

Massive parallelism? I'll have a plate. Functional programming? Give me a grande.

Imagine that you just bought a brand new Super McAwesome 500-core computer. Dommage-pour-toi, all your applications can only use one core at a time. Doh. Well, what if there was a language that increased its performance linearly with the number of cores/threads? Luckily for you, there is! And it’s name is Erlang. Continue reading

Posted in Code | Tagged , | Leave a comment

Make Tutorial: Part 1

Colleges will be back in session in a month or two. When I first started school, I was forced to use Unix for all CS classes, but given very little instruction in it. Very “sink-or-swim”. I actually still have a page of notes where I wrote down basic commands, such as ‘ls’ and ‘pwd’, from a lecture given on the first day. After that first day, you were on your own. make

This same philosophy applied to our projects. Projects typically consisted of 5 or more files and it quickly became tedious to compile and link all those files by hand. We were given no hints to use Make to assist us. After discovering this tool, it greatly increased my productivity. Because of the gains I saw, I thought I’d write a few tutorials on using Make. Hopefully, it will help a beginning user to get accustomed with the tool and point them in the right direction to learn more.

Continue reading

Posted in Code | Tagged , | 1 Comment