Fremus.co.za

Demistifying Life and Web Development

Archive for the 'General' Category

Why devs must support their own machines

One of my recent annoyances comes from IT support providing a developer, like me, with a laptop pre-installed with all the corporate mumbo jumbo. And in my case they do the installation using ghost images or ghost installations, so the OS is not really configured for the hardware of your particular machine, which in some cases results in messages appearing on-screen relating to graphics drivers crashing. Thats my opinion anyway. IT support also generally also install whatever anti-virus whether its any good or not, which in most cases slows the machine down. I have also had software installed on my machine that affects localhost on IIS for some reason, which I cannot use for development when I am connected to the network, but when I disconnect I can. I have no idea which piece of software is causing this, and I can think of one particular piece of software that could be causing this. Personally I would prefer installing Windows 7 from the start at some point, with the appropriate and correct device drivers.

In my opinion devs should be allowed to take total ownership of their dev machine which includes OS maintenance and installation. In this way they are totally accountable for any problems that may occur and you will find that most devs need to know what the OS can do and what not, so its best for them to take ownership. My current machine has 8GB of RAM and has a core i7 processor but it does not feel that quick in some cases, but maybe thats just me.

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

Brand awareness starts at the grass roots

Brand awareness can also apply to personal brand awareness and with this I mean that your particular personal brand will eventually reflect the brand you are working with and on together with others. Email, for instance, is a simple way to measure personal brand. If you abuse email, your personal brand will reflect that, or if you display certain tones within your emails, I am guessing it will somehow reflect it in your personal brand too. Another example that I thought of relates to some dev work I did earlier, where I knowingly tested a few emails to users within certain roles – just two users in this case, myself and a colleague. The thing is though I sent several emails and it got me thinking that maybe I should value my colleagues time and respect as much as I would a customer, because ultimately that reflects in your personal brand, doesn’t it? We live in a world where a brand’s vanity can quickly wear off – or even its appeal.

So instead of firing off test emails I simply changed my web/app config:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory" from="noreply@testdomain.org">
        <specifiedPickupDirectory pickupDirectoryLocation="c:\smtp\"/>
      </smtp>
    </mailSettings>
  </system.net>

And voila, all emails are stored in a directory where I can open them and see what they look like.

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

What do I mean by “Getting a life”?

Well personally it means being a serious and totally committed developer. This morning I was writing out parts of a specification and I disciplined myself to cut it up into manageable parts and define as much as I can at once and go back to each bit and break it down a bit further. Once I did that I was able to think about the parts of the specification in isolation and break those parts down into further detail.

By getting a life I actually meant being more disciplined and being totally “there” as in being motivated and driven to achieve and to achieve well, otherwise nothing seems worthwhile. Yesterday I watched a video by John C Maxwell and in it he said that discipline is the bridge between our desires and our accomplishments and I think that is what I meant by “getting a life”. In the video he also mentioned that you cannot get ahead in life one step at a time, because one step does not really take you anywhere. You have to take two steps at a time, knowledge and action, knowledge and action. By getting a life I did not really mean going to clubs or doing less work, I actually meant being more committed in the work.

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

What do I want from 2011

I guess in retrospect 2011 only differs from 2010 by one day – Mondays don’t change to Tuesdays and Fridays don’t come on Thursday. I also dare to say that the reason we do the whole new year thing is so that we can give ourselves a reason or the motivation to start from scratch, to try and rebuild where we failed previously and to give ourselves a reason (of hope) to feel that the new year will bring improvement and renewal. Obviously we may well be fooling ourselves because rightfully speaking we are just repeating the same cycle we have been doing all our lives and if you cannot change your attitude right now, today, then the 1st of January 2011 may not be any different. With that being said though, my wish for 2011 is that I change my attitude in various ways and that my focus is on delivering results and when I say this I specifically mean focussing my energy and attention on those that really love and care for me, and forgetting those that don’t. Its simple really, you cannot change people’s opinion of you by trying to be in count with them or by trying to persuade them to think otherwise of you – its just a waste of time and energy. Instead we must focus on building out the relationships we have with friends and family because if you don’t and you continually strive to seek recognition and attention from those that do not want to give it to you, you will end up regretting lost time. Time that could so easily have been better spent with those that tolerate your mistakes and faults – and who still love you. I believe you can achieve this partially by being disciplined in your work and by focussing all your energy on your work. By focussing on your work you achieve total single-mindedness and you tend to not worry much about what people may or may not think. I want to be ruthless next year in terms of the quality and commitment I put into my work – I need and want to be focussed and drive to achieve what only I know I can, and not worry about what others think or say. I also want to focus on building and nurturing relationships with people by being more tolerant and by changing my attitude. Attitude is a priceless commodity.

I see 2011 as a ASP.NET MVC year for me and a Ruby on Rails year, maybe Django and Python too. I am thinking of getting myself a Macbook Pro next year maybe and I might consider an iPhone. Not because I am leaving the .NET world but simply because I need to learn new things.

2011 will be a year where I love technology because work in itself is a place or state of mind where you can find bliss. I also see 2011 as a year where family and friends will be important to me.

Happy new year!

  • Share/Bookmark
Tags:
posted by fr3dr1k in 2011,General and have No Comments

4 Reasons why I won’ touch PHP

Firstly PHP is just a web scripting language and can only be used on a web server for web development, that’s it. You cannot use PHP to develop Windows apps or Linux UI or Mac OS X UI apps. If you want to implement any of the classes you will have to most probably rewrite that code, which is not that great. Compare this to Python or C# and you wont have to rewrite your code, just create a class library (with C#) and re-use, re-use, re-use, re-use… Code reuse within a PHP environment is thus seemingly limited to a web environment.

The second reason why I will not use PHP is because there are better dynamic languages available, such as Python and Ruby.

The third reason I wont develop websites using PHP is because PHP devs seem to think that because the develop a site in PHP they are already building an SEO friendly website. What utter crap. There seems to be this aura around PHP that makes it look like you automatically get website awesomeness packed in. Lets not forget that the art of development on most platforms require the same disciplined processes. Whether you write unit tests for .NET or PHP – you still need to write unit tests. Whether you test websites written using PHP or ASP.NET you still have to test them in browsers – you dont get cross-browser compatibility out of the box.

The fourth reason I wont use PHP for development is because .NET offers programming features such as LINQ and Generics.

  • Share/Bookmark
Tags: ,
posted by fr3dr1k in General and have Comments (4)

Why use .NET as development platform?

The purpose of this post is to make it clear to myself why I use .NET as a development platform. The need to make it clear has arisen because I have noted a trend lately that saw at least two .NET developers moving to other platforms, and it made me wonder why I still choose .NET as a development platform at the moment. I have been reading up a bit on Ruby-on-Rails, because it seems to be the next big thing in terms of web development, and I haven’t found a compelling reason to dump .NET. If I had to think of reasons why I would not drop .NET it would be something like the following:

  • Operating System familiarity. Yes I know Mac OS X and Linux are potentially more stable and more superior. But superiority comes at a price. Everything I need works in Windows, from networking, office suites, wireless devices, development environments and file management. A Windows network is easy to setup, as is file and print sharing, and Microsoft Office is still the de facto desktop Office Suite. There aren’t many wireless devices that can NOT connect to a Windows-based system, which makes Windows almost ubiquitous.
  • Having stated that I like to do my development in a Windows environment because of the familiarity it provides, the next important thing relates to the skill sets I have acquired over of a period of time. The skill sets I have acquired over the last 4/5 years have been acquired doing development on Windows-based systems. My development environment allows me to retain a core set of skills that are applicable across a wide variety of devices. The CLR (Common Language Runtime) remains the same in the way it runs and executes whether it’s on a mobile device or a desktop application or in a browser. Class libraries might change and you might add new references, but at the end of the day the code you write still compiles to that same IL code. I can thus retain the knowledge I have of the CLR and focus on learning the nuances of a particular implementation, such as focusing on aspects of SOA when developing WCF Services, or focusing on the intricacies of WPF when developing desktop applications. At the end of the day you are still writing code and your activities should be targeted towards a better understanding of your development environment, and ensuring that your code is of a great quality through tried-and-tested practices. Developing software is all about achieving a business objective.
  • Continuing from the previous point, I believe that all software development follow the same structured and disciplined approach. The platform on which you do it is irrelevant, it is more important that you follow best practices, and for this reason I believe you can write great quality software on the .NET platform, and if you do things right you could probably write that software on another platform too
  • From the second point I can also create an architecture that flows from end-to-end with total and complete integration. In other words I could develop an Intranet application that connects to web services from a web application and allows me to transmit information between the two without having to do any manual file copying. I can thus design processes around the activities in one area to interact with processes in other areas and create measurable and timely information. I could for instance allow a group of sales people to directly interact with customers from an intranet to a production website using the same technology with its various subsets.
  • I have not reached the pinnacle of what I can achieve on the .NET framework in terms of personal and professional development and I believe I can learn and apply the same practices elsewhere, but I still need to learn those best practices. Whether I learn them on the .NET framework or in a J2EE or Ruby-On-Rails environment, it’s not that relevant.
  • Share/Bookmark
posted by fr3dr1k in General and have No Comments

Finding the “sticky”

“Finding the sticky” is a phrase I have heard a few times recently and it has been mulling in my head. It refers to a brand’s ability to find a foothold in a specified target audience. Think of a lollipop that you unwrap and lick and how sticky it is then, and if you stick it to a wool jersey or to material how it sticks. A brand can be seen this way, and thought of in this way. Your brand must “stick” with those that get into contact with it. Finding the key to making it stick is a journey in itself because in today’s modern world of mass communication we are constantly bombarded with information, at an unprecedented rate, which makes it tough if you are a company or organisation seeking to create brand awareness with a specific target audience. I’m not sure if brand uniqueness alone will suffice, because novelty is something that dies off quickly. Yes, its important to create a fresh and appealing look, but beyond that you must be more.

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

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

Can you get to generic without going non-generic?

This is a seemingly trivial question but one that I have been thinking about for a while. Is it possible to come up with a completely generic solution, without having first gone the non-generic route? Let me ask another question. Will the initial stages in any project deliver enough ‘generic-ness‘? The reason I ask and say this is because in my experience a generic system cannot be achieved if you haven’t worked through its non-generic counterpart. Why is it then that we as developers always want to improve and rework our code? Is it because we have had time to think about the solution, creating a better understanding of what problem the solution is trying to solve, and now that a better understanding exists you can look at your code easily and go hmmm, lets rather try this approach and see what happens. I often find myself going through my code trying to explain each line to myself, because in theory you should understand your own code, right? On these odd occasions that I go through my code a few times I do get to see ways of better structuring my code, but it usually couples itself with a better understanding of the business paradigm.

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

Will email truly die?

I got a Google Wave invite earlier this week and I must admit I have not logged in again since and honestly I have not felt compelled to, but that may just be me. Maybe it is just me, maybe I am not as forward and revolutionary thinking as the people over at Google. To be completely honest though I do find it quite scary when Google start tapping into our everyday lives, even if they profess to be squeaky clean and all. Just because they seem to be a lesser evil doesnt mean they are less evil. Back to the topic at hand though, will email truly die? In South Africa I do not really think it would, maybe in years to come. What would replace it though? Mobile messaging? I mean the South African environment is filled with Mxiteers and who is to say that in 10 or so years from now Mxit would replace email as contemporary communication tool. But as things stand at the moment you cannot dispose of email really. I mean some people live from Outlook, their whole job and existence is documented there, what about them? Email remains a very useful tool to communicate and to keep a track of communication, although I do believe this is where Google Groups is cool. As I said at the start maybe I don’t get Google Wave yet. Until then I guess email will remain.

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