background preloader

Understanding Git Conceptually

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. A Story When I first started using Git, I read plenty of tutorials, as well as the user manual. After a few months, I started to understand those under-the-hood concepts. Understanding Git The conclusion I draw from this is that you can only really use Git if you understand how Git works. Half of the existing resources on Git, unfortunately, take just that approach: they walk you through which commands to run when, and expect that you should do fine if you just mimic those commands. This tutorial, then, will take a conceptual approach to Git. Go on to the next page: Repositories

Code School - Try Git 5 Programming Challenges that make you Think Outside the Box Computer programming is a vast field with a variety of distinctive pleasures associated with it. Dexterity provides gratifying rewards when a useful object is built or made to work. The excitement of solving a previously intractable problem is undoubtedly exorbitant. Using clever algorithms and tight coding to tackle parsimony of the prudent problems surely adorns the craftsmanship of a programmer. Assorted programming challenges provide great opportunities to experience these pleasures as well as improve your algorithmic and coding skills. Put together here are some of the classic challenges in programming you may find quite compelling. 1. Based on the popular American television game show “Let’s Make a Deal” and named after the original host Monty Hall, The Monty Hall problem is actually a brain teaser and involves the probability puzzles. Suppose you’re on a game show, and you’re given the choice of three doors: Behind one door is a car; behind the others, goats. 2. 3. 4. 5.

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. Rather than go into details, we provide rough instructions for particular effects. I’m humbled that so many people have worked on translations of these pages. Dustin Sallings, Alberto Bertogli, James Cameron, Douglas Livingstone, Michael Budde, Richard Albury, Tarmigan, Derek Mahar, Frode Aannevik, Keith Rarick, Andy Somerville, Ralf Recker, Øyvind A. François Marier maintains the Debian package originally created by Daniel Baumann. My gratitude goes to many others for your support and praise. If I’ve left you out by mistake, please tell me or just send me a patch! This guide is released under the GNU General Public License version 3. $ git clone # Creates "gitmagic" directory. or from one of the mirrors:

Python for Adults - emacsen.net My girlfriend has always wanted to program. She even took C++ in high school and college, but never quite “Got it”, leaving her with a bad taste for computers and programming. Still, when I lent her my copy of The Little Schemer, she took to it pretty easily, so I knew she had the potential to be able to program, despite her past difficulties. So then the question becomes what language to teach her. While Scheme would be a nice choice in theory, despite more than three decades as a teaching language, it’s still not popular in the mainstream. While this wouldn’t be important in a classroom setting, adults have a different set of needs for programming. That’s why Python fits the bill so well. The key to Python’s success is three part. Python also stays firmly in the general purpose language camp. The second strength Python has are its libraries. The third, and perhaps most important strength of Python is its user community.

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

Dedoimedo with: A Beard and a Pipe ~ Linux Advocates by Guest Writer Dedoimedo Twenty years plus since being created, Linux remains a terrifying word in the global lexicon. Probably not as bad as it was for farmers watching cars take over the countryside in the early decades of the 20th century, but close. Because of this phenomenon, if you happen to burrow your face into the job-seeking networks, you will see the string Linux featuring tall and mighty. A Day in Life Now, let's expand on a day in life of Average Joe. Encompassing it all, there's one thing that everyone should sort of consider, and that's the ecosystem. I am absolutely certain that most people do not think about Linux when they apply for a job, but it is probably the first thing they should be doing. The maverick, slightly outcast, unpopular status of Linux is what makes it, perversely, the popular and most 'in' commodity in the industry right now. Linux is the rogue of the operating system gang. Linux as a Strategy: AKA The Minority Report It gets better. Let's Get Linuxy

training (The GitHub Training Team) Computer software & security Note: Please check the ARCHIVE page for most of the articles written before 2013 (2006-2012); some are still available on this page. Many of those are still very much relevant today so please make sure to read the archive, too! This section is the main section on Dedoimedo. Here, you will find a wealth of tips, tricks, instructions, how-tos, guides, and tutorials on a wide range of computer-related topics. The information you find here will be extremely useful to almost anyone, from a beginner user to an expert. Every single topic presented here is explained to the latest detail, step by step, accompanied by screenshots and examples. I have used computers extensively for the last two decades and have often had to solve difficult problems without instant, easy solutions. Major categories Articles are sorted by categories. This sub-section deals with audio, video, flash, and any other form of digital media content that you may encounter and use on your computers. Linux

I'm Gina Trapani, and This Is How I Work > do you start and finish at the same time each day? When I was running Lifehacker and posts had to start publishing at a certain time, I did start and finish generally at the same time every day. Now my daily deadlines are a lot more flexible, so it's not always the same time. I tend to start around 8am, unless I've had a really late night of coding the previous evening. (I'm naturally an owl, so if I get inspired at 11pm, I go with it.) > Do you dress for work each day? I do not dress for work on days I'm working at home, unless I have a meeting. > Do you work during times when your wife would rather you not because it's always available? When my wife is unhappy I'm unhappy, so I try my best to avoid working when she wants me to be present. :) Unlike me, she's an early-to-bed-early-to-rise type, so I always have the option of working after she calls it a night.

10 Things I Learned about Blueprint CSS As a designer I have an appreciation for clean, hand-crafted CSS—but also for getting things done quickly. Using a good CSS framework like Blueprint CSS provides a lot of tools that make the layout of the page much quicker and easier to implement. It also provides a comprehensive approach to resetting and fixing known browser issues and bugs. While Blueprint introduced more markup than I was comfortable with at first, I quickly learned its advantages. Here are a few things I learned about Blueprint. First, I found a nice Blueprint cheat-sheet.To install and set up Blueprint, use the project generator.

Building Cross Platform Applications Rarely does an organization have the luxury of building mobile apps for a single mobile platform. The fact is, the smartphone and tablet space is dominated by three big platforms: iOS, Android and Windows. As such, in order to reach users, apps must be designed and built for all three of them. Traditionally this means using each platform’s provided technology and SDK, i.e. Objective-C for iOS, Java for Android and .NET for Windows. Most cross-platform mobile toolkits fall short in this space because they provide a lowest-common-denominator experience and prevent developers going “to the metal” on any given platform. This guide introduces the Xamarin platform and how to architect a cross-platform application to maximize code re-use and deliver a high-quality native experience on all of the main mobile platforms: iOS, Android and Windows Phone. The phrase “write-once, run everywhere” is often used to extol the virtues of a single codebase that runs unmodified on multiple platforms.

Vala (programming language) For memory management, the GObject system provides reference counting. In C, a programmer must manually manage adding and removing references, but in Vala, managing such reference counts is automated if a programmer uses the language's built-in reference types rather than plain pointers. Using functionality from native code libraries requires writing vapi files, defining the library interfacing. Vala was conceived by Jürg Billeter and was implemented by him and Raffaele Sandrini, finishing a self-hosting compiler in May 2006.[4] A simple "Hello, World!" int main () { print ("Hello World\n"); return 0;} A more complex version, showing some of Vala's object-oriented features: class Sample : Object { void greeting () { stdout.printf ("Hello World\n"); } static void main (string[] args) { var sample = new Sample (); sample.greeting (); }} An example using GTK+ to create a GUI "Hello, World!" The last example needs an extra parameter to compile on GNOME3 platforms: This is the converted C code:

5 Online IDEs That Let You Code in the Cloud A number of companies are making a push to move traditional desktop applications into the cloud. You can now write documents, spreadsheets and presentations all from the web browser with ease. Programmers have not been left out of this revolution, with several sites now offering development environments (IDEs) in a web browser. WonderFl allows you to write, compile, run and share ActionScript applications online. Developers looking to integrate ActionScript with web based APIs can find quite a few examples in the WonderFl database like a Google AJAX search, Flickr with Yahoo Pipes, Twitter clients and more. Bespin is a Mozilla Labs experiment on how to build an extensible Web code editor using HTML 5 technology. Zoho Creator is a tool that allows you to create database applications. CodeRun Studio is a cross-platform Integrated Development Environment (IDE), designed for the cloud. Both comments and pings are currently closed.

Useful JavaScript Libraries and jQuery Plugins For Web Developers Advertisement If you have a problem and need a solution for it, chances are high that a JavaScript library or jQuery plugin exists that was created to solve this very problem. Such libraries are always great to have in your bookmarks or in your local folders, especially if you aren’t a big fan of cross-browser debugging. A JavaScript library isn’t always the best solution: it should never be a single point of failure for any website, and neither should a website rely on JavaScript making the content potentially inaccessible. In this two-part overview, we feature some of the most useful JavaScript and jQuery libraries which could be just the right solutions for your common problems. Due to the length of this post, we’ve split it into two parts for your convenience: Quick Overview: Below you’ll find a brief overview and links to the libraries and tools featured in this post. Web Forms and Input Validation Select2 jQuery PluginA jQuery-plugin for replacement and enhancement of <select>-boxes.

Related: