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 https://bookmarks.codingpedia.org/ 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 bookmarks.codingpedia.org is available on Github - frontend and backend.

Continue Reading ...

When managing my coding bookmarks via bookmarks.codingpedia.org, 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 bookmarks.codingpedia.org is available on Github - frontend and backend.

Continue Reading ...
Sharing coding bookmarks

Whenever I look through coding bookmarks list in my browser, I get a little bit of discomfort… Why? Because for some of the “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 https://bookmarks.codingpedia.org; 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 bookmarks.codingpedia.org is available on Github - frontend and backend.

Continue Reading ...

This post shows how to deploy a Java EE application on a WildFly or JBoss EAP 7 via the WildFly Maven Plugin1. You can use this plugin to deploy, undeploy or run your application. The post has two parts:

  • deploy application on local server
  • deploy application on remote server via https
Continue Reading ...