sobstel.org / Przemek Sobstel
Aspiring software craftsman, speaks programming.
professional work
Currently working as a Senior Software Engineer / Development Lead at PERFORM (world leader at broadcasting and commercializing sport in digital media).
interests
Anything that makes web applications flying, including - but not limited to - ajax, akamai, apache, apis, bash, common sense, css, design patterns, git, html, javascript, jquery, json, linux, mac os x, memcached, mongodb, mysql, nginx, php, phpunit, prototype.js, rails, ruby, sql, symfony, tdd, web services, etc.
profile
Slow, anemic, works badly under the stress, geeky, maverick, terrible teamplayer, grumpy, rude, boorish, introverted, impatient, egocentric, never self-critical... and have the english sense of humour, sort of.
open source
- mongospec -
- Imaged - Image mainpulation lib. Object-oriented wrapper for PHP GD2 library.
- sesshin - PHP advanced session manager.
- elicorege - Extremely lightweight (PHP) Composer repository generator.
- SyncedSideBar - Sublime Text 2 plugin to sync project sidebar (folder view) with currently active file.
- LSDCache - LSD Slam Defence - cache lib with semaphore implementation using many storages (Memcache, APC, Array)
- sub - my 37signals/sub (https://github.com/37signals/sub)
- jsonp.js - Lightweight JSONP library for cross-domain ajax calls (written in pure Javascript).
- Execution - PHP class to handle unrecoverable fatal errors
- scru.js - Lightweight execution dependency manager (perfect for lazy loading with dependencies)
- shed - PHP Dependency Injection container
- Doctrine Common - extensions to core PHP functionality
- DoctrineExtensions - a set of Doctrine 2 extensions
code excerpts
- Remove multiple items in the Mac OSX (Lion) ‘Open With’
- preg_replace_callback with match counter
- Responsive embedded youtube video
- $jsonp
- homebrew formula for apache2 (2.4.3)
- Doctrine\Common\Cache\CacheProvider performance-aware adapter
- Russian roulette ;-)
- Service task for Mac OS X
- Observer in JS
- Call class method via instance
- Codility demo test (Ruby)
- Codility demo test (PHP)
- Devise: find by username OR email
- PHP: Converting DateTime between timezones
- Regex look ahead and look behind
- Apache log analyzer
- PHP PDO grouping results
- Accessing private members of the same object type
- PHP new ternary operator gotcha
- MySQL fast data load
- Mac OS X: redirecting port 80 to actual http port
- Clipped text in CSS
- mongoid: embedded document without object_id
- ~/.mplayer/config (polish font in mplayer)
- interpret_status in rails3
- hirb and wirble configuration
- Lazy assignment pattern
- PHP: function in method
- will_paginate query with per_page working in rails3
- jQuery onload event for images
blog
- Testing on multiple devices with pow and xip.io
- Nginx, Apache, Ruby, PHP all through port 80 at Mac OS X
- MySQL DATETIME vs TIMESTAMP
- Debugging Akamai
- Doctrine: CacheProvider performance-aware adapter
- MySQL: BLOB vs TEXT
- PHP: Call to undefined method on tr_TR locale
- Sublime Text 2: sync project side bar with active file
- Internet Explorer under Linux or Mac OS X
- Javascript lazy loading with dependencies
- Call class method via instance in Ruby
- CSS Image
- Codility sample demo test
- Devise: find by username OR e-mail
- PHP date conversions between timezones
- DISTINCT vs GROUP BY
- Avoid temporary table when using MySQL's ORDER BY
- MySQL "Using index" in EXPLAIN's extra column
- Doctrine2: re-usable logic in entities
- Regexp: string followed by and preceded by
- JavaScript inspect/dump made easy
- PDO: grouping results to indexed associative array
- PHP: accessing private members of objects of same type
- PHP new ternary operator gotcha
- MySQL fast data load
- XSS via environment variables in PHP
- Clipped text in CSS
- mongoid: embedded documents without object ids
- Javascript: checking if variable exists
- Value Object in ActiveRecord
- interpret_status in rails3
- Readable MySQL-like output in rails console or irb
- Flawed anti-csrf check
- PHP function inside of class method
- will_paginate per_page in rails3
- jQuery onload event for images
- PHP input data filtering in a nutshell
- Symfony routing with and without trailing slashes
- Conditional aggregate functions magic in MySQL
- HTML e-mail best practices
- PHP gettext caching workaround
- HTML is a web standard FFS
- Zend PHP Certification Watchouts
- (not only) Internet Explorer conditional comments