Efficiency Matters

Efficiency causes the majority of our high standard of living
across most areas of life. We should all be concerned with efficiency.

 

About Me

I am an entrepreneur, author and software developer focused on efficiency. Analyzing and conveying ideas of efficiency across various domains is what drives me. I want to make people efficient, to write books and articles that teaches efficiently, and to be as efficient as possible in the process.

My Work

tutorials.jenkov.com 
My software development tutorial website contains 600+ texts organized into structured trails.

My tutorials are intended to be concise yet comprehensive, to enable readers to learn the topics as efficiently as possible. Too many tutorials on the web are either long but not concise, or short but not comprehensive, effectively making them inefficient for learning.

Books 
I have published a few books on software development. As with my tutorials, my books are intended to be as concise yet comprehensive as possible, making them fast to read yet sufficiently educational. My books are cheap too, enabling the readers to spend their money more efficiently.

Software development books from big publishers are often too long and expensive, making them an inefficient investment in terms of the time spent reading them, and the money paid for them.

Open Source 
I have developed a few open source components over time, mostly because I was unsatisfied with what was already out there. Many open source projects tend to bloat over time, rather than reaching a mature state with a good set of core funtionality and staying there.
I am not actively developing these projects anymore, but I am still using them in many of my projects.

Butterfly DI Container
Butterfly Web UI
Butterfly Persistence
Butterfly Scheduling
Butterfly Testing Tools
JSP Prize Tags
Mr Persister ORM

Book Reviews 
From time to time I come across books that are either really good, or really bad. When I do, I may write a book review so that you can avoid the bad books and get directly to the good books. I tend not to write reviews of books that are just plain average. Books that are worth reading, but do no stand out. If you have a book you want me to review, let me know.

News

AngularJS Filtering
I have updated my AngularJS views and directives tutorial with a section on filtering. Filters are used to modify data before it is written to the HTML page, or to filter or sort arrays.

AngularJS Dependency Injection
I have updated my AngularJS tutorial with a text explaining how to use Angular's dependency injection mechanism with values, factories and services.

Responsive Images
Responsive images are images that are resized to fit the content blocks on the different screen sizes they are displayed on. This tutorial explains how to create responsive images with HTML, CSS, JavaScript and SVG.

Actionable Web Design
A responsive web application should be actionable, meaning that it is easy to get to all the most commonly used actions in the web app. This text explains the idea in more detail.

Touchable Web Design
The responsive, mobile friendly web design tutorial has been extended with a text about making touchable web design. Touchable means that links and menus are easy to touch with a finger.

Handing Touch Events in JavaScript
I have extended my "Responsive, Mobile Friendly Web Design" tutorial with a text on how to handle touch events in JavaScript. Touch events are fired by tablets and smart phones, and can be more advanced than mouse events.

AngularJS Custom Directives - Updated
I have extended my AngularJS custom directives tutorial with a section explaining how to use the "transclusion" feature of AngularJS. Transclusion makes it possible to have AngularJS process the HTML nested inside a directive element, instead of having to provide a full HTML template for the directive. Thus, the user of your directive can nest his / her own HTML inside your directive.

HTML5 - Dragging Files Into The Browser
I have just updated my HTML5 drag and drop tutorial with a section explaining how to access files that are dragged into the browser from the file system.

HTML5 Drag and Drop
HTML5 enables drag and drop directly in the browser. While this has been possible for some time now with proprietary APIs, HTML5 is now standardizing the API for drag and drop. This tutorial explains how to use the new HTML5 drag and drop features.

AngularJS Custom Directives
This text explains how to create your own AngularJS directives for use inside AngularJS HTML templates. Creating your own directives can be useful sometimes to clean up your HTML templates.

AngularJS Custom Directives Tutorial
I have extended my AngularJS tutorial with a text explaining how to implement your own AngularJS directives for use in your HTML templates.

HTML5 Messaging - Bug fixes
I have fixed a few minor errors in the code examples in my HTML5 messaging tutorial. Now the examples should be able to actually run!

AngularJS Critique
In extension of my AngularJS tutorial I have added a critique of the AngularJS framework. I don't often criticise what I write about, but in this case with AngularJS getting so popular, and almost no critique available about it, I felt the need to put down what I feel about it.

AngularJS Forms - Updated
The AngularJS Forms tutorial has been updated with information about how to create data bound Select boxes, and about form validation.

AngularJS Forms - Tutorial
My AngularJS tutorial now has a text explaining the basics of form handling in AngularJS. It has enough detail to get you started. I will add more details in a near future.