Punk-coder Blog

Archive for December, 2011

Migrating the Website

by on Dec.23, 2011, under Technology

I have migrated away from Godaddy in light of their stance on SOPA, for more information check the link below.

http://support.godaddy.com/godaddy/go-daddys-position-on-sopa/

if you don’t know anything about SOPA or why it’s evil, here is an excellent explanation of ProtectIP and SOPA… Click Here

Leave a Comment more...

Managing offshore work.

by on Dec.21, 2011, under Things I Wish I Learned in College

“Many hands make light work.” – Origin Unknown

“This statement is false” – Liars Paradox

There is an excellent lesson to be learned in working with others, and even greater lesson when working with people of a different culture. As you should be learning to spot business speak, you can tell that this ended horribly.  Otherwise there wouldn’t be a lesson involved.

So I landed at my clients office for the first time and I was settling down into my new desk, the project manager came in and talked with me about the project. The project was simple for the most part there were a couple of office documents that would need to be automated.  They needed to be tied up to a database so that the information could be reused across the departments.  To me this sounded like it shouldn’t be a problem.  I had done things like this before so there shouldn’t be anything difficult about it.  I was also informed that we had a very short deadline to work against but that this would be alleviated by adding two resources from off shore.

Enter Alice and Bob (not their real names).

So as we started, the management figured out that source control was too expensive so there was no budget for that, and that we were to transfer code from the US to offshore by email (Mistake #1, cost is never an excuse for not using source control).  In the beginning this was not a problem I would make my code changes during the day then would ship the offshore team our project by email, then they would return their updates from over night and I would review and integrate their changes.  This worked for about the first week then there were a couple of days where emails had gotten kicked back.  The resulting of this was that I had to spend a full day reviewing one set of changes and review the second set another day.

Bobs code for the most part looked good but childish, like someone who had never really programed in C# before. Alice’s code often contained compiler errors and required reworking to even be functional, a topic that we talked about on several occasions.  However since they were on lend from another department I couldn’t get them removed and I had to work through their work (Mistake #2, if someone is creating a hindrance and your direct management won’t solve the problem. Find some one who will). It finally go to the point where I was spending 8 hours working with their code and another 8 hours working on mine.  Then came the point where the real problem crept in.

Knowing that I had to have certain elements of the code that needed to function and work by a certain date I started cutting back the time that I was spending reviewing the code, switching it from working 4 hours on their code and 12 on the code that I was responsible for. (Mistake #3, don’t leave children alone in the garden).  Because of this code that contained inherent bugs started slipping into the code and there were hacks to fix the hacks in the hopes that this would eventually get to a point where the code was functional.

It never got there,  in the end I had a client that was upset with me.  A team that was upset with me, and I loathed being in that situation. The project completed from my side about a month and a half after it was planned to, and it counts as one of the black marks in an otherwise good year.  I’m offering this up as a cautionary tale about the lessons I learned in the hopes that others won’t have to experience them.

Leave a Comment more...

Encryptr

by on Dec.20, 2011, under Code

I had been fooling around with this idea for a long time, and I finally sat down and coded it.  The idea is simple, in the world of secret sharing you want to ensure that the fewest number of people have what is needed to expose the secret.  The problem is that in many cases when you hand over that information to a service or escrow you  have no idea if they are really keeping that infromation secure.  Classic example is that if you send email from one person to another the email, even though it may be sent across the wire using ssl, is more than likely sitting on the server in plain text. Even if it isn’t there are ways for the administrator to expose the contents of the email box.  So how do you pass a message and make sure that everything is secure.

You encrypt it on one end and decrypt it on the other end, without storing anything but the encrypted text on the server.  That’s what encryptr does.  It takes a message typed in by the user and encrypts it using javascript then sends only the encrypted information to the server. The only part of the message that is identifiable in the server is the id which is used to look up the message.

If you are interested in the project feel free to got to https://bitbucket.org/punkcoder/punkcoder.applications.encryptr

Leave a Comment more...

No. No. No. No. No.

by on Dec.02, 2011, under Uncategorized

It happens every once and a while.  You see it and to the untrained eye you just glance over it, but if you are in the know it should stop you in your tracks.

GC.Collect();

Once upon a time when the garbage collector was new to java and .net there were a group of people who thought that they were smarter than the people who implemented these system.  They thought that they could find the best place to force garbage collection.  At the time they may have been right. But advance the clock, because as we know code is never complete only abandoned, ten years into the future and I see that there is this section of code that is being called as part of a loop.  It stopped me in my tracks,  to realized that there was once a hack put in place to clear up an issue, and now since we have moved ten years into the future it is more than likely the code that is causing the massive slowdown and the reason that I am looking at the code.

I think there is a lesson to be learned here.

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...