I started programming in BASIC on the Sharp MZ-800 when I was about 9 or 10 and I have been passionately interested in computers and programming since then :)
I had my first computer related job when I was only 15 years old in a security and communications company working primarily with modems and 10BASE2 Ethernet systems. There I learned a lot about soldering, electronics, and programming in machine code. It was a real dream job for a 15 year old kid :)
I almost became an electronic engineer, but I never finished the last part of my studies because I was too busy working. Therefore I am mostly self-taught.
Most of my life I have been working as a system and network administrator and programmer - both as an employee and as a freelancer/consultant.
Whenever I am involved in a project I try to follow good software engineering principles such as:
- Simplicity: The system should always be as simple and small as possible. When software projects grow, so does errors and bugs. Techniques such as line-by-line inspection of software, relevant unit testing, and physical examination of hardware that implements protection mechanisms are great. For such techniques to be successful a small and simple design is essential. This is sometimes described as the KISS principle.
- Least privilege: Each user and program should operate using the fewest privileges possible.
- Open design: In order for a system to be secure it must never depend on attacker ignorance. Instead the design should be based upon technology that depend upon public scrutiny - whenever possible.
- Complete mediation: Every access attempt must be checked and validated.
- Easy to use: The human interface must be as easy and intuitive to use as possible. Easy and simple is always better than smart and fancy. Simple user testing is a great way to get valuable feedback.
- Usability: Well known usability standards should be met if required.
- Discrimination: User discrimination is never good. User discrimination is when an application only works for a very limited amount of systems, like when a website only works with JavaScript enabled even though it doesn't provide any functionality that really requires JavaScript.
I am also the author of PHP The Wrong Way and Programmering i Go (a Danish Go programming tutorial that I hope I have the time to finish some day).
I don't use social media so you can't find me there. I do have an account on GitHub, but since most projects I am involved in relates to developing proprietary code I only occasional have an opportunity to put stuff on GitHub, so nothing exiting exist in my repo.
I am only interested in REMOTE positions.