ledger comes with a built in budget system, but I wanted to get an “envelope”, or “YNAB” style budget working. While this was easy to do in theory, in practice it proved more difficult. The theory is pretty simple; enevelope budgeting merely requires you to create some new accounts to keep track of each “envelope” of money. But in practice, it requires a huge amount of duplicate data-entry, because even when using ledger’s automatic transactions, because each month’s budget is mostly the same but not necessarily exactly the same.The following
;; geeknote ============================================================== | |
(defun geeknote-mode () | |
(interactive) | |
(eshell-command "python ~/geeknote/geeknote.py settings --editor /Applications/Emacs.app/Contents/MacOS/bin/emacsclient") | |
) | |
(defun geeknote-create (newnote) | |
(interactive "sname: ") | |
(eshell-command | |
(format "python ~/geeknote/geeknote.py create --content WRITE --title %s" newnote)) |
Based on http://stackoverflow.com/a/4158763/472153: | |
* brew tap homebrew/boneyard | |
* cd $( brew --prefix ) | |
* brew versions docker | |
* git checkout 9ccfc7e Library/Formula/docker.rb | |
* brew unlink docker | |
* brew install docker | |
* brew switch docker 1.2.0 |
;; Flycheck JSCS | |
(flycheck-def-config-file-var flycheck-jscs javascript-jscs ".jscs.json" | |
:safe #'stringp) | |
(flycheck-define-checker javascript-jscs | |
"A JavaScript code style checker. | |
See URL `https://github.com/mdevils/node-jscs'." | |
:command ("jscs" "--reporter" "checkstyle" | |
(config-file "--config" flycheck-jscs) | |
source) | |
:error-parser flycheck-parse-checkstyle |
A type is a collection of possible values. An integer can have values 0, 1, 2, 3, etc.; a boolean can have values true and false. We can imagine any type we like: for example, a HighFive type that allows the values "hi" or 5, but nothing else. It's not a string and it's not an integer; it's its own, separate type.
Statically typed languages constrain variables' types: the programming language might know, for example, that x is an Integer.
In that case, the programmer isn't allowed to say x = true
; that would be an invalid program.
The compiler will refuse to compile it, so we can't even run it.
# Be sure to save your config files. Optional but I do: | |
sudo cp /etc/postgresql/9.3/main/postgresql.conf ~ | |
sudo cp /etc/postgresql/9.3/main/pg_hba.conf ~ | |
# Package repo (for apt-get) | |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - | |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" >> /etc/apt/sources.list.d/postgresql.list' | |
# Also probably optional but I like to update sources and upgrade | |
sudo apt-get update |
Disclaimer: This piece is written anonymously. The names of a few particular companies are mentioned, but as common examples only.
This is a short write-up on things that I wish I'd known and considered before joining a private company (aka startup, aka unicorn in some cases). I'm not trying to make the case that you should never join a private company, but the power imbalance between founder and employee is extreme, and that potential candidates would