Why might git log not show history for a moved file, and what can I do about it The Places frecency algorithm - MDC Frecency is a score given to each unique URI in Places, encompassing bookmarks, history and tags. This score is determined by the amount of revisitation, the type of those visits, how recent they were, and whether the URI was bookmarked or tagged. The word "frecency" itself is a combination of the words "frequency" and "recency." The default frecency value for all valid entries is -1. The frecency calculation process Example This is an example of a frecency calculation for a URI that is bookmarked and has been visited twice recently (once yesterday, and once last week by clicking a link), and two other times more than 90 days ago: Notes The number of sampled visits is min(10 most recent visits pref, total visit counts). Developer notes There are various development notes you can read about Places that may offer additional insights: History The initial algorithm design was by Mike Connor and Seth Spitzer.
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.
A successful Git branching model » nvie.com Note of reflection (March 5, 2020)This model was conceived in 2010, now more than 10 years ago, and not very long after Git itself came into being. In those 10 years, git-flow (the branching model laid out in this article) has become hugely popular in many a software team to the point where people have started treating it like a standard of sorts — but unfortunately also as a dogma or panacea.During those 10 years, Git itself has taken the world by a storm, and the most popular type of software that is being developed with Git is shifting more towards web apps — at least in my filter bubble. Web apps are typically continuously delivered, not rolled back, and you don't have to support multiple versions of the software running in the wild.This is not the class of software that I had in mind when I wrote the blog post 10 years ago. Why git? For a thorough discussion on the pros and cons of Git compared to centralized source code control systems, see the web. The main branches ¶ develop
appscript 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. 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. Some of the applications I mentioned are easier to approach than others, due to the greater amount of direction (or reduced flexibility) they give to the user's actions. 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. That said, I look at OmniFocus not as a "to-do application" but as a "GTD application". My Approach Grand Perspective Review: I use this for weekly review.
shadowhand/git-encrypt - GitHub The C++ 'const' Declaration: Why & How The 'const' system is one of the really messy features of C++. It is simple in concept: variables declared with ‘const’ added become constants and cannot be altered by the program. However it is also used to bodge in a substitute for one of the missing features of C++ and there it gets horridly complicated and sometimes frustratingly restrictive. The following attempts to explain how 'const' is used and why it exists. Simple Use of ‘const’ The simplest use is to declare a named constant. To do this, one declares a constant as if it was a variable but add ‘const’ before it. const int Constant1=96; will create an integer constant, unimaginatively called ‘Constant1’, with the value 96. Such constants are useful for parameters which are used in the program but do not need to be changed after the program is compiled. It also works with pointers but one has to be careful where ‘const’ is put as that determines whether the pointer or what it points to is constant. const int * Constant2
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.