New Hellaphone release at github.
Now each news post has a post description available.
I’m a little biased here, being a ruby on rails user, although not professionally anymore. This still makes a great point that most programming purists fail to see.
The point is that the cost per request is plummeting, but the cost of programming is not. Thus, we have to find ways to trade efficiency in the runtime for efficiency in the “thought time†in order to make the development of applications cheaper. I believed we’ve long since entered an age where simplicity of development and maintenance is where the real value lies. David Heinemeier Hansson Tuesday, July 12, 2005
I like programming and doing it well, but I really enjoy what it enables us to do. I think it’s just the means to the end, not the end itself.
The new hellaphone at github can now monitor the queue and updates the progress. More to come soon.
What’s on the immediate horizon:
New release of hellaphone. I scrapped the old code, got rid of cakephp, rolled a lighter, custom framework. Got rid of the installation troublesome mod_rewrite dependancy that cakephp required. I may even end up with a super light MVC after it’s all done. Grab a copy at Github here.
I was getting a new install of hellanzb up and running and noticed that it wouldn’t download the nzb’s from newzbin. I found that the problem was an old uri path in the python scripts. My file was located at /usr/share/python-support/hellanzb/Hellanzb/NewzbinDownloader.py.
Right after the class definition “url” is defined. Just search for v3.newzbin.com/dnzb. Change http://v3.newzbin.com/dnzb to http://v3.newzbin.com/api/dnzb and save.Â
I hope this helps out others until hellanzb gets a fix up. I haven’t checked, but this may already be in HEAD.
Can a coder have too high of standards?
I overheard someone say they dislike someone with too high of coding standards. As if this is a major problem!
The reasoning behind this thought process was this: They usually aren’t pragmatic enough to be goal oriented to meet deadlines and are more concerned with technology.
I say, “Bullshit”! These are not mutually exclusive.
I’ll concede that the first time something is developed, writing it to be modular and not one off takes a good programmer a little longer. The second time around though that time is made up and then some. Of course this is not an issue if you never have any changes, scope creep, or a boss/client that knows exactly what he wants and specs it out perfectly the first time.
I’ve been in many projects that are rushed and shortcuts were taken. The code is unbearable by all but the original coder. Even he takes awhile to get things done. Not that it’s ever my job, but I always spend the time rewriting reusable, elegant code then documenting it. I always spend more time than I would have if I had just patched it, but I save time for me next time and anyone who must maintain it.
Sometimes the rewriting is pieces at a time. This means making everything backward compatible with what is currently written and being used at the time of being written. As I replace parts of the code, I go back and remove the code that was made backward compatible for the pieces being replaced. Eventually the old unmaintainable code is replaced by lean, easy to read, documented code.
Almost as soon as I announce that I was going to stop working on Hellaphone, I start using newsgroups again and start on the project. Partly because I keep getting emailed how to set it up. I didn’t spend any time creating an installer when I released it. In fact I hacked it up real quick to be a single user system.
I always planned on releasing it as a service, but became dis-interested and open sourced it. So now I’m concentrating on bringing the service up again. The project is still open and located at http://code.google.com/p/hellaphone . Check it out, contribute, or just use it.
(Update) There is a newer git repository at http://github.com/buck2769/hellaphone/. This is being actively developed.
Most clients and employers only think about 1-2 days ahead of the project. They want it done now.
“Take shortcuts”, “Fix it later” seem to be their war cry. They fail to remember that they change their minds at least 10 times during the development process. Those shortcuts they made us take, the ones they insisted we take to save a half a days work, they just added 2 - 3 days work of going through dirty code that wasn’t cleaned up or refactored. Let’s go ahead and multiply the time it adds if another developer must be the one to work on it.
Is this the Client’s fault? Partially. We should take some blame here too. We should have an answer or rebuttal why they should not take these shortcuts. We need to be able to convincingly give an argument that supports proper code architecture and design. Why taking the time to create something right is beneficial in the long run.
This is easier said than done. A lot of programmers just aren’t confrontational people, especially with their boss. A lot of bosses are. The boss generally mows them down with phrases like, “it needs to be done yesterday”, and, “We’re losing money by not having this right now”. Unknowingly, they probably put the project behind by not having a plan and enforcing a rush from step to step in the project.
Should you stand up for yourself?
I say, “Absolutely!”. If the man (or woman) in charge is any kind of reasonable, then they will respect your opinions. After all, this is what they hired and continue to pay you for. You will have to sell the reason why you do something, especially when at first glance it seems to take longer than rushing through the project. If you don’t and the project takes too long from you caving in to the pressure of your client, they will only blame you. You will not have any excuses, because theirs will be, “I thought you knew what you were doing”, or, “Why didn’t you tell me that was the wrong way”.
How to avoid being misinterpreted and being looked at like a person who just thrives on arguments.
I don’t know if I can be much help here. I’m always being misinterpreted as I shoot from the hip, rather crudely sometimes. In my old age I’m starting to be a little more manipulative considerate and helping others understand me better. I’m starting to reflect more on what I can do to ultimately get the job done. This means being able to identify the feature and benefits of proper development procedures. Identify how it will either make life easier or make the person more money. This can be by cutting future development costs (future can be within the same project when the client changes his mind) or by creating a better product due to the extra time you’ll have not sorting through the undocumented spaghetti code you wrote just 3 weeks ago.
Unfortunately, sometimes standing up for yourself or telling the client no will ultimately lead to a dismissal of your services. Whether it be an employer or a client, these things can happen. You need to decide what your limit is, and whether it’s for the best. I’ve always felt that most clients must be saved from their ignorance.
The whole online advertising industry has been changing quickly. It was based on Cost Per (M)Thousand Impressions (CPM). Then it was based on Cost Per Clicks (CPC). Now it seems that everything is moving toward (if not already) Cost Per Aquisition (CPA).
Paying publishers based on CPM as a metric was flawed. Flawed for the ultimate task at hand… To get an online aquisition. Conversion rates were all over the place, barely any targeted placement was being done. Relevant data, what is that? We didn’t even know how many people were actually following the ads.
Along comes CPC. We start paying out by the actual clicks, it’s a little easier to track the conversions than CPM. Of course this was not perfect and seems to be on it’s way out as of this writing.
So where are we at right now? Well, everyone is sporting CPA as if it’s the greatest thing since sliced bread (why is this so great anyways?). Pretty easy equation to figure out. If the goal is to sell something directly through an online ad, then measuring the success directly through the sale seems the only way to go. Why in the world would we have done it any other way? Seems simple, right? The advertiser needs to acquire something in order to be successful, be it payment or an email address, or an opinion (survey). If this is the final goal, why would we measure it any other way?
I’ll tell you why, it’s not the way or manner in which the product is marketed that brings it a sale. A bad product will have a bad conversion rate. On the other hand, a good product will have a bad conversion rate if marketed in a poor manner. The current state of industry is this, we must rely on hard acquisition numbers for our payouts because no one knows how to value an certain spot at any certain time on any certain website with any certain product… yet!
I believe this metric can be found, and it’s worth being proven. We do this for television commercials already. Prime time commercials are worth more. Women’s products are worth even more to the hypnotized Oprah crowd. Men’s products are not advertised during Oprah. We seemed to have cracked the code for television. Television, like the web is always changing and so are the advertisements.
Granted, the web is more complicated, more fickle. The users are starting to expect more, but we have the ability to change the ads per user, and on the fly at the last minute. We have oodles of practically free computing power to inference products, services, or whatever to target the end user at that time. We have instant access to his web browsing history, or past purchases, we even have access to the services and content of the email at times. Think gmail is completely free? Those targeted ads don’t come from nowhere.
So why should we sit back and let someone else’s product tell us how much we should make for something that has an unknown conversion? We should know how much our advertising spots are worth. At that time, for that user’s demographic, based on past purchases and inquiries. We should be able to calculate the optimum product for purchase at that time and deliver a much higher conversion percentage. If you give us a crap product, guess what, you’ll get a crap conversion.
The other side of CPM. Why does an acquisition need to be made for the Ad to be successful? I’ve never once tried to click on the commercial in the TV to buy any product. Is branding completely dead? We need to offer to build ads just for branding purposes. Stop charging for the ad, start charging for the space. Radio stations do this already. Let’s catch up to radio for God’s sake!!!
The real problem here is that no one has come up with the formula for how much an ad should be. You can bet Google is throwing a shit ton of money at finding this solution. I will be right there trying to find out how to cash in on the CPM train.
I personally don’t use usenet anymore or the hellaphone application anymore, and have stopped actively developing it. However, if there is enough demand for more features, I will continue to develop it. Anyone out there still using Hellaphone?
Recent Comments