matous_uvod
My name is Matouš Borák and I like to build nice and useful webs. Four days a week, I work as a freelance programmer in the Ruby language.

I focus on implementing rather large web applications, concerning mainly their functional aspects. I am fond of creating websites with a clear purpose and intuitively accessible content.

My experience includes complex projects, team as well as solo work and as far as I can remember, I've never been a fifth wheel. Formerly, I devoted myself mostly to IT security and today I keep the knowledge of its principles with me as a great base for secure programming and ensuring user data safety.

Out of a number of programming languages that I learned and used, especially Ruby and (to a little extent) Java crystallized in my today's interest.

In case you look for somebody like me to help you with your project, I'll be very glad to answer your call. A short walk through my website may tell you more.

What am I currently working on

  • We are engaged in various optimization tasks on our frontend, I am mainly dealing with image optimization now. Images, as we learned, are often retaining a too high quality, even after resizing and cropping, which leads to page bloat. I made a rake task for reprocessing all images using the perfect image_optim gem. The task ran for over a week (for over 400k images) and reduced an average image file size by half, freeing several GBs of disk space on our server. The data load of certain pages decreased by two thirds!    (August 2017)

  • Nejremeslnici.cz now become nejzona.cz! After a few months' effort we substantially expanded the web for new zones, i.e. areas that we are able to process demands from. From the technical point of view, the new complex routing solution was the most interesting, apart from new homepages designs.

    Each zone is now run as a subdomain of the nejzona.cz main web. Futhermore, some objects, e.g. demands, have their home subdomain set and should exist just there and on no other subdomain. We ran into issues when trying to implement this requirement - there were thousands of routes / links to such home-aware objects spread all over the project and we did not want to have to update each of them for the correct subdomain. Eventually we had to monkey-patch rails routing for these objects. Some of the routes were then redefined so that they, using current context and the home subdomain of the routed object, generate either a relative or an absolute link, just as needed. This way we could leave all the routes in the form of something_path in our project intact and we are very happy with the solution.    (July 2017)

  • We published an article at Martin Michalek's blog regarding our experiences with the Tachyons CSS framework at NejRemeslnici. Overall we are very happy with the Tachyons framework here, one can style pages very quickly, without having to switch contexts to the CSS file(s), the pages easily have a more uniform appearance due to the fixed length scales, etc. See the article (in Czech only) for more.    (February 2017)

  • We switched NejŘemeslníci.cz to the HTTPS secured protocol. It was surprisingly easy with the Let's encrypt certificates. The hardest thing was actually to watch over the consistency of all external sources, so that there are no mixed content problems on the pages. To ensure that, we even had to build a local proxy that downloads (insecure) external sources from some of our partners and shows them in our pages securely.    (January 2017)

  • There has been a great redesign of the main pages, including homepage, going on at nejremeslnici.cz (we are about to convert more pages to the new design gradually). I am very fond of the fact that with the new pages we finally began to use new technologies and patterns as well, such as: using Slim templates instead of ERBs, atomic styling using Tachyons framework, SVG icons, simple_form forms, all pages of course fully responsive. While at it, we also dumped a lot of old CSS and JS parts of code for the new pages...    (October 2016)

... and previously? »