Fremus.co.za

Demistifying Life and Web Development

Archive for March, 2010

Doing things the “relational way”

Two of my esteemed colleagues have this way of saying something that has had me thinking that either they are misinformed or I have missed something, or they have transformed something into something else somehow. There are occasions when they will be working with Microsoft SQL Server and say “I’m doing it the relational way” or “I have to do it the relational way” or something along those lines. It kinda makes me say to myself I’ll code CSharpy in C#, or I’ll swim swimmingly in the pool. The ambiguity is bad because you would expect a DBA to understand what they are saying is not entirely correct, and because they say it the way they do it makes you wonder how credible they are with regards to other database (relational way) aspects.

If you do a search on wikipedia for Microsoft SQL Server you will note that the first line in the wiki entry states:

Microsoft SQL Server is a relational model database server produced by Microsoft. Its primary query languages are T-SQL and ANSI SQL.

Note the keyword relational. I knew this of course because my understanding was that Microsoft SQL Server is a relational database management system (RDBMS) and that implies that it uses the relational model created by a guy called E.F. Codd (Not sure if my colleagues know this). Oracle, SQLLite, MySql and PostGreSQL are all considered RDBMS software, thus it implies you are doing things in a ‘relational way’. There is a whole list of RDBMS’s on wikipedia as well. The way my colleagues say “they are doing it the relational way” makes me think that they have some other structure that they use, such as hierarchical or network databases, which work in a completely different way to the relational model. Or perhaps they have rewritten the SQL Server kernel in some way. Wikipedia also has an article explaining the relational model, and the article makes mention of alternatives to the relational model.

This has been bugging me for a while and just thought I might make a post about it.

  • Share/Bookmark
posted by fr3dr1k in General and have No Comments

Whats next?

Bill Goldberg, the wrestler, had this way of saying “You’re Next” that made whoever realise they really where next in line to get smashed. There is no next person for me though rather next objectives, but what I can say is that I have come to realise and understand several things in the last 6 months about myself and where I see myself going career-wise for the next 12 or so months. I have been to several interviews in the last while, say two years or so, and admittedly I did not succeed in all of them, but what I did take from them was that you kinda have to keep going and you have to try and get better at what you do, and more importantly get better at where you want to see yourself. I am the only one capable of making my life what I want it to be, or as Ghandi put it “Be the change you want to see”. I see myself being a great C# developer firstly. I love abstracting requirements into functional pieces of code, because it allows you to think and it allows you to do things. Becoming a great C# developer will require lots of discipline and the measure of being a great C# developer might be becoming a C# MVP, which is kind of a peer review system. Getting to that point will mean taking time to understand code and delving into the detail of what the code does. It also means compartmentalizing things into smaller understandable chunks and building to a bigger picture of things. Being a C# developer means not only focusing on just the language itself, but also focusing on the environments that what you are developing run in. WCF for instance does not simply use C#, but it also uses other aspects of Windows and the .NET framework, which require some understanding. Another way of measuring my way to becoming that great C# developer is being able to answer most of the demands of any interview! Look at these questions, taken from Scott Hanselman:

  • Describe the difference between a Thread and a Process?
  • What is a Windows Service and how does its lifecycle differ from a “standard” EXE?
  • What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?
  • What is the difference between an EXE and a DLL?
  • What is strong-typing versus weak-typing? Which is preferred? Why?
  • Corillian’s product is a “Component Container.” Name at least 3 component containers that ship now with the Windows Server Family.
  • What is a PID? How is it useful when troubleshooting a system?
  • How many processes can listen on a single TCP/IP port?
  • What is the GAC? What problem does it solve?

I don’t know all the answers unfortunately, and if you visit that link you will see a whole list more, which I don’t all know either. But I guess the upside is that now you can find it out and make sure you do.

  • Share/Bookmark
Tags: ,
posted by fr3dr1k in Personal and have No Comments
Get Adobe Flash playerPlugin by wpburn.com wordpress themes