Why I Enjoy Programming

There are certain things in life that make me happy. Loving and being loved by my partner, food, and programming. While there are many reasons why I love My Girl :), I will leave those lovely details private.

$me@Programming:_

  1. I’m in control
  2. Forever learning
  3. My imagination is my limit
  4. I’m building something: like a master builder on the Lego Movie.
  5. I wanted to be a scientist, now I can be — a computer scientist haha
  6. I communicate with code
  7. I help others with their problems
  8. Make the web a better place!

 

Google Keep Alternative

I am concerned about my privacy. I like to keep my stuff to myself where I don’t have to worry about my personal files, like images, messages, email, and the like, be analyzed by big corporations and probably governments for the purpose of labeling me and categorizing me. Kinda creepy. Makes me want to read 1984 by Orwell.

But Google Keep Is Convenient

At the same time, I, like most people, like the convenience of viewing and editing files (Google Drive), backing up and viewing images (Google Photos), and writing lists, random thoughts, and reminders like, for example, “take course on one-way hashing algorithms” or “make my own Google apps”. [Random thought: maybe I should be a internet evangelist and preach about the protocols of internet file transfers and how md5 hashing works. Not a bad idea Spencer.]

So, yes. I do want to make my own Google apps, or at least find someone that already did on Github. Today, I researched for hours trying to find an open-source and self-hosted app that could replace Google Keep. Couldn’t find exactly what I was looking for.

Google Keep has a couple things I like:

  • It saves it offline to device when not connected to internet
  • Automatically saves notes and syncs them with cloud
  • Great UI
  • Labels for notes
  • Add images

These are the main things I enjoy about Google Keep that I want to find in freeware app or replicate myself.

Open Source Apps That Came Close

Paperwork came close. I liked the style it has and that it is self-hosted, but the main purpose of the app is for file management, and however sleek it is for file tagging and viewing, it is not for me… may want to back-track and play around with this, but I got to stay focused.

Pros:

  • Nice stylesheets
  • Self-hosted

Cons:

  • No Android app
  • Not specifically for creating and managing notes

 ownNote was another promising alternative. However, it comes with a price. Literally, it costs 99 cents and who wants to spend that on internet freedom. Alright, I might be more willing if I had the option to pay in Bitcoin and if the fact of it being an Android app that makes me feel like I am giving up some of my rights every time I am required to press the “I give you permissions to do whatever with my files” button when prompt about giving permissions to the app wasn’t so much of an issue for me. Other than that it would do more or less what I wanted.

Pros:

  • Client app that allows notes to be saved offline
  • Ability to categorize notes
  • Can include images in base64 (yay for base64!!)

Cons:

  • Not free

 Gruik seems promising, but it currently lacks client side encryption, tagging, and image uploading. But it should be checked on later in its development.

And Then There Was Progressive Web Apps

So, after finding that my web browsing requests were not satisfied, I journied down the path of creating my own Google Keep alternative app. Whenever I mention to my friend about making a mobile app, he keeps telling me about how Google is pushing for this thing called a Progressive Web App (PWA). I checked it out and it is amazing. Look at this demo site where you can also get tons of stats on tons of Pokemon. You can now have a website load, even when there is no connection. It is wonderful! It is amazing! Try it out right now. Turn off your mobile data and your wifi and unplug your usb tether and try it out! So cool right? This is the path to my internet request. This is how I will create my own Google Keep alternative!

 

Organizing My Programmable Life

Due to the fact that when you are a programmer you have practically unlimited potential projects to work on and things to learn, I want to become more organized. One way of accomplishing this outrageous goal is by making this blog, but also I am wanting to look for a program that helps me manage my projects, my to-do’s, etc.

The Church of Jesus Christ of Latter-day Saints has a tech site where some of their projects use a program called Jira. Jira is a software development tool to help plan and track and prioritize tasks. I may delve further into that or I may just find and go with a free project management program. I mention the LDS church because I like their clean and fast website and apps. Plus, I like the LDS church. Great stuff.

Kanboard

Back to organizing my programmable life. Well, after researching the many popular project management systems, I decided to just go with the opensource one that appeared first in Github search results for “software project management”. It’s called Kanboard. Now, to installing it!

Kanboard runs using php. It uses a default database of SQLite, which apparently is serverless, meaning that everything is saved to disk to a file. However, I want to use mysql so that I can keep practicing with it. Next time I come accross the option for SQLite, I will go with that to check it out more.

Wow. I am liking this Kanboard. Apparently, the kanboard method was invented by someone at Toyota to help with work flow. I got it all set up and it seems really nice right off the bat.

I’m liking how more organized I feel even before getting back to work finally (I spent a large portion of my day trying to find find a project management system, install it, and then set it up). It will be neat to be able to easily track all the work I’ve done throughout the next few months and then even years (if I keep using/liking Kanboard). No more tracking projects on a Google Doc haha!