A searchable index of our articles concerning software development.
How to make Opera Mini show an Italic Font Face - Opera Mini can do straights, italics, bolds, and multiple fonts on the same page. Here is the CSS that web designers can use.
How to use Sound Sprites to Speed Up your HTML5 Web Games - Like image sprites, sound sprites collect several distinct sounds into a single file, which reduces network lag while downloading.
A Better Javascript For Google Consumer Surveys - The script Google provides is slow, dangerous, and time-consuming, drawbacks that this better one overcomes.
Process Flow Patterns (Data Flow, Interaction Flow, and User Experience Journeys) - How to recognise common patterns and set up new ones. Process flow defines what steps a user (or data) and software take to achieve a goal.
Image 404-documents in .htaccess speeds up websites - Speed up your website by providing a simple error response for images, video, audio, etc. This article looks at how to do so in htaccess.
Needs of programmers who work remotely - Requirements for software developers who work remotely to maintain a Sitecore-driven web site
IA Use Case - Setting out to code a Tic-tac-toe - An insight into the mind of one application developer
Our Javascript O.O. programming patterns - How we apply object-oriented programming patterns in javascript in our own products.
4 Tips to make effective slide shows - Booooring... people falling asleep, not paying attention, playing with their phones... Fix it! Here's 4 tips.
Why I am a Full-Stack Developer - Why a UI/UX designer would also be interested in middleware software development and back-office software integration.
Trezjr - an HTML5-version of the most popular video game ever.
Bigger screens and web browser memory - The size of a computer monitor and that of the windows it displays, affects a webbrowser's memory consumption. Research and conclusions.
Complexity Redux - or why I choose to code my software by hand - The way to battle bugs effectively, is to reduce the system complexity, and to train your programmers. If necessary, throw it out and start over. Be relentless.
Cross-Browser Client-Side Storage of User Data - In the old days, we used cookies. Then along came MS Internet Explorer 5, introducing the userData behavior. Now we have HTML5 with localStorage. Why should we use it? Why shouldn't we use it? And can it be used across browsers?
CSS 3 Media Queries - CSS 3 Media Queries can adjust CSS settings. For instance, one can make sections narrower or wider, or choose to hide them, depending on the window width and device type.
1/0 = Infinity - Normally, when dividing any number by 0 (zero), computer applications throw an error. After all, multiplying any number with 0 returns 0, thus the opposite does not compute.
Google Chrome Beta - Reviewed - Google Chrome is a new webbrowser built upon the same html rendering engine as Apple's Safari, namely WebKit. We reviewed its first public beta release. Here are our findings.
Harmonica Javascript for BBCode - A harmonica is a user interface (UI) element that allows a user to choose which part of a text they wish to see. The other parts then fold up. In this article: algorithm, examples, javascript code.
HTML5-Rendering by unsupporting browsers - Microsoft's flagship browser and Firefox 2 don't necessarily fail at HTML5... they simply fail at handling unrecognised doctypes altogether. How and why.
Javascript singleton - to function or to json, that is the question - We can add singletons in javascript using various methods. Which is best for what purpose, and why?
Javascripts and standardized object and event models - It seems very hard for browsers to let the web author know, what the coordinates are where a click was registered. And each browser insists on doing things differently.
Javascripted stylesheet switchers - evil or not? - A user-hating web browser like Safari or Chrome fails to incorporate alternate stylesheet switchers. Exploring the problem and solutions.
GTMetrix and JSPerf: avoid AddThis and GCSE for fast web pages - Implement your own Social Media buttons, and have Google CSE show its search results on a new page, to speed up the load times of your webpage.
Multiple Element Selection in Javascripted UI far from easy - Allowing a web app user to select multiple items on screen (like objects in a game or drawing app) proves harder than it seems. An exploration.
Opera 11 Reviewed: Mostly Harmless - If your vision is good, and you wish to escape the clutches of The Man and Fanboys, and are looking for a complete one-stop communication center, Opera is the way to go.
Opera Javascript speed affected by chosen skin - Javascript speed in the webbrowser Opera 10 got reduced by a factor 3! Or has it? Cause and solution.
Printing HTML5 canvas images with variable background colours - When the image you wish to print can be given different background colours, draw them using Canvas drawing techniques. Cause and solution for that and related problems.
CSS 2.0: ridiculously simple syndication - Adding RSS 2.0 to your web site is so bloody easy no web site should do without a news feed. A list of sources.
Unobtrusive Javascript Tutorial - When we do need javascripts in our web pages, they shouldn't annoy the visitors.
When Browser Feature Detection Fails - Feature detection determines what a browser can do. Why did MSIE 8 fail to fail the detection of the HTML5 canvas element?
Emotional Lead Magnets - Social Media Marketing using psychology to increase participation
Information Architecture - Our section on practices that work in IA, a service we've been providing professionally since 1998.
Preparation - The Process of Information Architecture, #1 - Avoid common pitfalls during product design and creation - learn from our own experience.
One example of applying IA: developing our own Publizjr. - An example for information architecture and functional design, based on our own PPS (Page Publication System), Publizjr.
Content Strategy - The IA Process #2 - Content Strategy combines what project stakeholders want to publish with what the public wants to know, and figures out the best way to present it. Read how.
Functional Design Patterns: Why? - Your software house needs a library of patterns too. Here's why.
Programming and Coding Guidelines - Focusing on Readable Formating, with practical application hints and explanations.
CSS Coding Guidelines - How to format CSS to make it easy to read and maintain
Javascript Coding Guidelines - How to format Javascriot to make it easy to read and maintain
XSLT Coding Guidelines - How to format XSLT to make it easy to read and maintain
About Me - Who wrote these guidelines and what made him an expert?
How to prevent Disqus from slowing down your web page load - A simple adjustment of their javascript code prevents pre-loading of their files, plus it increases compliance to the European Cookie Law.
7 Reasons to use ΩJr's Facet Engine - We use it. Should you? Decide for yourself.
Listing Javascript Object Properties Without a Debugger - Sometimes there is no debugger, like on a mobile device like iPad (iOS5). Still you need to inspect an implementation. Use zjrJS.
How the European Privacy Law Sped Up my Web Pages - This "cookie" law was passed in May 2011. In preparation, we took some drastic measures. As a bonus, our web pages became a lot faster. Here's how.
Element.hasOwnProperty fails in MSIE8 - Javascript quality enhancement hasOwnProperty works on HTML elements in many a modern browser, but fails in Microsoft Internet Explorer 8.
zjrJS Task Reference - A task-based cheat sheet to zjrJS, the crossbrowser Javascript library.
Publizjr - Creating Webpages like ΩJr does.
Info on Bar Pull, 3D Maze Game - How to play, some technical details, and feedback options.
Bar Pull, 3D Maze Game - An example of the current status of 3D CSS styling of web pages, this game lets you move a ball through bars which can be pulled up to free more openings. Beware of gravity! Try and reach the golden cube. Webkit browsers like Google Chrome and Safari preferred at this moment.
Programming Algorithms - Examples of Programming Algorithms used by and for the ΩJr.Net.
Genetic Search - Why and how of Genetic Search Algorithms, plus a javascript implementation. The Genetic Search Algorithm is used to solve problems by computing a biological genetics approach, creating a survival of the fittest scenario.
Path Walking - To establish whether or not a player is allowed to move to a next position in a game, path walking usually is the easiest to program, because all possibilities are known. This article describes 2 different path walkers, both programmed in javascript, for games on the ΩJr.Net.
Free the Ball from the 3D Bar Maze, using HTML and CSS3 - Showing off what current webkit-based browsers can do with pure CSS3, no VRML, no SVG, no Flash, no Silverlight. Movement of the ball powered by a small amount of Javascript.
Zjramble5 Deities - a Flash-Free version of Zynga Scramble, like Boggle, connected to Facebook.
Zjramble5 Deity Names - a Flash-Free word search game, like Boggle and Scramble, connected to Facebook.
Zjramble5 Web Mark-up - a Flash-Free word search game, like Boggle and Scramble, connected to Facebook, its dictionary filled with web mark-up terms.
Zjramble5 Music - a Flash-Free word search game, like Boggle and Scramble, connected to Facebook, its dictionary filled with music terms.
Zjramble5 Muziek - een Flash-vrij woordzoekspel, zoals Boggle en Scramble, verbonden met Facebook, met Nederlandse muziektermen.
zjrJS, the Cross-Browser Javascript Library - Documentation, Best Practices, and Selection Guides
3D Ball inside a Hollow Tube using HTML and CSS3 - Pure CSS3, no VRML, no SVG, no Flash, no Silverlight. Movement of the ball powered by a small amount of Javascript.
Testing javascripted search result handling - Javascripted search results: dynamic loading, sorting, and filtering (like Google CSE)
Document.write() problematic with application/xhtml+xml - Why replacing document.write() with node.appendChild() is a good idea
Detecting the language preferred by your visitors - Why to use html_accept_language to detect which language your visitors language prefer
YASS (Yet Another Sudoku Solver) - Simulating the human thought process by programming Yet Another Sudoku Solver
Mysql_paramquery() - Allowing for unlimited numbers of parameters in safe MySQL statements in PHP
JCC (Javascript Circular Charting) - Generating circular charts (disc charts, ellipse charts, venn diagrams, pie charts) inside the browser using nothing but javascript, css, html, and a couple basic images.
Scrolled paging - Scrolled paging, simple method. To prevent loading too much data into a web page, we split up the data into smaller sets called pages. This article provides one way of stepping through those pages.
Cross-browser pop-unders - Now known as lightboxes. How to create and display modal dialogs looking like regular windows, using nothing but javascript.
Circular Navigation - Breaking free from those pesky rectangles and showing your navigation in a circle. No plug-ins, no images required.
Test case: CSS Animation - How to use a bit of CSS and a bit of Javascript DHTML to create reusable and easily maintainable animations.
Test case: Pure HTML Image repeats on cells - Using old-style html (without CSS) to have an image repeated along the height of a table cell
Test case: HTML Objects and Fallbacks - What is needed to show HTML objects in various browsers, test case to show what your current browser can and cannot.
VB.Net: Enumerating enumerations - How to list names and numbers for built-in and custom enumerations
VB.Net: Dynamic calls to COM Dlls - How to execute unmanaged methods inside non-Net COM Dlls from within VB.Net, using as much managed code as possible, in run-time when the Dll itself is unknown.
Portfolio - Overview of the web sites and applications we created and helped create.
Build your own Post-It Notes - Ever wanted to create your own Post-It notes with your own texts, but did not know where or how? Try this!
SVG Boxes - Variations as an antidote to all the rounded corners
Game: Sumbrero 7 Puzzle Solver - Helps solving Sumbrero 7 Puzzles. Tests whether your solution adds up.
Game: Sumbrero 6 x 3 Puzzle Solver - Helps solving Sumbrero 6 by 3 Puzzles. Tests whether your solution adds up.
Sumbrero Puzzle Solver Examples - Examples for the mathematical puzzles known as Sumbrero 7 and Sumbrero 6x3.
MSSQLServer: sql procedure to shrink all logfiles - Microsoft SQL Server: shrink those log files well with this stored procedure
Opera 9 mysteries - Opera 9 baffles some of us continuously. Some of the mysteries are outlined in this article.
Game: Surakarta - The Indonesian game of Surakarta is much like Chess with Pawns only. We present a Flash Game Board, a description, and an on-line game board to play the game yourself.
Network Username in MS Access VBA - Use this code to retrieve the identification of the MSAccess user logged into the network.
Decimal Separators in VB - Use this custom function to detect the client's system language, to prevent errors caused by translated decimal separators.
Test case: Padded iFrame Bug in Opera 7.x - A padded iFrame element incorrectly overlaps other parts of its container, in the Opera 7 browser.
CSS / Javascript: Horizontal Menu Bar - One example of how to create a horizontal menu bar in a web page, using CSS and Javascript.
CSS: Clipping regions - Now known as CSS Sprites: why clipping regions have drawbacks and how to overcome them using moving view-ports. In 2004, when I wrote that article, I only knew the term "sprite" from antique games and a soft drink.
GUI: Landscape theme - Simulating a 3-dimensional space in a web page, cross-browser, advanced CSS.
Pure CSS: Fly-out hierarchical menus for Web Pages - One method for creating pop-up menus meant for dynamic menu generating systems, using CSS only
CSS / Javascript: Fly-out hierarchical menus - One method for creating pop-up menus meant for dynamic menu generating systems, using CSS only with a Javascript fallback for unhoverable browsers.
Bug case: Opera Mac 6.03 front/back layering bug - The Opera browser for MacOS, version 6.03, had a rendering bug which showed itself when absolutely positioned elements and statically positioned elements were used on the same page.
Bug case: Table Rendering Bug - Most browsers have a rendering bug maming the width of table columns in case a width is set for a spanned column.
Image map on a background image - Proof of concept showing that it is possible to use a background image as an image map. This version uses pure css.
Image map on a background image - Proof of concept showing that it is possible to use a background image as an image map. This version uses a table.
Field data type in MS Access? - Automated recognition of the data type of a table field in MS Access
Javascript: Font sizer example - One way of changing the font size using in-page font control
Javascript: Cross-browser date picker - One method of creating a date picker that works in most browsers.
Javascript: Querystrings - How to parse Querystrings into Associative Arrays using nothing but Javascript
Scrolling web pages is useful - Why scrolling is useful, though many deem it a curse.
Pure CSS: Glass button - One method for imitating the Apple Glass Button design in a web page.
Javascript: hide your e-mail address from crawlers - E-mail crawlers suck and cause spam. This article shows how Javascript can be used to keep your e-mail address a secret, and avoid spam.
MS Access 97: Split and Join - The VBA behind MSAcc97 lacks some implementations that ease the life of a programmer. Two of these are Split and Join, which can be found in later versions. Here is a way to build them yourself.
GUI: Spatial Interface - (In Dutch.) Ever thought of making your web site look like a library? Here is one way of achieving just that. Usability experts loathe it!
Javascript: Web Store Example - (In Dutch.) Using hidden frames to store shopping cart information on the client, this web store example saves the server lots of memory.
Game: Pong! - Instruction to the game I rewrote in Javascript. Single-player web game.
MS Access / ASP: Dates - If you find yourself wrestling with the display and storage of dates in varying notational formats, forget about the date and only work with the double used by MS Access to store it.
MS Access 2000: binding a parameter query to a form - How to make Access remember which parameters you bound to a query in a form. It is not as easy as it may seem!
Ten commandments for computer software - Etiquette for how a well-behaved application should work.
The internet discriminates - (in Dutch) How automated code generators (Programming and Design Environments) lead to lazy developers and subsequently to the discrimation of improved methods and applications.
ASP: retrieving records from a database - How to retrieve a list of records from a database (in this case MS Access), have a web visitor choose from that list and show the selected record on the same web page.
Javascript: Includes - How to minimize maintenance time for web sites by using menus included with Javascript, with a fall-back for browsers that have no support for Javascript or have it disabled.
Need problem solving?
Talk to me. Let's meet for coffee or over lunch. Mail me at “omegajunior at protonmail dot com”.