Skip to content
Aug 5 11

(Svenska) Better Code på svenska!

by Max Wenzin

Sorry, this entry is only available in Svenska.

Aug 5 11

Upgraded to WordPress 3.2.1

by Max Wenzin

This site has been upgraded to WordPress 3.2.1 in order to be able to use the qTranslate plugin. Soon, I will add content in swedish content aswell. See Better Code in swedish.

Jul 1 11

Launched: New web for snofrid.com

by Max Wenzin
snofrid-screenshot

I recently delivered a new web for Brf Snöfrid 1 at snofrid.com

I took this client because I was previously a member of the board at Snöfrid, and wanted to help out.

Snöfrid moved from a static web which was difficult to maintain, to a new web based on WordPress which is easy to maintain and adapt. Pretty, readable, SEO friendly URLs will also be beneficial.

This was delivered at only 75% of the estimated cost!

Also see my previous post about Brf Snöfrid.

Jun 21 11

Cheap Oracle virtualization

by Max Wenzin
oracle-db-instances

Summary

Use multiple Oracle instances in the same machine instead of multiple virtualized hosts in the same machine.

Intro

I read an article in Computer Sweden today where Kappahl couldn’t do virtualization of their Oracle databases because of expensive licence costs. (article in swedish) In this article, I would like to offer a simple and cheap option to Oracle virtualization.

Why virtualization?

Organizations want to virtualize their Oracle databases for many reasons, one being to reduce license costs. Other reasons include reducing hardware costs and making it easy to add new databases.

Simply put, hardware virtualization is basically about exchanging many physical servers for a single big server.

Illustration of virtualization

You may prefer the wikipedia definition of virtualization, but mine is short, sweet and simple.

The alternative solution

Instead of doing Oracle virtualization using VMWare or Oracle VM, you can install several Oracle instances in a single Oracle installation, in a single machine. This is not what people usually mean when they say virtualization, but you get many of the benefits this way, and it will reduce your Oracle license costs!

Pros

  • Still easy to start/stop individual instances
  • Still easy to add/remove individual instances
  • Still easy to configure memory and disk usage per instance
  • No need to learn/buy any virtualization technique

Cons

  • All instances will run on the same Oracle binaries, meaning all will run on the same Oracle version (some may consider this a benefit, when you’ve reached it…)
  • All Oracle instances will run on the same OS.

Real world experience

I have seen this work very well, especially for testing and development installations. Virtualization of databases in a production environment may not be as common, but there’s no reason it shouldn’t work there aswell.

I am for hire

If you want my help with your Oracle environment – don’t hesitate to contact me!

Jun 16 11

New client: Brf Snöfrid 1

by Max Wenzin
snofridlogo

Recently started working with my new client, Brf Snöfrid 1. Snöfrid is a housing cooperative in Fredhäll, Stockholm, Sweden.

The job involves moving DNS, migrating their current website to a new hosting provider and to a new technical platform on WordPress.

It’s a small job, but it will be quite valuable for the board members and the members of the cooperative of Snöfrid.

May 14 11

Follow betrcode on Twitter

by Max Wenzin
betrcode symbol

Better Code is now on Twitter aswell. I will tweet on topics related to Better Code AB, technology, e-gaming and other business-related topics!

Follow Better Code on http://twitter.com/#!/betrcode

A small Twitter link has also been added at the top of this website.

May 11 11

Git and GitHub

by Max Wenzin
Screenshot of github.com

I now have an account at GitHub and am starting to learn Git. Git is a free and open source, distributed version control system. Being used to Perforce, I will probably compare a lot to how Perforce works…

Yesterday I made my first (small!) contribution to another project (repository). Blackened Systems is building a website/system platform in Scala and MongoDB and I’ve decided to pitch in to learn these technologies. This morning my “pull request” was accepted and merged into “blackened-parent”. (https://github.com/blackenedsystems/blackened-parent/pull/1)

So far my impression of GitHub is that it feels like it can really make it fun to contribute to other projects!

You can follow Better Code (betrcode) at https://github.com/betrcode

Interested in a new version control system? Read about Git at http://git-scm.com/

Sick and tired of Oracles installation procedure? Try MongoDB! Unzip and run! http://www.mongodb.org/

May 9 11

Crisp consultant profile published

by Max Wenzin

Max WenzinMy Crisp consultant profile is now published on http://crisp.se/max.wenzin

It’s only available in swedish at this time. If you want an english version, check out my Linkedin page at http://se.linkedin.com/in/maxwenzin

Update: See english version of Crisp consultant profile

May 3 11

Expekt Release 3.6

by Max Wenzin

Expekt.com was updated to version 3.6 this morning! One of the changes is that pretty, SEO-friendly URLs have been introduced on the odds and sports event pages, and also in the content management system.

Screenshot of Expekt Sports Odds page for Premier League

Take a closer look at the URL.

Close-up of address bar

As you can see, the URL now contains the league name. This improves usability and search engine optimization (SEO).

If we click one of the sport matches, we will see that those URLs are now more readable aswell.

Screenshot of match page

Take a closer look at the URL of the match page.

Close-up of address bar for the match page

It now contains both the league name (“Eng. Premier League”) and a description of the sports event, in this case the two team names: “Everton – Manchester City”.

In a coming post, I will write about the techology behind these pretty URLs, why they are constructed the way they are, and what to think about when building SEO friendly URLs into your own web applications.

I will also be monitoring how Google will index these new URLs and make a special note if Google picks up just the english versions, or other languages aswell. My guess is that it will only index the default language (english) until Expekt has implemented language subdirectories.

References

Apr 25 11

Don’t Repeat Yourself in PLSQL parameters

by Max Wenzin

When writing PLSQL in the Oracle database, you define parameters to a function/procedure like this:

FUNCTION getFullName(iUserId IN INTEGER) RETURN VARCHAR2
IS
BEGIN
   --TODO: Implement this
   RETURN "";
END getFullname;

Instead of writing it like that, consider using a table.column definition as type for your parameter! This way, if you change your table, you will not also have to change your code!

Example:

FUNCTION getFullName(iUserId IN SIGNUP.ID%TYPE) RETURN VARCHAR2
IS
BEGIN
   --TODO: Implement this
   RETURN "";
END getFullname;

Now, if you for some reason change the ID column in the SIGNUP table to be something other than INTEGER, you can leave the code as is! Much more DRY!