Everything you have ever wanted to know about Java arrays, including how to declare, instantiate, iterate, copy, fill, sort, search etc. Java arrays.
Java Fork and Join
This new tutorial explains how to use the ForkJoinPool in Java 7 to use the fork and join recursive work break down technique, for parallizing task execution.
jQuery - Creating an Expandable Tree
This tutorial explains how to turn a ul element into an expandable tree with jQuery.
jQuery - Generating a Table of Contents
This tutorial shows how to use jQuery to generate a table of contents inside an HTML page, based on the headlines in the HTML page (the h1 to h3 elements).
jQuery Selectors Tutorial Updated
I have made several rounds of updates to my jQuery selectors tutorial. It is now a whole lot more complete.
Android buttons are used to activate actions in your Android apps. This Android button tutorial explains how to insert text and image buttons in your Android apps.
Java Memory Model Tutorial
The Java memory model specifies how the Java virtual machine and Java programs work with the memory in the computer your Java programs run on. This tutorial explains the Java memory model.
Android TextView Tutorial
The Android TextView component can display text in your Android app's GUI. You can display either regular text or simple HTML. This tutorial explains the basics of using TextView in your Android apps.
Android Web App Tutorial
I have expanded my tutorial on the built-in Java concurrency utilities with a text on the AtomicLong class which provided atomic operations on a long variable.
This new tutorial explains how layout works in Android with layout XML files, ViewGroups and Views.
AngularJS $timeout and $interval Timing Services
The AngularJS $timeout and $interval services can schedule a function for execution later. This tutorial explain how these services work.
Android Toast Tutorial
Android Toasts are small messages that can be displayed on the screen for a short time period, similar to a tool tip, popup notification etc. This tutorial explains you how to create and show Toasts in your Android apps.
Android Fragment Tutorial
Android fragments are components which can be reused across different Android activities. You can add, replace and remove fragments from activities at runtime, making fragments a very flexible way to create dynamic subviews in your Android apps.
Your First Android App
This tutorial takes you through creating your first Android app with Android Studio, including running the app on your Android device.
Android Project Overview
This tutorial gives you an overview of the files and directories an Android Studio project contains.
Android Core Concepts
This text explains the core concepts in Android you need to know if you want to develop Android apps.
Android Development Tutorial Started
I have finally started my Android development tutorial. It's not yet so extensive, but it will get there!
Installing Android Studio
This tutorial explains shortly how to install Android Studio which you use to develop Android apps in.
CSS Box Shadow
CSS box shadow can be used to add shadows to HTML elements so they look elevated above the page, like in 3 dimensions.
Text no. 29 in my CSS tutorial is about CSS transitions which enable you to animate changes to CSS properties. Thus, you can increase the width of an element gradually instead of immediately. This can create some nice effects in your web page.
CSS 2D Transformations
This latest CSS tutorial explains how to perform 2D transformations on HTML elements with CSS 3.0.
Java's AtomicInteger provides atomic (thread safe) operations on an int variable. For instance, get(), set() and compareAndSet(). This is useful if you have multiple threads with access to the same int value.
Java's AtomicReference provides atomic (thread safe) operations on an object reference. For instance, get(), set() and compareAndSet(). This is useful if you have multiple threads with access to the same object reference.
Java IO: FileWriter fixed
The Java IO FileWriter tutorial was by accident replaced with the FilterWriter tutorial. I have now restored the FileWriter tutorial!
I have expanded my tutorial on the built-in Java concurrency utilities with a text on the AtomicBoolean class which provided atomic operations on a boolean variable.
jQuery is being criticized these days for leading to the "big main method problem" and to DOM centric code. In this text I explain what the critique is all about, and how you avoid these problems.
jQuery AJAX Tutorial - Updated
I have extended my jQuery AJAX tutorial to cover most of jQuery's AJAX features, and to be up-to-date with the latest version (AJAX changed in version 1.8.0). There are still some very fine grained features that are not covered, but I will get around to that.
The Java ThreadLocal class is used to create variables that are local to the thread executing the code. Thus, two threads executing the same code may have different values stored inside the same ThreadLocal instance. This tutorial explains how Java ThreadLocal works.
jQuery Deferred Objects
Deferred objects in jQuery is how jQuery handles asynchronous code and callbacks. Deferred objects can be a bit complex when you first read about them, but once you understand them they are pretty simple, yet very useful. This tutorial explains how deferred objects in jQuery work.
Java volatile Keyword Tutorial
I have expanded my Java Concurrency tutorial with a tutorial on the Java volatile keyword which is used to assure that variables are read and written from and to main memory and not CPU / thread caches.
Java's AtomicInteger provides atomic (thread safe) operations on an integer value. This tutorial explains how to use it.
AngularJS $watch() , $digest() and $apply()
This new text in my AngularJS tutorial explains the $scope functions $watch() , $digest() and $apply(). These functions are the core of the AngularJS data binding system.
AngularJS $scope Hierarchy
This small addition to my AngularJS tutorial explains the AngularJS $scope hierarchy.
CSS Gradients Tutorial
You can fill HTML elements with gradients using CSS 3. The browsers and W3C have finally reached a shared standard syntax which is supported by IE, Chrome (Windows + Android) and Firefox.
CSS Opacity Tutorial
You can set opacity / transparency of HTML elements with the opacity CSS property. This new tutorial explains how.
CSS Border Images
In CSS 3 you can use images as borders for HTML elements. I have added a section to my CSS border tutorial explaining how to use border images.
CSS Column Layout
From CSS 3.0 it is possible to have the browser divide text up into columns, just like in a newspaper. This new tutorial in my CSS trail explains how.
CSS Text Shadow
I have added a section about text shadows to my CSS text styling tutorial.
CSS Web Fonts Tutorial
I have added a small tutorial about web fonts to my CSS tutorial. Web fonts enable us to use external fonts in our websites. Web fonts are embedded in their own file, just like an image. Thus a web font can be downloaded and used on your website for rendering text.
CSS Media Query Tutorial
I have added a short tutorial about CSS media queries to my CSS tutorial trail. Media queries enable you to apply different CSS rules depending on the device that views your HTML page.
Open SSL for Web Servers
This new tutorial explains how use OpenSSL to create a private key and certificate signing request, and finally how to get a certificate, for use with SSL / TLS / HTTPS on a web server.
I have started a tutorial about Nginx, the high performance web server. So far the tutorial covers how to install Nginx on Ubuntu, how to start it, restart it and where to find the configuration files. This tutorial will be updated in the future with information about using Nginx as reverse proxy, configuring SSL and more.
Software Entrepreneurship Guide
I have started writing a guide about software entrepreneurship. The guide will contain an overview of what it means to be a software entrepreneur, with links to where you can read more in depth. By now it contains the basics, but I will expand the guide over time.
Ubuntu as Web Server
Using Ubuntu Linux as a web server is reasonably easy. I have assembled a small guide to help you get started. I will expand this guide over time - especially with links to where you can read more about e.g. Nginx, Jetty etc.
More mobile friendly tutorial website !
I have spent quite some time making the tutorial site more mobile friendly. It now loads 3-5 seconds faster on mobile, and the layout actually fits the screen now. Give it a try on your mobile!
SVG rect Tutorial Updated
I have updated my SVG rect (rectangle) tutorial to show more of the options you have for drawing rectangles in SVG. I have also added a video version of the tutorial (see the tutorial).
CSS Link Styling
This new tutorial explains how to style links with CSS, including how to remove the default underlining, how to change the link color, how to style the link when the mouse hovers above the link, and how to style links to look like buttons.
CSS border-radius - Rounded Corners
I have updated my tutorial on CSS borders with a section on the border-radius CSS property. The border-radius CSS property is used to create rounded corners on HTML elements. A very, very useful feature!
CSS float Tutorial
I have added a tutorial about to make HTML elements float left and right using the float CSS property.