Friday, July 11, 2008

Sup Br0s?

Howdy, ya'll, how's things? Good over here, 007 is coming along great with no big surprises yet, however it's only been a week so. I'm going to go more into detail next week with a big dev diary.




 


Vista RAWKS, dead serious bros. It's intuitive, it's attractive, and it's fast. I have a running theory about people being predisposed to hate anything Microsoft. I'm running it on a MAC which makes it really fast. I also learned this week that they all run MACs over at Microsoft, which I think is very cool, I mean they are picking the best hardware. I almost wonder really what level of competition they are to each other. I mean, it seems that Apple more competes with hardware companies, besides OS's is there a product that is important to MS and Apple alike? Ok, so there is the Zune, but I don't feel like that is the focus of Microsoft's development. I think people just enjoy deciding that there is a rivalry. So the moral of this story is that don't think something is crap because everyone else says it is.




 


Best website sent to me this week: http://isxkcdshittytoday.com.


 


Are any of you watching America's Best Dance Crew? I have loved this show, last year there were some kids on it that were street dancers in Boston that I had run into in Quincy Market. They were really talented so I watched all season to support them, I really got into the show though. I have been watching this year again, and I love this show.I hate reality TV, but this show is a fun watch. Try to catch it if you can.  




 


What is everyone up to this weekend? I'm taking it pretty low key, some family stuff, maybe the beach. Catch up on some laundry.




 


Currently interviewing some teams, I need a fast, very attractive, seamless flash video player made. I'd prefer it if the group I worked with was in the tri state area but if find real talent I woul d be willling to deal with people out of the area. Drop me a line if you feel like your group may qualify.




 


Hope everything is going well out there, I think I'm going to throw on my bathing suit and lay out for a while this afternoon, it's beautiful out!


 




 


 




 




 


 




 


 



Tuesday, July 8, 2008

Documentation: A Sure Sign of Garbage Code


When I was coming up as a young VBA pup I was told again and again “all good programmers document their code,” and “constant documentation a good developer makes” and “blah, blah, blah document” and I hated it. I hated documenting, I hated figuring out something fun and then going back and explaining it to someone else in English. I always associated documenting code with reporting and testing as the vegetables of programming, I didn't like it but it was essential for success. The reason it was important, I was told, was because if another programmer had to work with your code you wanted them to know what they are looking at. You wanted them to be able to get right to work and not have to spend much time gearing up and learning the system. I believed this for much of my 27 years on this earth, but lately I have realized one thing, if your programmer needs documentation in order to be able to quickly pick up on what it is doing one of two things are true: either the programmer sucks or, more likely, your code sucks.


 


Now, I'm not talking:


 


//This method was created because the full select query was costing performance, so we made this one to call back only two values.


 


That type of commenting is important because sometimes you need to quickly remember why you DIDN'T do some things in ways that you usually would. We don't always research our bug trackers and dev logs before fixing something we perceive to be broken or done incorrectly. This way we don't change something that we did for a reason we may not remember.


 


I'm more speaking of:

 


 


//07/06/08 S. Chipps This method retrieves a dataset from the DB that contains the records that were entered between the two dates passed. First the values are tested to make sure the second is greater than the first then we insert them into the query to get the data we are looking for.

 


 


An oversimplified version of what I am talking about, but you get the drift.


 


Alright, so, there is no reason anymore to record who wrote the method (or function for you naked C folks), we have source control now. It's much more accurate when you are looking to throw some blame around, so sociopathic coders can't frame others for their crappy code. So, basically, writing manual for your code basically says that there is the chance the person reading it may not understand what they are looking at. There is no good reason for this, besides the fact that they are new to the field or technology. However, in that case, I think the best thing to do is allow them to figure it out for themselves or sit with them and explain it.


 


If you've been fortunate enough to witness a truly beautiful application, learning what a piece of it does is not a chore. Everything is exactly where it should be, the variables? Extremely self explanitory. The data? Corresponds with the variables. The objects? Exactly the same as the data. The methods? You can read the name of them and pretty much learn exactly what they do, if you're still curious look down... everything is done in the simplest, leanest, cleanest way possible.


 


What's my point? Stop documenting code, stop asking your coders to document, stop thinking that documentation is a staple in programming. Because it's not, everyone else has realized it. You shouldn't need to document how to install your application, how to set up your local environment, or what third party executables to run in what order before compiling the second time. If you find that is not the case then you're doing it wrong, and your time would be better spent fixing it rather than writing about it.




 


THE END



Sunday, July 6, 2008

The Links - Patriot Edition



Happy 4th, all. This weekend was pretty low key, project 007 started today and I wanted to be well rested. Speaking of which I need to go to bed in a few, lol. Didn't go see any fireworks. I'm not a fan, they are loud and I have the internet for bright flashy shiny things. Here are some things I have run into lately.


Redesign - How do you guys like the new digs? I have two people to thank, I could never have designed my new banner myself. We all know that I'm horrible at making things look snazzy (except for my rockin blue hair). So, one is a girl named Christin Dorner who is a design student, the other is a child prodigy named Lloyd Humphreys from Whales. Both of their sites are on the right sidebar so make sure to check them out.


 Well, I had a whole bunch of links in here but CMS ate it. That really stinks. Basically complaining about Heilman, I had a funny joke about the new Philly picher being reminicent of Henry Rowengartner. Mad frustrating, I would retype but gotta get some sleep adjusting to the schedule change.


I will be back tomorrow, but I will just say hi and goodnight now.



Wednesday, July 2, 2008

Beauty vs. Usability - a Tale of Two Masters


We as passionate developers (or managers, CTO’s, help desk jockeys…etc) have one thing in common, we are attracted like moths to a flame towards the latest and greatest. If something new is coming out we are all talking about it, reading up on it, we could probably tell you five things it lacks before it’s even released. That’s one of the main reasons we are in this, all the cool sh*t we get to play with. This trait comes with a dangerous side effect, which is getting lost in the bright flashy lights of new technology and forgetting what we are here to do in the first place:  solve problems and make the user experience more pleasing.

I have heard stories, and have seen myself, situations where a system has a hodge-podge of very cool stuff, but isn’t usable. Also, there are applications that have been refactored to death, turned into a bloated barely functional mess. What it means when this happens is that someone couldn’t find the balance between what they think is neat, and what will benefit the business. I myself am coming up on a project I am very excited about. When I first started the planning process in my head I was going to use MVC for URL rewriting (ugly url’s are becoming inexcusable) and LINQ for my SQL and I was going to set up all the designers with the Expression Suite and it was going to be the pinnacle of forward development and everyone would be impressed with what I knew. However, after taking a step back, realizing that organizing a project like this is new for me, I decided to go with more familiar methods like active record sets and stored procedures. The new things I am going with are the 3.5 framework, and VS 2008 from 2005. Why? Well, they both cost me very little “learning overhead” time and the 3.5 Framework is better with paging than 2.0 and VS 2008 has better JavaScript debugging, two things that will save me a lot of time. (seriously, how did it take this long to get good JS debugging? It’s only been around as long as, I don’t know, the internet?).

So, how do we avoid this issue? What are some questions we can ask ourselves that will help us choose a good advancement over one that will spin our wheels but not benefit the application. Well, let’s start at the part where you find something exciting. The first thing you need to think of is your feature debt, what does it look like? How does adding this element to your existing application help to lower that debt? Will it save you time that you can use for development? If so, how much time? Will it eliminate some of that debt? Really? Will it, or are you just saying that so you can feel better about playing with it?

Another great way to tell if your investment is worth taking is to convince your end users or project owners that it is. Non intar-people don’t want to hear about refactoring, or code integrity, or WPF. They want to see bright shiny flashy things that look cool and make their lives easier. Convincing them that they need something they’ve never heard of and don’t care about will be a great barometer to see if this change is worth making.

Someone called the solution this quandary an Aristotelian Mean the other day. I had to look that up, but it basically means a perfect balance between two extremes, which is applicable only if you can attain it. Perfect code is beautiful, but if we keep going back and second guessing ourselves we aren’t always helping our users. All my advice is well and good, but while I have the knowledge I lack the experience of finding this Golden Mean between these development poles. I’m sure I’ll learn on my way, but if anyone has any more suggestions, I’d love to hear them.

 

 


Sunday, June 29, 2008

Untraceable - Review


    So I got this movie on Demand tonight and I found it highly entertaining. On one hand, it was a little sick. I'm not big on horror/slasher type things, I was never allowed to watch those types of movies as a kid, so now movies like that really freak me out. This wasn't as much horror as gory thriller, but still, I'm a big believer in Garbage In/Garbage out so I try to stay away. On the other hand I liked the premise, it focused on an FBI agent named Jennifer Marsh that was in a cyber crimes unit. Since this was a web focused movie, it really piqued my interest. One thing I really appreciated is they fact that it wasn't dumbed down at all. Most of these movies set up these situations where someone says something the average Joe might not know, and someone who happens to be in the roon that isn't so savvy says something like "That's all greek to me" so someone explains it so the people in the audience get what is going on. It may have been irritating for the less aware, but they threw around terms like rotating DNS and botnet, and no one had to explain it in simple terms. Also, no fake OSs this time, she was running Vista on her home machine. There was also no "traveling through the virtual internet" shots where we are shown what the inside of computers look like with floating words, and binary, and beautiful green light.


   It wasn't all realistic though, for example her daughter in the movie had admin rights to her machine that she used for work at home that had sensitive FBI info on it. That was a bit off. They were also using trackball mice, which I thought was just dumb, I guess they thought it looked cooler. The "hacker" killer wasn't very good with a keyboard if you ask me, At work she looked at sites with a proxy IP in a vitual machine, yet at home this was not the case. I may be reading too far into these things. I did however, learn new abbreviations like MTC (more to come) and LFM (looking for more). I'm going to be a texting goddess (incedentally, I am tired of people who don't use t9 when text messaging, that's so 2002. Saw someone doing this yesterday).


  The movie brought up a few issues in my mind. Mostly net neutrality. I'm all for it, and no censorship. However, common sense says that what's illegal IRL should be prosecuted online as well. It does need to be regulated on a level, as much as I hate putting control in govenment hands. There are some real sickos out there, and with the access the web gives them it's that much more important to stop it. It also made me think a little more about my personal safety, I know there is all kinds of personal information floating around the intarnette, and I really need to put a kibosh on that stuff. I'm so trusting, you really want to be. It's nice to think that everyone around you has the same intentions you do, but that's simply not the case and I really need to start protecting myself.



 Anyway, decent film 2 1/2 stars IMHO.



Wednesday, June 25, 2008

Latest Article

Yeah, I was on the front page of DZone today. Why? Because I'm a rockstar, LOL.


 INVASION


Blue hair pics still to come.



I love summer, does anyone else? It's so beautiful out.



Tuesday, June 24, 2008

Troubleshooting Issue - Help?

Hey guys, I could use your help. One of the things I'm doing before departing Project Awesome is transferring it to the .NET 2.0 post SP1 compilation model. I have been sucessful thus far moving the projects over to the new solution. I, however, am having trouble with the webservices.


Now, the origional developer created a local webservice to get around the issues the compilation model created. There is also another webservice that communicates with a local 3rd party tool. After I publish the site when I open it in IE the page loads (the actual website) however, when it tries to hit the webservice (the one he places his BO in)  I am getting an exception that says ""No connection could be made because the target machine actively refused it 127.0.0.1:2438" My first instinct was to check permissions on the folders, everything looks good. Then, I checked IIS, everything looks good there. In the event viewer I'm getting the same exception I get on the page. When I step through it's obvious that it conks out as soon as it tries to talk to the web service. I did a netstat command in cmd prompt and there is nothing running on the 2438 port. Is it possible the port has changed? What is the best way to see what the new port number is?


All help is greatly appreciated. I hope I explained my problem in detail enough. Sorry this post isn't more entertaining.




In more important news I have blue hair, pictures to follow.



UPDATE - This has been fixed, partially because of the issue with the ports (thank you for your help) and partially because of the deployment of the project. I appreciate it guys, this wonjt be the last time. :)