-
Income vs expenses this month?
$ ledger balance income expenses --period "this month"
-
What did my budget look like at a certain date?
# These settings can also go under an "Account" section, but then the | |
# "IMAPStore" section needs to reference the account. This is not | |
# needed for just one store per account. | |
IMAPStore mailbox-remote | |
Host imap.mailbox.org | |
User alexander.graul@mailbox.org | |
PassCmd "gpg --quiet --decrypt ~/.mbsync-pw-mailbox.gpg" | |
SSLType STARTTLS | |
MaildirStore mailbox-local |
Firstly, Create React App is good. But it's a very rigid CLI, primarily designed for projects that require very little to no configuration. This makes it great for beginners and simple projects but unfortunately, this means that it's pretty non-extensible. Despite the involvement from big names and a ton of great devs, it has left me wanting a much better developer experience with a lot more polish when it comes to hot reloading, babel configuration, webpack configuration, etc. It's definitely simple and good, but not amazing.
Now, compare that experience to Next.js which for starters has a much larger team behind it provided by a world-class company (Vercel) who are all financially dedicated to making it the best DX you could imagine to build any React application. Next.js is the 💣-diggity. It has amazing docs, great support, can grow with your requirements into SSR or static site generation, etc.
// Run this in the F12 javascript console in chrome | |
// if a redirect happens, the page will pause | |
// this helps because chrome's network tab's | |
// "preserve log" seems to technically preserve the log | |
// but you can't actually LOOK at it... | |
// also the "replay xhr" feature does not work after reload | |
// even if you "preserve log". | |
window.addEventListener("beforeunload", function() { debugger; }, false) |
This documents aims to provide a list of resources for people just starting out in front-end development
CREATE TABLE IF NOT EXISTS `country` ( | |
`id` int(11) NOT NULL AUTO_INCREMENT, | |
`iso` char(2) NOT NULL, | |
`name` varchar(80) NOT NULL, | |
`nicename` varchar(80) NOT NULL, | |
`iso3` char(3) DEFAULT NULL, | |
`numcode` smallint(6) DEFAULT NULL, | |
`phonecode` int(5) NOT NULL, | |
PRIMARY KEY (`id`) | |
) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
package main | |
import ( | |
"fmt" | |
"strconv" | |
) | |
func luhnCheck(cardNo int) bool { | |
toStr := strconv.Itoa(cardNo) |
FROM debian:buster | |
MAINTAINER abdul@quadlobe.com | |
WORKDIR /quadlobe | |
ADD https://raw.githubusercontent.com/ayinlaaji/dotfile/master/init.vim /root/.config/nvim/init.vim | |
ADD https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim /root/.local/share/nvim/site/autoload/plug.vim | |
ADD https://github.com/bazelbuild/bazel/releases/download/0.27.0/bazel-0.27.0-installer-linux-x86_64.sh /opt/bazel-0.27.0-installer-linux-x86_64.sh | |
ADD https://deb.nodesource.com/setup_12.x /opt/nodejs_setup_12.x | |
ADD https://yarnpkg.com/install.sh /opt/yarn_installer.sh | |
RUN git clone https://github.com/ayinlaaji/ultisnips.git /.vim/UltiSnips |
Use the natural Vim navigation keys hjkl to navigate the files. | |
Press o to open the file in a new buffer or open/close directory. | |
Press t to open the file in a new tab. | |
Press i to open the file in a new horizontal split. | |
Press s to open the file in a new vertical split. | |
Press p to go to parent directory. | |
Press r to refresh the current directory. | |
Press m to launch NERDTree menu inside Vim. |
# terminfo and termcap for nice 256 color terminal | |
# allow bold colors - necessary for some reason | |
attrcolor b ".I" | |
# tell screen how to set colors. AB = background, AF=foreground | |
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' | |
# erase background with current bg color | |
defbce "on" | |
mousetrack on |