Showing posts with label Information Technology. Show all posts
Showing posts with label Information Technology. Show all posts

Saturday, October 22, 2016

Backup Rotation, Manual Windows Style


Every few months, I come down to Silver City to help maintain my parents' computer network. They are the only people I will (normally) do Windows system administration work for. 

My parents used to have a worker that would do backup rotation. Now they don't, so I am writing some instructions on how to do this. 

Their server is configured to make backups Monday through Friday. If, on Monday, the previous backups from Monday have not been moved, they will be overwritten. Eventually I would like to create a windows script to perform log rotation in a good way, but for now it's manual. 

First, open up the server, and click on "Start" then on "My Computer"
Figure 1

Then, double click on the external hard drive image
Figure 2

Next, double click on the "SWBU" folder
Figure 3

After that, right click and select "New" and then "FolderZZ"
Figure 4

Rename the folder to today's date
Figure 5

This is what you should see now
Figure 6

Click on the Friday backup, hold shift and click on the bottom backup. Then, drag all of these backups to the folder you just create.
Figure 7


And that's it! You have rotated the backups into their own folder, so they will stay there and not be over written.

Saturday, October 12, 2013

Printing with an Efficient Printer

For the past four years, five months, and five days, I have been maintaining my father's computer systems down in Silver City. Barring the SINGLE event where an idiot ISP tech reconfigured a server (that I did not have the screen set to lock on) to test a new network connection, we have not had any disasters.

One thing I have learned since developing software and (sales training) selling printers and cartridges with a customer, is that inkjet printers are not cheaper, unless you print hardly anything, ever. The cost per page (black and white) for inkjets tends to be between $0.03 - $0.08 / page, while the HP Laserjet P4014 laserjet my parents have at their office costs somewhere between $0.0045 - $0.0185 / page. Every workstation has an inkjet printer next to it, but is also part of a local area network, with access to shared printing resources. The local injets make sense - sometimes they are printing out medical information they want to be able to immediately give to a patient, and not have to walk to a centralized printer. Sometimes not though.

Among other IT tasks, one thing I accomplished this weekend was in configuring the heterogeneous collections of workstations to use the more efficient HP Laserjet printer. As a user wanting to print, this can be accomplished by selecting the more efficient printer to use. When you print, make sure to select the efficient HP laserjet, if that is your intention. The below images show how to do that.


Windows 7 - After Telling a Document to Print, Choose the HP LaserJet Printer


Windows 7 - Chrome - After Telling a Page to Print, Choose the HP LaserJet Printer


Windows XP - After Telling a Document to Print, Choose the HP LaserJet Printer
(Windows XP Chrome looks very similar to Windows 7 Chrome Printing)

Technical information
If you want to add this printer to additional workstations, the IP address is 10.10.10.6. Windows 7 was able to install this automatically, quickly and easily, while Windows XP required me to "add a local printer" and then enter in the IP address, and choose a driver that was along the  Laserjet P4000 series for the driver.

Hopefully this blog post helps the people working at my dad's office understand about choosing a printer, and save money on printing.

Monday, September 16, 2013

Ask A Programmer - Part 1

Since starting my own custom software development company, I occasionally pick up small gigs on different programming sites like oDesk, Freelancer, and Fiverr. On one of those sites, someone offered to pay me to answer five six (after an additional question) questions for them. Since I write blog posts basically for free I decided to take this customer up on his offer. Below are his questions, and my responses.

This customer asked me about 'trust seals' in an email before he actually asked his five below questions.

1- Is it possible to have a badge shown on the url area. there is usually a site lock and ssl verification, what is the process of adding one of your own? say on the right?

A trust seal is basically an image that says your website is trusted. Most modern browsers show images in the URL area when a site is using a properly signed (by a trusted organization, not a self-signed) certificate for SSL. These type of trust seals are built into the web browser.

However, you can show other icons to represent the page. The favicon is an icon that people use to show a quick, small, image representing the page used for shortcuts. With modern browsers, those are not shown in the URL area, but along the title bar, or with the tab. I believe they USED to be shown in the URL, but a quick test on modern IE, modern Chrome and modern Firefox show that is no longer the case.

As far as I am aware, it is not possible to show icons in most standard browsers in the place the 'lock' (for recognized SSL sites) or the 'broken lock' (for sites that have SSL problems) go. 

However, I sometimes like to add the W3C validated image on a site that I make, after the W3C validation engine validates it. That is the only trust seal I've ever put into my site, and I put it in just as an image when I'm writing HTML. This is not in the URL area though.

I have no idea if this website is valid or not. I just added the trust seal here. 

2 and 3 - server and website verification( as i read on wikipedia ) performs tests on servers and websites to ensure that they are not vulnerable. Are these web crawlers that do this? What program scans so intensely and how do you go about creating one?

There are web crawlers that do this. Most of these crawlers are created by malicious individuals, and/or government organizations that want to find vulnerabilities and exploit them for their own purposes. Metasploit is a well developed program which will automatically attack targets using a set of canned exploits. Another program which is useful in fingerprinting systems to determine which versions of programs (services) they are running is called nmap.

Whenever I've created something like this, I used a programming language called Python  and a package called BeautifulSoup to scrape and post to websites. Basically, any programming language can be used to accomplish this, but some are better suited to accomplish it quicker. Depending on what people are targeting, they will use a combination of unknown ('zero day') exploits and widely available, extremely well know, vulnerabilities.

If you run a server online, and you run a service called secure shell (ssh), you will immediately (within 10 minutes) start seeing people 'rattling your keys' with common username / password combinations trying to login to your system. Whenever I put together a website using a system called Drupal, I start seeing bots (web crawlers) signing up for accounts, and posting random crap to the Drupal site. These are pieces of malicious software trying to exploit, trying to be annoying, or just put together as an experiment for someone to learn from.

All of this is a reason to keep your software up to date, and run software that you trust.

5- instagram app, being able to upload to different social networks and managing different accounts in one place, like instagram or whatever. Such platforms seem very easy to build or create, but are they? are they expensive to build and maintain?

Social networks that have millions of users are extremely complicated pieces of software. They rely on gigantic server farms, and took lots and lots of time to build. They are very time consuming and difficult to build and maintain. If I remember the Facebook book correctly, it took Mark Zuckerberg like 6 months of programming all the time to get Facebook even kind of usable, and he sounds like he was a bad-ass. Even then, they had a few servers and multiple programmers working on Facebook full time. Building a social network is not easy. I spent some time working on a project using a tool called Social Engine for a customer, and that was my one clear failure in the year of programming. That failure happened for a variety of reasons, but one reason was that the software for that is extremely complicated (and I did not know much about Zend, the underlying system on which it was built.)

This may not be true for small social networks built on top of Drupal or WordPress but eventually if your social network continues to grow you'll have to hire some super smart dudes.

6 - Like you I am an entrepreneur and the questions I asked before where purely for research. What I want to know is how willing are people in your end of the world ( America) willing to adopt new products. I live in Botswana and before I launch anything I always second guess myself because in Botswana, its not only super behind on technology it's also super conservative and.. well pretty african.
So how willing are businesses and people in general willing to try out new products given the times you find your self in? Just your opinion.

People in the United States are willing to try new technological and business things very quickly, if properly sold on the concept. I believe our technological skills in the United States are the best in the world, and so are our sales skills. American salespeople are always trying to convince potential customers to try something new (as long as you speak English.) We are always looking for ways to do things more efficiently, with more profit, less waste, and more fun. Our minimum wage is very, very high, which discourages companies and individuals from hiring minimum/low wage people. It is much more efficient to try and replace a low skill, minimum wage person with technology even if somewhat more expensive, because software and robots do not cause any of the problems that people can in our society. The high minimum wage, combined with the the pragmatism Americans have, make it so we are interested in trying new products, especially if they can go back to the old way if the new way isn't any better.

Thanks!

Saturday, November 5, 2011

SOAPWare VPN Resources

I've been helping my parents out with IT tasks down in Silver City for the past three years. A few months ago, we set a system live to comply with the Medicaid and Medicare Electronic Health System "meaningful use" incentive program. For those close to me, you may have noticed right before we set this system live I was going down to Silver City every weekend to work on this. Luckily now things have calmed down and I come about once a month to perform scheduled IT projects.

We switched to the SOAPWare Hosting Service because I believe that the talented people at SOAPWare can maintain a secure, reliable, and functional system cheaper and better than I can (being a dude that lives in Albuquerque and comes to Silver City on the weekends.) The other alternative would have been for me to continue to maintain a server, but to comply with the e-prescription incentive program (part of "meaningful use") we would have had to connect this server to the Internet - making security much more of a concern for a remote administrator such as myself needing to deal with Health Insurance Portability and Accountability Act (HIPPA) . So, the hosting solution sounded good to me!

Things have been working pretty well. One concern I have tried to address this weekend was a slowness associated with the connection when all eight workstations were connected via remote desktop protocol (RDP) to SOAPWare. My mom and the most technically skilled employee at my dad's office both contacted me about it, and I believe the below steps of degrading the quality of the RDP connection should help with this concern, as a degraded connection requires less bandwidth.

I created this post to help employees at my dad's office feel comfortable further adjusting these settings (to degrade visual quality while increasing responsiveness), to provide a nice example of messing with SOAPWare RDP settings to everyone online, and to show how technical documents can be written in the first person with the use of humor and embedded advertisements in a classy way.

In order to make sure a RDP connection doesn't take up as much bandwidth, you can try the below steps. These steps can help you if you are using any kind of RDP connection - not just SOAPWare.


First click on the SOAPWARE VPN Icon as pictured below.
Figure 1 - Beautiful SOAPWare Icon


Next, click on "Options >> " as pictured in Figure 2. Some fields have been redacted due to their importance to National Security.


Figure 2 - Remote Desktop Connection Window - You should click on the red button.

After you have clicked "Options >>" then a more detailed window appears. We are interested in two tabs of this more detailed widow. The first tab we're interested in is the "Display" tab, as pictured below in Figure 3.


Figure 3 - The "Display" Tab

While in the "Display" tab, downgrade your colors to a level that is acceptable to you. I choose 16 bit color since the difference did not seem that bad to me. Also restricting the size of your remote desktop can make things go faster, but I did not do this as I thought my other changes would make things fast enough.

After you are finished playing around with settings in the "Display" tab, there is one more tab we are interested in - the "Experience" tab, as show below in Figure 4.


Figure 4 - "Experience" Tab

For this tab, my recommendation is to select the slowest connection speed available and use the defaults that come with this. Some of the nice visual components of your remote desktop might not be there, but hey, you want it responsive, right?

If this does not improve the responsiveness of the connection, I recommend further downgrading things in the "Display" tab.

Saturday, February 12, 2011

SOAPWare 4.8 Database Backup Instructions

I have been helping my father out with his information technology systems at his office. He is a pulmonologist down in Silver City, New Mexico and all of his patient records are stored electronically. I'm the IT guy that comes in every few weekends to keep things running smoothly.

Part of what I consider an important portion of helping people out with their IT infrastructure is determining what level of redundancy is appropriate for them. My mother manages my dad's office, and agrees with me that the ancient Windows 2000 database server storing patient records needs to have a hot swappable spare. This weekend, I constructed such a hot swappable system. Below, you will learn how to do this same thing. This blog post exists for three purposes:

  1. If I stop being the network administrator for my father, the next administrator will be able to pick up these notes (in addition to those taken in a leather bound notebook) and not have to rediscover everything from scratch.
  2. Other people in the world may need to maintain such legacy systems, and find this post useful (or contract with me to perform such maintenance!)
  3. I want to be able to remember exactly what I did, so when I need to do the same thing a year or two later, I can easily remember.
This document does not exist to allow nontechnical people at my dad's office to perform backups. Things can be extremely broken by tinkering around with the database through the below mechanisms.

SOAPWare 4.8 is a difficult piece of software to maintain. It is well past it's end of life date, and it uses other, older, pieces of software to help it function. Our installation uses MS SQL7 as it's database back-end. As the first portion in this series on administering older SOAPWare systems, this blog post will cover backing up an existing MS SQL7 database. In a later post, I will carefully describe how I took those backups and created another MS SQL7 dabase, on a virtual server, which I then connected a SOAPWare 4.85.06 client to. All systems mentioned below are on a totally isolated network.

A book that helped me a great deal was SQL SERVER 7 : A Beginner's Guide, by Petkovic. This book cost me a $0.01 from Amazon, and then a few bucks to ship it. I ordered three other MS SQL7 books, one of which was worthless, the other which was helpful, this one which contained exactly what I needed, and a forth which I did not open because I already found the information I needed. These books cost less than fifteen bucks in total, shipped.



If you're going to buy it, use the above link and maybe I'll get a fraction of a penny from the sale. However, if you follow the instructions on this post, you won't need to buy the above book.

The first thing to do is to start up "Enterprise Manager", which is the utility that MS SQL7 uses for managing everything. Do not try and accomplish any of this on the command line, as you would do in Linux, or with any other database you are familiar with. For me, this is located under "Programs" -> "Microsoft SQL Server 7.0" -> "Enterprise Manager".

Figure 1 - Opening the "Enterprise Manager"

After "Enterprise Manager" opens, you will notice the sw_ databases present. These are what SOAPWare uses to store your patient information. There are six of these. They are:
  • sw_chart
  • sw_codes
  • sw_exch
  • sw_image
  • sw_trans
  • sw_users
Figure 2 - Hopefully You See Some of these Databases

The below steps are what you will do for all of the sw_ databases. We will begin at the top, and work our way down, backing up databases as we go. Right click on a database, go to "All Tasks" -> "Backup Database."

Figure 3 - Bringing up the Backup Dialog

Once you have the backup dialog up, make sure to type in something useful for the name, and remember where you are putting these backups. Then click "OK" to start the backup.

Figure 4 - Backup Dialog

Figure 5 - Hopefully You See "Backup in Progress" and not Something Terrible



Figure 6 - Backup Successful

Repeat the above steps for every database that SOAPWare uses (likely those beginning with sw_) . After you are finished with this, you should verify that your backups have been created with a somewhat reasonable time stamp.


Now, you have backups of your MS SQL7 SOAPWare database! In a later post, I will show you how to take these backups and create a fully redundant SOAPWare database server.

Sunday, August 22, 2010

Silver City IT Work

I help out with information technology (IT) support in addition to developing software. IT isn't exactly my favorite thing in the world, but it is nice to help out my family and be a part of helping people receive high quality medical care. My dad is a pulmonologist down in Silver City, and his network administrator quit almost two years ago. Since then, I've been picking up the work. He keeps all of his patient records electronically, and I'm the one that makes sure the systems keep running. Plus, more people need help keeping their infrastructure going than they need new, custom, (hopefully scientific) software written for them.

I build a separate, Internet connected, network for his office to use when connecting to the hospital's network (VPN) and looking up information online. This is completely separate from his electronic medical record network, since I was not ready to overhaul that network and securely connect it to the Internet. The Health Insurance Portability and Accountability Act (HIPAA) provides all sorts of guidelines for well connected networks that are basic IT infrastructure security guidelines, which are basically simple best practices for securing a network. It is much easier to secure a stand alone network than one connected to the Internet, so I simply build a stand alone network. (Red / Black seperation, for all you spooks out there.)

This system requires regular updates. The major two components that require updating are the virus signatures for the virus scanner, and the operating system.

These instructions have been created in order to help share some of the updating work load, so I can focus on other IT related tasks when I am in town.

Updating AVG
The first thing to do when updating the anti-virus scanner is to open the interface to it. This can be accomplished by double clicking on the AVG system tray icon as shown below.

Figure 1. AVG System Tray Icon


The next step is to actually tell AVG to update. This can be easily accomplished by clicking on the "Update now" button as shown in Figure 2. below.

Figure 2. Telling AVG to Update

After this completes, you can close AVG.

Windows Update
Telling Windows XP to update is even easier than updating your antivirus signatures. Simply click on the "Windows Update" option from within the first level of your start bar menu, as is shown in Figure 3. below.


Figure 3. Windows Update

Then, the easiest thing to do is to select "Express" to download the updates Microsoft considers critical. This is shown in Figure 4.

Figure 4. "Express" Updating Mechanism

The next thing you may or may not see, is a "No Updates Available" screen. If this is the case, you are finished. Otherwise, follow the on screen instructions for installing the important updates.

Windows update is scheduled to happen every day, but as the Internet machines are not always turned on, the automatic update may or may not happen.

Hopefully these instructions are helpful in describing the steps necessary to update antivirus signature files and the Windows XP operating system.

Saturday, June 6, 2009

Veritas Backup - Manually Starting and Stopping Jobs

Veritas Backup 8.6 and Background Material
Lately I have been helping my family out with some of their information technology work down in Silver City. Since I live in Albuquerque, and Silver City is four hours away, I cannot help them all the time whenever something goes wrong. Something goes wrong quite often with the latest and greatest in 2001 backup technology with Vertitas Backup, version 8.6, revision 3878. Luckily, the machine running this backup system is on a totally isolated network, so we do not have to worry about the numerous security problems associated with running such an old version. My friend Ryan ALWAYS tells me to upgrade to a different backup system, but that isn't too high up on the IT priority list right now.

In Veritas lingo, a job represents the configurations associated with actually backing something up. Jobs are things that need to run in order to back up.

I find that I need to manually restart jobs, and cancel stuck jobs, as a means of achieving reliable backups. Hopefully this blog post will help that happen when I am not around and serve to show other people that may not be quite so familiar with Veritas 8.6 how to do that as well. I think providing documentation of IT work is very, very important and can save tons of time and money in the long run! Please leave me a comment if you find this post useful.

Canceling A Stuck Job
With this software, it is not easy or possible to run two different jobs at the same time, on the same tape. Sometimes a job becomes 'stuck' and runs forever. It is important to cancel these stuck jobs so you can start a new one. One way I found to cancel a stuck job involves being in the "Activity Monitor" window, as shown in the below image.

Figure 1. Activity Monitor
Left click on the labels describing the view pane you want to be in.
This is with my camera phone.

Once you are in the "activity monitor" you should be able to see a list of jobs that have run, are running, or failed. If you right click on a job, and select "Cancel" that will cancel the job for you. I have noticed that it sometimes takes a minute or two to actually cancel.

Figure 2. Canceling a Job
Don't forget to wait a minute or two after you cancel the job

Manually Starting a Job
Once you have made sure there are no stuck jobs, you can manually start a job if you would like. The system I work with has scheduled jobs, so manually starting jobs shouldn't (hopefully) be necessary. I like to manually run a job to make sure everything is working OK after canceling a stuck job, rebooting, adding a new tape to the rotation or anything else that would make me doubt things are working perfectly.

One way I found to start a job is to navigate to the "Job Definitions" view pane. This is at the bottom on the screen, next to the "Activity Monitor" described above. Left click on this label to switch to that view.

Figure 3. Job Definitions
This view lets you see all the jobs that have been created.

Once you are in this view, you can see all the different jobs that have been created for your system. For our system, we are interested in the job titled "Backup 0002." This job backs up our entire system. In order to run this job, right click on it and select "Run now..."

Figure 4. Actually Running A Job

After you have run your job, it is important to see how things are going. Switch back to the "Activity Monitor" and look at your running job, as can barely be clearly seen in the high-quality image below.

Figure 5. Backup Job Successful!

Conclusion
Hopefully this document clearly explains how to manually cancel and restart jobs using Veritas 8.6. The employee known simply as "The Handball Destroyer" at the office has picked up a lot of the the day to day responsibilities regarding the computer systems here and I hope this document helps them, and any of the Internet masses.

Also, I refrained from taking screen shots of the server since I would like it to stay in complete isolation. I do not want any sort of writable media entering that environment, and it is completely isolated with regards to networking. Sorry about the resulting lack of picture quality!