How to Learn Stuff

If you want to learn something, the first thing to decide is why you want to learn it.

There are many reasons to learn things, but in general, the best reason is usually because you want to DO something, so you want to know how to do it.

Or maybe you have decided that you need or want a license or a certification or a degree. In that case, you may have to pass a test. That’s fine. That’s the rules. But if you are going to study ONLY for the purpose of passing that test, that seems like a shame to me. Why not at least learn something along the way?

For example, many years ago, I wanted to get a Ham Radio License. If you don’t know what that is, there is a description on WikiPedia here. In a nutshell, it is a license to transmit radio on certain bands that are specially licensed by the FCC for amateur (non-professional) use. It allows you to do things like communicate with people all across the planet using special radio equipment.

I didn’t want the license just to have it. But so that I could actually do it. Learning about radio can get pretty involved, but to really learn it, you need to do it, not just study books. You aren’t allowed to do it without a license, so you need to pass a test. The test asks lots of different types of questions. Many of the questions are things that people who know about electronics and radio waves and how to operate equipment would know. But many of the questions are about very specific regulations, such as what exact frequency is allowed or not allowed for certain types of radio communications. Nobody is going to know that unless they have memorized it.

But I didn’t know enough about the subject to know what I needed to learn to get into the subject, and what I would need to learn or memorize in order to pass the test.

I looked around on the web for sites that could help me learn what I needed to learn. I found many options, but even tually I found a website called HamTestOnline. This site, to me, was the perfect balance for what I wanted to do. All I had to do was pay a small fee (around $20), and then just sign into the site every day or two, and put in some time on a course.

The course covered the basics of what I needed to know as a ham radio operator, and then asked me the questions that would come up on the test. When I got a question wrong, it would give me the correct information, and keep coming back to that area to make sure I had it.

Some of the questions were purely memorization, and eventually I just knew the answer. Other questions were more logical or mathematical, and before long, the answers were either obvious, or easy to figure out.

The site tracked my progress, and told me when I was ready for the test. I signed up for a test in my area, and passed it easily.

That was nine years ago, and my license was coming close to expiring, so I just studied up for the next test, on the same website, and passed it easily.

This method can be used for anything where an exam is required, such as a driver’s license, a computer certification, or even getting licensed as an attorney. Where an exam is not required, such as just learning to program computers without getting a certification, you can do the same thing.

Where an online course is not available for the thing you want to learn, it’s really not much different. All you need to do is find out where the knowledge is, and learn it.

To quote Elon Musk “You don’t need to go to college to learn stuff.” Just about every piece of knowledge that exists is available online, and most of it is free. It’s not like colleges are vast repositories of secret knowledge. They are just one fun and convenient, if expensive, way to learn stuff that is readily available already. Even if you don’t know how to learn, you can learn that too.

So, if you want to know how to do something, or even if you want to get a license or a certification to do something, there is really no excuse for not doing it. If you need help, that’s fine, ask someone. You can do that online too.

It may be difficult. It may take a lot of time. It might cost some money here and there. But you can do it, and nobody can stop you. Go for it!

HamTestOnline - online courses for the ham radio exams

Working while traveling

I’ve been a remote software developer for most of my nearly 40 year long career. So when I go on vacation, I always make sure I am equipped and ready to do some work while I’m away. Whether it’s because of a client emergency, or my own need to do something productive, I want to be able to work at just about any time.

In earlier days (the 80’s), this was sometimes a huge challenge as some of my first computers were gigantic “portables”. Dubbed “luggables”, these machines were about the size and weight of your grandmother’s sewing machine. They were not durable enough to check as baggage (although I try that once) and too large to fit in the overhead compartment or under the seat of a plane. They didn’t run on batteries. Of course working on the airplane was out of the question, but at least I could get something done once I arrived at my destination.

In the old days…

Osbourn computer circa 1981
Compaq computer circa 1983

These days, much of the work I do requires an internet connection, but not all of it. Fortunately, the Internet is available almost everywhere (except while actually flying about half the time). Given an internet connection, I can (and have) solved almost any type of client emergency using only my iPhone with the right apps installed. It’s not at all convenient, fast or easy, but it can be done.

I (along with a lot of other computer professionals) no longer even own a desktop computer. My computer is a Microsoft Surface Pro 3, which is technically a tablet, not even a laptop. I love it, and It’s very portable, the screen is only 14″, so I can and do bring it anywhere I travel. When at home, I dock it to a large screen but given an internet connection, I could theoretically do all the same work from a train, plane or bus that I could do from my home office.

Disclosure: The following pictures and text links in this post are “affiliate links”. If you purchase a product or service from Amazon after clicking the link, I will receive a very small commission, at no cost to you.

Today…

Unfortunately, airlines have brought the seats so close together that there is no longer room to open one up and use the keyboard, even on this small computer! I can use it, but only as a tablet, which is better than working on my iPhone, but not much, without a real keyboard.

When it comes down to it, a large part of my work involves typing. Lots and lots of typing. Lengthy emails, complete documentation, blog entries, plans and so on are not easy to write on an iPhone or tablet’s “keyboard”. Siri doesn’t help much.

The best solution I have found is a foldable Bluetooth keyboard. There are several on the market, and I’ve only tried one of them. But I researched them all quite thoroughly before I bought it. The one I chose was the IKOS Mini BT Folding Keyboard. I’ve also included a link with a picture at the end of this post.

IKOS Mini BT Folding Keyboard
IKOS keyboard in its case

I chose this one for several reasons. It is very compact and light. It folds up into the case, which holds it securely. It’s completely wireless (Bluetooth). It doesn’t require batteries; you recharge it using your phone charger. It is large enough and has good positive feedback to be almost like a full sized keyboard, giving a very natural feel. It works with iPhone, iPad, Android phone and tablets and even my computer. The protective case doubles as a stand for your phone. And it’s under $25, which is much cheaper than most of its competitors, which I would not trade this one for!

I did have one small complaint about it when I first received it. The “B” key should more naturally be placed just to the right of the “V” key, instead of to the left of the “N” key. See the picture above to get a better idea. This came about because there is a little isle down the middle of the keyboard where it folds in half, separating the left-hand keys from the right-hand keys (which is actually a good thing, because it gives you more space for your hands), but the designers couldn’t put the “B” key exactly where it belongs, because it would have been right on top of the hinge. Fortunately, with the natural positive feedback of the keyboard, it didn’t take long to adjust to it. I can now type into my iPhone while traveling, as fast as I can type on my computer at home, and I don’t need much space at all.

With this final addition to my travel kit, I now have everything I need to comfortably work from just about anywhere in the world.

How Does a Computer Screen Work?

Did you know that the surface of a computer screen is covered with millions and millions of little tiny lights? Each little light is called a “pixel”. Each pixel has an address, which can be used to identify it. The address is just a number.

The screen is designed and built such that each one of these pixels can light up in any color, made brighter or dimmer or can be turned off completely.

These pixels are so small that if only one of them on the whole screen was made bright yellow, and the rest were “black” or “off”, you might not even notice that one yellow pixel at first, just like the one yellow pixel in the black box below, only imagine if the black box filled your entire screen.

One yellow pixel on a black background.

When you watch a video on the computer screen, every pixel on the screen is separately turning different colors and each one is getting brighter and dimmer in just the right pattern, very, very quickly. When you look at the screen, you don’t always notice all that’s going on; you just see a video.

Each pixel can display thousands of possible colors at any level of brightness from zero light (black) to full on white. There isn’t even a name for every one of those possible colors; names. Hundreds of names would not be enough, so every color gets a number. Every brightness gets a number too. If you want to turn any picture into data, all you have to do is divide the picture up into millions of pieces, work out the right color number, and brightness number for each pixel address, and put those numbers into a file.

This is exactly what happens, in a small fraction of a second, when you take a picture on your phone. The picture is converted into a bunch of numbers for the address, color, and brightnesses of each pixel,. The numbers are stored in a file. Later, those numbers are converted back into colors and brightnesses to display the picture.

A video or a movie is just made up of millions of pictures, one after another, displayed on the computer screen. A new picture is displayed many times every second.

A computer can store sound as data, and convert the data back into sound in a similar way.

Passwords!?#&*!

I hate remembering passwords! At first maybe it was fun, but that didn’t last long. After you have set up accounts on a few sites, it’s impossible! How do you solve this problem? Do you just use the same password for all sites? Or do you vary the password a little bit here and there? Even then, it’s easy to get confused.

Does it really matter if you use the same password for several different sites? That depends. If it’s for the electric or water company web site, probably not. If someone hacks into your site, the worst they could probably do is pay the bill for you, or publish your bills online.

But there is a real risk when using the same password for two or three bank accounts, especially if you also use the same password for some social media or small-time commercial site. What if somebody hacked that that social media site and got your password? They could immediately go out to all the major bank websites and try the same email/password combination there? If they did that, they could log in and send a payment from your bank account or credit card to themselves! I’ve actually had someone capture the password from my bank account and attempt that. Fortunately, I happened to notice the activity on my account before they were done. Even so, I had to close the account, open a new one, cancel a card, and set up all my payments and account numbers again.

But if you create a different password for every login account, how are you going to remember them all? If you write them down, or put them in a file, or save them on your phone, that’s even worse. If that piece of paper or file or note gets into the wrong hands, they now have all of your passwords. Also, such papers, files or notes tend to get disorganized and outdated over time.

I’ve tried many different “wallet” apps and programs that store passwords. Most of them were much more trouble than they are worth. Although most of them are secure enough to prevent being hacked, there is still a risk of something going wrong where you lose your data. It’s not the end of the world, there is always a way to get the usernames and passwords back using the “lost my password” link, but it’s a lot of wasted time and effort to recreate the record.

A couple of years ago, I started using a program called LastPass. There is a free version, which is perfectly workable, very secure and very easy to use. You just go to www.LastPass.com, sign up, and continue using your computer. Whenever you sign up with a new account somewhere, it automatically detects that you are creating a username/password and saves it for you. Whenever you log into an existing site, or change your password, it does the same. Whenever you get to a log in page that you have been to before, it detects what is going on, and fills in the username and password for you.

It will even create random passwords for you, so you don’t have to imagine new ones each time. I use this feature often when setting up a new account. Maybe I’m strange, but I find it relaxing that there is no way in the world that I could be expected to remember a password like “ZyUF3h3!z”. I never even know the password or try to remember it. I don’t need to, because LastPass fills it in for me whenever needed.

There are also Apps for iPhone and Android, so you always have access to your passwords if ever you need to enter them manually. They are stored securely in the phone, and on your computers, offline, so they are available even when you don’t have internet access.

I also use the program to store lock combinations, credit card numbers, bank account numbers, vehicle identification numbers, passport and driver’s license numbers for myself and my family, even photocopies of important documents. Everything is in there, and accessible to me, and only me, on my phone, on my computer, online or offline. It’s even available directly from the website. All I need to remember is my master username and password for LastPass and everything else I need is there.

The program is not perfect. It sometimes requires a little tweaking here and there to get it working completely automatically, but not very often. Even when it fails to work flawlessly, all of your important information is stored and available. It’s definitely one of the smoothest and easiest programs that I’ve ever worked with.

The phone version doesn’t always fill in passwords for you on Apps. That’s just the nature of software on a phone. Fortunately, many phone Apps use touch ID or will remember passwords for you. At least you can look up the password manually right there on the phone if/when you need it.

I find that it, for certain accounts, it’s handy to use a password that is fairly easy to remember. For these accounts, I will create a password manually and not use the automatically generated random one.

I also like to keep the various accounts organized into categories. This takes a little extra effort once in a while. But if you don’t do it, or if you put off doing it for a long time, it’s not a problem. You can still find any account by searching for any part of the name or userid or password that you remember. Later, whenever you have the time, you can organize things neatly into categories and purge any unneeded accounts.

In the paid version, there are feature to let you share certain passwords with family members, and even give emergency access to a friend or relative if requested, giving them access to your account after a specified amount of time if you don’t respond to the request. I personally use the paid version (which is $24/year), because I like these features. But I started out with the free one, and found it completely usable.

This program is smooth and easy to use, and is free of annoying little quirks that are so common in many programs.

Disclosure: The following is an “affiliate link”. If you purchase a product or service from this company after clicking the link, I will receive a commission, at no cost to you.

Go to the LastPass website and give it a try!

LastPass Logo

Why I Switched to BlueHost

For decades, I have had my email and website hosted at Microsoft. When I first signed up with them, I didn’t give it a second thought. I had been doing much of my development using Microsoft tools, so it seemed like a natural choice. Surely everything would integrate seamlessly, and this would make my life easier…

Setting up a new Microsoft email is no more difficult than with any other provider. You can usually set up a new account, or connect to an existing email account with no problem in a matter of hours, or less. So far, so good.

An email account may continue to work flawlessly for years and years on your computer. But what happens when something goes wrong? Sooner or later, your computer crashes, or it seems like your account has been hacked, or the setup that you have gotten used to gets screwed up. , or something important stops working Help screens and “knowledge Base” articles rarely provide answers to these problems. What do you do now? Call tech support, right?

One of the reasons that I felt confident signing up with Microsoft is that they are so big. Currently, they have well over 100K employees. Naturally I assumed that this would translate into great support. This has not been my experience.

I won’t go through the details all of the various problems I have had trying to connect to a live Microsoft support person, but they range from not being able to find a correct and working phone number, to not being able to prove that I actually have an account with them, to finding that I have reached someone who cannot help with the particular service I have. I have spent literally hundreds of hours dealing with this type of nonsense over the years. Eventually, I had had enough of it.

When I finally decided to pull the plug on Microsoft, some months ago, I asked some friends, shopped around, and settled on BlueHost.

BlueHost sales support was excellent. They answered all my questions and clearly described all of the options. I could have started hosting a single website with email for a few dollars a month, but as a software professional I chose a package that allows me to host an unlimited number of websites for about $12 per month, including automatic backups and Search Engine Optimization (SEO) tools. I had several sites in mind for the near future, so the decision was a “no brainer”.

Most important to me, BlueHost support is always available at a moment’s notice. I have already contacted them numerous times. I use either email or chat, depending on what is best for me at the time. I can get help understanding the vast array of services included with the account, how to set up the various options and use the tools. Every representative I have worked with has been friendly, efficient, knowledgeable, honest and patient with my endless questions. They have answered and solved everything that I have, so far, been able to throw at them.

I am a Software Developer, but not a Web Designer. I was completely new to WordPress. Yet I was able to get great looking sites up and running in short order, and was soon on my way to learning all of the in’s and out’s of setting up sites, blogging and building businesses online. There is still a lot to learn, and there are frustrations along the way, but there is always someone for me to go to when I need it. They are always willing to help and they can always get me to the next step.

As I want, I can take on new customers, build live websites for them using my newfound skills. This all happens inside my unlimited hosting account at no extra cost to me. I can set my own fees and rates for managing the website until they are ready to manage it themselves. At that point they can set up their own account (at BlueHost or wherever else they choose), and simply transfer the site to their account. This opens up a whole new, low friction and risk-free, creative line of business within my existing company. And it’s not even the main reason I opened my account!

I can even set up simple blogging websites for family members, friends, clubs or groups, with email, in very little time, for very little or no additional cost.

This is such a breath of fresh air compared to my previous hosting experiences! I highly recommend BlueHost!

Disclosure: The following is an “affiliate link”. If you purchase a product or service from this company after clicking the link, I will receive a commission, at no cost to you.

How Long Should a Blog Post Be?

As I started writing blogs, just the other day in fact, I found that one of the first things to work out, is how long the posts should be. I found several articles online. Two of the most helpful ones, were this one at Forbes and this one at thewritepractice.com . Both of these articles point out that “it depends” and that there are plenty of advantages and disadvantages of each, which they mostly agree upon, but not entirely.

Everyone will agree that no piece of writing should be longer than it needs to be. It should contain just as many words as necessary to get get the point across, or describe the subject at hand. This brings to mind the scene from the movie, Amadeus where Emperor Joseph II says that Mozart’s new opera contained “too many notes”, that he should “cut a few”, and Mozart’s smug reply.

From the point of view of the reader, if they want a quick answer to something, or are just surfing the web, they will prefer a short blurb. If they want a full rundown on some subject, especially one that they are specifically and intentionally researching, they want the whole story or the whole rundown. Once they start reading a long blog entry, they will likely continue to read as long as it seems to be answering their questions. In other words, it does depend on what the reader wants.

When it comes to improving your page rankings through Search Engine Optimization (SEO), longer articles generally work better than short posts, but SEO is a large and complex subject that I’m not an expert on, so I won’t try to cover it here. Suffice it to say that there is a time and place for long blog entries too.

From the point of view of the writer, he/she would do best to write what he “feels like writing”. A writer who has any sense for his/her audience and knows the subject matter will more than likely fill some need for the readers almost automatically; it’s just natural that they would. Write what you feel like writing, when you feel like writing it, and make it as long or as short as you like. You can always split a large post into smaller posts, or combine smaller posts into larger posts, based on feedback or your own whim, whenever you like. But the important thing is to write. Also, pay attention to the response.

This is the approach I will be taking on this blog. Please let me know how I’m doing!

What is Software?

According to WikiPedia “Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. “

This is a correct definition, but still leaves many people feeling there is something mysterious about it. Software is not mysterious. It does not “think”, and it will never become “aware” (even though some good films have been made on the basis that it can). It’s actually nothing but data, some of which is “instructions”. Any data can be stored as words or numbers, but we’ll come back to that.

Before there can be software, there must be hardware; in this case, we are talking about computer hardware. The word “hardware” existed long before the word “software”. It means things like nuts, bolts, wires, batteries, light bulbs, switches and so on. There is nothing mysterious about any of it. You might go into a hardware store and pick something up and wonder “What is this?” or “How does it work?”. But you could ask someone and find out. Computer hardware is no different, except that, in some cases, the pieces are very, very small.

Did you know that the surface of a computer screen is covered with millions and millions of little tiny “light bulbs”? Well, they’re not actually “bulbs”, but they are actually little tiny lights, called “pixels”. The computer is set up so that each one of these pixels can light up in any color, made brighter or dimmer or can be turned off completely. These pixels are so small that if only one of them on the whole screen was made bright yellow, and the rest were “black” or “off”, you might have trouble finding that one bright yellow pixel with your eyes. When you watch a video on the computer screen, every pixel on the screen is separately turning different colors and each one is getting brighter and dimmer in just the right pattern, very, very quickly. When you look at the screen, you don’t always notice all that, you just see a video.

It depends on your computer, or display monitor, but each pixel can display thousands of possible colors at any level of brightness from zero light (black) to full on white. There isn’t even a name for every one of those possible colors. Of course we have the names red, yellow, blue, green, orange, purple and hundreds of other names for colors, but not enough. So in the computer, every one of those thousands of colors gets a number, and the brightness gets a number too. So if you want to turn any picture into data, all you have to do is cut the picture up into millions of pieces, figure out the right color number, and brightness number for each piece, write them down and keep them in the right order. To do this for a single picture would take a person years, if not centuries, to do, and it would be a very boring job. But fortunately there are “machines” that can do it in a few seconds, these machines are called “digital cameras” or “scanners”. This is how a picture can be turned into data, which is nothing but a bunch of numbers. The numerical data can be turned back into a picture at any time by sending it to the computer screen.

A video or a movie is just millions of pictures, one after another, displayed on the computer screen. A new picture is displayed many times every second. If the video has sound, the sound has also been stored as numbers, which are sent to the speakers so that you can hear them.

Buttons, switches, game controllers, microphones, keyboards, mice, scanners and cameras can turn pictures, actions, sounds and motions into data (numbers). Anything you can say or write, any pictures or videos, can be converted into numbers and displayed or played back at a later time.

So there is “computer hardware”, which is nothing more than a very carefully put together collection of lights, switches, buttons, wires, batteries and other stuff. And there is “data”, which is just numbers, flowing into and out of the various parts of the computer. These numbers can also be turned into electric signals, pulses of light or radio waves that travel through wires, cables or across space from one part of the computer to another, saved, retrieved or transferred to and from other computers.

But what is software? Well, without software, the computers would just sit there an do nothing. All those pictures and videos, documents, stories, records, address books or calendars would just sit there in the computer, where nobody could see or use them, and do nothing. The computer can do all of the things that you already know a computer can do, but it doesn’t do anything at all until someone tells it what to do. Software is the step-by-step instructions that tell the computer what to do. Remember that software is just data. It’s instructions, converted into numbers.

When you turn on a computer, it always goes to a place in the data for its first instruction. If there were nothing there, the computer wouldn’t do anything. But computers, these days, always have some software on them to begin with. It wasn’t always this way, but that’s a different story. So these days, when you turn on a computer, it goes to that special place in the data and starts following the instructions one after another. These first instructions normally tell the computer to check if something is being typed on the keyboard, or spoken into the microphone or if some text message or email is coming in, or if something is on the schedule to do. If not, it just continues to wait. If so, the computer goes to the data (software) that contains the instructions for what to do when that thing happens (an email arriving, a keystroke pressed, a sound received etc.).

But what happens next all depends on what software has been put onto the computer. If you wanted to, you could write some software that would cause the computer to do nothing at all, until you pressed the “X” key, and then go to the data where your favorite video is stored play that video until you turned the computer off. If you did that, you would have a pretty stupid computer, but at least it would be easy to use. It just wouldn’t be very useful… unless all you ever want to do is watch that one video.

The point is only that the computer can operate in any way we want it to at all. Everything that your computer does, how it works and how it responds, what it can do, what it can’t do, all the complexities, all the things you like about how it works and all the things you don’t like about how it works, all come from the software that has been written and put onto it.

Your computer should be able to do anything you want it to, in exactly the way you want and when you want it to. If your computer doesn’t work exactly the way you want it to and doesn’t do what you want it to, that’s only because of the software.

Now, of course you can’t tell your computer to “Go make breakfast, and bring it here!” and expect it to do that. But that’s because it doesn’t have arms, legs, and hands. That’s a problem of hardware, not software. If your computer was a robot that had arms, legs, hands, vision (a camera) and so on, it should be able to follow that command, but only if it had all the right software in it.

There are also limits to how much computing a computer can do, but that is very seldom the problem we are running into, in day to day life, with computers.

Your computer is connected to just about every other computer on the planet. It potentially has access to almost all of the data that exists on this planet. Maybe your computer can’t yet make breakfast for you, but it certainly should be able to do a lot more things than it can do today. If it can’t find the data you want and do with it what you want and display it the way you want, that is a problem of software.

it’s the hardware that gives your computer the capability or potential of doing something. Software is what makes it happen, or not.

Does your computer do everything you want it to do? Is it fun and easy to use? Can you use all the data available to you, and interact with all of the other computers in the world the way you would like? The only thing standing between the world of computers today, and your unbounded imagination of what’s possible, is not having the right software.

Can you imagine something you would like to be able to do with your computer, that just doesn’t seem to be possible today? Do you ever get the idea that software has gotten far too complicated and difficult, and has somehow fallen short of its full potential? It has.

There is a better way. In these blogs, we will be exploring where and how things have gone wrong, and more importantly, what can be done about it.

It’s high time for a revolution in software. Tell me what you want your computer to be able to do, and let’s make it happen.