Categories ArchivesDevelopment

Limits of img data URI image

data URIs (RFC 2397) are a great way to embed external content into an HTML document (or a CSS stylesheet). On the one hand they circumvent a secondary HTTP request to fetch the external content but on the other hand they also make storing full HTML documents so much easier - just one file including all the external content such as stylesheets and images.That's the theory and that has been discussed in detail already. Problematic is, again, our lovely Internet Explorer 8 - I'm not talking about IE 7 and earlier here... Microsoft somewhen decided that: Data URIs cannot be larger than 32,768 characters. A requirement that has been loosened with one IE9 beta late 2010, by the way. So far so ...

Continue Reading

ExtJS vs. SenchaTouch vs. Responsive Web Design image

At last Sencha Conference (SenchaCon13) I had an interesting discussion about handling responsive web design with ExtJS and/or SenchaTouch. At least many attendees hoped to get a merge between ExtJS and SenchaTouch to have only one framework to rule them all.In my opinion many developers try to put things together on a table, which could never end in a valuable result. Naming ExtJS, SenchaTouch and responsive web design in one sentence shows the misunderstanding of these tools.ExtJS is a full stack application framework. It not only raises a claim to support older browsers (at least IE8 until 2014/15) and to make javascript less browser dependent for a developer. It also supports things not usable on mobile devices. It is ...

Continue Reading

Real Single Sign On (SSO) image

Concept Single Sign On, as the name implies, allows a user to authenticate against a central authority and then use that authentication to access multiple systems. Motivation From a user point of view, the authentication process is vastly simplified. You remember *one* set of credentials, you go through *one* log-in process. Time and mental effort is saved, allowing you to be a happier user, more efficient employee, etc.From a support / admin point of view, the time spent dealing with forgotten passwords, training users against multiple systems is also reduced. Potentially, this may reduce hardware requirements too as you've reduced duplication of functionality - however that's probably open to debate. Criticisms The obvious issue is the "all your eggs in one basket" problem - ...

Continue Reading

Phingified CI and Deployment Strategies image

Concept Phing is a build tool written in PHP. It is based on Apache Ant and uses the same type of XML configuration to configure it. It is actually perfect to combine it with a automated build tool like Jenkins, Hudson, Bamboo, Xinc, Sismo, or many other Continuous Integration (CI) servers. Motivation We all hate to repeat tasks over and over again and repeating tasks, we usually make mistakes sooner or later. It is normal human behavior and just happens. In order to avoid all that, use a build tool and automate your stuff! It will decrease your error rate radically and just makes fun to use it. Same is true for a CI server. It is awesome if all those tasks like ...

Continue Reading

PHPKnock – web frontend for port knocking service fwknop image

PHPKnock is a web frontend for the port knocking service fwknop . It let you shoot a Single Packet Authorization (SPA) or a port knocking request to any server you configured and ask this server to open a certain port for you or any given IP address.What is this web frontend good for? You can use it to support any OS or platform that has a browser. E.g. you can install it on an intranet server to open up other servers in your extranet or internet. Another use-case could be to install it in your extranet, so your support staff has the ability to send SPA or port knocking requests from home or somewhere else without installing fwknop to ...

Continue Reading

ExtJS Tree Grid image

We recently had to implement a user interface that included a editable grid displaying a tree-structure. Naturally we first turned our attention to the Ext.ux.tree.TreeGrid which was officially released with ExtJS 3.1. Sadly this component lacks the current high standard set by ExtJS components such as the Ext.grid.GridPanel, Ext.tree.TreePanel or the whole layout engine. Even worse it also lacks any documentation at all – just a side note (or a broad hint to de developers ;-)In our use-case, especially the column-model that’s based on the Ext.list.ListView column-model, which made implementing editable fields quite hard and ugly, and some problems with calculating column widths as well as the lack of support for auto-expanding columns (we could correct the last two ...

Continue Reading

This is a unique website which will require a more modern browser to work!

Please upgrade today!