background preloader

Git for Computer Scientists

Git for Computer Scientists
Abstract Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph. Storage In simplified form, git object storage is "just" a DAG of objects, with a handful of different types of objects. They are all stored compressed and identified by an SHA-1 hash (that, incidentally, isn't the SHA-1 of the contents of the file they represent, but of their representation in git). blob: The simplest object, just a bunch of bytes. tree: Directories are represented by tree object. When a node points to another node in the DAG, it depends on the other node: it cannot exist without it. commit: A commit refers to a tree that represents the state of the files at the time of the commit. refs: References, or heads or branches, are like post-it notes slapped on a node in the DAG. git commit adds a node to the DAG and moves the post-it note for current branch to this new node. The HEAD ref is special in that it actually points to another ref. History

Preface Git is a version control Swiss army knife. A reliable versatile multipurpose revision control tool whose extraordinary flexibility makes it tricky to learn, let alone master. As Arthur C. Abstractivate: Why Functional Matters: Your white board will never be the same Why learn functional programming? For better design skills! The other day we designed a process to match cleared deposits with dispensations. This is how I would have white-boarded it a few years ago: Understanding Git Conceptually Introduction This is a tutorial on the Git version control system. Git is quickly becoming one of the most popular version control systems in use. SixthSense - a wearable gestural interface (MIT Media Lab) 'SixthSense' is a wearable gestural interface that augments the physical world around us with digital information and lets us use natural hand gestures to interact with that information. We've evolved over millions of years to sense the world around us. When we encounter something, someone or some place, we use our five natural senses to perceive information about it; that information helps us make decisions and chose the right actions to take.

OmniFocus: My Approach I teach Computing to children and in education there are many Computing terms that we rarely use outside the classroom. For example, we say IT in the real world but ICT (Information and Communications Technology) in school. One term that I think is useful but little used outside of the classroom is General Purpose Package. A GPP is any application which is of little use or interest until you input your own information, such as Pages or Numbers. The classic counterexample is a game, to which you provide very little data and are generally strongly constrained in your usage patterns. The Weekly Review as an OmniFocus Project I've recently been getting my GTD system back together in the aftermath of the Viewfinder release. Most systems get out of whack in the run-up to software releases, but you always have to get back in the saddle. As I was reorganising my OmniFocus, I started to think that it would be great if OmniFocus could help you through the weekly review.

Vast Web of Dark Matter Mapped — By analyzing the light from 10 million galaxies, astronomers have built the largest dark matter map ever created. — The map visualizes an intricate cosmic web of dark matter and galaxies one billion light-years across. — Understanding the structure of dark matter will help us understand the evolution of the Universe. Astronomers have created a vast cosmic map revealing an intricate web of dark matter and galaxies spanning a distance of one billion light-years. This unprecedented task was achieved not by observing dark matter directly, but by observing its gravitational effects on ancient light traveling from galaxies that existed when the Universe was half the age it is now.

How to Transfer and Move Hotmail to Gmail – My Digital Life Windows Live Hotmail (previously known as MSN Hotmail or simply Hotmail) has upgraded its user interface to new Outllook lookalike AJAX-intensive interface, and has successfully annoyed many existing users of Hotmail. Gmail turns out to be a good alternative if you decided to dump Hotmail and switch to other webmail service provider. Or for any reason, such as love the features and loading speed of Gmail, you want to transfer and move all your Hotmail email messages to Gmail, there is a very simple way to do it.

Working with Assertions to Debug your Apps Assertions provide a mechanism to catch errors by checking a condition statement(s) and throwing an exception if the condition check fails. Assertions are implemented as macros that you can use to evaluate conditions at various points in your application. Often times assertions are used as a sanity check to verify variables contain the values, or range of values expected.