After working in a partially finished basemement of my house for about a year my wife decided to do a "makeover" on my lousy office space. She did an amazing job! Thank you!!! Anyway, take a look at the pics and let me know what you think.

 

 

 





Posted in: General , Off Topic  Tags:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


"The Evolution of EVOLUTION, How Darwin's Theory Survives, Thrives and Reshapes the World", "The Future of Human Evolution", "Molecular Proof of Natural Selection", "How Life Invents Complex Traits" and "Creationists' Latest Tricks" are all title of articles in the January 2009 issue of Scientific American magazine. I am a subscriber and huge fan of Scientific American magazine but I have a problem with the latest issue. Webster's dictionary defines science as "knowledge or a system of knowledge covering general truths or the operation of general laws especially as obtained and tested through scientific method."

In this blog post I am not taking up one side of the evolution issue or  another but trying to point out how politics and ideology have corrupted the science community. I always thought of scientist as open minded, thorough and in general, interested in discussion from opposing points of view, however the latest issue of American Scientific magazine does everything except call for the "burning at the stake" of all those whose ideals are contrary to the Theory of Evolution. Here are some excerpts from the magazine;

 

In an article titled "The Latest Face of Creationism" there is a section which provides suggestions as to actions that can be taken if "controversy over the teaching of evolution erupts in your area"

The first action suggested is this; "Resolving the controversy requires thinking politically..." Does politics really have a place in science? Science is science and does not depend on opinion nor political ideology.

The second action suggested in this article is "Keep in mind that the goal is not only to keep creationism out of the science classroom but also to ensure that evolution is taught properly - without qualifiers such as 'only a theory'"... Well, isn't the Theory of Evolution still a theory? When was it proven via the scientific method?

I'll stop there but the magazine continues an all out assault on creationism and intelligent design throughout several other articles.  My question is this, Are we at a point where our scientific community has abandoned the scientific method and are replacing it with ideology instead? A similar issue which also represents ideological views instead of scientific views from a majority of the scientific community is global warming and the cause and effect of it. But I will save this for another post.

 

 

 


Posted in: General , Off Topic  Tags:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Johnny posted on November 14, 2008 13:45
After a few days of working from my new Herman Miller Aeron chair I have noticed a significant reduction of lower back pain. The great thing about this chair is that I never think about it throughout the day. My previous chair was canstantly on my mind. I was always shifting my weight or changing position to aleviate pain in one area of my body or another. So far it is worth every penny.
 

Posted in: General  Tags:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


After weeks of continuing back aches, poor nights rest and searching online for the perfect computer chair I decided on the Herman Miller Aeron Chair.
 
Take a look:

 
 
I will occassionally post updates letting you know if I think this obsurdly expensive chair was worth it.
 
 
 

Posted in: General , Off Topic  Tags:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Johnny posted on June 27, 2008 05:20

A few days ago I was in a discussion with a friend of mine who interviewed for a senior level developer position. He mentioned that one of the questions he was asked in his technical interview was "Describe a scenario where you would use a Struct instead of a Class.". He told me he could not think of one. So this article is an attempt to both explain the differences between a Class and a Struct and also describe when a struct should be used instead of a class.

Reference Type vs. Value Type
One of the primary differences between a Class and a Struct is that a Class is a reference type and a Struct is a value type. What does this mean? Well, let's take a look at other value types. All of the primitive types such as int, bool, decimal etc. are value types. Value types are stored in the stack as a single space in memory whereas refernce types are created in memory and a reference to that space is also create. The reference type is always accessed via the reference and not directly. For example;

Point p1 = new Point();       //Point is a Struct
Form f1 = new Form();       //Form is a Class

Point p2 = p1;
Form f2 = f1;

In the above code example p2 is an independent copy of p1. If you were to change a value of a property of p2, p1 would not be affected. Whereas f2 is a copy of the refence to f1 there for f1 and f2 are both references to the same object in memory. If you were to change a value of a property of f2, f1 would also be changed.

Heap vs. Stack
The stack is a simple FILO (first in last out) memory structure. The Stack is a highly efficient memory structure that "bookmarks" the stack when a method begins execution, Dumps data into the stack during the method execution and once the method exection completes the stack is reset to the bookmark releasing all the method's allocated memory.

The heap is just the opposite. The heap can be considered, for lack of a better term, a random access memory structure. Objects can be allocated and deallocated in a random order. The heap requires the use of a memory manager and garbage collector to maintain it's structure.

When you instantiate a class the instance of the class itself is stored in the heap whereas the reference to the instance of the class is stored in the stack.

Form f1 = new Form();

The actual object created by the above code will be placed in the heap and the reference, f1, to that object is stored in the stack.

When to use a Struct
Keep the following rules in mind when using a struct:
- a struct should represent a single value
- a struct should have a memory footprint less than 16 bytes
- a struct should not be changed after creation.


Posted in: General , Programming  Tags: , , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


In my current position as a Software Architect I work daily to design software that meets specific business requirements. I am also new to my current company and the style of the other architects differ slightly from my own. So, feeling a need to define what "my" principles of software architecture are so I could verbalize them easily, I decided to create this post. Here they are.

1. Stick to the defined requirements. Never design for tomorrow.

In the world we live in the requirements for business functionality in a software system change daily. A requirement today may or may not exist in it's current form tomorrow so there is no need to guess what functionality may be needed tomorrow. Of course, good software design accounts for things like scalability and other predictable changes.

2. Design software for the user.

The end goal of business software is to provide the user with a tool to do something they either could not do before or to do something more efficiently than they could do it without the software. If, by designing a software system, you make the user of that system less efficient you have failed.

3. Simplicity!!!

If a software system is overly complex it has been designed wrong! I am a firm believer that there is a simple solution for nearly every problem.

4. Expect and embrace change.

Has anyone ever designed software based on requirements that never change? If so take a look at principle number 2!

5. Delivery high quality, scaleable, readable, maintainable code.

This one should be self explanatory.

6. Testing!

Whether or not you implement some sort of test driven development, testing your design as well as your code is a requirement. You can not accomplish principle number 2 by allowing your users to find a majority of your bugs and design flaws.

7. Make Decisions!!!

To many times I have been involved in projects where, what to me, seems like a simple 5 minute discussion turns into weeks worth of meetings to make a simple decisions. Make the decision and if it turns out to be the wrong one then change it and get back on track. I would rather make a bad decision then no decision at all.

8. Calendar based project management always fails.

How many times have you been told that you need to design, develop and implement a solution by Y date without regard for the amount of work or resource requirements involved? There are three sides to the software design triangle. Time & Money, Quality and Scope. The customer gets to control 2 of these sides but you as the architect or designer get to control the third. In my experience I have found, almost always, that the customer tries to control all 3. They want full scope, delivered high quality for X dollars by Y date. If the customer wants full scope delivered high quality then I get to determine the deadline. If they want to stick to a budget and delivery by a certain date then I determine the scope.

9.  Collaboration and Communication.

The majority of the software projects I have worked on that were successful had all the stake holders identified and dedicated to the project. With everyone needed for the project available it makes principle number 7 easy.

10. Enjoy what you do!

If you stop enjoying your work, then stop doing it and find something you do enjoy! Life is way to short.

These are just my personal principles in no particular order. I think everyone, no matter what there career, should define what their principles are for doing their job.


Posted in: General  Tags:

Currently rated 4.2 by 5 people

  • Currently 4.2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Search Blog Post

Follow me on

Twitter Updates

    Recent Comments

    Disclaimer
    The opinions expressed herein are my own personal opinions.

    © Copyright 2010 Johnny Can't Code