jump to navigation

Projects followup September 1, 2011

Posted by Rich in school, work.
Tags: , ,
add a comment

In my last post, I started learning about various projects. Several months later, here is a followup.

I’ve been using git quite extensively for all of my projects, both work-related, school-related, and some personal work. I have an account on github and am enjoying using it, although nothing I do is really collaborative.

I used redmine quite a bit in the first few months this year, but my usage has tapered off a bit since. It’s a great system, I just haven’t been keeping up with updating my projects.

Over the summer, I learned python. I am enjoying it quite a bit. There are many virtues to the language and sure can handle many of my use cases:

  • Scripting: One of the first things I did when I started work at the MERS lab was to learn bash scripting. I’ve used it quite extensively in the past 3 years but I feel like I’ve hit its limits several times in my scripting. Python does a great job at replacing my bash scripting needs while offering more powerful constructs and features.
  • “General-purpose programming”: Python can do a lot, and I wanted to do some project to test out and expand my skills. At the request of my brother, I started an etymology tree viewer in python called etymdendron. I started with a simple command-line interface but soon built a decently capable GUI using wxWidgets. Now that school has started, I won’t really be able to work on it, but it’s at a decently done point. I’ve learned a lot about python and wxPython and XML along the way.
  • Numerical computing: In my field, MATLAB is the  de facto environment for writing and testing code to do scientific/numerical computing. While MATLAB is generally an impressive product and I feel like a decently advanced user after about five years of experience, I’m also quite aware of some of its deficiencies. This is a topic for a whole other post. But my #1 gripe is the lack of of a += or similar operator. Also, as a long-time user of libre software (eg Linux and GNU software) it’s a little uncomfortable to be writing so much code that is locked in to a proprietary solution. I shake my head at students in other majors on campus that religiously use software such as Powerpoint, but have to remind myself that writing MATLAB code is not much different. Well, the answer to my worries is Python.Python, coupled with NumPySciPy , and matplotlib, make for a strong alternative to MATLAB. I’ve started to do more coding in Python (and NumPy and matplotlib) than MATLAB lately and have been rather pleased with the results. Again, a topic for a future post. While NumPy is largely similar to MATLAB, there are enough differences that make the transition not as easy as I had hoped for. Mainly I just have to learn different programming idioms (ie the way I learned to do such-and-such with MATLAB is different than how you should do it with NumPy). However, the end results have been very satisfying. Especially with matplotlib. Matplotlib is a far superior and more flexible plotting library than MATLAB’s (at least for my use cases).

Also this summer I’ve been learning the joys of DocUtils and reStructuredText. I’ve been using them a little, but want to use them more. Another future post. 🙂

So, with the tools of git, python, and others under my belt, I am ready to tackle another semester at school.

In which I use new projects January 21, 2011

Posted by Rich in server, work.
1 comment so far

At work, I’ve been working on debugging some C code for the past few weeks.  It’s been a tedious task, but I’ve been greatly aided by some various tools:

  • vim for all file editing
  • gcc for compilations
  • make for managing the build dependencies and such
  • gdb for debugging the running process

Yes, it seems I eschew IDE’s.  I’ve recently happened upon git, which is a fantastic version-control system.  I’m just learning the basics now, but it should help immensely, not just for the occasional coding I do for work, but also for managing the documents I write using LaTeX.

In a related vein, I happened upon redmine, a project tracking system.  I just installed it to my home server and am trying it out.  I already have apache and mysql installed, so it was a simple matter of installing ruby on rails with redmine running on top.  I also tried syncing over a git repository there, everything works quite well.

At any rate, it’s exciting to use all of these free (in both senses of the word) tools to hopefully improve my work!