11 Equations Computer Science Geeks Should Know

These don’t all really seem to necessarily be “equations” but they are all extremely useful things you should know. The article contains some details on the following:

• Binomial Coefficient
• Demorgan's Laws
• Eigenvector and Eigenvalue
• Pumping Lemma for Regular Languages
• Information Entropy
• Bayes' Theorem
• Fermat's Little Theorem
• Natural Join
• The Fixed-Point (Y) Combinator
• O(N)
• Euler's Identity

Eleven Equations True Computer Science Geeks Should (at Least Pretend to) Know (via elegantcoding.com)

How To Build Doom 3 Source Code On Os X

The Doom 3 source code has recently been released under the GPL license by iD Software and it appears that someone has been able to successfully build it under OS X! There is also a small/partial code review of sorts here too with plans for a complete code review in the future. Check out the article here: Doom3 compilation instructions for Mac OS X (via fabiensanglard.net)

Unix Command Line Fu

Now here is a good article (mainly for Unix beginners) that outlines some of the most useful basic Unix commands available.  Read the article here: Unix Command Line Fu (via kresimirbojcic.com). The article covers commands such as: cut, grep, sort, uniq, cat, tac, join, tail, head, etc. It also tells you a bit about how to use each one for specific situations.This is by no means a comprehensive list, but there are many useful things here that I definitely didn’t know how to do before!

Dart Programming Language

Dart is a new web programming language developed by Google. It is set to be first unveiled at the GOTO conference, which is held between October 10-12, 2011. The primary intent of Dart is to replace JavaScript. The primary goals of Dart are to solve some of JavaScript’s problems while providing increased performance and security.

Amazing Timelapse Video Landscapes Volume Two

This is absolutely one of the most amazing timelapse videos I have ever seen!

10 Programming Languages Worth Checking Out

Most programmers know the typical set of languages, such as C, C++, PHP, Java, etc. These are mainstream languages and used by many. However, there are hundreds or thousands of languages out there; some of which are extremely interesting and sometimes experimental in nature. Here is a quick list of some interesting languages to check out.

• Erlang
• Io
• PLT Scheme
• Clojure
• Squeak
• OCaml
• Factor
• Lua
• Scala
• Epilogue

To see the entire list along with some useful links and good descriptions check out the article: 10 Programming Languages Worth Checking Out (h3rald.com)

As of yesterday, Microsoft has posted a preview version of the new Windows 8 operating system. Windows 8 will come with the new Metro interface (similar to Windows Phone 7) and many other enhancements which are focused on touch-gesture input. One important thing to know is that I’ve heard that many users have been able to get it running in both VMWare and VirtualBox. So you don’t need to have a fresh partition on your hard drive to simply try it out. Here is a small blurb from the download page:

11 Technical Papers Every Programmer Should Read

1. Fundamental Concepts in Programming Languages  by Christopher Strachey
2. Why Functional Programming Matters  by John Hughes
3. An Axiomatic Basis for Computer Programming  by C. A. R. HOARE
4. Time, Clocks, and the Ordering of Events in a Distributed System  by Leslie Lamport (1978)
5. On Understanding Types, Data Abstraction, and Polymorphism  by Luca Cardelli and Peter Wegner
6. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I  by John McCarthy
7. Predicate Dispatch: A Unified Theory of Dispatch  by Michael Ernst, Craig Kaplan, and Craig Chambers
8. Equal Rights for Functional Objects or, The More Things Change, The More They Are the Same  by Henry G. Baker
9. Organizing Programs Without Classes  by David Ungar, Craig Chambers, Bay-wei Chang, and Urs Hölzle
10. Dynamo: Amazon’s Highly Available Key-value Store6  by Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall and Werner Vogels
11. Out of the Tar Pit  by Ben Moseley and Peter Marks

Official Release Of The Newest Deal Lite For Android

I’ve just officially released my first Android application! It is an extremely simple, no-frills deals widget. The Newest Deal lite displays the latest deal in a home screen widget. This app has mainly served as a learning tool to get my hands wet with Android development.However, I do plan on releasing a full non-lite version in the near future with many additional features and the ability to customize the widget.

What Every Computer Science Software Engineering Major Should Know

Although this article appears to be specific for Computer Science majors, much of it overlaps with software engineering. It outlines some extremely useful and interesting things that all Computer Science/Software Engineering majors should know. The four main questions that this article answers are:

• What should every student know to get a good job?
• What should every student know to maintain lifelong employment?
• What should every student know to enter graduate school?
• What should every student know to benefit society?

Some of the suggestions mention things such as embracing the Unix philosophy, having a portfolio as a resume, having systems administration knowledge, knowing data structures and algorithms, and many other important things.