Category Archives: Beginner


(For Vim users) Check out the snippet expansion features.

Updated December 8th: Here is the link


Using LaTeX

It is no secret that I’m a fan of \LaTeX.

Here is a good (if not the best) tutorial:

Here are a few examples of math(I can only show inline math in this blog so this stuff won’t look right in the post, but LaTeX has other equation typesetting features. Check the above link for more info):

  1. Integrals $\int_{-\infty}^{\infty}f(x)dx = 2$ becomes \int_{-\infty}^{\infty}f(x)dx = 2
  2. Fractions $\frac{x+1}{x+2}$ becomes \frac{x+1}{x+2}
  3. Superscripts, subscripts, etc $\sum_{n=0}^{N}2n + 1$ becomes \sum_{n=0}^{N}2n + 1

As an example of other math formatting you would do:


\prod_{x = 2}^{10}2x+1


Note that when you don’t typeset math inline with text, you omit the $ symbol and instead wrap the equation inside a \begin{equation}..\end{equation} pair.

Adding a project to CVS(version control)

CVS comes preinstalled in Mac OS X.

Here is what I did to setup and use a local cvs repository:

  1. Make a directory called cvsroot on Desktop
  2. Edit ~./bash_login and add the command export CVSROOT=~/Desktop/cvsroot
  3. Run the command cvsinit in the Terminal
  4. cd to the project directory you want to place under version control
  5. Suppose your project directory is called project, type in cvs import -m "Program" project sample start
  6. You should get bunch of output followed by the message No conflicts created by this import
  7. Let us say you want to checkout the code you have just placed. Simply navigate to a directory where you want to store the checked-out project and type in cvs checkout project
  8. If you made changes and want to commit your changes to the repository–say you added a variable called int x; C file called foo.c, simply type in cvs commit -m "Added a variable" foo.c after navigating to the directory where your modified file is

There is much more to CVS, here is an Apple tutorial on the subject.

this seems to be a good, if somewhat dated, tutorial.

Podcasts and Screencasts related to Aaron Hillegass’s book

Check it out.

Cocoa Project Notes

This learning project will consist of writing a checkbook ledger application.

Software and ideas that will build up the project:

1. Cocoa Core Data for handling the business logic, persistence, etc.

2. Graphing library

3. Encryption library

4. NSWorkspace for potential workspace management

5. NSURLDownload

6. Spotlight Integration

Mac hobbyist programming

(Become an Xcoder book).

I wish I had this when I was learning programming for the first time in high school(well, my teacher was great, but writing commandline tools gets boring after a little while)

This book covers everything from the utter basics to Cocoa Graphical User Interface(GUI) development.

Using Automator lets you well, automate tasks, without programming. A great video/introduction is from the Applescrip/Automator guru Sal Soghoian at Google Video (here)

Beginning Cocoa programming

Become an Xcoder is a good guide to getting started (It is roughly equivalent to the simple random number application chapter(chapter 2 or so) of Aaron Hillegass’s book(which is fantastic, BTW).

Other Resources:

1. MacDevCenter Contains some good (but somewhat outdated Cocoa programming articles)

2. CocoaDev Great reference site(code snippets and short explanations of various classes)

3. CocoaDevCentral Cocoa articles and blog entries by Mr. Scott Stevenson(somewhat intermediate level)

4. Apple’sCocoa Apple’s Cocoa site(all levels)


The one I know is good is Cocoa Programming for Mac OS X by Aaron Hillegass