background preloader

To read

Facebook Twitter

FileFastSelector - Plugin allows to open files with minimal number of keystrokes. FileFastSelector plugin tries to provide fast way to open files using minimal number of keystrokes. It's inspired by Command-T plugin but requires python support instead of ruby. Files are selected by typing characters that appear in their paths, and are ordered by length of common substring with search string. Root directory for search is current vim directory.

Or if tags file exists somewhere in parent directories its path will be used as root. Source code is also available on bitbucket: NOTE: FileFastSelector requires a version of VIM with Python support enabled. Usage: Command :FFS toggles visibility of fast file selector buffer. To get queries history press <Ctrl-H> in insert or normal mode in search string. 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.

This is often a file, but can be a symlink or pretty much anything else. 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. History. 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: Since then I've played around with functional programming. It encourages one to think about processing in terms of data streams: data comes in, gets transformed and filtered and manipulated, and finally results are output. Thinking about the problem in this way leads to this kind of diagram: Thinking about the program as a data pipeline keeps me thinking about what needs to happen, instead of how each step should be done.

Whatever language we use to write the solution, thinking about it this way has the following advantages: * It breaks down into pieces. In this way, thinking functionally helps with agile (task breakdown), TDD, and maintainability. For how functional thinking helps at a lower level too, check this post. 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. I think there's an intimidating middle ground, though, between a truly general purpose application like Keynote or Excel and a purely specific purpose app like Photobooth, Google Earth or Skype. These applications today look a lot like structured databases. These structured-database applications also come with a relatively high cost if you get your approach wrong early on. Get Focused And so to OmniFocus. 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. Instead of waiting for Omni to build that into the software I figured out how to make the weekly review a project. I took the standard list of weekly review steps from the Getting Things Done book and added them into a project: The insight here is in the repeat settings.

Set the project to "Mark complete when completing last item"Set the project to "Start again 1 week after completion" These settings mean that, whenever I complete a Weekly Review project, another project will immediately appear with a due date one week hence. Download Here's an OmniOutliner file template that you can import into your OmniFocus database with the actions and notes. 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. The trick to transfer and move mails in Hotmail to Gmail or vice versa from Gmail to Hotmail is by using IMAP support of Gmail and HTTP server support of Hotmail and MSN. Hotmail is typically a webmail service and Microsoft does not provides free POP3, IMAP and forwarding options for non-paying users.

To move and transfer from Hotmail to Gmail, firstly, configure and set up your Hotmail e-mail account on one of the supported mail client mentioned above. Notes: Working with Assertions to Debug your Apps | Mobile Developer Tips. 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. As an example, I’ve used assertions during early development phases when working with web services – as I was writing the iPhone app another team was developing web-services and programming interfaces to the same.

As we were getting parameter passing to work, assertions were very helpful to check expected values. Using Assertions in Objective-C Methods Two categories of assertions are available when writing iOS apps, assertions for use within Objective-C methods, and assertions that are used inside a C-based function. NSAssert and its kin – NSAssert1, NSAssert2, etc – are used inside methods. Notice the check for ! Drifter: A Space Trading Game by Celsius Game Studios. New T-Shirts: T-Shirts have now been added to the campaign as add-ons (scroll down to the rewards section for details). Update #5: Discs and Stretch Goals Drifter is an open-world sandbox space trading game that takes place in a galaxy with thousands of stars and endless possibilities. Live the simple life of a merchant, become a bounty hunter, take on work for hire, become a fearsome pirate, or simply explore the galaxy around you, the choice is yours.

I am independent game developer Colin Walsh, creator of the critically-acclaimed iOS space shooter Red Nova, and Drifter is my take on the venerable space trading genre. Inspired by games I grew up playing like Frontier (itself the sequel to the grand-daddy of all space traders, Elite), and Privateer, I'm hoping to bring something fun and exciting to an under-served corner of the video game world.

Drifter has been in development for about 8 months now. Here is an idea of some of the things you can expect in Drifter when it's released: OneDesk: software for issues, tickets, tasks, feedback, releases & product management. Tracking Down Exception Errors With objc_exception_throw | Mobile Developer Tips. When an application throws an exception, there is debug information shown in the console – below is the output in the console for an NSInvalidArgumentException: Although helpful, depending on the size of your application, it may take quite some time to find the offending code.

One way to better track exceptions is to catch them, as shown in this post Try, Catch and Finally. However, wrapping every potential condition is not always practical. There is another way to track down exception errors. With a symbolic breakpoint, we can force the runtime to stop on the line of code that is generating the exception. When you run the application with the symbolic breakpoint enabled, the code will stop at the offending line: Notice in the console the reference to obj_exception_throw and Pending breakpoint – the debugger stops before the actual line of code executed.

When you experience an exception that is not wrapped in a try/catch block, give the symbolic breakpoint a go. 43 Folders | Time, Attention, and Creative Work.