May 10, 2020
I worked on using the “SC-IM” program to manage my yearly finances and expenses.
“sc-im” which stands for “sc-improved” which is basically a spreadsheet program that utilizes Vim bindings: https://github.com/andmarti1424/sc-im
Two really good videos on how to use “sc-im” which I have found to be super useful include:
Luke Smith’s video on SC-IM: https://www.youtube.com/watch?v=K_8_gazN7h0&t=19s
gotbletu’s video on “sc”, which is the predecessor to “SC-IM” which covers some of the formula usage in “sc” which is pretty neat and not necessarily too intuitive in the man page for “sc-im”: https://www.youtube.com/watch?v=xrX2isHDQu8
With this knowledge, I’ve been able to make a master spreadsheet containing my finances for the year.
It took A LOT of manipulation from both the credit card and checking account based .csv’s, but hey, it can be done.
It’s pretty neat because by doing this, you can take charge of your finances and determine how much you’re spending month to month.
Some Useful Keybindings For “sc-im” That You Might Find Useful:
Command | Command Desc. | Example | Example Desc. |
---|---|---|---|
g(cell number) | Go to cell number | ga0 | Go to cell, a0 |
dc | Delete column | dc | Delete the current column |
dr | Delete row | dr | Delete the current row |
// (This is an alias for :int goto | Search for a particular item | :int goto “ONLINE” | Search for the “ONLINE” string |
n | Search for the next search instance | n | Search for the next instance of the “ONLINE” string |
:format “(desired format)” | Allows you to format a cell range | :format “-#.00” | Format the current cell to a negative number with two decimals |
yc | Yank the current column | yc | Yank the current column |
p | Paste the previously yanked item | p | Paste the previously yanked item |
:e! csv | Export the current spreadsheet into a csv of the same name | :e! csv | Export the current spreadsheet into a csv of the same name |
:sort (range) “(+ or -)(# or $)(Col Letter) | Allows you to sort a range of cells in asc(+) or desc(-) order based on a num (#) or str($) value) for a column | :sort A1:C48 “+$A” | Sort the range, A1:C48 in ascending order based on a string value |
G | Go to the last cell in the lower right corner | G | Go to the last cell in the lower right corner |
Once you have formatted both the credit card and checking account .csvs to the desired column formats, you can utilize the ‘cat’ Linux command to combine them and re-direct them to a single file.
For example, this command would take the credit card .csv and checking account .csv files and combine them into one master .csv file:
cat creditCard.csv checkingAccount.csv >> masterFile.csv
I keep it simple however, so its not as granular as something like a Credit Card statement that breaks down “food” vs “expenses”, etc.
However, I have the description fields intact within its own designated column, so I can check out line items if I want to for specific expenses.
To help anyone else who might be utilizing a Wells Fargo bank account, I created a webscraper with the Firefox Selenium webdriver.
You will need to have “pip3” installed Selenium, as well as “getpass” Python 3 libraries to utilize this Python 3 based webscraper script.
It aims to obtain the user’s latest balance to copy it into a file of the user’s choosing, or onto the clipboard (still deciding what would be the best for my particular workflow since I currently just need it to insert into a related .csv file, but most Linux users would probably want to just add it to their clipboard using x-clip).
My current “Wells Fargo Balance Webscraper” project can be found here: https://github.com/SBanya/WellsFargoBalanceWebscraper
I also played a bunch of games from the “bsdgames” repo from Debian’s repository: https://packages.debian.org/stable/games/bsdgames
Also, I checked out a few things from this cool older terminal program based blog: https://inconsolation.wordpress.com/
I highly recommend this blog if you’re getting into minimalistic terminal program software since a few things stand out as cool ideas to add to a computer workflow for the newer or medium level Linux user.
Debating what DOS games to play this weekend, and also I would like to un-break my Arch install on the desktop computer that I have Steam on since I’d like to keep messing around with it to see what games Linux can run with purely Steam, and also might try to load a few emulators on that same OS as well.
Also debating whether or not to put Gentoo on the other half of the same drive, since I really really really like their philosophy and take on free software (free as in “freedom”).
My Goals For The Upcoming Weeks Include:
Goal | Description |
---|---|
Contribute to Christian based FOSS software | Attempting to do so with Xiphos, but might find a different project |
Create theme based music using MuseScore | Self explanatory |
Learn gardening techniques | Would want to become more self-sufficient |
Learn soldering techniques | Will need soldering equipment but wanted to learn basic electronics |
Learn Alpine Email Client OR mu4e for Emacs | Would like to give this a shot as I’m sick of using Outlook in browser |
Host my own email address either through VM or pay-for-service | Sick of MS Outlook email, and want to change to a new email address |
Figure out how to use cURL for ZenDesk for work | Would rather do all my work in Emacs, but without the API, this might be the only way |
Learn Org-Mode basics for calendaring and agenda | Would want to explore these options for personal use |
Learn Org-Capture Mode | Need to develop better templates for work |
Create a macro to copy today’s TODO list to tomorrow’s directory for work | It’s too manual at this point, and should be automated. |
Learn more w3m browser | Would want to become less dependent on GUI based browsers |
Learn ImageMagick | Reason being is that there are really cool ways to manipulate images via terminal |
Install Gentoo | I would like to attempt to purely use terminal apps using this distro |
Possibly play Dwarf Fortress or Mount & Blade: Warband | Always wanted to play these games |
Develop useful web apps that blend Python3 and NodeJS | Would like to make useful standalone web apps on my site beneficial for normal people’s use |
My best advice for these days is to pretty much keep the motto, “God’s will”.
That’s been helping me a lot mentally in these times.
Living for today, and enjoy the blessings that you have each day.
Hope everyone is doing well, God Bless.