Powered By Blogger

Saturday, July 30, 2011

Part 2 - Asynchronous and Synchronous Transmission

In asynchronous communication, there is no synchronization between the clients. The sending computer just sends a continuous stream of data to the receiving computer [1]. Connection parameters are not negotiated before transmission of the data, so “Asynchronous is sometimes called ‘best effort’ transmission because one side simply transmits, and the other does it's [sic] best to receive” [2]. The receiver does receive some help from the sender. The stream is embedded with start and stop bits to help the receiver coordinate the data. In addition, the modem handles error control using parity bits. A parity bit is a one or a zero at the end of each fragment of data. The number of ones in the fragment of data determines the parity bit. If the total number of ones in the fragment is odd, then the parity bit will be a one, if the number is even then the parity bit will be a zero. The receiving modem counts the number of ones in the fragment then compares that to the parity bit. If there is a mismatch then the modem sends a request for a retransmission [1].

Synchronous transmission is essentially the opposite. Connections are established and a protocol is used to coordinate the transmission. The protocols used in synchronous transmission are “Synchronous Data Link Control, High-level Data Link Control, and Binary Synchronous (bisync) communications. These protocols format the data into blocks, add control information, and check the information for errors” [1]. Since these protocols function on the Data Link Layer instead of the Physical Layer like asynchronous transmissions, error detection and correction is more sophisticated and accurate. Timing is also used to coordinate the transmission. Instead of start and stop bits, groups of bits (frames) are separated by a timing scheme. To ensure that the computers stay in sync, occasionally “synch bits” are sent in the transmission. According to Tomsho et al., “Asynchronous (async) communication is the most popular for communicating with a modem because it uses regular telephone lines” [1]. This statement is a testament to how fast telecommunications technology has come in seven years since DSL and cable is now the most popular standard for data transmission.

There are some obvious pros and cons to each transmission method, the main ones being speed and reliability.  Asynchronous transmission can be considerably faster than synchronous transmission in most cases since data is capable of flowing in either direction simultaneously using full-duplex transmission (I will explain simplex and duplex transmission in part 4).  However, asynchronous transmission has no error control and data can be lost or dropped.  This is especially true with full-duplex transmissions because there is more chance for data "collisions" to occur.  Synchronous transmission is therefore more reliable yet slower.  Since data is organized into predetermined chunks and sent with a predefined timing (usually using half-duplex transmission), there is much less chance for data loss or corruption.  Add in more sophisticated and accurate error detection and intermittent transmissions to keep the computers in sync, and you have a highly reliable method to transmit data.  So in practical terms, it is best to use synchronous transmission when data integrity is vital and asynchronous when speed is more important than data integrity.  For example, asynchronous transmission is often used in online gaming because the game state is changing so fast and often that the loss of a few bits of data is of little consequence since it is rapidly replaced.  Conversely, synchronous transmission is often used during file transfer and in peer-to-peer applications since data integrity is much more important.

So far I have been referring to synchronous and asynchronous transmissions as they specifically apply to network communication, but there is application of the same concepts in the realm of software engineering when we see the use of threading.  However, threading exceeds the scope of this article so I will not go into it here.  Perhaps it would make a good discussion topic to have within the comments of this post.

This concludes the Part 2 of the the Data Transmission and Protocol series.  In part three, I will be discussing analog and digital signals.  Very interesting if you have ever wondered "what is the difference between the music that comes from a CD versus that which comes from a vinyl record?"

Resources:
[1] Tomsho, G., Tittel, E., & Johnson, G. (2004). Guide to networking essentials. Thomson Course Technology: Boston, MA. ISBN-13: 978-1-4188-3718-1
[2] InetDaemon Enterprises. (2010). Asynchronous vs. synchronous. Retrieved from http://bit.ly/pOhOl8

Friday, July 29, 2011

Part 1 - Data Transmission and Protocol

This post is the beginning of a series on data transmission and protocol.  I decided to make it a series for a couple of reasons.  First, the topic of data transmission and the topic of protocol by themselves are pretty broad subjects that could really get lengthy.  So I decided it would be best to break the article into easy to digest chunks.

So, why not tackle them individually? Well, by breaking it up in to parts I am in a way, but I'm making it one series instead of two because protocols are tightly tied into data transmissions.  That is to say that without one, you can't have the other.  Even though I will be going into some depth, I'm really only going to be able to scratch the surface.

Why this topic?  Other than the fact that it is rather interesting learning how the telecommunication systems that we use everyday work, it can be a very important factor to consider in a number of areas.  Knowing data transmission methods and protocols is vital to fields like software engineering, information system design and implementation, and even application implementation.  Therefore, if you are an engineer, having a working knowledge of the methods and protocols I will cover will help you make sound decisions when data transmission is involved in your implementation (which it almost always is in one form or another).

For those, just learning networking, telecommunications, or some other type of engineering this will be a good starting point to understanding how systems communicate.  For those who are already in some type of field that requires data transmission, this series may offer a good refresher or perhaps a jumping off point for further research if you are stuck with a particular problem since I will be listing other references that you can check out.  Those not in this field of study or profession may still find it interesting to learn how their cellphone, computers, their networks at work, and the Internet communicate with one another.  I will avoid technical jargon as much as possible and try to explain things in a clear and understandable way so that even the layperson will understand.

Computers and networks use many different types of data transmission methods.  Asynchronous and synchronous transmissions; analog and digital signaling; simplex, half duplex, and full duplex transmission; serial and parallel transmission; and broadband and baseband transmissions, all have distinct differences.  With all these different ways for computers to communicate, protocols become very important. Protocols are basically a set of agreed upon rules on how computers will communicate in different situations. Just as many different protocols regarding data communication exist as there are ways to transmit the data.  This series will cover the differences between the different types of data transmission as well as contrast six of the protocols that have been developed to govern data transmission; Serial Line Internet Protocol versus Point-To-Point Protocol; Hypertext Transfer Protocol versus File Transfer Protocol; and Transmission Control Protocol versus Internet Protocol.

This concludes the introduction the the Data Transmission and Protocol series.  In part two I will explain asynchronous and synchronous transmission.

Wednesday, July 27, 2011

Creating a Strong Yet Memorable Password

In my last post I spoke briefly about creating a strong pass phrase for your WAP connection.  Today I'm going to explain some techniques that you can use to create a strong password for your bank account, e-mail address, router, or anything else requiring a password to log in. Not only will these passwords be strong, but they will be very easy to remember. I guarantee you will have no need to write them down, which will make them even more secure.

The problem that most people have with passwords is that usually they make them very weak.  I don't know how many people I have consulted with that have revealed passwords that were not only weak, but would be relatively easy to guess.  Hint: Never use your name, birthday, anniversary, or any other personally linked information that is a matter of public record as your password.  Also, never use a dictionary word as your password.  If you do I could easily breech your account in a few minutes using brute force with a small script and a large dictionary. A brute force attack is simply using every possible combination of a password.  A program can be written (and several are available to download) that can try every single word in a dictionary on your account.  Brute force can also be applied to passwords that are known to be numbers of a specific length.  The four-digit PIN that you use in the ATM is very weak and can be cracked in minutes or even seconds because all the program would have to do is test 0000 - 9999.  Fortunately, there is no way to hook up a device to an ATM, besides which, most bank ATMs have a limit on how many PIN attempts you can make before confiscating your card.

However, I digress. It seems that the primary reason (at least from those I have talked with) for choosing such weak passwords is because they are easy to remember.  Many companies have IT departments that try to combat this practice by enforcing password rules such as, "password much contain at least one number and one special character".  The problem with this is then users generate passwords like "Johnson@68" or they write their password on a post-it note and stick it to their computer screen defeating the purpose of having a password in the first place and while "Johnson@68" is better than "Johnson", it's still weak.  I feel that IT departments are going about it all wrong.  Imposing rules for passwords is not going to force users to create strong passwords.  They're just going to find ways to bend the rules to suit their memories.  What IT departments need to do is educate users in how to create memorable passwords that are hard to break and that is what I'm going to do right now.

There are tons of password generators out there that you can use to create nice strong passwords of any length, but these are very hard to remember because they are comprised of meaningless random letters numbers and symbols.  So the trick is to get those seemingly meaningless characters to mean something to you.  One generator that I like for this is SafePasswd.com.  This online generator creates unique passwords that are somewhat easy to remember because it mixes real words with special characters. For example, I created this 12 character password using it: 0@pIzZeRIA_7.  It is fairly easy to remember because it is composed of 0@PIZZERIA_7.  However, I must also remember which letters are shifted, which makes it a little bit harder, especially when the password is much longer.  You can get to the site by clicking the button at the bottom of this post.

However, you don't need a generator when you know how to make your own strong passwords.  One way to do this is to think up a phrase that you will have no trouble remembering that is of sufficient length to create the password you need and then convert the words and special characters into the digits of your password. For example, let's say the IT department says I need to have a password that is at least 12 characters in length, has at least one number, and at least two non-alphanumeric symbols. I first think of a phrase that is meaningful to me and has the characters to cover the requirements, like: "There is one thing that I like about working here; GOING HOME!" Now I simply convert each word to a character of my password; "Ti1ttilawh;GH!" Viola! A 14 character password that more than covers the requirements of IT that I can easily remember, but would be very difficult for anyone to guess. When you pick a phrase, play with capitalization and special symbols.  Compound sentences with proper names in them are great or even two sentences.  Also change words like won, to, for, ate, at, number, dollar, percent, carrot, and, star to 1, 2, 4, 8, @, #, $, %, ^, &, *.  "My 12th grade math teacher, John Davis, sucked at lectures and personal hygiene!" Becomes, "M12gmt,JD,s@l&ph!" Seventeen letter e-mail password that nobody would ever break.  You get the idea. Simple.

The second technique I will show you just requires that you can remember a pattern.  Patterns tend to be easier to remember and are particularly easy to remember when you are the one that invents the pattern.  The first step in this technique is to choose a letter from the middle two rows of the keyboard excluding Q, A, ;, ', [, ], and \.  This leaves you with a choice of W, E, R, T, Y, U, I, O, P, S, D, F, G, H, J, K, or L. Once you pick that letter, you are going to have 8 letters that adjoin it. For instance, say you pick O.  Your pattern layout will look like this:

8 9 0
 I O P
  K L ;

Now you can make any pattern you wish, of any length you wish, out of not just those nine character, but their shift equivalents as well.  For example, say I want a 16-digit password with some numbers and special character in it.  I could start my pattern at 8 and make two clockwise circles around O with the second circle being shift characters.  So my password would look like this: 890p;lki*()P:LKI
Using the same base I could also create this password: 0(8O;Lk*iK9)o:l That password was created by tracing the initials SB over the pattern and shifting every other character.  The combinations are endless.  Although you can use any of the letters I listed above as a base because they all have eight adjacent character keys, the letters S, D, F, G, and H, do not have any numbers or special characters adjacent so avoid them for the strongest passwords.  Also, J and K only have 2 and 4 special characters and no numbers, so these although better, are still not the strongest bases for your pattern.

Those are just a couple of techniques to have you creating strong passwords in no time that you won't have to write down.  You should not use the same password for all your accounts and a recent event illustrates exactly why.  The PlayStation Network was hacked into a few months back and user names and passwords among other things were compromised.  Now someone has the password to my PlayStation Network account.  However, if the password is also the password to my bank account, they now have potential access to my bank account.  Using the techniques I have shown you should have you creating unique passwords for all of your accounts with no problems.  If you have any other tips for making strong and memorable passwords, share them in a comment to this post.

Saturday, July 23, 2011

Securing your Wifi connection

Wireless connectivity is changing the way we access the Internet. Many of you probably have a wireless router in your home, and it is not hard to find Wifi connections just about anywhere you go. Many of these connection are owned and secured by businesses that operate a wireless local area network (WLAN). In other words, they are not meant for public access. Some connections you will find are meant for public access, but are secured so that you cannot access them unless you purchase something and the proprietor give you an access key, and others are secured by redirecting your browser to a login page where you enter a user name and password. This type of wireless access pont (WAP) usually requires some kind of subscription (AT&T Hotspots use this type of security protocol). You will even come across completely open (and free to use) WAPs in places like libraries and even some bars, coffee shops, and other types of businesses.

That being said, if you do have a WAP in your home you should take measures to secure it. For two reasons. The first is that it will prevent your neighbors from stealing your bandwidth. This is a relatively common and mild offense. In fact you might not even care if your neighbor uses your Wifi connection. If this is the case you should still secure your WAP, then give an access key to the neighbors that you want to share with. If all your neighbors are using your Wifi you will experience significant slow down in your Internet speed. So securing your WAP and giving a passkey to only those you want to have access will preserve your bandwidth so that everyone on the network has an optimum speed when accessing the Internet.

The second, and most important reason to secure your WAP is to protect you from malicious individuals. With an open Wifi router a malicious individual can use your connection to "disguise" themselves while they perform illegal activities. For example, many commercial websites like Amazon.com record IP addresses during credit card transaction. They do this to help the authorities catch people committing credit card fraud. If someone reports to them that they have a charge on their card for a purchase that they did not make, Amazon can look up that purchase and turn the IP address of the purchaser over to the authorities. Your IP address uniquely identifies your connection on the Internet. Much information can be learned from simply having someone's IP address such as the city and the Internet service provider supplying the IP address. This is more than enough information for authorities to pinpoint the location of the illegal transaction. If your WAP is open and someone uses it for such a purpose you are going to have some explaining to do when the authorities come knocking on your door.

Malicious individuals are not limited to using your open WAP to disguise themselves either. Delving in to other computers on an open WAP is fairly easy with the right software and knowledge. I can get into any computer connected to a WAP usually in under ten minutes. I, of course, only do this for testing security and would never do it without the owner's permission, and I would never do anything illegal after gaining entry in this way. However, others are not as honest as me, and once they have acces to you or your neighbor's computer there are any number of things they could do to make your lives miserable. They could delete or steal files; install viruses, trojans, key-loggers, or any other malware; steal your identity, and that is just the tip of the iceberg. So as you can see, you definitely want to secure your WAP.

There are several security protocol available to use that may or may not be available for your brand and model of wireless router. I'm not going to hit on every one. There are three primary protocols that nearly all routers have; Wired Equivalency Privacy (WEP), Wifi Protected Access (WPA), and Wifi Protected Access version 2 (WPA2).

At minimum you should have your WAP secured using the WEP protocol. I am not going to explain how to set your WAP for WEP protection though for two reasons. One is that it is very easy and you can probably figure it out on your own after you know how to set up WPA. The second reason is because I do not recommend this type of protect because it is not very effective.

The Wireless Equivalent Privacy (WEP) algorithm was designed in the 1990s and was purposely weak, to remain within the confines of existing US export regulations. In fact, if you Google cracking WEP you will find a multitude of free tools that you can use to break a WEP key. That being the case, it is amazing to me that more than 50% (based on my experience) of those wireless signals at the coffee shops and other public places are, in fact, WEP setups. Remember, a lot of these are business networks.

This being the case WPA and WPA2 are better (stronger) methods of securing your Wifi. WPA and WPA2 are nearly the same except that WPA2 is stronger because it allows for longer passphrases. That being said, WPA2 can be cracked with brute force (this a method that involves trying every possible combination in a password or other type of security key) (http://securityandthe.net/2008/10/12/russian-researchers-achieve-100-fold-increase-in-wpa2-cracking-speed/). This does not mean that WPA2 is of no use. The researchers in the linked article had to use a homemade super computer to do it. So it's possible, but not probable.  It is still a very good encryption method. In fact, when used in combination with other security measures, you can create a wireless network that is invulnerable to all but the most dedicated and skilled hacker. I am going to show you haw to do this. Keep in mind, what I am about to show you will make your WAP like Fort Knox. This is not always necessary. For example, if you live in a rural area, it is unlikely that you will encounter anyone with the skills or desire to break into your network (these types of people like to hang out where there is better fishing so to speak), so the strongest security measures are not perhaps necessary in this scenario (perhaps just one of the tips would be good enough for this instance). if you live in an area with a lot of traffic (both vehicle and wireless network) you will want a more secure network, but not necessarily as strong as using all three tips (maybe just two are good enough for you). However, if you have a business with a WLAN or you keep a lot of sensitive information on your computer, you'd do best to follow all three of these tips.

The tips I will show you apply to Linksys brand routers. If you have a different router the steps outlined in each tip still apply, but you may have to poke around or consult your user's manual to find the proper settings pages. So without further ado, here's how to easily create the most secure wireless network possible (other than unplugging it).

Tip 1. Use WPA (at minimum) or WPA2 (preferred) encryption. This allows you to enter a passphrase between 8 and 63 characters. Use a passphrase that is at least 20 characters, but if you want maximum protection use 63 random extended ASCII characters.  That just means to include special symbols like the British pound symbol or the trade mark sign. If you are interested in seeing what symbols are included in the extended ASCII characters, go here: http://www.ascii-code.com/. Something like, \mkKTj?&u`f-y";oHtOf))8W-oOcXdh52('c1SZVn_25Cb'Lf.TDpwS*pt:j4+ would be quite secure. Furthermore, change the passphrase regularly. If you change the passphrase once a week, even Russian researchers (the ones from the link above) would have a hard time breaching your security. Here is how to setup WPA2 on a Linksys wireless router:

a) First connect your computer directly to your router through one of the LAN ports in the back. You cannot change router settings over the air. You have to be directly connected.
b) Connect the modem to the WAN port on the back if it is not already.
c) Open Internet Explorer (other browsers can work too, but I have had problems with some Mozilla based browsers, IE will for sure not give you problems) and ensure that you are connected to the Internet by going to a known website like www.google.com. Then enter http://192.168.1.1 and hit enter.
d) It will ask you for a username and password. Enter it. If you don't know your username and password, you probably have not changed it from the default. If this is the case, enter admin for both the username and password (on some Linksys routers you leave the username blank and enter admin as the password, so if admin in both fields doesn't work try admin in the password field only), then click Ok. This takes you to the router setup page.
e) Click on the "WIreless" tab at the top of the screen.
f) Under that tab click "Wireless Security".
g) You will see a drop-down box next to "Security mode:". Click the arrow to the right of the box and select "WPA2 Personal" (or WPA or WEP, if you prefer).
h) Choose one of the WPA algorithms (AES should be fine, but I prefer TKIP).
i) In the "WPA Shared Key" box enter a passphrase of your choosing, but keeping mind that it must be between 8 and 63 (exactly 10 for WEP and 8 to 32 for WPA) characters in length (the longer the better, try for at least 20), and don't use real words. Passphrases that use actual words are much easier to break. Try to use random (or apparently random) numbers, letters, and symbols (see my example above). In a future post I will teach you how to create very strong passwords that you can easily remember.
j) Click the "Save Changes" button and then the "Continue" button after that and your router is secure.
k) Disconnect your computer from the router (unless of course it is a wired computer) and establish a connection to the router by entering the passphrase you entered. You should be good to go.

Tip 2. Hide your SSID. Most routers are set by default to broadcast the SSID. Disable this. You know what your SSID is so you shouldn't need to broadcast it. Many people leave their router set to broadcast because it makes it easier to connect new devices, but unless you are running business that offers free wifi, this is not a good idea.  An average hacker can still sniff out your SSID over the airwaves, but it does prevent the average Joe from just jumping on your network even if it's wide open.  Plus it creates just another annoying step that someone has to take to breech your security.  The more hurdles that you can put in the way of an intruder the better.  Also, if you have not changed your SSID from the default (for Linksys routers default is linksys), now is the time to change it. Here is how to change and hide your SSID.

a) Go through the same process outlined above to get to your router settings page.
b) Once on the Setup page click the "Wireless" tab.
c) Where it says "Wireless SSID Broadcast:" click the disable radio button then click Save Settings and then click continue in the next window.
d) Now where it says, "Wireless Network Name (SSID)", delete the default name and enter a name of your choosing. It does not have to be like the passphrase, but you want it to be something that would not be easy for someone to guess but you can easily remember and type (STi.Boy@Wireless is an example).
e) Save your settings and exit the settings settings page.
f) Now you will not see your network listed in the network selection window so you will have to click "Select Another Network" and enter your new SSID.
g) You will then be prompted for your passphrase. Enter that and tell the computer to remember this network and you should be able to connect to your newly secured WAP automatically. Remember: you have to connect all devices on the network in the same manner, so additional computers and phones that access your Wifi need to have the new SSID and passphrase entered as well. And don't forget your neighbor.

Tip 3. Enable MAC filtering. This is a little trickier, but as always, I'll make it painless for you. What MAC filtering does is it makes it so that only the devices that you define can connect to your router. Good hackers can spoof a MAC address, but again, it's just another obstacle.  Having MAC filtering enabled is like having a butler answering the door at a party.  If the guest is not on the list, he can't come in.  The same principal applies to MAC filtering.  If a device's MAC address is not on your list, it cannot access your router.  If you don't know how to do this it is not to hard to explain. Before messing with your router settings you need to make a list of the MAC addresses of all the devices you want to allow on the network. I'm going to outline how to find the MAC address of your computers. If you have other devices that you need to connect to your WAP and you don't know how to find it's MAC address, a comment and I'll see what I can do. So here's what you do to find your computer's MAC address:

a) Click Start. Go to the run box and type cmd then click ok.
b) You will see a black screen with white font. This is the command prompt. In the command prompt type ipconfig/all and hit enter
c) The Mac address of the computer you do this on is listed in the set of numbers to the right of Physical Address (should be 6 pairs of alpha-numeric digits separated ny dashes like this: 00-B0-D0-86-BB-F7).
d) Right this down.
e) Repeat this process for all computers that need access to the router. (Note: if any of your computers have Windows XP, instead of typing ipconfig/all in the command prompt, type getmac and it will return only the MAC address for you)
f) Now that you have your list of MAC addresses, go to the router settings page (I'm going to assume that you know how to do this by now).
g) Once again click the "Wireless" tab.
h) Under the tab you should see a button labeled "Wireless MAC Filter". Click it (if you don't see this look under "Wireless Connection Control").
i) Click the "Enabled" and "Allow only following MAC Addresses to connect to wireless Network" radio buttons.
j) Click "Wireless Client List" you will get a list of all empty mac-addresses as (00:00:00:00:00:00). Now all you have to do is enter the MAC addresses on your list.
k) Save your settings and close the browser.

If you do these three things, you will have the most secure wireless network possible. It would be extremely difficult to breach a wireless network secured in this way.

Maiden Post

This is my first blog post. I won't be posting any tips, tricks, or other magic in this one, but those will be soon to come. I'm not even sure if I have time to keep a blog because I am very busy, but I thought I'd try it to see what it was like.

So for this first blog post I'd just like to answer some questions that I anticipate that some of you might have.  Here goes . . .

"What can I expect from this blog?"
I used to post tips and tricks every Tuesday on Facebook, which went okay for a while, but schooling got in the way so I gave it up. I'm hoping that I can do something similar with this blog, but maybe not weekly. We'll just have to see what time permits.

"What kind of 'tips and tricks'?"
Over the many years I have spent in the computer industry (I don't want to say how many unless you are hiring), I have collected all kinds of computer and tech-related goodies. I will share these with you all. I will also try to formulate some informative posts and tutorials that will walk the novice through things like installing more RAM in your computer, repairing electronic components of various kinds, How-To's on anything tech-related.

"What if your tip or trick doesn't work or what if I can't understand or follow your tutorial?"
I try to explain things in as clear a way as possible, but I do make some assumptions when I explain how to do something.  For one, I assume that you know how to work a computer. I won't explain what right-clicking is or what context menus are, etc.  I also assume that you know how to use standard software.  I won't go into detail about how to use Microsoft Word or your Web browser. I assume that you do speak, read, and understand English. I'm not bi-lingual, but I do speak a little Spanish and a very little of some other languages like Russian, but I won't post in them.  If some thing is not working for you leave a comment and I'll try to make it clearer, but I make no promises.  Sometimes you just can't teach an old dog new tricks.

"Can I email you?"
No. I get far too many e-mails that I have to sort through already and do not want to clutter up my inbox with more than I have time to get around to.

"How often do you post?"
That remains to be seen. Right now I don't have as much time as I would like, but that could change soon.  I will check for comments to blog posts more frequently than I post, so don't be afraid to ask a question or leave a comment. I will get to it soon.

"Can you fix my computer or give me technical support?"
Yes. But not for free. Prices are negotiable, but if you are looking for free support, try http://www.computerhope.com/oh.htm. I hang out there sometimes and do offer free support when I'm there.

"Are you good at math?"
I'm very good at math and will sometimes post mathematical tricks or brain teasers, but I won't do your home work.

"Can you write a program for me?"
Yes. But not for free. Prices are negotiable and I will sometimes write simple programs for free or show you how to do it yourself.

If you have any questions that I did not already answer, do not hesitate to post them in a comment.  Please don't bother asking the same questions that I already answered. you will not get a response.  Also, if you are a tech like me and you find something I say in error, please feel free to correct me in a constructive manner.  Name calling and pointing out flaws in thinking or error in information is not necessary.  I am happy to make corrections to posts.

Enjoy!