Friday, January 17, 2025

Using Google Calendar

I spend a fair amount of time working as an executive secretary for a volunteer organization. This is not something I aspired to do. Instead someone asked me to do it and I said I would. As an executive secretary I basically set appointments for people to meet with the leadership of the organization. Sometimes people ask to meet with the leaders and other times leaders ask to meet with specific people. Google's calendar, which can be found at https://calendar.google.com, does an amazing job and makes things very easy.

Before networked computers became commonplace, someone in my position had to keep paper calendars and have a lot of coordination meetings to make sure not to double-schedule someone. Now it is as simple as providing a scheduler like me with access to your calendar. Most of the leaders of the volunteer organization I associate with have e-mail addresses separate from their regular work or personal e-mail. Then they just log into Google Calendar with it and make sure to give me access to their calendar so I can set appointments for them.

The organization leadership changed significantly last week as nobody is expected to be a volunteer forever. We met as a new group on Wednesday evening and I deleted my access to the old leadership's calendars. The new leadership then shared their newly created e-mail addresses and gave me proper access. The next evening I then went through and created calendar entries for all of the regular meetings. We also had a number of requests for people to meet with the new leadership and I entered those. Fortunately I had lots of experience using Google Calendar in the past and did not have much of a learning curve.

I keep my personal calendar on my iPhone. I can access it from my Mac computer. It is great as I keep all sorts of appointment information up-to-date using both devices without having to worry about which one has the most correct information. They both do as an update on one pushes the change to the other. This would also be a great solution for the volunteer association I work with. The only downside is that everyone is required to use Apple products. Google Calendar doesn't care what phone you use. While you can access it with your phone's browser, there is also an application you can put on your phone. I just always use a web interface and it works great.

Are there problems with Google Calendar? Of course but they are minor. It has all of the features I need it for and appreciate the free price tag. If you are looking for a calendaring tool that makes it easy to share people's schedules, you might want to give it a look. It may also work for you.

Friday, January 10, 2025

Dates on Websites

Earlier this week I had a neighbor call me asking about getting his amateur or ham radio license. I explained the 3 levels of licenses and privileges associated with each. I then pointed him at some study resources as getting a license requires passing a test. Next he wanted to know where he could go to take a test. I did a quick Internet search only to find significantly outdated information. When I got my license over a decade ago, you could reliably count on a test being administered on the last Tuesday of each month at a local emergency operations center or EOC. COVID must have put an end to that and the latest information I could find seemed woefully out of date.

This underscored the importance of making sure dates on a website being updated regularly. You may have a website that advertises an event in the seemingly distant future. You send people to the site to provide information about the event as that saves you from having to say the same thing over and over. The event comes and goes but what happens to the website? If it is still up after the event, people get confused. It might be easiest to update the page letting everyone know about the success of the event. Then the site can continue to exist in digital perpetuity.

My preference for dates on websites is to store events in a database and populate the website from it. Then if there are no longer any future events, you have a message that says something along the lines of, "No events are currently planned." It is also fairly easy to add new events to the database and you don't have to worry about deleting old ones as the database logic should not show past events on an upcoming events page.

I continued searching for my neighbor and eventually found an upcoming exam session in March. That seems to be a long time away but it will be March in no time at all. That also gives him plenty of time to study.

Thursday, January 9, 2025

Life Without E-Mail

Yesterday I woke up early and got ready to head to my morning workout. Before doing so I like to check both work and personal e-mail to make sure I am not missing an important meeting that got scheduled overnight. My work e-mail and calendar showed a clear morning. When I went to get my personal e-mail, I couldn't connect to the server. I didn't worry about it and headed out for some exercise.

I got home and still didn't have access to my personal e-mail. I tried to log into my e-mail service provider's website and couldn't get there either. At this point I knew they must have done something big. I wondered if it had anything to do with the wildfires in Southern California (It did not). On a whim, I logged into my company's VPN which make it looks like I am located in Southern California and managed to get to my e-mail service provider's website. There I could log a ticket with technical support and try to get help.

As a side note, it is tough to get e-mail-based technical support when you can't get your own e-mail. I had to periodically check the website to see if they had any updates. Doing so allowed me to see that they had moved my e-mail server from an old machine to a new one and propagating those changes takes time. Fortunately those changes came through much more quickly on the VPN and I could use a web client to see all of my e-mail. I really only had one important message letting me know I am involved in testing a new outdoor product. That is always exciting.

I went to sleep knowing I could access my personal e-mail from my work laptop. I hoped that everything would be working when I got up in the morning. This morning I headed down to my computer after breakfast and still didn't have access. 

I logged into my e-mail provider's website and looked at the ticket to see if they had any information. They asked for a traceroute. A traceroute is a command you can run in a command-line terminal window to see the path data travels to get from your computer to a specific server on the Internet. On Mac and Linux you just type "traceroute www.google.com" and on Windows you type "tracert www.google.com". Unfortunately my personal network at home traps that information and doesn't allow the path to be seen. This is a security protection and I needed to open the firewall to allow the data through. In desperation I pinged my e-mail server just to see if I could get to it from my home network using "ping mail.myserver.com" and something happened. I started receiving packets back. I tried checking e-mail on my computer and everything seemed to work.

Naturally I updated the ticket with my e-mail service provider and let them know I could get my e-mail now. I read through the useless messages I received overnight and felt a huge wave of relief with that problem solved. I then sent out a very important e-mail that I put off sending last night.

One would think that life without e-mail would be calming. I found it to be quite the opposite as I have become conditioned to getting useless messages throughout my day to prove I am connected. Without e-mail, small-unrelated problems became magnified into larger issues than reality. Now things are working and I feel much better even though I don't have any important messages that need my urgent attention. I wonder if I am addicted to e-mail? Probably.

Wednesday, January 8, 2025

Using the vi Editor

It is not every day that I have to edit large blocks of code. Usually I will put together a few lines of SQL or Python and pretty much any text editor will do. Today I put together a 450-line SQL statement and so I pulled out my favorite code editor: vi.

A common mistake with vi is how it is pronounced. Technically it should be pronounced as the two letters "V" and "I" but some try to pronounce it as a single-syllable word that rhymes with hi. Another common mistake is that it is difficult to use. It does have a pretty ugly learning curve for beginners but once you learn how to use it, it is significantly faster than most other text editors. Why? Because you never have to take your fingers off the keyboard. If you know how to touch type, you know not having to pull you hands off the keyboard to use the mouse or cursor keys can be lightning fast.

The vi editor evolved with the Unix operating system and became the de facto editor back in the 1980's. That is when I started doing technical support for Oracle running on Unix systems. My boss sat me down and made me learn both Unix and vi. The main point of confusion is getting used to being in command mode or edit mode. In command mode, all the letters of the keyboard have a specific function. The letter "h" moves the cursor to the left, "j" moves the cursor down, "h" moves it up, and "l" moves it to the right. Once you get used to that, you never have to take your hands off the letters to use the cursor arrows to move the cursor. It does take a lot of practice though.

To get into edit mode, you just hit the "a" or "i" keys. The "a" stands for append which allows you to add more characters after the cursor where "i" is for insert and adds characters before the cursor. Then to get back to command mode, you just hit the "ESC" or escape key. Once you play around with vi for a bit, your left pinky finger can find the escape key fairly quickly.

There are some other quick shortcuts that make editing code very efficient. If you want to delete the current line, just double tap the "d" key. If you want to copy the line, double tap the "y" key, which is short for yank. Then to paste either what you have deleted or yanked, use the "p" key and vi pastes the line below your cursor. If you made a mistake with what you deleted or pasted, just hit the "u" key and it will undo your last command. Hit it a couple of times and it will undo the previous couple commands.

Up until now, nothing seems that groundbreaking. The real power comes from prefacing any command with a number. If you want to move the cursor down 5 lines, just type the "5" key followed by the "j". Want to copy or yank 10 lines, just type "1" followed by "0" followed by "y" and followed by "y" again. Then when you want to paste them, just go to the line above where you want the copied lines to be inserted and type "p".

Then there is my favorite vi command: the do-it-again key which is the period or "." If you copied something and want to paste it several places in your document, just copy the line and move the cursor to the line above where you want it to go and press "p". Then move to the line above the next place you want it to go and hit the period key. If you want 5 copies of the line, hit "5" followed by "." and you will see 5 identical lines below your cursor.

Now I recognize that vi would be horrible for creating a term paper for school or any document for that matter. So I don't recommend it for a general-purpose editor. It has evolved over time though to be a very efficient code editor and that is where it excels. It is available for Windows for free and comes installed on all Mac and Linux machines. Most people know it as Vim, which is just an enhanced version of vi with color coding and a few other goodies. If you need to create code, get familiar with it and you might learn to appreciate it. Just don't be turned off by the difficult learning curve.

Thursday, January 2, 2025

Getting Old Printers to Work on New Macs

The saga that has become getting my wife's new computer working is finally over. Yesterday I sat down and figured out how to get all of our printers usable on her new MacBook air. It involved countless Internet searches, none of which helped solve the problem. In fact, one post that I followed created more issues that I had to work around. For anyone who has upgraded from an Intel-based Mac to one of the new Apple silicon Macs, there is one little step that I discovered on my own should you want to use any of your existing printers.

Apple's Migration Assistant did a great job of moving all of my wife's files from her old computer to her new one. It even copied over non-approved programs like printer drivers engineered for the Intel CPUs. The problem surfaces when you try to run them but let's not jump ahead of the story.

My wife needed to print something up last Friday and could not. I did not have time to help her solve the issue at the time and finally got around to looking at it earlier this week. We have 3 printers in the house and she really only uses 2 of them. Neither of them would connect to her new computer. I looked up a number of forums and the best information I had told me to delete the files out of a printer directory. DO NOT DO THAT. I won't repeat where that directory is as that caused an issue I had to remedy, which I will explain at the end of the post.

Nowhere did I find the correct instructions and so I am posting them here. All I needed to do was install Apple's Rosetta 2 software. It allows programs created for the Intel Macs to run on the new Apple M-series CPUs. I discovered this solution when I tried to install printer-driver software. It asked if I wanted to install Rosetta. The first time I said, No. The second time, I gave it a shot. That allowed my Samsung color laser printer to work with my wife's laptop.

Most people will not have a problem with printers unless they are really old like mine. Apple has come up with an all-encompassing printing system packaged with MacOS called AirPrint. There are a huge number of printers supported already. Just not really old ones. Fortunately one of my printers that my wife never uses is on the list and is my Cannon. I connected her computer directly to the printer through a USB cable and it printed without issue.

The last printer I needed to get running is my wife's HP Deskjet 1000 - J110. Apple's Migration Assistant copied over all of the correct driver files but I mistakenly blew them away at the advice of a post I read. Once I figured out I needed to reinstall all the driver files, I looked for them directly from HP. None of the programs I tried worked. I still have the old Mac and so I located all of the files and copied them to the new computer. I used the command-line interface or terminal to do all of the copying and will spare you the details. It involved the "tar" command to create single file that had all of the driver files in their correct directories. Once I copied that single file to the new computer, I used the "tar" command again to install the files in the correct place.

At this point in the process I had to go somewhere and didn't get back to it until yesterday. I thought I had done everything correctly and tried to print something. I immediately got an error message telling me that the MacOS refused to run a program because it couldn't trust the source. I had to use the administrator password to force the computer to run the program. The same thing happened 3 or 4 more times with different programs. Finally I stopped getting error messages but the printer refused to print. At this point I did the only thing that made sense: I rebooted the computer. When the computer came back up, I tried to print a page and it worked. I can now say that my wife's new computer is as usable as the old one before it died.

Should you get a new M-series Mac computer from Apple and want it to work with your old printer, don't do anything other than install Rosetta 2. Your computer will ask if you want to install it and just say, Yes. You don't have to go look for it or do anything special. Then things should work well. If they don't, try a reboot before doing anything else. If that still doesn't work, throw away your old printer and go buy a new one.

Monday, December 30, 2024

Technical Demo Problems

Recently I joined a group of people where one person tried to connect a computer tablet to a large-screen television for a presentation. We all took our seats while the person tried to get things connected but it took awhile. I have been in that situation many times and the one thing I discovered is that if I am alone, I have a much better chance of getting things to work. When there is a crows present, I can't figure it out.

Seeing the struggle, I offered to go get a cable to directly connect the tablet to the screen. I walked out of the room and that is all it took for the presenter to figure things out. Once that happened, another person came to find me to let me know that things worked and we could begin.

Sometimes having someone offer to help is all it takes to figure things out on your own. When I find myself in a similar situation, I get distracted by all of the people in the room and forget even the simplest technical details. I have to consciously tell myself to take a breath and think through the problem. Then I will remember a simple detail that causes the trouble to disappear and technology to start working again. Hopefully this trick will work for you should you find yourself trying to troubleshoot something with distractions. 

Saturday, December 28, 2024

Its the Little Things

I am always excited to get a new computer but also dread moving from my old one. Why? It is the little things that get forgotten. The Migration Assistant from Apple did a great job copying all of the files from my wife's old computer to her new one. Unfortunately that is not the only thing that needs to be done when setting up a new computer.

Yesterday morning my wife needed to print something. She discovered that while she had all of her files, she did not have access to either of her two printers. Unfortunately I had a lot to get done and couldn't help her out. Due to time constraints, we couldn't print what my wife needed and had to due without. In hindsight we should have tried to print the night before.

There are probably one or two more little things that need to be set up on my wife's computer. Right now we don't know what they are and won't until we need them. Hopefully we won't be under a time constraint and can get them configured correctly when that happens.