As I have told you before, I am really hooked on bash aliases1. This blog entry emphasizes that point and presents how to make a MySql database backup via mysqldump with only three words, even with three letters, if you will.

So, without further ado, let’s see the alias:

$ alias mysql-backup-db_name='mysqldump db_name -u db_user -p -h --port 3306 --single-transaction > path_to_back_up_directory/db_name_$(date "+%Y-%m-%d_%H:%M").sql'
$ mysql-backup-db_name

or, same with three letters:

$ alias mbd='mysqldump db_name -u db_user -p -h --port 3306 --single-transaction > path_to_back_up_directory/db_name_$(date "+%Y-%m-%d_%H:%M").sql'
$ mbd
Continue Reading ...

When I add a new bookmark to my bookmarks collection, I set the title of the new bookmark, most of the time, the same as the title of the web page being bookmark - I assume the authors have put some thought into it. To make this happen automatically, I am using a technique called web scraping1. I cannot do it in front end (angular), since most of the URLs are outside of the domain. So the magic happens in back end, in NodeJS, with the help of a library called cheerio2, thank you Matthew for that. Cheerio is a fast, flexible, and lean implementation of core jQuery3 designed specifically for the server. Read on to learn how this works.

Octocat Source code for is available on Github - Star

Continue Reading ...

When managing my dev bookmarks via, I often have the need to place in the bookmark’s description either a code snippet (might be a command), add a list or add links and emphasize words - this seems like a perfect match for Markdown1. In this post I will demonstrate how I enabled Markdown support with the help of ShodownJS2, both in front end (developed with Angular3) and in backend, developed with NodeJS4.

Octocat Source code for is available on Github - Star

Continue Reading ...
Sharing coding bookmarks

Whenever I look through coding bookmarks list in my browser, I get a bit of discomfort… Why? Because for some “categories” like angular or java ee, the list doesn’t fit into my screen anymore, and I use a 2K resolution… Despite trying to neatly order my bookmarks alphabetically, categorize them in folders, put tags and description on them, I ended up with one big mess. You might say, so what, why not use the bookmarks manager’s search function? Well, first is that awkward keystroke combination or navigation through the menu you need to remember :) and then there is browser dependency, privacy concerns, complexity. I can add to that the “just throw it there” careless behaviour.

Why I don’t just rely on the Google/search engine? Well,

  • much of the really good links I discovered were referenced from other links, which may have come up initially through a search engine
  • I like having them persisted, since I put some energy in finding and using them in the first place
  • privacy concerns - maybe I won’t bother when Google will be able to read my mind, or does it already?
  • but the most important thing could prove to be the feedback of public bookmarks; visitors (hopefully not robots), who will be able to vote up or down a link (feature I will start working on soon)…

So, bottom line - I will have bookmarks for useful dev resources, but it will only be one link in my browser.

Continue Reading ...

Here goes my first Angular post - yeeey. Well, it’s not super exciting, but practical and specific… Topic - generic: present how to update a field’s value in a reactive form field, once a value in another field is given. Topic - concrete: there is a personal bookmarks section on; when you add a new bookmark and you fill in the location field with an URL, the title field is being automatically filled in by scraping the page for its title. Of course later you have the possibility to change it.

In the end I present the struggle that led me to the solution.

Octocat Source code for is available on Github - Star

Continue Reading ...