Cheap antennas

Filed under: Links, Techie — tylerl [ August 5, 2005 @ 10:04 pm ]

http://www.usbwifi.orcon.net.nz

How to make high-gain antennas out of cheap cookware. These examples exhibit much better results than some of the more complicated models that were popular in the past.

Unix Tools

Filed under: Techie — tylerl [ July 20, 2005 @ 11:03 pm ]

Seen on Slashdot:

Unix programmers like their code like the old legos. Each piece might be a different size or shape, but the bottom of one snaps onto the top of another and the ordering and number of pieces used is left as an excercise for the reader. With experience, anything can be built with the pieces, and yet each piece is simple and easy to understand.

Windows is like the new lego sets. You get specialized premolded parts suitable for one specific task, plus two or three additional add-on pieces that give the illusion of being fully configurable for any task. You can build anything you want with the new legos, as long as you only want to build what is on the cover of the package.

Tsaingkun

How to Pick an IT Guy

Filed under: Techie — tylerl [ July 15, 2005 @ 7:53 pm ]

Nearly every organization has a technology department these days. Some deal in nothing but IT, while still others outsource their IT needs to an independent contractor. Whatever your personal needs, you’ll probably need to find an IT guy at some point. The field has seen so much demand that now everyone, it seems, is trying to get into the computer support business. The levels of expertise of these professionals now range through the whole gamut: some are wizards, while others are worse than nothing at all.

So, how do you know a real find when you see one? Are there any criteria that you can use when screening potentials? Well, there’s no sure-fire way to pick a winner, but after working with many people in the industry, I’ve seen a few trends. What you’re looking for is someone who is mentally brilliant and enjoys working with computers because he enjoys learning new things. Wizards become so because the want to know how everything works, and are willing to do the research to figure it all out.

  • Hobbies
    This one is really the key. What you want to know is what they enjoy doing. If a person is in the computer business because he’s smart and enjoys the mental challenge, his hobbies will often involve working with computers as well. If he’s in it just for the money, he probably would rather spend his free time water skiing.
  • Programming ability
    If the person does not know how to program a computer, his knowledge of how to work the thing is severely limited. Furthermore, admins who can write programs can solve a problem in far less time than those who cannot. The ability to create your own tools as necessary is a key skill in serious admin work. Finally, programming is one of those skills that every computer genius naturally gravitates towards, while people “in it for the money” naturally shy away from it.
  • Knowledge of Programming Languages
    If a person only learned to write computer programs to pass a class in school, his knowledge of programming languages will be limited to those he learned in class. On the other hand, an expert will find learning new languages extremely easy, and will likely be proficient in a good handful of them, while having just a few favorites.

    It is also significant which languages a person knows. While I can’t give an exhaustive list here, here’s some pointers:

    • C/C++: the lingua franca of computer programming. If a person doesn’t know C/C++, he really shouldn’t even be considered a programmer.
    • BASIC, VB: knowledge of BASIC and Visual BASIC counts for very little, but is better than nothing.
    • Java: while not terribly useful in most cases, java is a respectable programming language.
    • PHP: this language is used almost exclusively for web programming. Many people understand the basics of PHP programming, but few understand the deep details. PHP experts are often experts in other languages as well.
    • Perl: this language is extremely powerful and quite difficult to master. A serious Perl programmer is a force to be reckoned with. He can often solve problems many times more quickly than his peers.
  • Linux/BSD Experience
    It’s been my experience that the smartest in the computer world naturally develop an interest in Linux (and/or BSD –a similar alternative). Linux provides an ideal environment for the curious computer user, as it allows the user to gain a much more in-depth understanding of the internal workings of the system. A deep understanding of Linux and other similar operating systems counts very strongly in a person’s favor, especially if he actually uses it on his own personal computer.
  • Certifications
    This is a tricky one. Companies started offering tech-related certification exams for two reasons: First, and most importantly, the wanted to make a lot of money off the growing IT industry; and second, they wanted to establish a baseline level of knowledge for IT professionals. When push comes to shove, though, companies doing the certification (like Microsoft) would much rather make money than be useful. As such, certifications have sometimes degraded into something of a purchased diploma as the companies responsible have attempted to appeal to a much wider (and less capable) customer base.

    A certified professional is at least guaranteed to have memorized a bunch of facts about the technology he certified in. He’s not guaranteed, however, to be able to solve problems as difficult as, say, tying his shoes. It’s unfortunately very difficult to test problem-solving skills, while it’s very easy to test memorization. And, while certification exams test knowledge, it’s the ability to solve problems that makes a difference in the real world. A person with an IQ in the 130-140 range is worth an army of “certified professionals.” Some of the more intelligent and experienced techies actually refuse to take certification exams because they see it as insulting.

Google to the rescue

Filed under: Discoveries, Techie — tylerl [ June 3, 2005 @ 11:11 pm ]

I ran into an interesting problem at work. I found the solution the first place I looked, but was terribly surprised to see it there.

How about an explanation.

The problem is called a “memory leak.” The idea is that a computer program tells the operating system that it requires a chunk of RAM for something; but when its done, it never tells the operating system to take the RAM back. This leads to a situation where, over time, the program continually asks for more and more memory from the OS, and never gives it back. Eventually the resources are exhausted and the system crashes.

It seemed as though one of the programs I had written was exhibiting this very behavior. Over time, the program’s memory usage would slowly climb. And though it would take weeks of uninterrupted use before any definate pattern emerged, the symptoms were clear.

Now, as easy as it is to explain the problem, finding it is a different story. If it were a simple programming error, it could be easily isolated. But in this case, the basic operating logic is slightly different than expected. That is to say, while the program is behaving as expected, the environment in which it runs is different than previously thought; and factors that would otherwise have been harmless are causing the program to behave inapropriately.

So then, how do you isolate this sort of situation? How do you know which one of the thousands of assumptions you made is the one that isn’t holding true? There a technique called “profiling” that give you the data you need to make that determination. It involves keeping track of every time you allocate and deallocate every piece of memory you use. You keep track of which programming instruction asked for it, and when you said you’re done with it. In theory, over time the offending instruction will have asked for a disproportionate amount of the memory currently in use, and you can then see why that particular piece isn’t being given back. It’s a nifty idea, but it sure sounds like a lot of work.

That’s where profiling tools come in. These are tools that are designed to help you keep track of all this information, and more importantly, interpret the results. It’s a pretty tough tool to make, and options are in short supply. This sounds like a job for Google.

While I fully expected a Google search to direct me to a solution, I never thought the solution would be provided by Google itself. You heard that right. Google has a profiling tool. That much doesn’t come as a major surprise–they have plenty of reason to analyze the efficiency of the programs they write. But Google also recently made these tools available for the public. For free.

There’s a website: http://code.google.com, where Google gives away some of the code that they created as a gift to the software community. Most everything there is only of interest to programmers like me, but that’s not the point. The point is that they’re doing things for the right reason. They continue to use their resources to make life a little easier for the rest of us, and they ask nothing in return. They’ve made no attempt to capitalize on most of their creations. What they do get, however, is first prize in the industry’s popularity contest. It’s a bold strategy. So far, the system has served them well.

Contrast that with the business practices of other companies in the computer field. When the Internet was a new and exciting technology, Microsoft’s Bill Gates made the following remark: “I don’t care what the Information Superhighway looks like as long as I have a tollbooth on it.” It’s no secret that the majority of the civilized world distrusts Gates and the company he founded. We know Microsoft just wants our money. And the business practices they’ve used to get it have been found to be illegal in courts across the world. When Google went public, Gates lamented the universally positive press in an interview, saying “You’re not allowed to criticize and say that Google isn’t solving all the world’s problems.” Google is, indeed, one on the most trusted and respected companies in the industry. Even the news media finds difficulty in coming up with something bad to say.

On the one side you have the most wealthy software company in the world and on the other, the most popular. The philosphies of the two couldn’t be any more different. One faces disappearing market share, fines, and legal battles over illegal business practices. The other has seen its stock price more than triple in the past few months.

The Advent of the Blog

Filed under: Discoveries, Techie — tylerl [ April 27, 2005 @ 5:32 pm ]

Every now and then, some new big thing changes the way people look at technology. Often, it’s not so much the technology that changes, but rather the way people use what was already there. The revolution isn’t so much technological as it is methodological. Such is certainly the case this time.

The next big thing in internet communication is the blog. It’s a shortened form of the phrase “web log,” which apparently took too long to say. A “web log,” in the classic sense, is nothing more than a personal log (diary or whatever) that’s made accessible over the web. Now, there’s nothing new about that concept–it’s been around as log as the web itself. I’ve been keeping a sort of running online journal of thoughts for ten years now. After all, what else do you put on your personal website.

However, what’s changing the world isn’t so much the practice per se, but rather the rising popularity of tools that make the practice so much easier. That’s where the blog, in the more contemporary sense, comes into play. See, the term blog today seems to be reserved, not just for online journals, but specifically for journals that are managed by a Content Management System (or CMS) that was designed specifically for managing personal pages. The cool thing about a CMS (and, in fact, its reason for existence) is the fact that it makes data entry a lot easier. Creating and managing web content is so much easier with a CMS that you can spend your time writing instead of moving files around.

Now, the concept of a CMS is also not new. They’ve also been around since the beginning of the Internet, but until recently, few people used them on their own homepages. The time and work involved in setting one up was simply too prohibitive. There’s no money to be made in homepages–especially those telling everyone what’s new with your cat–so the home user wasn’t much of a target audience for people designing these things. Progress was slow.

However, once CMS technology took root in the personal home page arena, the results were astounding. Let me go over the major selling points of the average blog.

  • Adding a story is fast. You can compose content for your blog as fast as you can compose an email.
  • Your audience can participate. Every major blogging package allows readers to supply their own comments in response to your story. Suddenly, the user has a real incentive to write–they know they have an audience, and the audience writes back. It’s like having hundreds of pen-pals.
  • Built-in syndication. A technology that is currently gaining popularity is called RSS (“Really Simple Syndication”). It allows your blog to communicate with client software, like mail readers. People don’t have to visit your website to see your latest story–they can read it with their morning email. RSS aggregators are designed to pull content from any number of sources and make them all available in one spot. Not only are blogs easier to write, their easier to read.

So, what has the net effect of the introduction of the blog been? In a nutshell, it’s a decentralization of media sources. When everyone can make their own voice heard, the public starts focusing on those whose story is the most interesting rather than who has the greatest publishing power. People start getting the news from their peers, rather than from traditional media outlets.

Information now comes unfiltered. Whereas the news sources used to get their information “from the experts,” they now consult the experts’ blogs. And in the mean time, the average joe has come to bypass the news outlet, and read the story directly from the source–whether they realize they’re doing so or not! It is a revolution of sorts. Your voice can be heard. And if you have something the world want’s to listen to, it will be.

« Previous PageNext Page »

Powered by WordPress