Lova – Java 8 functional interface for AsyncTask on Android

I call the class Lova – in Swedish “to promise something” is “att lova något” . This assumes you have converted your Android project to compile with Jack. Warning: Lambdas do not currently work with multidex! See issue 226867. This implementation only supports a single input parameter to the background task, but it the doInBackground method could easily be changed to send the… Continue reading Lova – Java 8 functional interface for AsyncTask on Android

Limitations of Apple iOS captive portal web browser

At my employer Softhouse  (the best IT consultancy in Karlskrona, and we’re hiring!) I recently got the requirement to make an AngularJS web application work properly in the captive portal window on Apple iOS. These requests are made with HTTP header: User-Agent: CaptiveNetworkSupport-325.10.1 wispr A captive portal is the login screen you get when you connect to many wifi… Continue reading Limitations of Apple iOS captive portal web browser

David’s technology radar

Inspired by ThoughtWorks Technology Radar, here is an attempt to write down my current world view: Adopt AngularJS Bootstrap Cloudflare – reverse proxy in the cloud, protecting and speeding up your web sites Composer – PHP package manager Redis – key/value database sphinx – search server Tonic – PHP microframework for REST(ish) web services VirtualBox – virtualization engine Trial Mozilla Persona –… Continue reading David’s technology radar

The Inner-platform API anti-pattern

I learned the term Inner-platform effect the other day and it perfectly describes an API that I have touched upon. First of all, what is the Inner-platform effect? It basically means that in attempt to make an application as flexible as possible it is implemented so that it creates a new platform that abstracts the original platform. I immediately… Continue reading The Inner-platform API anti-pattern

No application without a library, no web site without an API?

When I wrote the first versions of Dynamite and Unshield (eight and nine years ago!) I decided from the start that each project had to be implemented in two parts: a library (hopefully reusable) and a command line tool using the library. I believe I learned this from cURL and libcurl, and I still consider… Continue reading No application without a library, no web site without an API?

Pebble – more injection and less dependencies in PHP

Dependency Injection (DI) is hardly anything new. I see it as a must for Test Driven Development (TDD). The thing I like most about DI in Java is Autowired in Spring or javax.annotation.Resource, they way member variables are set “magically” and the exact details about creation and implementation is located elsewhere. For PHP there are… Continue reading Pebble – more injection and less dependencies in PHP