Grab this feed!

Archive for the ‘software’ Category

Why I love and hate JavaScript

Friday, March 20th, 2009

2009.03.16 OaD #75 | Consumed by code

JavaScript is a powerful client side scripting language.  It allows developers to quickly add/remove functionality.  It can be dropped in or generated from code.  In WEB 2.0, JavaScript is the backbone of creating rich user environments.  It is quite the catch 22.  Oh how I love to hate and hate to love JavaScript.

JavaScript can pass some rudimentary tasks to the client so, as developers know, this can save processing cycles.  Sometimes it can actually add processing cycles, so it definitely depends.  Saving processing time allows application to run faster for the most part.  You don’t have to wait for a complete page cycle to do tasks ala 1998.  Basically, users are not patient nor should they be patient.  They are used to the Desktop world.  I feel JavaScript helps bridge that gap for users; sometime developers/designers go overboard.

Ease of Use

Love
Javascript is easy to use.  Compatible with any web programming language: Classic ASP, .NET, PHP, Ruby, JSP.  It integrates easily.  It is fairly lightweight and the syntax is not mind-blowing.

Hate
It is a little to easy to use and users can directly access things in your page.  It gives the user more control than what they know.  Look you can easily change the background of any page in the address bar.

javascript:document.bgColor = ‘#000000′;void(0);
^ Paste that into the address bar and press enter -> changes the background

This only touches the surface of what JavaScript can do.  It can get into your web app and change things around.  I use it for quick fixes on the fly or to try different things.  You can’t rely on JavaScript it will only cause you pain.  Can you trust the DOM?  No.

JavaScript is an interesting topic still it was once vogue, faded out, and then came back (with velocity).  I think at one point in JavaScript’s history it was somewhat confused for Java, but I don’t think that is currently valid.  There are so many great JavaScript libraries out there that enhance the UI and the total web experience.

They are even available from the Google API with no API Key which is an added bonus; unlimited connections to boot.  I don’t think a lot of these effects/plug-ins would be as robust or available if not for JavaScript libraries and the good old Goog.

I really don’t hate JavaScript, but I think it can be overused or used incorrectly (say for validation).  Sure it can help in notifying the end-user of validation issues; it should also be validated on the server side.  Web development is a many layered burrito.

Learning is Lifelong

Saturday, October 4th, 2008

After many years in school and working lowly, but rewarding, jobs in IT, I truly feel learning is one of the best attributes that I possess.  It is an attribute that everyone should strive for and keep close to them no matter what.

As I have stated many times before… I am an avid listener of podcasts and video podcasts.  I love them because they help me stay up-to-date in this frequently changing world of IT.  I would have to say my newest vidcast that I have been enjoying lately has been HAK5.  They are just a bunch of real down to earth people talking about technology!  They are a bit goofy but that’s okay with me.  I believe they were recently added to revision3, and I’m quite glad they were.

I really enjoyed the piece by Chris Gerling on reverse engineering on .NET applications (and more).  This is a very handy skill to have especially since I work with .NET.  As I watched the podcast I didn’t think much about it.  I found it to be very cool and engrossing; tres geek.  I like how they broke the segment down onto multiple episodes (inside of being deluged).

processcode

Come a few weeks later (now), a couple of the network guys came to my cube and asked me if I could help them with an application a previous developer wrote.  I politely said “Sure! Not a problem”, which they responded with “Great one catch though, all we have is the EXEcutable and we need it ASAP”.  I think that was actually two catches, but anyhow.

I said calm and coolly, “all we need to do is decompile the application get the source code and we’ll be ready to go”.  I suspect it was not the answer they were expecting.  I was calm and cool because I just watched the great hak5 episodes that involved reverse engineering!  Hot dog.  I earned major cred points for my attitude and how quickly I was able to reproduce the code for the problem.

After inspecting the code we found the problem to be a configuration code; not a development bug.  This was such a critical step the problem solving process.  This also proves that learning is a lifelong process that needs to continue beyond school and become apart of your life.

Microsoft Developers User Group Stevenson University

Wednesday, July 23rd, 2008

I attended the Maryland and Pennsylvania Microsoft Developers User Group on July 22, 2008. It was at Stevenson University (formerly Villa Julie). It’s a beautiful campus located in the woods off of I-695! It was my first time going to a user group like that. It was okay probably going to try the Harrisburg Developers User Group and see how that goes. I’m more interested in talking about software development and programming techniques.

00001.jpg

There was a speaker, Advanced IT student, who gave a rousing speak on Project Management Software. It was an okay intro to that Software, but seemed to miss a lot of what’s happening right now. He gave some examples, but none with software development. I think software development is a totally different ballpark then for example winery. I think Agile Development is really changing what software we use and how we use it. Mingle is probably the “best” for Agile Development. I’ve used Agile Track to have management on an Agile project.

There was a web seminar on some new features of Visual Studio 2008. I’m quite excited about some of the cool new features. The one feature I am most excited about is Javascript Debugging! Debugging Javascript is so annoying… to be able to step through Javascript will save so much time. The split screen mode in 2008 also looks very promising.

00003.jpg

I also won the main door prize! I got a wireless keyboard and some software (Visual Studio 2008, Windows Server 2008, and SQL Server 2008). Visual Studio and SQL Server are both developers version while Windows Server is a year free trial. I’m going to try them out and see what they are all about.

My Affinity for Programming

Wednesday, July 16th, 2008

I started programming in what most programmers do.  BASIC, it is the beginning, the building blocks, the genesis, etc etc.  After learning about the wonderful nuances of BASIC I was quickly thrown into the hard cold world of Turbo Pascal.  I don’t remember much of Turbo Pascal, but I remember it was not kind.  After using many printfs and so forth I moved to C and C++.  C and C++ were not too bad.  Pointers were kind of interesting at an early age, but I could not see myself working with them forever.

So I went to college to pursue the wonderful career of System Administrator.  This was pre 9/11, end of web 1.0, and the landscape was kind of shakey.  The web always interested me and I wanted to do some projects in the web space.  I started with PHP 3/4 and made my own CMS.  It wasn’t anything fancy… basically it was a web interface to edit txt files, which was basically a pseudo database.  I found myself dedicating a lot of time to programming and really enjoyed it.

I got my degree in System Administration, but had a great desire to continue programming.  Thus I went to Penn State to continue my education and learn how to become a Software Developer.  I learned a lot at Penn State.  About hard work, listening, understanding concepts… I learned that being a Software Developer isn’t so much about coding, but understanding the needs of people.  Coding is very important, but that is the easy stuff, the fun stuff!  To interpret the wants and demands of people that really have no idea what a database is.  It is a challenge, but it is something Penn State has prepared me for.

It has been a long challenging road, but it has all been worth it in the end.  The ends do justify the means in this case I dare say.  This was a quick narrative of my rise to Software Developerdum.  To say I have an affinity for programming is an under statement.  It is apart of me.  It is at the core of what I do.  I don’t really have a job or career, because I enjoy every single second of it.  It is a challenge that I love.

Code Integration

Monday, July 14th, 2008

No doubtedly I think everyone is going to have to integrate new code with “old code”.  Unless you are working for a start-up with no coding baggage; I digress.  I think this goes beyond development into other areas.  Where one will have to infuse their style with an older order.  This discussion will only be software development related.

More times than not you are going to have to dig through old crappy code with no documentation.  In the realm of .NET there will be times when you have to integrate classic ASP, .NET 1.1, and .NET 2.0.  What a fun time!  PHP will have to be migrated with PHP 3/4 and PHP 5.  Oh our functions are now reserved words.  Good times.  The trick to doing this is to use the code and see how it works.  Whatever the previous coder thought does not matter; it is about code execution.  It’s the ones and zeros that you need to care about.

I feel integration is the most overlooked part of any job; be it Network Admin or Developer.  It’s fairly easy to troubleshoot and develop something brand new.  You have a clean slate, which gives you a lot of flexibility to make changes on the fly.  With “old code” it is supporting unknown features or bugs that could cause potential downtime or corruption.  To integrate with something of the past and to enhance is like a work of art.  It is breathing life back into an application or hardware.  I’m not trying to make this sound like some kind of miracle, but integrating new code with “old code” is very overlooked.

I am referring to old code as “old code”, it is not a derogatory statement, but a loose hand reference.  Just because code is aged does not mean it is of no value or doesn’t work that well.  Some of the best code is “old code” do you think COBOL is dead?  It is an old language, but the applications work like a beast.

Some of the newer languages make things easier and obsolete older more lengthy code blocks, but it doesn’t make it run better (okay sometimes).  It may be a bit sexier, but such is life.  The code will still achieve core functionality just not all the bells and whistles.  toot toot.

Categories