my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Security Expert Mario Heiderich About AngularJS and Security

At beyond tellerrand in Düsseldorf this year security expert Mario Heidrich gave a fast-paced - if sometimes too abrasive for my liking - talk about security and AngularJS: This talk contains a lot of useful insights as to what to pay attention to in order to secure your AngularJS applications (or in fact any web application created with a modern JavaScript framework), as well as techniques and approaches security consultants and hackers (both the white and black hat varieties) use in order ... Read more

Jeremy Keith About Resilience In Web Applications @ beyond tellerrand 2016

At this year's beyond tellerrand conference in Düsseldorf web developer Jeremy Keith gave a talk on resilience in web applications: Resilience - Jeremy Keith - btconfDUS 2016 from beyond tellerrand on Vimeo. The World Wide Web - or the Internet for that matter - since its inception always was designed as a resilient, fault-tolerant medium. This not just applies in a technical sense but in a social or even political way, too. As John Gilmore is famously quoted: "The Net interprets censorship as ... Read more

BedquiltDB – A JSON document store for PostgreSQL

BedquiltDB is a recently released PostgreSQL extension (written mostly in PL/pgSQL) that leverages PostgreSQL's relatively new jsonb column type (available since version 9.4) to provide a MongoDB-like NoSQL document store and API on top of a PostgreSQL database. There are a few benefits to this approach. First, this allows you to start a project with a comparatively simple document-oriented API that lends itself to many use cases in terms of modern web applications. While you get this with your usual NoSQL, document-oriented databases ... Read more

Why motion matters in UI design

UI designer Craig Dehner wrote this interesting article about why he thinks motion design is the future. I wouldn't necessarily use such grandiose terms but essentially I agree: Motion design might not be THE future but it'll certainly play a vital role in current and future user interfaces. It took operating systems and browsers some time to be able to display smooth, seemingly natural animation (using CSS3 animations in the latter case). Now that animation is a staple of modern UI frameworks and ... Read more

Dropdown menus and alternative approaches for selecting from a choice of options

In this post designer Luke Wroblewski outlines why dropdowns should be the UI of last resort. The problem with dropdown menus - also known as select boxes in HTML lingo - is that they're something of a general purpose, one-size-fits all solution for dealing with lists of elements. Although dropdown menus accommodate most list-based use cases using them often doesn't take the specifics of the use case at hand into consideration. As pointed out by Luke most of the times other, more ... Read more

Sharing and exploring data models and database patterns

Somewhat in the vein of last week's post, I'd like to share a new service called dbpatterns with you. dbpatterns allows you to create ER models in the browser and share them with other users. If a particular pattern or model suits your needs you can directly export its DDL for PostgreSQL, SQLite, MySQL or Oracle RDBMS. I really appreciate the idea of promoting and sharing best practices for database systems. While object-oriented software design patterns are rather common (though some particular ... Read more

Hands-on SQL Tips: Sentinels And Window Functions

Sometimes when displaying data in an application you want the amount of data (rows, individual data points etc.) to be limited for the app to stay responsive and to allow the user to more easily scan and browse the data set. In SQL this is commonly done using a LIMIT statement: [crayon-68cc46feec254629288634/] Now, what if you want to not only display the data but also inform the user in case the total number of rows in the table exceeds the limit set by ... Read more

UI Design Patterns

UI Patterns is an extensive library of user interface design patterns by Danish web developer Anders Toxboe. This website is a collection of tried-and-tested best practices in UI design. Although the site focusses on web applications and websites most of its practices apply to user-facing software in general. Best practices and design patterns allow us to draw upon proven methods - of user interaction in this case - instead of having to re-invent the wheel (which itself is an anti-pattern) each ... Read more

Varying Degrees Of Software Quality And What To Do About It

When working on client projects I come across copious amounts of source code, which sometimes is very well-maintained, sometimes less so. The various code bases are as diverse as their owners and respective stakeholders: A few come with an inherent sense of quality, lots of unit tests serving as the specification for the product. They're typically delightful to maintain and extend. Some though at times leave the impression of having been cobbled together in a rather haphazard, impromptu manner in order to solve ... Read more

Tracking Down Software Bugs, Automatically!

Last week MIT researchers published an article about an automatic bug-repair system called Prophet. Prophet is a machine-learning system that learns general properties and patterns of successful error corrections in software and applies those patterns to making new error corrections in other programs. While the possibility of having software track down and fix bugs automatically (which effectively would mean creating self-correcting computer programs) is exciting enough in its own right, Prophet possibly has far-reaching implications for verifying the general correctness of code ... Read more
« Previous PageNext Page »