Technical information about this webpage

A short introduction to the technical basis of this website. A historical view on my personal homepage and the code behind it.

Some years ago I reserved this domain for future usage. Since I enjoyed to tex some of the more advanced lectures I took people asked me if I was willing to provide the resulting document for their personal usage. My attitude towards such requests was obviously "OK, but then I'll give it to anyone!". That said I found a first usage for this domain.

Since more and more lecture notes went online over the upcoming years I felt the need for a redesign. This redesign included a popular CMS called "Frog". The maker did quite a good job in providing the most basic needs in a neat backend and did not over-engineer the whole thing. It was simple, extensible and robust. At least I thought the last thing.

One day I wanted to update the design (and just that). I did a serious mistake by hitting the wrong key at the wrong time (delete, and then send). This one wiped out my old design and made Frog unusable. It was not possible to update the design since it was relying on the existing one. This one was broken resulting in a damaged administrator panel. At least this told me a lesson about the need for a robust concept.

I then switched to TYPO3, which was completely the opposite of Frog. It was over-engineered and too complex for just a view pages. I got over the steep learning curve and developed some plugins. During that process I could also feel that even the professional used TYPO3 is not really robust. Some plugins are making it instable. Some misconfiguration could lead to a complete destruction of all data. I experienced that once (right in the beginning) and must say: that gave me a bad feeling.

After HostEurope (which is the provider of my virtual server) had some problems with the RAID in my system I experienced a complete devastation of my data. So much to backups are not necessary when you have a good RAID (again a good lesson). This was my opportunity to get rid of all those crappy CMS and construct my personal CMS. Due to time limitations and various other reasons the process was only focused on my own homepage. The source code and the assemblies itself never made it public.

The CMS was build upon the Microsoft ASP.NET stack. I killed everything that was somehow related to web forms and did only focus on the core ASP.NET assembly. I did do some nice tricks in order to get my own template engine and formatting engines running. In the end the performance was quite OK and everything was also more or less extensible as well as robust.

At that time I realized that the buzz "Microsoft ASP.NET MVC" was not some weird add-on or a technique which is quite similar to WebForms but more like the things I've been building all the time. After a first glance I decided to rewrite my homepage as soon as possible.

It is now about 6 months later and I did it! This whole process included a better database layout. The layout has been changed by a program I wrote. It has a kind of generic nature (which I will use as a basis for further transformations) and uses the features of C# like lambda expressions and extension methods.

DB Reformer

The front-end relies heavily on JavaScript (even though I tried to make everything usable without JavaScript). It was an obvious decision to mix in some HTML5 elements and such in order to give users the best possible experience.

Homepage in 3D

Technologies used in this homepage are:

  • C# 4.0
  • HTML5
  • CSS3
  • JavaScript
  • .NET Framework 4.0
  • Entity Framework 4.3
  • jQuery 1.7
  • MySQL
  • IIS 6
  • Plugins for jQuery (Lifestream, Scrolling, Validate, Snippet, Datatables)
  • Bundling
Created . Last updated .

References

Sharing is caring!