Saturday, December 31, 2011

Delete or Change Workplaces and Schools On Facebook Timeline (1/2012 edition)

Have a school or workplace in your Timeline you want to get rid of or change? Here is the method that worked for me.

  1. Log into Facebook.
  2. Click Profile.
  3. On your Timeline, click "Update Info".
  4. Under "Work and Education", click the "Edit" button in the upper right hand corner of the section.
  5. Each workplace and school will get a box.
  6. In the upper right-hand portion of each box, there is an "Edit" link and a small "x".
  7. Click the "x" and confirm your choice to delete a workplace or school. Click "Edit" to change the workplace or school.

Wednesday, November 9, 2011

GT-S5230 Star/Tocco Lite - How to use the on screen keypad during a call

I use a Samsung GT-S5230 Star (Tocco Lite) phone on AT&T.  I finally figured out how to access the onscreen keypad during a phone call. When you are in a call, press the in-call function button on the right side of the phone. Then press the call button. This is the left-most button on the row of three physical buttons on the front of the phone. Then press the return button. This is the middle of button in that row of buttons. Finally press "keypad" on the touchscreen.  It will bring up the keypad inside the call. What a pain. Anyone know of an easier solution?

Sunday, September 25, 2011

Getting pictures in focus with a DSLR (digital SLR) in a nutshell.

Higher-end cameras have a number demarcated by the letter "F" that one can set to change the size of the opening (called the iris) that lets light onto the sensor. High numbers make the iris smaller. Optical physics aside, the higher the number, the more of the picture will be in focus and the more light you will need. Likewise, the higher the shutter speed, the more will be frozen in time and the more light you will need as well. So, if you want to capture something that moves fast and have it completely in focus, you need a ton of light, a high F number and a high shutter speed number. Note that a particular lens only supports a particular range of F numbers (called F-stops). You don't have a huge amount of light usually. So you have to find ways to compromise and/or cheat. One way to do this is to use a flash, but that can scare butterflies. Another way is to set the camera to do more processing. This number is demarcated by "ISO". My SLR goes from 200 ISO to 1600 ISO, if I recall correctly. New ones go to 12500! The higher the number, the less light you need, and the more you rely on the camera processor and the quality of the light sensor. Thus to get a nervous butterfly on a cloudy evening, you need to higher-end camera so that you can set the shutter speed, F-stop, and ISO numbers really high, and still get a photo that's not grainy.

Wednesday, September 14, 2011

A note of caution: Password Checking Sites.

  Recently, several people have sent me links to check the strength of my password like this: There is a saying today that if you are not paying for a product, you are the product. Since I haven't seen any independent organization that has audited the code of these sites to prove that they are not also collecting passwords, we must trust that they do not keep copies the entered passwords or their hashes. Either these sites all have a large amount of altruism, or they are creating the most precise rainbow tables [1] available on the market.  There's nothing like doing statistical analysis on a general rainbow table with real passwords to hone its accuracy. Placing blind trust in a 3rd party with one's passwords is never a good idea. I don't think any bank representative would recommend typing one's account password into an un-audited website to check its strength.
  If you run one of these sites and have had such an audit, please let send me a link to the audit and a link to the organization that did the audit. I will include them here.

[1] Rainbow tables are conveniently structured databases of known password information used for efficiently cracking passwords.

keywords: hacking, cracking, passwords, security

Monday, August 1, 2011

How do I convert spaces to underscores in file names and directory names on Linux?

Have you ever wanted to change all the spaces to underscores in a directory?  After going through various methods, the following is the most reliable way that I have found for bash users. Note, that there are many ways to accomplish this task. These examples should be typed in as a single line:

find . -depth -maxdepth 1 -name "* *" -exec sh -c 'mv "${0}" "${0// /_}"' {} \;

Note that '-maxdepth 1' changes spaces to underscores for files, directories, and links in the current directory. Changing that number to 2 or more will change spaces to underscores two or more levels deep in the current file system tree in addition to the current directory. Leaving out -maxdepth 1 will change spaces to underscores in the entire tree.

Note also that the '.' means start in the current directory. You can certainly put other paths in place of the dot.  You can even put what is called a globbing pattern:

find music* -depth -maxdepth 1 -name "* *" -exec sh -c 'mv "${0}" "${0// /_}"' {} \;

will process only files, directories, and links that begin with music.

Thursday, July 28, 2011

"Link is not ready" when downloading stage2.img in RHEL/CentOS 5 kickstart install - or watch those typos!

I recently had a kickstart install of a HP blade BL460c G1 that would get part way through booting into the kickstart process but fail when loading the stage2.img file. It seemed to load updates.img and product.img fine.

It was late in a 12 hour day in the data center. I couldn't figure it out. I updated the firmware. Same issue. The machine was fine booting from PXE into the HP diagnostic and firmware images, but not fine once inside the RHEL 5.6 install.  After much head scratching and Googling, I found this:

RHEL 5.4 kickstart occasionally fails on HP BL460 G1 and G6 blades

which, lacking a conclusion, didn't help.

I gave up.

Went home. Got a good night's sleep. Went back to the data center the next morning.

Changed to a different release (5.5) in the kickstart and PXE boot file. Same issue.

I got suspicious about the kickstart file. The RHEL install goes on the PXE network configuration (DHCP) until it gets to parsing the kickstart. Then it reconfigures the network according to what's in the kickstart. I had a static network configuration in the kickstart. I had checked it the day before, but didn't notice anything.

But this time I saw the issue. I had not defined the gateway in the static configuration. Once I defined it, the machine installed normally.

Lessons learned?

  • 12h days don't necessarily mean more productivity. Any progress can easily be killed by fatigue-induced errors. If your admins are working 12h days, you either need more admins or you need to stop what you are doing to evaluate why your infrastructure requires 12h days. Fatigue will bite you.  I will be evaluating our infrastructure.
  • If your infrastructure requirements allow DHCP (ours do not in this case), use it. Simplicity prevents errors. In this case, the "network" line in the kickstart would have simply said '--bootproto dhcp' and I would not have had to worry about the other change points (gateway, ip, etc.).

Friday, July 8, 2011

How do you add music to the YouTube AudioSwap library?

So you want to add your new music to YouTube's Audioswap library...

 Someone asked me how to add their music to YouTube's AudioSwap library. YouTube licenses music from distributors which have distribution contracts with artists or publishers. Music distribution companies can ask to join the Audioswap program. Individuals do not seem to be able to join at this time.

 If you want your music on Audioswap, you have two choices. First, you can research distribution companies to find a company that is already part of the Audioswap program, and then sign a contract to have them distribute your music. Second, you can form your own distribution company and then ask Google if your company can join the Audioswap program.

 According to this article on YouTube's blog, one Audioswap distributor is Rumblefish. The Music Snob blog has two articles on Rumblefish's licensing process ([1], [2]). I haven't tried this process, yet. Your mileage may vary.

 [Update] Boooo! Horatiu Indrei emailed to say that Rumblefish told him that they are "no longer accepting music submissions for AudioSwap". Please comment if you know of anyone at Google that can provide the list of distributors from which they license AudioSwap content. Thanks!

Wednesday, July 6, 2011

Opinion: IT is the craft of optimizing business work-flow.

Three flows comprise business, product, information, and money. The fundament task of IT is to reduce or eliminate friction in these flows. Money friction is any part of a business process that costs time or money. Product friction is any part that delays a product or wastes material. Information friction is any part that impedes the conveyance of information needed to complete the process or make a decision. Toyota calls these frictions "muda" or waste.

Sunday, June 26, 2011

Calorie Count Comment

Calorie Count's Food Log interface uses the wrong measurement...

To lose a pound a week, one needs to use 500 kcals more per day than one consumes. 1lb fat = ~3500kcals. 3500kcal/7days = 500kcals/day. On a given day, all that matters is this delta. A hard maximum calorie intake per day is irrelevant. The current Food Log has one eat to a daily maximum calorie limit that one sets in one's diet preferences. This is incorrect, in my opinion.

I think they should redesign the food log meter so that it only tracks one's delta between daily caloric burn rate and current calories consumed. This interface would warn when the *delta* approaches the minimum delta to maintain the desired weekly weight loss (generally 500kcal/day).

In one's preferences, instead of setting a daily calorie cap, one would only set how pounds/week they want to lose. The food log meter would calculate the daily caloric delta from this value. With this interface, if someone does an activity, they get immediate feedback that they can eat more. It would also allow for people to splurge on another day during the week, if they cut another day short.

Tuesday, May 31, 2011

Linux command line to find all open files...

Useful for restoring deleted files that might be held in memory by a running process:

find /proc -type l -wholename "/proc/*/fd/*" -exec ls -l {} \; | egrep -v '.*->.*:.*'
Have you ever accidentally deleted an active apache log file while investigating an issue? Backups are useless since the last one was the night before. You may be in luck, though! If there is a running process holding that file in memory, you can get the in-memory copy of the file from /proc on Linux. Run the above command to list files currently held in memory by processes. To restore, copy the "symlink" back to its original location. This will get you the file in the state that the particular process has in memory. The
strips out sockets, devices, etc.

Monday, April 11, 2011

How Can I Have My Parents Or Grandparents Use The Internet And Manage Photos Without A Computer?

Background: A technology-ambivalent Baby-Boomer parent wants internet and photo printing, but hates computers (updated for AirPrint):

Recently someone asked me about how to enable a technology-ambivalent parent to access email and web from home and manage their photos without a computer. They live in a suburban area and don't want expensive internet service. They want to do email/web and store/print photos of their grandchildren, but not much more.

One solution to help them get online:

I think the following solution may work for this situation. The critical piece is the Apple AirPrint service. This service allows simple user-friendly wireless printing from iPads. Internet and photo management comes through the iPad itself, which maximizes ease of use and minimizes security issues, in my opinion.
  • An 3G/4G iPad with Apple Care - You can get inexpensive internet access from AT&T or Verizon. No contracts.
  • iPad Camera Connection kit
  • "Grandparent-friendly" camera with SD Card media
  • AirPrint compatible wireless photo printer
  • Secured wireless access point (Use Cisco LinkSys or Netgear with WPA2/AES Shared Key) - only for the printer, no internet, one-time setup and connection to iPad


  • Buy the latest 3G/4G iPad with Apple Care and the Camera Connection kit. The Apple Care is important, since it will allow you to completely outsource tech support to the Genius Bar.
  • Buy the camera and a large memory card for the camera.
  • Buy an 802.11G or 802.11N basic wireless router.
  • Buy an AirPrint capable photo printer from those listed on Apple's support page.
  • Buy a decent initial supply of photo paper for the printer.
  • Buy replacement cartridges for all of the ink colors. The initial cartridges are usually only half full.
  • Schedule a time slot at an Apple Store Genius Bar.
  • Bring your parent with the iPad, camera, and Camera Connection kit to the Apple Store.
  • Have them work with the Genius Bar to:
    • configure the camera and the Camera Connection kit
    • create an Apple ID
    • buy and set up a wireless data plan.
  • At their home, configure the wireless router without an internet connection.
    • Configure WPA2-PSK security.
    • Create a strong private shared key (many different characters).
    • Write the key down and write the wireless router admin login down and keep them with you. Your parent won't need it.
  • Configure the iPad to use the wireless network with the private shared key.
  • Set up the AirPrint photo printer. Store the extra paper and ink cartridges.
  • Configure the AirPrint photo printer to use the wireless network with the private shared key.
  • Configure the iPad to print to the AirPrint photo printer.
  • Test your parent's workflow:
    • Take pictures with their camera
    • Connect the camera to the iPad
    • Download the pictures into the iPad
    • Print the pictures to the AirPrint photo printer.
Note: You pay up front for simplicity and ease of use. This solution is not cheap, but for those who don't want to be "family tech support," I think it will minimize support costs more than any other solution. Regarding Android, you need a printing application from a printer vendor. If HP or another vendor provides an Android printing application for their photo-capable printers, they will enable a similar stack on Android.  That being said, I do not know of a support system for Android that's equivalent to Apple Care plus the Genius Bar.  You will almost certainly have to do more of the support yourself.

Tuesday, April 5, 2011

Using Google and Bing in Systems Administration - A Brief Note.

Use both search engines

Although Microsoft and Google claim that they do not alter search results to promote their interests, they do. It's not necessarily a bad tactic [1]. Just be aware of the behavior.

General Steps

  1. If you have a general problem, troubleshoot until you have a specific issue/question.
  2. If you cannot figure out the answer, run it through both Google and Bing.
  3. If you get results, it's either known configuration problem or a known issue with your product. Hopefully there will be a solution.
  4. If you get no results, you can generally assume that you are making a common configuration mistake, the solution to which is considered so self-evident that user community of your product doesn't feel it's worth writing up. Re-read your manuals, guides, and tutorials.

See the XKCD flowchart for a similar process for family IT problem resolution.

No Results At All

If you get no results on a specific issue search for a product that is specific to a particular domain, it is worth just searching for the product itself. In my professional opinion, if you get no results for the general search, your use of the product might be risky for your organization, depending on your specific circumstances of course. If you get empty searches in Google and Bing, the product is not used by enough users to have been blogged about or to have been the subject of a forum post. Also, it's not well known enough that anyone has cared to review it. You may have trouble hiring administrators for the product, and, if the company has bad tech support, you have no other support options.


[1] For example, if Google truly feels its cloud apps are better than Microsoft's, they should list theirs first. Otherwise, they are not acting in their customers' best interests (from their point view). Likewise, for Microsoft.

Friday, March 4, 2011

How to fix this ssh error from a Cisco switch: ssh_rsa_verify: RSA modulus too small: 512 < minimum 768 bits


ssh user@cisco_switch
ssh_rsa_verify: RSA modulus too small: 512 < minimum 768 bits
key_verify failed for server_host_key


The modulus of the ssh RSA key pair on the switch is too small. If you have access, generate a new key pair on the switch with a larger modulus.


  1. Login with ssh protocol version 1 (ssh space dash one):
    ssh -1 user@cisco_switch
  2. (On the switch):
  3. (On the switch): Authenticate to "Privileged Exec Mode" mode on the switch.
  4. (On the switch):
    conf t
  5. (On the switch):
    crypto key generate rsa general-keys modulus 1024
  6. (On the switch): Press enter to accept that the current key pair for the switch will be replaced.
You now should be able to log into the switch with ssh protocol version 2.