Blog

  • Latest
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • Symfony
  • Middleman
  • Costlocker API
  • dev
  • gb
  • cz
15/15

Toggl time-entries -> JIRA (tempo) worklogs

  • gb
  • 2020-10-16
  • Toggl
  • JIRA

PHP (cron) script for synchronizing time-entries from Toggl to JIRA (tempo plugin). It extracts JIRA issue key from description, e.g. #123 description is mapped to IS-123 (project key is configurable).

Docker volumes - www-data on Debian/Ubuntu + Alpine image

  • gb
  • 2019-06-22
  • Docker

Sharing host OS www-data directories as a volume is tricky for Alpine images. User ID (UID) and Group ID (GID) are different. How to avoid "Permission denied" errors when e.g. PHP FPM worker saves session to a shared directory?

Editing Middleman site with Netlify CMS and GitLab

  • gb
  • 2018-06-25
  • Middleman
  • Netlify CMS

Static site generators are great in its simplicity. But editing content is a challenge for less technically experienced people. Netlify CMS solves it all without needing complex CMS solutions. Keep it simple!

Import projects to Costlocker

  • gb
  • 2017-05-14
  • Costlocker API

Are you using Harvest, Teamwork, JIRA, Asana, Toggl, … but missing some functionality like profits, revenues, etc…? Costlocker is now able to create and update projects via its API.

Use Costlocker webhooks for pushing notifications

  • gb
  • 2017-04-03
  • Costlocker API

If you’re familiar with webhooks it shouldn’t take long to integrate webhooks from Costlocker. It's easy to start pushing Costlocker notifications to Slack, ...

Import Toggl weekly report to Costlocker

  • gb
  • 2017-03-08
  • Costlocker API

Are you using Toggl as your primary tracking tool instead of Costlocker? Do you still want to know the profitability of your business and employees? Costlocker is now able to simply import all your Toggl tracked hours and process them.

Evoluce backendu rozpisů zápasů - z hg a Phalconu do gitu, Silexu, Circle.ci a Loggly

  • cz
  • 2016-12-18
  • dev

Aplikaci jsem začal vyvíjet v únoru 2014 jako diplomku. Od té doby jsem přešel z akademického prostředí do práce a z Windows na Linux/MacOS, takže aplikuji zkušeností a praktiky z práce. Prvotním impulsem změny byla jen phpqa analýza kódu…

Z bastliče profesionálem?

  • cz
  • 2016-05-21
  • dev

Retrospektiva nad praktikami a přístupem během VŠ studia a změnách po přechodu do praxe. Aneb cesta za XP praktikami a hodnotami, profesionalismem, odpovědností a disciplíně.

Redirect authenticated user on anonymous pages in Symfony

  • gb
  • 2016-05-04
  • Symfony
  • event listener

What should happen when an authenticated user goes to login page, registration page, forgotten password etc.? One option is to do nothing - just display the page and let the user decide what he wants to do. Redirecting the user might be a better solution.

Nedostatky Nette při přechodu ze Symfony2

  • cz
  • 2016-01-13
  • Nette
  • Symfony

Předchozí projekty, na kterých jsem pracoval, byly v Symfony. Jakmile potom přecházíte z jednoho do druhého, tak se vždycky najde pár věcí, které jsou v jednom či druhém řešeny lépe. Framework nikdy nevyhoví všem, tak jsem sepsal, s čím bojuji v Nette.

HTTP Caching in Symfony2 - max-age, ETag & gzip

  • gb
  • 2015-02-20
  • Symfony
  • caching

Symfony is cool, HTTP cache is cool, so HTTP cache in Symfony is even cooler. Still estimates went south when we implemented max-age and ETag. By we I mean myself, Václav Novotný and Jenkins.

Cleaner Symfony forms

  • gb
  • 2015-01-09
  • Symfony
  • forms

Forms are essential component for development of Symfony web application. But if I look at typical Symfony form then I see several violations of Four Rules of Simple Design: duplicated form alias, unnecessary coupling to Symfony, optional $options.

Optimizing single page Middleman website

  • gb
  • 2014-12-27
  • Middleman
  • assets

Single page website is even better when user downloads complete content in one HTTP request. No additional requests for CSS and JavaScript files. Middleman handles file-size optimization very well, so the only thing you must do is inlining assets.

Generate .htaccess in Middleman

  • gb
  • 2014-12-27
  • Middleman
  • .htaccess

Writing .htaccess file manually can be exhausting because a lot of Apache directives must be duplicated. If you use Middleman for generating static websites, you can use it for .htaccess too. Define source data in yml and loop the data in htaccess template.

Dispatch Symfony events in transactions

  • gb
  • 2014-12-22
  • Symfony
  • dispatcher

Symfony dispatcher is powerful tool, but as in any framework maybe it's too much designed for general purposes. One missing use case is dispatching event in transaction. For example when one listener failed, then you don't want to insert rows to database.

Sports Schedules

Generator
Generator of Sports Schedules screenshots

Generator

  • REST API
  • Hypermedia
  • PHP
  • PostgreSQL
  • wkhtmltopdf
  • Middleman

Collections of classes for generating season schedule (round robin system), playoff (single/double elimination, consolation playoff), tournaments and tables. Generator is used in czech online app for generating sport schedules, where users can download generated schedules in PDF, CSV, HTML or JSON format.

Results App
Generator of Sports Schedules screenshots

Results App

  • JavaFX
  • Cucumber
  • JUnit
  • EasyGson
  • undecorated window

Generated schedule is just the beginning. During the tournaments organizers fill out match results, calculate tables, find top scorer and goalkeeper etc. Results app eliminates manual work and calculations. Flow is really simple: import JSON schedule, fill results, export summary to HTML.

Open Source

edgedesign/phpqa
Analyze PHP code with one command (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
Costlocker
API & apps - 3rd party API integrations, Generate XLS reports, Desktop app, Browser extension.
GoPay SDK
GoPay's SDK for Payments REST API - PHP, Python, Slate documentation.

University of Pardubice

Semestral projects: JavaFX application, Repast Simphony model, C# Data Structures & Algorithms, JAVA Neural Networks
PHP applications: Big number data type & math expression compiler, Sports Table Manager, Treewec CMS