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 lesser extent) Java crystallized in my today's interest.
What am I currently working on
At NejRemeslnici we have finally added the option to pay using a credit card. We have integrated our pages with the GoPay payment gateway. The technical part of the integration was very quick and without bad surprises., it must have taken a longer time to sign the initial business agreements. A bit more cumbersome was then ensuring correct processing of the payments at our side, in financial reports and accounting exports. (January 2016)
Due to the fact that we encounter repeated SPAM attacks against NejRemeslnici, during which people, including our customers, receive emails sent seemingly from our address, I was asked to implement as much protection against abusing our mail address as possible. I started with the SPF protection (a politics saying which servers are allowed to send emails for our domain), DKIM (digital signatures of all our messages) and finally DMARC (precise control of these politics and protections). We cannot do much else about the black-hat email senders, but we managed to greatly reduce the load of SPAM coming to our users who use a clever email client, such as gmail. I fell in love with the great tool, dmarcian, to analyze impacts of all these email protections.
After an intensive, month-long effort of two developers we also finished an upgrade of the Ruby and Rails layers at NejRemeslnici. From the ancient and long unsupported Ruby (1.8.7) and Rails (2.3) versions we gradually switched up to the current versions of Ruby 2.2.1 and Rails 4.2. The upgrade itself was quite straightforward, we had some harder times though with our customized or monkey-patched library versions. We also used a HAProxy reverse proxy to fully control the amount of users directed to the new web version and hunt for related exceptions. There weren't many though. We also got a nice bonus of another approx. 30% speed-up due to the new Ruby version. (April 2015)
We finished a great server upgrade task at NejRemeslnici. In this phase, it was mainly about updating the operating system, the database and web server - all these components were becoming hopelessly outdated. We upgraded to the newest Ubuntu LTS and just this change, by itself, without any application code change, lead to a tremendous speed up. The database load decreased by more than 40%, total memory used on the server dropped by 50%, browsing the pages is noticeably faster now, the server deals much better with visit peaks and nightly calculation tasks. We are excited! (February 2015)
I'm playing with an automatic processing of undeliverable emails at NejŘemeslníci. Each bounced mail is now trapped, parsed by a handy library and based on the status code it is marked either as undeliverable or "false alarm". For each provider, our admins then can see whether the mails we send them are truly delivered and can contact the company if not. We mostly see problems with abandoned or full mailboxes or typos in addresses, such as
seynam.cz. Currently about a thousand companies have problems with undeliverable mail... (November 2014)