Stick it to 'The Man'

In a world frought with restrictive employment agreements how is a prospective employee to protect himself? I believe the reason there are so many undesirable terms is because job seekers are too eager for that next big break or that shiny big company they can put on their resumé. If the companies couldn’t get any bites on these contracts then they would stop mandating them. It’s up to us as the fresh meat on the market to take a stand and decline oppressive agreements. Patience is key. There are plenty of jobs out there and with enough searching and patience I believe you can find a mode of employ that’s not only unrestrictive but that’s mutually beneficial. Seek out that employer you can build a symbiotic relationship with. Work with someone whose goals and values you can make your own. You will be much happier. As such you will be more productive and make your employer happier as well. Dare to love your job, not just what you do, but how you do it and under what terms as well.

15 Dec 00:22 :: 0 comments :: Comment
Tags: computers, programming, cs404

Why Software Businesses Fail

The economics of software and all things digital are fiercely different from standard physical economics. The new economy is radically different because of the radically different nature of the commodities. In the physical economy even the most abundant commodities can only be sold once by a particular entity. If I have a truckload of dirt and sell it to a landfill, my dirt is gone. If I have a software product I can sell it time and time again and still have the product. This sounds great, right? What a wonderful and magical thing I have! There’s a problem. Before when I sold my dirt it was gone. I had to get more dirt to sell to someone else. The buyer of my first load could sell it to my next customer and undermine my market, but I’m not worried about that because that consumer ‘consumes’ the dirt and can no longer reuse it. However, when I sell my software the customer can use, reuse, and even redistribute the software indefinately. We have producers but nothing is consumed! This notion of consumers is so fundemental to the physical economy it’s no wonder the ramifications have continued to baffle business. Instead of trying to understand the fundemental differences, business has tried with only limited success to apply artificial barriers and rules to make the new system behave like the old. The fathers of Free software and OSS understood these differences early on and see the artificial modifications as a gross perversion of a wonderful new thing. There’s only one missing piece to this new economy. In an economy, work is performed, things traded, and both yourself and society are benefited. Again imagine I have dirt, this time it’s magical digital dirt. Once I have the dirt everyone potentially has the dirt also. I cannot sell the dirt, everyone has it! Some have tried making new dirt to turn a profit. So I make some green dirt in hopes of making some money from it. But again, I can’t sell the dirt because once I make it, everyone has it already! Society advances but leaves me behind. If I am to help myself in this brave new world I must abandon the idea that the dirt has any value in and of itself. If I make new dirt it’s because I need it, not because it can be sold. Some companies partially embrace the idea and take red dirt and blue dirt made by others and combine it to make purple dirt. But the same fallacy holds, they cannot sell the dirt! The only thing to do is to use the dirt. Let’s shift gears now and imagine paint is free and there’s an unlimited supply. To sell the paint would be silly, but professional painters can still make money putting logos on buildings and signs, applying the paint to roadways and fences. Say I’m a painter and a customer wants her fence to glow in the dark. There is no glow in the dark paint. I can develop the paint myself or I can pay a developer to get me the paint. The only catch is I must abandon all sense of ownership of the new glowing paint, as must the developer if I hired one. Whether I’m the developer or the painter (or both) I put in the effort to make glow in the dark paint to please my customers, not to have the paint. This is the fundemental ideal that must be applied to this magical world of 1’s and 0’s in order to have lasting success. You must use, modify, and create software for the sole purpose of pleasing your customers. If you try to make and sell one product you will be left behind in the blink of an eye.

30 Nov 10:24 :: 2 comments :: Comment
Tags: cs404, programming, open source, computers

Securing the Screen Door

In this time of increasing digital communication, more and more aspects of our life become targets for digital theft. The problem is exacerbated where the magnificent increases in computing power make it harder still to be secure. The door to our digital home is growing larger and more porous with every advancement in technology and convenience. I am beginning to steer my career towards these security issues. I aim to become a systems security consultant or something of the like. As such I would like to begin by consulting you.

Very smart people are creating some amazing encryption technologies. These are further scrutinized and improved by countless more smart people. Have we realized absolute security? Only time will tell, but enough experts suggest that only sheer computing power stands between these encryptions and their content. If this is the case, the raging growth of computing power will soon rush over our walls. Thus security is not solvable problem, but an ongoing battle.

If a good encryption was all it took then we’d be pretty well off, at least for the present computing environment. Unfortunately, security is not a lock, it’s more like a lock and chain. In most cases it’s a reasonably strong lock on a pathetic chain. If the chain is broken the lock does no good. The weakest link in this proverbial chain is by far the human link. There have been clever ways to reduce this link. One example is the advent of the public/private key encryption. No longer does a single key have to be shared between two parties. Once we had a weak link in the messenger of the key; now it’s no link at all.

However there are still many links of human nature with a high potential for weakness. All to often this potential is fully realized. Such links are passphrases or the safe keeping of the keys. There is hope, though. Just because the human link tends to be disproportionately weak doesn’t mean it has to be. Some general rules for strengthening our security include strong passwords. This doesn’t mean something unpronounceable (let alone memorable). It does mean something that’s not in a dictionary. I like to take words from different languages and phonetically smash them together. Something I like. Something I can subvocalize and remember. Another strength strategy is to increase the number of doors to break through. This is done by varying your passwords. If you have one password for all things all it takes is one password leak, perhaps from your favorite fad web site, and your entire security system comes crashing down. If a different password for every application is too much to remember, perhaps try classes of passwords. Use one password for trivial things, one for run of the mill accounts, and one or many for the real sensitive things, for example. Lastly, never divulge sensitive information over insecure channels, ever!

There are so many more ways the human link can be exploited. The best practice is education. If you’re worried about security you should be constantly educating yourself, finding and strengthening your weakest links. This is especially true if your worried about someone else’s security (your employers, for example). If you are an employer then hire someone who is well educating in the pitfalls and solutions of security, and one who will remain thus educated. If you’re just Joe User, only marginally worried about it, you should at the very least follow the guidelines listed above.

As stated before, security is an ongoing battle, both for the cypher writers and for the humans that use it. It’s a race between technology and technology, between the sly and the savvy. If you just learn something every month and apply it you’ll be far ahead of the masses. Stay on top of the game, even if it’s just through baby steps.

01 Nov 10:13 :: 0 comments :: Comment
Tags: cs404, computers, security

Mock Trial

I participated in a mock trial yesterday. The case was victims of an airplane crash against the writer of software for the malfunctioning system. I really appreciated the jury’s remark on finding the defendent not guilty, “Being future software developers, we don’t want to be held responsible for malfunction.” One issue brought up was in a team of developers, spec writers, QA testers, and even a series of redundancies how can you hold any one person responsible? I think in this case of multiple redundancies, the blame weights towards the last redundancy that failed, at least in this case because it was a concious decision to go ahead with the flight per manual calculations.

29 Sep 10:17 :: 2 comments :: Comment
Tags: cs404

To ad or not to ad

I’ve often thought about building some killer web app and using advertising and/or affiliate programs to make money off of it. As a user I know how annoying ad-driven applications tend to be. What if the add’s were only relevent to the content of the application? What if they were only presented in a contextual, non-pervasive way? There seems to be a thin line between acceptable ads and annoyances. Unfortunately it’s hard to tell where that line lies. I should think that I could do better than the blatently annoying, but judging by the very small number of not annoying ad-revenue sites perhaps it’s a tough egg to crack. So do you go with a subscription based plan instead? Would people rather pay a fee or see some adds? On the one hand I like the idea of a free service, even if free means a few ads. On the other hand ‘spam’ gives me the willies and I’m not always sure how much better I feel about pay-per-click. Fortunately at the moment I have no killer web app and so the problem lies dormant. Maybe someday there will be a better business model that won’t divide me so.

14 Sep 23:55 :: 0 comments :: Comment
Tags: cs404, web, programming

Fame

“If you would not be forgotten as soon as you are dead and rotten, either write things worth the reading, or do things worth the writing.”

—Benjamin Franklin

There is a notion that you should make a mark on the world, lest you disappear. I, too, have dreamed of having some constant named after me or some universal equation associated with my head of wiry hair. This measure of success is a daunting one to meet. The world has a finite memory and you’re in competition with billions.

On the final exam you’re only graded on knowing that universal equation. In the end of ends it’s more basic than that. A humble shop owner, honest and helpful, can be counted as successful as the most appreciated nobel prize winner, or a loving husband and caring father. Noble are the prize winners, as are the loyal.

13 Sep 00:06 :: 0 comments :: Comment
Tags: cs404, life