Arman's stuff
You can't know everything

(Tue Dec 14 18:04:41 2010)

You can't know it all, even if you try. Sigh...

If you know everything about a car, you can build one from scratch, drive it at the peak of performance, and quote everything from the exact size of the gas tank to the ideal number of miles before a tuneup is needed. It's possible to do that; you'd have to be a stunt driver and a mechanic, but I'm betting that happens.

If you know everything about a house, you can build one to code without a plan; you can measure, cut, wire, tile, and paint with the best of them. You know exactly what to change to get a better heating or cooling bill. You can cut into any wall without fear of driving a saw through a wire or taking out a load-beading beam. Granted, you'd have to know how to work with cement, and be a carpenter, plumber, electrician, and painter; but again, it's possible.

Computers, on the other hand, are different. If you know everything about a computer... well, you are the only one. With hardware, it might be possible, but once you add in software, you've opened Pandora's Box. Everything from a simple command line tool to the more intricate web application is at your fingertips. Let's just look at that web app, shall we? First, you'll need to know how to set up the server itself - how to configure Apache or IIS. That alone is worth a degree. From there, you'll need to set up the language you intend to program in - be it VB.Net, Perl, or PHP, it'll need configuring before you ever start. And then there is the database; you'll need to know SQL before you can touch that. If you plan on integrating with anything else - say, Facebook or Google - you'll need to learn their process, too. That should cover most of the behind-the-scenes stuff, but don't forget about the front-end. You'll need to know HTML or XHTML, CSS, JavaScript (and possibly some JavaScript libraries), and all the best practices and standards that go along with them. Even after mastering all that, you still need to know about Search Engine Optimization, and all the fancy things that get your website recognized - including content. And that's just one web site! I may do all that by myself, but I can't claim to be an expert, or anything else beyond an amateur. I know enough SQL to be dangerous, only write my site in one language, and tend to borrow heavily from other sites when it comes to CSS and JavaScript/JQuery. And even if I did become an expert in all that, I still would know nothing about hardware, the OS, or most other programming.

I'm not complaining; just reflecting on why it takes so long for me to do things. I started working on a FaceBook app some months ago, and managed to get it almost to the point where I could tie it into my site - but there I stopped. Partly because it will take a lot of time, and partly because it means fundamentally changing the way people log in to the site.

The trouble is, my site is meant to operate in this order: get a user name, then post blags and comments. If you disrupt this simple process, it changes the very core of the site - which is what I'm planning on doing. When you log in now, your user name is your passport. Everything is checked against it. If I were to allow "temporary" logins - that is, people who log in only to make comments and read articles, but not as actual members - then no one has a 'real' login anymore. Now, there are two types of users - real users, and guests. With the new system, there will be four kinds of users - real users, facebook users who have posted comments, facebook users who haven't posted comments, and guests. The first and last, obviously, will be just the same to deal with. The middle two - the facebook accounts - will be tough, though. When Facebook users log in, they will be recorded - user number 12345 logged in to look at stuff. I'll have to check facebook - is this a friend of this user? - before letting him into restricted blags. If he makes a comment, I'll have to store him as "face book user 12345" somewhere in the database, so I can associate his comment with his name. If he ever gets a "real" account, I'll have to go through and change all his posts to reflect that change.

It's a lot of work!

<< Why is old computer hardware so expensive?Quick update to the Wobsite >>

This blag is tagged: Blag, Computers, Programming, All