We recently announced that the entire Windows codebase is moving to a single Git repo that is hosted on Visual Studio Team Services. This migration has presented us with some very interesting scale challenges to solve, ranging from issues inherent in the Git protocol and object storage, to the performance of the git command line, to workflow challenges for a team of that size working in one repo. In this series of articles, we’ll discuss each of these scale challenges in depth, and how we have solved them to enable a team of this size to work successfully in Git.
About a week ago many users may have noticed instability on our hosted ZeroTier Central. Network controllers would flicker on and off, and eventually the whole service needed to be restarted across our cluster. 500 errors and timeouts were a thing.
Debugging a problem over email/irc/BTS is slow, tedious, and hard. The developer needs to see the your problem to understand it. Debug-me aims to make debugging fast, fun, and easy, by letting the developer access your computer remotely, so they can immediately see and interact with the problem. Making your problem their problem gets it fixed fast.
The Go programming language is an open source project to make programmers more productive.
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Instructions for installing, configuring, and using Phabricator
Phabricator is a collection of open source web applications that help software companies build better software.
Modular visual interface for GDB in Python.
This comes as a standalone single-file .gdbinit which, among the other things, enables a configurable dashboard showing the most relevant information during the program execution. Its main goal is to reduce the number of GDB commands issued to inspect the current program status allowing the programmer to focus on the control flow instead.
Developing Distributed Applications that use ZooKeeper
Learning to code still remains a buzz. The problem facing any budding new programmer is how to start. Questions abound. What's the best programming language for a beginner? What's the best way to learn? A beginner might be tempted by reading books titled 'teach yourself [insert programming language] in 24 hours'. But don't be in such a rush. In my opinion, it is best to first get interested in programming, then seek out some experienced coders and discuss and discuss, and learn programming by doing, practising with lots of practical examples and the aid of an excellent introductory book.
There are many mature programming languages to choose from. Functional languages, object-oriented languages, dynamic languages, compiled languages, declarative languages, interpreted languages, scripting languages, and imperative languages are some of the varied language types.
Like a fine wine, programming languages get better with age. Programming languages take years to become established and dominant. The deciding factor for many programmers when selecting a language for a particular project has been popularity and language acceptance. Another factor is previous experience with the language.
All of these books are excellent introductory texts. To help break down the barriers, this article presents my selection of the finest free introductory programming books available. There is 1 text selected per language.