List of ComputorEdge Sponsors

San Diego ComputorEdge Sponsors

Colocation and Data Center

redIT

With approaches like smart security, customized colocation and an extensive range of managed services, redIT helps you intelligently leverage IT.

Computer Books

LOL Computer/Internet Humor

Anecdotes and Jokes about Computers, the Internet, Users, and the People Who Work on Them.

Windows 7 Secrets E-Books

Four-Book Windows 7 E-Book Special at Amazon!

Macintosh Specialists

Maximizers

Serving San Diego County Since 1988 * Onsite Macintosh Service for Home and Small Office Needs * ACSP: Apple Certified Support Professional ACTC: Apple Certified Technical Coordinator Apple Consultant's Network

Repair General

AAA Emergency PC Repair

If We Don't Fix It, You Don't Pay! 24/7 Off Hours/Weekends/Holidays Immediate Service. Mention ComputorEdge and receive 10% off repairs.

Hi-Tech Computers

Notebooks, Monitors, Computers and Printers We Buy Memory, CPU Chips, Monitors and Hard Drives Windows 7 Upgrades Phone (858) 560-8547

Software Package

IT Mentor Mobile Apps

Get Your Own Mobile App for Your Business or Organization. Fast! Affordable! Inexpensive!

Web Advertising

Google AdWords Help

Thinking of Advertising on the Web? \nWe Are Specialists Working with Companies to\nImprove Google AdWords Results.

Colorado ComputorEdge Sponsors

Computer Books

LOL Computer/Internet Humor

Anecdotes and Jokes about Computers, the Internet, Users, and the People Who Work on Them

Windows 7 Secrets E-Books

Four-Book Windows 7 E-Book Special at Amazon!

Computer Store, Full Service

AXESS (AXS) Computers

Systems, Laptops, Servers, Point-of-Sale, Security Components,

Software, Upgrades, Maintenance, Support, Networking

Software Package

IT Mentor Mobile Apps

Get Your Own Mobile App for Your Business or Organization. Fast! Affordable! Inexpensive!

Web Advertising

Google AdWords Help

Thinking of Advertising on the Web? We Are Specialists Working with Companies to Improve Google AdWords Results.

ComputorEdge™ Online — 03/22/13

Click to Visit ComputorEdge™ Online on the Web!

Adventures with Computer Generated Imagery

How Computer Generated Imagery (CGI) Has Changed Entertainment, Plus Digital Dave, Wally and His Apples, Windows Tips and More AutoHotkey.

Magazine Summary

List of ComputorEdge Sponsors

Digital Dave

by Digital Dave

Digital Dave answers your tech questions.

On Buying a Windows 8 Computer; Sync Center in Vista.

Adventures with Computer Generated Imagery (CGI)

by Marilyn K. Martin

Special Effects (SPFX or VFX) Add Visual Appeal to the Story Being Told

Science Fiction Goes Hollywood; And Lo, it was Computerized and Called CGI; That New CGI Frontier: Blue Screens; Movie Actors "Lost" in CGI Animation; "Animation Nation"; CGI Shorts Land Hollywood Jobs; CGI in Less Capable Hands—Embarrassing Political Ads; Video Games Can Now Outsell Blockbuster Movies; How Valuable is CGI to Hollywood Today?; The Magical Cursor; Latest Trend: Parodies and Anti-CGI.

Windows Tips for Quick Windows Explorer Navigation

by Jack Dunning

Windows Explorer in Windows Vista and Windows 7 (File Explorer in Windows 8) Offers Shortcut

While the more recent versions of Windows Explorer offer the same navigation features as Windows XP, there are a few more tricks for jumping back and forth between folders and files.

A Simple Way to Automate Any Windows Program, Plus an Age Calculating Function

by Jack Dunning

An AutoHotkey Script for Speeding Up Any Windows Program

Tired of navigating menus just to do something simple? Automate it in any Windows program with a single line AutoHotkey script. Plus, for the more AutoHotkey obsessed user, a function for age calculation explained.

Wally Wang's Apple Farm

by Wally Wang

The Illogical Corporate Thought Process

The Illogical Corporate Thought Process; Idaho School Children Learning on iPads; Whatever Happened to the Windows 8 Supporters?; Samsung's Galaxy S4; Paid to Lie; Non-Linear Screenwriting; Run Software Downloaded from Anywhere.

Editor's Letters: Tips and Thoughts from Readers

by ComputorEdge Staff

Computer and Internet tips, plus comments on the articles and columns.

"Adobe Reader Free/Better Replacement," "Tautology on the Internet"

Send mail to ceeditor@computoredge.com with questions about editorial content.

Send mail to webmaster@computoredge.com with questions or comments about this Web site.

Copyright © 1997-2013 The Byte Buyer, Inc.

ComputorEdge Magazine, P.O. Box 83086, San Diego, CA 92138. (858) 484-1998

Click to Visit ComputorEdge™ Online on the Web!

Digital Dave

“Digital Dave answers your tech questions.”
by Digital Dave

On Buying a Windows 8 Computer; Sync Center in Vista.

Buying a Windows 8 Computer

Dear Digital Dave,

Windows 8 has been out for about five months now. I hear that it's not doing very well. Should I avoid buying a Windows 8 computer?

Larry

Dear Larry,

I have to say that whether you should buy Windows 8 or not depends heavily upon what type of person you are. It's not as easy to advise someone on Windows 8 as it was for Vista. When Vista was launched Windows XP was the dominant operating system. XP has two things over Vista: it worked and Vista was a sluggish pig. While Vista did have some advantages over XP, it was not enough to switch millions of XP users. Today, Windows Vista is just a tiny percentage of the user base where there are still a substantial number of Windows XP users.

In the meantime, Windows 7 has overtaken Windows XP. Being a much better version of Windows, Windows 7 quickly extinguish Windows Vista as an option and became a viable alternative to XP. It has had steady growth since its introduction. With the exception of a couple of new features, Windows 7 operates in much the same fashion as both Windows XP and Windows Vista.

The problem with Windows 8 is that Microsoft decided that it would be two operating systems in one: one for computers and the other for tablets. The old Start Menu has been removed and replaced with the tablet interface called the Modern Start Screen. If you work almost exclusively in the Windows 8 Desktop, which is almost identical to Windows 7 without the Start Menu, then you will find that it is an excellent, quick operating system. The confusion is caused by the lack of a Start Menu and the need to learn at least a little bit about the Modern interface. This is why it matters what type of person you are.

If you look forward to learning new things and enjoy exploring, then Windows 8 may be ideal for you. There are plenty of apps for replacing the missing Start Menu (if you truly need it) and you will get faster boot times and a snappier computer. However, there is a learning curve which most people hate. If you want a computer system that you already know, then you may want to look for a Windows 7 computer. I think that more and more computer manufacturers are going to start putting Windows 7 computers back on the market.

From Woody Leonhard at InfoWorld, "The only saving grace? Some smart manufacturers — like Lenovo — are bowing to corporate wishes and (according to unnamed sources quoted at The Channel) now deliver more new PCs with Windows 7 installed than Windows 8. That could make a difference."

While Windows 8 is not taking the world by storm, the vast majority of the complaints relate to the new interface. It seems to be a technically sound product, but most people don't want to put up with the hassle of learning a new way of doing things. We had to do that twenty years ago when Windows was first introduced.

Some people think that the Mac or Linux is a viable alternative for people who don't want to deal with the new Windows 8 learning curve. That is just plain silly. There is just a much of a learning curve with the Mac or Linux for a current Windows user as there would be for Windows 8…maybe more. People who don't want to learn something new are not going to switch from Windows to a different operating system. No, they will stick with their current Windows as evidenced by the installation base of Windows XP.

If Microsoft were smart, they would come out with a version of Windows 8 which restores the Start Menu. Then people could ignore the Modern interface—as I pretty much do. People still want Windows, they just don't want to be jerked around by Microsoft. Maybe each Windows 8 computer should be sold with a learning course.

When I buy another computer it will be a Windows 8 computer. But that's the type of person I am. I've been using it long enough that it easy for me to get around. I've started using Jack Dunning's QuickLinks AutoHotkey app and it easily replaces most things I would do with the old Start Menu. Windows 8 is as stable as Windows 7 and a little faster.

Should you avoid Windows 8? No, but you better know what you're getting into before you buy. If you want to get a better idea of what you might encounter, check out Jack Dunning's e-book Misunderstanding Windows 8. It is full of cautions and warnings while giving the basic information needed to get started with Windows 8. It might tell you if you're the right kind of person for Window 8 or if you should stick with Windows 7.

Digital Dave

Sync Center in Vista

Dear Digital Dave,

According to your answer to my synchronization question, which followed your response to Chris Romel, I should be able to use my Vista Ultimate computer to set up folder synchronization with my Windows 7 Home Premium computer. However, I was unable to find instructions on how to "use Windows Explorer to map a drive to the target folder on the other computer", as you instructed.

In my search, I found that Windows Live Mesh and Live Sync are now obsolete and have been replaced by cloud-based SkyDrive. Perhaps the built-in SyncCenter in my Vista Ultimate system also has been made obsolete by SkyDrive; but, if not, I would appreciate your direction in how to "use Windows Explorer to map a drive to the target folder on the other computer"—because I would prefer to use a built-in direct computer-to-computer capability rather than either the cloud-based SkyDrive or a third-party application.

Rowland Byerly

Mesa, Arizona

Dear Rowland,

The primary purpose of the Windows Sync Center is not actually for backup, especially when two computer are connected all of the time. The primary purpose of syncing is to allow two devices access to the same files when they are not connected. Otherwise, Backup and Restore is generally a better backup option. Having said that, I see syncing as a backup to any primary backup. If one device goes down, you will still have the files on the other. However, there will be no incremental history. The files will be the same as of the last connection.

As for setting up a folder/file sync between a Windows Ultimate computer and a Windows Home computer, while I'm not positive that you must map the target drive or folder from your Windows Home computer to your Windows Ultimate machine, you will need to share it on your Windows Home computer so that you'll have access over the network.

When on the Windows Home computer in Windows Explorer, right-click on the drive or folder and select Share with or Properties. You can also use the "Share with" item in the menu at the top of the window. This will make the drive or folder available to your Windows Ultimate machine.

The syncing on Vista (your Ultimate computer) is done by making offline files available. It should be automatic once enabled available via the right-click menu, See this Microsoft page for more information.

"Files available offline" uses the Sync Center although you shouldn't need to enter the Center to start the pairing. You may need to enable the feature via the Control Panel. There is more information in the linked page.

I'm not sure if you actually need to map the drive to make the Sync Center pairing work (I no longer have that version of Vista available), but if you do, then on the Vista Ultimate computer navigate via "Network" in Windows Explorer to the appropriate drive or folder. Right-click on the drive or folder and select "Map Network Drive..." Or, press the ALT key and the old menu bar will pop-up at the top and in the Tools menu you should find "Map Network Drive..."

If needed, once the drive is mapped, you should be able to set up a pairing with the drive.

Here is another link for Vista Sync Center FAQs.

Digital Dave

Adventures with Computer Generated Imagery (CGI)

“Special Effects (SPFX or VFX) Add Visual Appeal to the Story Being Told”
by Marilyn K. Martin

Science Fiction Goes Hollywood; And Lo, it was Computerized and Called CGI; That New CGI Frontier: Blue Screens; Movie Actors "Lost" in CGI Animation; "Animation Nation"; CGI Shorts Land Hollywood Jobs; CGI in Less Capable Hands—Embarrassing Political Ads; Video Games Can Now Outsell Blockbuster Movies; How Valuable is CGI to Hollywood Today?; The Magical Cursor; Latest Trend: Parodies and Anti-CGI.

Almost as soon as movie-making began in the 1850s, special effects (SPFX or VFX) were developed to add to the visual appeal of the story being filmed. Or to try and trick an unsophisticated audience into ignoring that jittery frame-jump from a live actor to a lumpy dummy getting its head chopped off.

So the first VFX were simple stop-motion, time-lapse and multiple-exposures. By the early 1900s, innovative movie-makers were adding animation, matte paintings and stop-motion miniatures for monsters to come alive, or to depict never-seen worlds. (Although seeing the original King Kong today has you noticing how huge fingerprints seem to be shifting the hair around on ole' Kong every time he moves.)

By the 1950s, expensive new "technicolor" movies had directors and consumers demanding special effects that could realistically portray whatever the script called for. The Red Sea had to part for The Ten Commandments, and Forbidden Planet had to have an alien monster that wouldn't upstage the live actors (they used Disney animators).

Ray Harryhausen is in a league all his own since he used stop-motion miniatures, animation and compositing to create spectacular fantasy adventures like Jason and the Argonauts. That movie is so chock-full of antagonistic and mythological beasties, and Jason only has a sword, it's a wonder Jason didn't go home in a strait-jacket. Although it is rumored that several small boys first got the idea to "Call in an airstrike!" while watching that movie, and went on to become video game developers and make gazillions of dollars with military-overkill gaming.

Science Fiction Goes Hollywood

In the 1950s, most unrealism-moviemakers cranked out black-and-white B-movies about Radiation-Monsters and Invading-Extraterrestrials, to a public more enthralled with the special effects than the simplistic and repetitive storylines. Young people especially brushed aside the "stern lessons" that unregulated radiation can create 60-foot-tall insects. And opted instead for the popcorn-joy of watching irradiated monsters stomp across the landscape, while waiting to see how they'd inevitably be done-in by the military.

However dreadful, many of these B-movies are still around, and can be campy fun for a night's entertainment on a good couch with a better pizza. A site called FilmSchoolRejects lists "Seven Must See Monster and Alien Movies from the 1950s." The list includes such dubious classics as "Attack of the 50-foot Woman," "Creature from the Black Lagoon" and that iconic every-dread rolled into one monster—"The Blob."

And Lo, it was Computerized and Called CGI

When digital computers less-than-room-size became available in the 1960s, mainly for scientific engineering and other research purposes, Hollywood was watching. According to Huffington Post, the very first computer animation was created in 1963, which was a minute-and-a-quarter video with the ribald title of "Simulation of a Two-Gyro Gravity-Gradient Attitude Control System" out of Bell Laboratories. A few years later, John Whitney Sr. (animator, composer, inventor and one of the founders of computer entertainment animation), pioneered motion control and model photography for 2001: A Space Odyssey in 1968.

By the 1970s, Personal Computers were being constructed in garages by a new generation of "anything's possible" Young Turks, and quickly noticed by some young filmmakers who wanted to take Science Fiction into new and more complex universes. (Helped along no doubt by proximity. Moviemakers were in Southern California, and garages-soon-to-be Silicon Valley were in Northern California.) Computer Generated Imagery in that decade allowed George Lucas to fight realistic space battles in Star Wars, and Steven Spielberg to make no-pie-pan-on-a string UFO movies like Close Encounters of the Third Kind. It also helped Ridley Scott use wireframe model graphics to film the ultimate Science Fiction/Horror, monster-out-of-your-nightmares movie—Alien.

But CGI didn't get eye-popping realistic until 1993, with the release of the Steven Spielberg movie, Jurassic Park, about cloned dinosaurs. Suddenly there were humongous but realistic dinosaurs on-screen, who didn't move around in jerks dragging their tails, and actually interacted with live actors. Spielberg used animatronics and animation to create the creatures, and even hired a paleontologist to help portray the dinos as animals rather than monsters. (Although if you didn't forget to breathe at least once while first watching the velociraptors in the kitchen, you should have checked your pulse. And realized at that moment why you love zombies.)

That New CGI Frontier: Blue Screens

Suddenly actors were filming key movie scenes against a blue screen backdrop, for computer effects to build the rest of the scene around them. George Lucas created his own special effects company, Industrial Light & Magic (ILM), with brand new FX cameras that could perform complex motions around stationary spaceship models, as the Star Wars saga continued. Other filmmakers worked with Cray X-MP computers, which could turn out more science fiction movie special effects per movie than thought possible at the time—and on-budget.

Disney was quick to pick up on 3D-CGI, both special effects (like the original live-action Tron) and animation. The days of laboriously hand-drawing and painting animation cells were over. And when some Lucasfilm employees broke off to form Pixar, a whole new kind of 3D computer-only animation was born. Toy Story offered 3D graphics with fast-paced, clever stories that had enough subtle adult humor to keep mom and dad happy, alongside the kiddies more enthralled by the talking-toy personalities. Not too many years later, Disney bought Pixar.

Movie Actors "Lost" in CGI Animation

When Disney started their Pirates of the Caribbean movie series, the public was both enthralled and baffled how half-sealife men could be romping across the screen and mingling with live actors. And nothing was more arresting to watch than the creepy-crawly tentacle beard of the character Davy Jones.

Bill Nighy was the actor portraying the octopus-headed Davy Jones in the Pirates movies. He'd arrive on set among elaborately costumed actors and actresses, while he was "dressed" in grey pajamas and hat dotted with reference-patches, and his "makeup" consisted of white dots on his face, with dabs of octopus-color around his eyes and mouth. Lucas' ILM (now sold to Disney) toiled away on a thousand visual effects shots for just one Pirate movie.

For the fishy crew of Davy Jones, the VFX team referenced medical deformities and skin diseases, then added bits of fish, lobsters and barnacles. But those 46 writhing tentacles in Davy Jones' beard were a monumental headache to get right, since the filmmakers didn't want gooey or just-hanging-there tentacles. Animation supervisor Hal T. Hickel ended up screening Godzilla Vs. King Kong for his animators, since it contained a live red octopus crawling around on a miniature village, as a model for a natural-moving octopus. The team also developed an inter-tentacle motor to automatically move the applied tentacles in post-production computers, without having to resort to manually manipulating each tentacle, frame by frame.

"Animation Nation"

By February 2011, the Wall Street Journal was reporting that people with desk-top animation programs were suddenly turning out short videos in a matter of days—or hours. Do-it-yourself animation was now within everyone's grasp, and could be used as self-expression for everything from unleashing a rant at a boss, to being chock-full of insider jokes and serving as a niche "electronic business card."

Most of the graphics and characters in these everyman's animation programs were simplistic, with blocky characters and computer-monotone voices. But TV shows like South Park had pioneered the use of crude-looking animated figures to make biting, topical comments. Suddenly corporations, advertisers and Hollywood were taking notice. The most successful amateur video-makers were suddenly "taking meetings" or enjoying "cocktail party intros" in Hollywood. For the rest, counting YouTube "hits" was fame enough.

CGI Shorts Land Hollywood Jobs

Students can now attend college courses on digital animation and other CGI subjects. And posting finished projects on the Internet can be a virtual job resume. In 2012, Matthew Baker posted his 100% computer-generated still photo and senior project, Boat House, on Reddit. The fish-eye view may help hide any defects, but at first glance it looks totally real.

In 2009 a Uruguay student, Fede Alvarez, made a 5-minute video, combining live action with invading robots. Created on a $300 budget, Alvarez uploaded the video to YouTube on a Thursday—and was fielding Hollywood offers by Monday. He settled on a deal to make a sci-fi/thriller, full-length movie with a $30 Million budget. Alvarez went on to film a remake of Evil Dead, but revealed in January 2013 that he had to edit out some of the gore for an R rating. Sometimes CGI's realism can be more an impediment than a blessing....

Another impressive school-project-video-as-resume story turned up in early 2013. Kaleb Lechowski, studying digital film design in Berlin, Germany, made a science fiction short called "R'ha" that got noticed all the way to Hollywood too. The six-minute short took seven months to make and also centers around killer-robots, but this one is all animation with dialogue and a storyline. As of early March 2013, Kaleb was still working on his Hollywood offers, but had a Web site where he answered questions.

CGI in Less Capable Hands—Embarrassing Political Ads

"Attack of the 50 Foot Pelosi" was a political attack ad throw-back to those 1950s creature-features that, well, should have just been thrown back. Another off-kilter CGI political attack ad released on October 28, 2008 was a Halloween themed "Creepy Cauldron of Lies," about a candidate named Piluso. (Pelosi and Piluso? Sisters in another dimension? Now that's creepy!)

Video Games Can Now Outsell Blockbuster Movies

Video games with CGI continue to take interactive-animation into new and evermore complex universes. While video games in general have flat-lined, highly anticipated sequels to popular games can make more money in a few weeks after release than blockbuster Hollywood movies. Activision released "Call of Duty: Black Ops II" in November 2012, and it grossed an astounding $1 Billion in its first 15 days!

How Valuable is CGI to Hollywood Today?

If video games raking in more than blockbuster movies a few weeks after release aren't enough proof of the Power of CGI, a quick perusal of the Top Selling DVDs for 2012 will only reinforce that idea. Heavy CGI movies, from science fiction and fantasy to animated kids' movies, are top sellers in the DVD format. From Brave to Ted to Men In Black III, none of these could have been made without CGI.

The Magical Cursor

Sometimes, trying to explain how live-action and interactive animation can work together is more trouble than it's worth. Like trying to explain to a computer novice how a cursor works. It's easier to just show an example.

Latest Trend: Parodies and Anti-CGI

You know when a "trend-setting movement" has gone from scruffy innovators, through refinement and acceptance by mainstream society, to over-exposure and saturation when it reaches the stage of parody. Such is the current trend with CGI. YouTube is full of parodies, many of which just change the dialogue over movie or news clips. But for some unfathomable reason, Pixar's animated logo seems to have a gazillion YouTube parodies, like this, and this, and this.

And lastly, that great mouthpiece lip-locked with young and unemployed America, Cracked Magazine, ran an article on "6 Mind Blowing Special Effects You Won't Believe Aren't CGI." What isn't explained, however, is why filmmakers today with big stars would want to resort to rotating-hallways, water-canons and hand puppets, when mind-bending SPFX are just a mouse-click away. I'm guessing 75% of their budget went to the Big Star. Or maybe they just wanted to be retro-cool (or anachronistically-anal) and do everything The-way-we-did-it-when-I-was-a-boy!, and get flooded with free publicity from top literary magazines like Cracked...

Marilyn is a freelance writer and humorist, with a special interest (besides computers and technology) in Science Fiction. She has had short stories appear in the following 2011-2012 publications: Deadman's Tome online magazine; Strange Valentines anthology; Cosmic Crime anthology; PerihelionSF online magazine; and The Fifth Dimension online magazine. She has also sold a short story to appear in the March 2013 anthology, Universe Horribilis. She is also writing a Young Adult SF series, Chronicles of Mathias, and contributes weekly articles or humor columns to ComputorEdge.ComputorEdge E-Books has converted many of Marilyn's computer humor columns into four e-books. Now available in a four-book Kindle bundle from Amazon.com The Best Computer and Internet Humor, Anecdotes, and Jokes Found on the Web. Marilyn's collection of the funniest stories about our computing machines and how we use them at home, the office, and in cyber space. Save 25% off the individual book price!

Windows Tips for Quick Windows Explorer Navigation

“Windows Explorer in Windows Vista and Windows 7 (File Explorer in Windows 8) Offers Shortcut”
by Jack Dunning

While the more recent versions of Windows Explorer offer the same navigation features as Windows XP, there are a few more tricks for jumping back and forth between folders and files.

This Windows tip is one that you either already know (duh!), or, if it's new to you, you want to know it. In any case, it's a great time saver and has probably staved off the abuse of thousands of left-mouse clicks for my right index finger. The feature is part of Windows Explorer (File Explorer in Windows 8) in Vista, 7, and 8 versions of Windows. It's all about making navigation easier.

In Windows XP, to navigate to a new folder/file location you can use either the navigation pane on the left by clicking or directly edit the path in the field at the top of the window. In Windows Vista, 7, and 8, at the top of the Windows Explorer window next to the Search field, is the field containing the path of the current folder. (In Windows XP there is no Search field next to the file path field in Windows Explorer.) However, the path field in the more recent versions of Windows separates the levels of the folder structure with little arrows (see Figure 1). If you click on one of those folders between the arrows, Windows Explorer immediately navigates to that location.

Figure 1. In Windows Vista, 7, and 8, click on one of the levels in the folder path field (shown with red arrows) to jump to that location.

This is great for quickly changing levels, but if you want to open another folder which only requires a little editing of the path, the XP format is better. Fortunately, with a click of the mouse on the folder icon on the left, the path will change back to the old XP style editable path.

For example, I use issue numbers to separate the art and articles for each week of ComputorEdge. If I need to jump to a completely different issue, possibly to retrieve some art, clicking on the folder icon on the left side of the path turns the entire path into editable text—just like in Windows XP (see Figure 2).

Figure 2. By clicking the folder icon on the left, editing the issue number, and pressing ENTER, Windows Explorer (File Explorer in Windows 8) navigates directly to the new location.

By editing the issue number and hitting ENTER, I jump directly to the new location without navigating up and down the tree. In this case, I jumped from one Mac ZIP file for issue 3035 to the Mac ZIP for issue 3104 without any intervening steps (see Figure 3).

Figure 3. After hitting ENTER, The new location opens without any intervening steps.

This same feature usually pops up in the Open and Save dialogues of Windows programs. I can usually change an Open or Save file location by editing one or two digits in the path when working with various articles and graphic files. Maybe this is a trivial feature that everyone already knows, but I use both the single click format of the path field and the editable field for quickly changing folders.

While we're at it, there are a couple more shortcuts worth noting which could save you even more time and clicks. The back and forward buttons on the left side of the path field will quickly navigate to between two folders (see Figure 4). This will save the editing of the same folders. This is also available in Windows XP.

Figure 4. Quickly navigate back or forward to the previous folder or use the dropdown list of previous folders.

Or, possibly, your most recently used folders will appear in the dropdown list activated by the down arrow on the right side of the path field, also shown in Figure 4. The most recent items may appear—-even days later. Not everything needs to be done by climbing trees.

Jack is the publisher of ComputorEdge Magazine. He's been with the magazine since first issue on May 16, 1983. Back then, it was called The Byte Buyer. His Web site is www.computoredge.com. He can be reached at ceeditor@computoredge.com. Jack is now in the process of updating and compiling his hundreds of articles and columns into e-books. Currently available:

Just Released! Hidden Windows Tools for Protecting, Problem Solving and Troubleshooting Windows 8, Windows 7, Windows Vista, and Windows XP Computers.

Now at Amazon! Jack's A Beginner's Guide to AutoHotkey, Absolutely the Best Free Windows Utility Software Ever!: Create Power Tools for Windows XP, Windows Vista, Windows 7 and Windows 8.

Our second compilation of stupid ComputorEdge cartoons from 2011 and 2012 is now available at Amazon! That Does Not Compute, Too! ComputorEdge Cartoons, Volume II: "Do You Like Windows 8 or Would You Prefer an Apple?"

Currently only at Amazon.com, Jack's Favorite Free Windows Programs: What They Are, What They Do, and How to Get Started!.

Available from Amazon, Misunderstanding Windows 8: An Introduction, Orientation, and How-to for Windows 8! Also available at Barnes and Noble and ComputorEdge E-Books.

Available exclusively from Amazon, Windows 7 Secrets Four-in-One E-Book Bundle,

Getting Started with Windows 7: An Introduction, Orientation, and How-to for Using Windows 7,

Sticking with Windows XP—or Not? Why You Should or Why You Should Not Upgrade to Windows 7,

and That Does Not Compute!, brilliantly drawn cartoons by Jim Whiting for really stupid gags by Jack about computers and the people who use them.

A Simple Way to Automate Any Windows Program, Plus an Age Calculating Function

“An AutoHotkey Script for Speeding Up Any Windows Program”
by Jack Dunning

Tired of navigating menus just to do something simple? Automate it in any Windows program with a single line AutoHotkey script. Plus, for the more AutoHotkey obsessed user, a function for age calculation explained.

Simple, Powerful Automation for Windows Programs

Most programs have multiple ways to activate the various features. Generally, everything can be done with a few mouse clicks. As an alternative, menus often contain hotkeys which enable the use of the keyboard without the mouse. Yet either one of these methods can become tedious whether it's multiple clicks of the mouse or a series of keyboard strokes. Wouldn't it be nice to include those strokes in a one key macro? Programs such as Microsoft Word have a macro capability for recording and replaying actions. (A macro is a series of computer operations recorded and saved for later quick reuse.) But if you want to create and use macros in any of your Windows programs then AutoHotkey is the answer.

For example, when my spouse and I are on Skype with the grand kids, I like to capture video images of the kids while talking to them (see Figure 1).

Figure 1. A video image captured during a Skype session.

To snap an image I open the Call menu with a mouse click, hover over Video, then click Video Snapshot (see Figure 2). Normally, this would not be a big deal except that I'm sharing the space with their grandmother and it's not always easy to get to the mouse. Plus, by the time I snap the image the kids have completely changed their spontaneous pose. They tend to be constantly on the move.

Figure 2. The Call menu in Skype allows the capture of video images with the mouse.

For many Windows programs, including Skype, the menus can be accessed via the keyboard with a press of the ALT key. When the ALT key is hit, the menu is selected and the cursors may be used to navigate the menus with the ENTER key for making selections. In addition, the menu has hotkeys (noted by the underlined letters in the menu item, see Figure 3) which are keyboard shortcuts.

Figure 3. Keyboard shortcuts highlighted with the underlined letters help to quickly navigate a menu.

Even using the keyboard hotkeys shown in Figure 3 (ALT, a, d, v) is not easy when reaching across the desk during a video call session. The solution is to add only one line of code to an AutoHotkey script:

Ins::SendInput {alt}adv

This line of AutoHotkey code turns the useless INSERT key into a Skype hotkey for snapping images. It's fast enough to actually capture an expression which may only last a couple of seconds. No more fumbling with the mouse or keyboard combinations.

If you're new to the free AutoHotkey Windows utility software, then you may want to check out our Beginner's AutoHotkey Web page.

The Ins in the code designates the INSERT key as the hotkey. The action follows the double colon, ::, and includes the pressing of the ALT key, {alt}, followed by the three hotkeys, a, d, and v.

You could also use the exclamation point which represents the ALT key in AutoHotkey rather than alt in curly brackets,

Ins::SendInput !adv

but this technically instructs the ALT key be used in conjunction with the key following it (i.e. ALT+a simultaneously). This works in the example, but there may be some programs which require separate pressing of the two keys. Also, another quirk of using the exclamation point is that !A (with a capital A) would actually represent ALT+SHIFT+A, which may be a problem in some situations.

The other characters which affect the following letter when using the SEND or SENDINPUT command are ^ for CTRL, # for the Windows key (), and + for the SHIFT key.

Calculating Ages

Two weeks ago I introduced the GrandKids app which used AutoHotkey to calculate the age of grandchildren (or anyone else). All that's needed is the date of birth which is stored in an INI file. It uses a function I wrote for making the calculations. I must admit that it took me some time and a number of mental gymnastics to finally get to a result that works. (If you find a problem with it, please let me know.) It is much shorter than most of the other age functions I found, although I don't know if it's more accurate. It's worth the time to review this function because it gives a better understanding of the issues of working with dates, plus a few other cool AutoHotkey techniques.

Note: Last week I postponed this discussion because as I was going through the function I found some bonehead mistakes I'd made. I have since poured over the code correcting a number of errors plus finding better ways to accomplish some tasks.

What Is a Function?

An AutoHotkey Function is similar to a subroutine or a label which is a self-contained set of code. Functions are visually distinguished by the set of parentheses that immediately follow the function name (FunctionName() or FunctionName(Para1,Para2)). Functions differ from subroutines in that you may pass data to a function via parameters (items between the parentheses) or pass no data at all, but the parentheses must be there. Part of the power of functions is that variables are temporarily created as local values which will not affect the main routine. This makes it possible to use the same function in many different scripts with little or no tailoring of the function. A function may return values to the main routine or merely perform a repetitive task. Writing functions often eliminates the need to add repetitive code to a script since any time the code is needed it can be called with the function. It is often possible to use a function for routines where AutoHotkey labels do not work—especially if variable names are dynamically changing within the script.

A function can be called in AutoHotkey by simply placing it in the script as a line of code as is done in the GrandKids app:

HowOld(Birthday,A_now)

where Birthday is just that and A_now is the current date. Function can also be called by setting a variable to a returned value (Variable =: Function()). The command "Return x" is used to return a value from the function. (This is not the same "Return" used at the end of an AutoHotkey script, subroutine, or label to indicate the end of the code set. See the AutoHotkey Functions page for examples.)

The age calculation function in the GrandKids AutoHotkey app is called HowOld(FromDay,ToDay). The name of the function is HowOld using the parameters FromDay and ToDay. The FromDay (from day) would be the birthday (or any other date) and ToDay (to day) equates to the current date in the GrandKids app, but can be any date occurring after FromDay. The HowOld() function is used to calculate the difference in any two dates (years, months, days) as long as the "to day" is after the "from day" in the parameters.

Using the SubStr() Function to Parse Dates

You will note in the code below that the built-in AutoHotkey Substr() function is used a number of times to parse (break apart the components of) dates. The Substr() function is one of the most powerful and useful string (text) manipulation functions. In the case of the normal date/time format (yyyymmddhhmmss) the SubStr() function can be used to extract the year, month and date.

The SubStr() function uses the following format:

SubStr("text" or variable, start point, string length)

When using the date/time format the start point for the year (yyyy) is 1 with a length of 4 characters. The month (mm) starts on character 5 with a length of 2 characters. The day (dd) starts on character 7 with a length of 2 characters. This continues with the hour (hh), minutes (mm), and seconds (ss)—which are not used in this function. The following are the variations used and what they represent:

Year (yyyy) => SubStr(DateTime, 1, 4)

Month (mm) => SubStr(DateTime, 5, 2)

Day (dd) => SubStr(DateTime, 7, 2)

YearMonth (yyyymm) => SubStr(DateTime, 1, 6)

MonthDay (mmdd) => SubStr(DateTime, 5, 4)

The HowOld() Age Calculating Function

The following is the code for the HowOld() function:

HowOld(FromDay,ToDay)

{

Global Years,Months,Days

; If born on February 29

If SubStr(FromDay,5,4) = 0229 and Mod(SubStr(ToDay,1,4), 4) != 0 and SubStr(ToDay,5,4) = 0228

PlusOne = 1

; To calculate this month's length set ThisMonth to current year and month (yyyymm)

ThisMonth := SubStr(ToDay,1,6)

; Step 1. Set ThisMonthLength equal to next month

ThisMonthLength := % SubStr(ToDay,5,2) = "12" ? SubStr(ToDay,1,4)+1 . "01"

: SubStr(ToDay,1,4) . Substr("0" . SubStr(ToDay,5,2)+1,-1)

; Step 2. Convert ThisMonthLength from date to days saved in ThisMonthLength

EnvSub, ThisMonthLength, %ThisMonth%, d

; Set ThisMonthDay to FromDay or (if FromDay higher) last day of this month

If SubStr(FromDay,7,2) > ThisMonthLength

ThisMonthDay :=  ThisMonth . ThisMonthLength

Else

ThisMonthDay :=  ThisMonth . SubStr(FromDay,7,2)

; Step 1 to calculate last month's length

LastMonthLength := % SubStr(ToDay,5,2) = "01" ? SubStr(ToDay,1,4)-1 . "12"

: SubStr(ToDay,1,4) . Substr("0" . SubStr(ToDay,5,2)-1,-1)

LastMonth := LastMonthLength

; Step 2 days in last month saved in LastMonthLength

EnvSub, LastMonthLength, %ThisMonth% ,d

LastMonthLength := LastMonthLength*(-1)

; Set LastMonthDay to FromDay or (if FromDay higher) last day of last month

If SubStr(FromDay,7,2) > LastMonthLength

LastMonthDay :=  LastMonth . LastMonthLength

Else

LastMonthDay :=  LastMonth . SubStr(FromDay,7,2)

; Calculate Years

Years  := % SubStr(ToDay,5,4) - SubStr(FromDay,5,4) < 0 ? SubStr(ToDay,1,4)-SubStr(FromDay,1,4)-1

: SubStr(ToDay,1,4)-SubStr(FromDay,1,4)

; Calculate Months

Months := % SubStr(ToDay,5,2)-SubStr(FromDay,5,2) < 0 ? SubStr(ToDay,5,2)-SubStr(FromDay,5,2)+12

: SubStr(ToDay,5,2)-SubStr(FromDay,5,2)

Months := % SubStr(ToDay,7,2) - SubStr(ThisMonthDay,7,2) < 0 ? Months -1 : Months

Months := % Months = -1 ? 11 : Months

; Calculate Days

TodayDate := SubStr(ToDay,1,8)          ; Remove any time portion of date/time

EnvSub, ThisMonthDay,ToDayDate , d

EnvSub, LastMonthDay,ToDayDate , d

Days  := % ThisMonthDay <= 0 ? -1*ThisMonthDay : -1*LastMonthDay

; If February 28

Years := % PlusOne = 1 ? Years +1 : Years

Days := % PlusOne = 1 ? 0 : days

If (TodayDate <= FromDay)

Years := 0, Months := 0,Days := 0

}

The first line inside the function is:

Global Years,Months,Days

The Global command makes the variables Years, Months, and Days available to the main script. Otherwise they would be local variables—not available to the same variables in the main script. This line could also be located in the main script, but here the script becomes more universal with Years, Months, and Days available to any AutoHotkey script which includes the function. Remove the line and there is no output for the main script to use.

The Problem with Calculating Your Age

There is very little consistency in age units as described in any earlier AutoHotkey column. Most years have 365 days where one in four has 366 days. There are always twelve months, but the number of days in a month varies from 28 days to 31 days. A birthday can be any one of those days including a date which only occurs every four years (February 29th). All of this needs to be taken into account and each variation can affect not only the number of days since a birthday, but the months, and years.

Since it is the most unusual aberration, the first item taken into account is whether a person was born on February 29th:

If SubStr(FromDay,5,4) = 0229 and Mod(SubStr(ToDay,1,4), 4) != 0 and SubStr(ToDay,5,4) = 0228

PlusOne = 1

This conditional uses a couple of tricks to determine the matching date. First the AutoHotkey SubStr() function is used with the birthday (FromDay) to determine if it is February 29 ("0229"). No fancy calculations are needed here because it either is or isn't. (If someone enters a date which doesn't exist the function will still run although it will not calculate the days.) The second part of the conditional (Mod(SubStr(ToDay,1,4), 4) != 0) uses the AutoHotkey Mod() function (Modulo) to check if the current year is evenly divisible by 4. The Mod() function returns the remainder from the quotient of a division calculation. If the remainder is 0, then it's a leap year and February 29 exists. In this situation, the condition is met only if it is not a leap year (the remainder does not equal (!=) zero, Mod() != 0). Finally, today is February 28th, SubStr(ToDay,5,4) = 0228.

It turns out in age calculation that the only day that matters when you are born on February 29 is February 28 of non-leap years. This is because on those years you turn one year older on February 28—the last day of the month. On March 1 you will be one year and one day older. For purposes of this function, if this is a non-leap year, the birthday is February 29, and today is February 28th, then the variable PlusOne is set to the value of 1. At the end of this function, Years will be incremented by +1, and Days are set to zero to account for the missing February 29th.

Getting Older

On the day of your birthday date in any given month, you become one month older. Prior to that date, you are the number of days older from the birthday date in the previous month. In order to calculate the how many days you have added since last month, we need to know how many days there were in the last month. Plus, since someone may have a birthday date this month which does not exist (29, 30, or 31), we need to know how many days are in this month.

Calculating the length of a month in AutoHotkey is a two-step process. First, the year and month (yyyymm) for next month must be set. Then, to calculate the days in this month the EnvSub command is used to find the difference in days between this month and next month. (There may be an easier way to calculate the days in a particlular month in AutoHotkey, but I didn't find one.)

The variable ThisMonthLength is used temporarily to store the date (yyyymm) of next month. We start the month length calculation with:

ThisMonthLength := % SubStr(ToDay,5,2) = "12" ? SubStr(ToDay,1,4)+1 . "01"

: SubStr(ToDay,1,4) . Substr("0" . SubStr(ToDay,5,2)+1,-1)

This first step uses the Ternary Operator "? :" as shorthand for an "If" conditional statement using only one line. The single percent sign (%) tells AutoHotkey an expression is following. In this case the % sign represents "If." The question mark (spaces on both sides) starts the true condition (or "then") with the colon (:) designating the "else" or false condition. If this month is December (12,) then next month is January (01) of the next year (+1); otherwise next month is this month plus one month.

Based upon the discussion of the SubStr() function and date/time strings, you can see that the year, SubStr(ToDay,1,4), and month, SubStr(ToDay,5,2), are being used to determine the next month. If it's December (12), then the next month is January (01) of the next year (+1). Otherwise, 1 is added to the month. This last part needs more discussion due to a problem with adding or subtracting numerical strings.

If the number 1 is added or subtracted from the a number string such as "03" for March, the value is automatically converted to a numeric value and drops the leading zero. The new value becomes "4" or "2" without the space saving zero. This is critical for dates since the date/time string requires two characters for both the month and the day. To properly concatenate (or piece together) a new date after the calculation, any single digit months need to be padded with a zero (0) on the left end.

Padding a Text String

I originally constructed a method for padding the value of the newly calculated month because at the time I hadn't found a built-in AutoHotkey function for padding—which is common in other programming languages. I did this by adding 100 to the new month, then extracting the desired text:

Substr(100+SubStr(ToDay,5,2)+1,2,2)

By adding 100 there are no more leading zeros to be dropped. When the two digit month is parsed from the string, the leading 1 is dropped leaving a two digits string.

Since that time, I found a technique built-into AutoHotkey that makes left padding relatively simple:

Substr("0" . SubStr(ToDay,5,2)+1,-1)

This uses a variation of the SubStr() function to pad any string with any character or blank spaces. The function concatenates (combines) two strings: a string of the padding character, "0", and calculated value, SubStr(ToDay,5,2)+1. By using a negative number for the last parameter, -1, the function is told to extract characters starting at the end of the string. Zero is one character, -1 for two, -2 for three, and so on. The string of padding characters needs to be long enough for the maximum amount of padding needed. Since I only would need a maximum of one zero for padding, I use just one.

Note: Whenever concatenating two strings with the " . " operator, it is important to surround the period with spaces.

This built-in method of padding is superior to my technique not because it is shorter, but because it allows the padding for any type of string or text and the padding character can be almost any character, not merely zeros.

The second step in calculating the number of days in the month is by using the EnvSub command:

EnvSub, ThisMonthLength, %ThisMonth%, d

Remember that the value of ThisMonthLength is actually the year and month (yyyymm) of next month. The EnvSub command when used with one of the date/time parameters (in this case "d" for days), converts the input variable from the date format to the number of days, hours, minutes, or seconds. The original date format value is lost. By finding the difference between ThisMonth and ThisMonthLenght (at this point ThisMonthLength is actually the year and month of next month), the latter stores the number of days in this month in ThisMonthLength (converting the value from a date to a number of days).

Note: Unlike EnvSub, EnvAdd does not convert the value from the date format when using the date/time parameters. EnvAdd adds (or subtracts if a negative number) the number of days, hours, minutes, or seconds, then returns the new date in the datet/time format.

Did Your Birth Date Exist Last Month?

It is important to know what day a person becomes one month older. If born on a day less than the number of days in the month, then that is the day a month is added. If born on a date after the last day of the month which does not exist in the current month (possibly 29, 30, or 31), then another month is added on the last day of the month. Therefore the birth date day in this month is determined as follows:

If SubStr(FromDay,7,2) > ThisMonthLength

ThisMonthDay :=  ThisMonth . ThisMonthLength

Else

ThisMonthDay :=  ThisMonth . SubStr(FromDay,7,2)

The process is the same when finding the birth date for the last month later in this same age calculation function.

Calculating the Number of Days in Last Month

The same two step process is used to calculate the number of days in last month as was used in this month except we subtract rather than add. If it's January (01), then the month is changed to December (12) and 1 is subtracted from the year. Otherwise, 1 is subtracted from the month:

; Step 1 to calculate last month's length

LastMonthLength := % SubStr(ToDay,5,2) = "01" ? SubStr(ToDay,1,4)-1 . "12"

: SubStr(ToDay,1,4) . Substr("0" . SubStr(ToDay,5,2)-1,-1)

LastMonth := LastMonthLength

; Step 2 days in last month saved in LastMonthLength

EnvSub, LastMonthLength, %ThisMonth% ,d

LastMonthLength := LastMonthLength*(-1)

Next, the birth date of last month is set based upon whether the date exists in last month:

If SubStr(FromDay,7,2) > LastMonthLength

LastMonthDay :=  LastMonth . LastMonthLength

Else

LastMonthDay :=  LastMonth . SubStr(FromDay,7,2)

Calculating Years, Months, and Days

First the number of years of age is calculated based upon whether the birthday has passed:

Years  := % SubStr(ToDay,5,4) - SubStr(FromDay,5,4) < 0 ? SubStr(ToDay,1,4)-SubStr(FromDay,1,4)-1

: SubStr(ToDay,1,4)-SubStr(FromDay,1,4)

This can get a little confusing. Today's month and day minus the birthday month and day will be negative from January 1 until the birthday passes. Then the difference is positive until the first of the next year. If the value is negative (< 0), then the years are one less than a straight difference between the years. Otherwise the calculation is accurate.

Next the number of months is calculated:

Months := % SubStr(ToDay,5,2)-SubStr(FromDay,5,2) < 0 ? SubStr(ToDay,5,2)-SubStr(FromDay,5,2)+12

: SubStr(ToDay,5,2)-SubStr(FromDay,5,2)

Months := % SubStr(ToDay,7,2) - SubStr(ThisMonthDay,7,2) < 0 ? Months -1 : Months

Months := % Months = -1 ? 11 : Months

First, if this month is after January 1 and before the birth month, then the difference between the two will be negative (< 0). If so, then 12 months of age needs to be added to the negative difference between the two months. Otherwise, the number of months is the straight difference between the two dates with a couple of potential adjustments.

The two lines of code that follows adjust the number of months of age for whether the birth date day has passed and if the adjustment goes negative. A person is not one month older until the birth date day in the month (ThisMonthDay)—or the last day of the month if the birth date day doesn't exist in that month. Therefore if the day has not been reach, one month must be subtracted from the total (Months -1). Next if a zero number of months (birth month) goes negative, then it needs to be reset to 11 months.

The last calculation is the remaining Days of age after the Years and Months:

TodayDate := substr(ToDay,1,8)

EnvSub, ThisMonthDay,ToDayDate , d

EnvSub, LastMonthDay,ToDayDate , d

Days  := % ThisMonthDay <= 0 ? -1*ThisMonthDay : -1*LastMonthDay

First the ToDay variable is trimmed of any time (hhmmss) components and stored in the TodayDate variable (TodayDate := substr(ToDay,1,8)). I found that if I used the date/time stamp without trimming it, in the following calculations it would round up to the next day causing errors in some of the ages. This trimming can be done early on (and probably should), then used throughout the function.

There are two calculations made with the EnvSub command. The first is the number of days from the birth date day of this month to today and the second is the number of days from the birth date day of this month to today. If the first calculation is negative or zero (ThisMonthDay <= 0), then the number days is equal to the days since the birth date day in this month (-1*ThisMonthDay). (Since the calculation will be negative, it's necessary to multiply by -1.) Otherwise, it is the number of days since the birth date day last month—also a negative number (-1*LastMonthDay).

Adjustment for February 29 in Non-Leap Years

Finally, one last adjustment is need for February 28 birthdays in non-leap years when the date is February 28:

Years := % plusone = 1 ? Years +1 : Years

days := % plusone = 1 ? 0 : days

First, if it's the 28th, one year is added since there will be no 29th. Second the Days are now zero with the added year. There is no adjustment since it was already calculated to 0 months.

The last item is a trip in case someone enters a birthday after today's date:

If (TodayDate <= FromDay)

Years := 0, Months := 0, Days := 0

People don't start to age until they are born. Notice that there are three lines of code on one line separated by commas. No need for curly brackets ({}) here.

I posted the complete GrandKids 6.ahk file in the ComputorEdge AutoHotkey Dropbox for your perusal.

Jack is the publisher of ComputorEdge Magazine. He's been with the magazine since first issue on May 16, 1983. Back then, it was called The Byte Buyer. His Web site is www.computoredge.com. He can be reached at ceeditor@computoredge.com. Jack is now in the process of updating and compiling his hundreds of articles and columns into e-books. Currently available:

Just Released! Hidden Windows Tools for Protecting, Problem Solving and Troubleshooting Windows 8, Windows 7, Windows Vista, and Windows XP Computers.

Now at Amazon! Jack's A Beginner's Guide to AutoHotkey, Absolutely the Best Free Windows Utility Software Ever!: Create Power Tools for Windows XP, Windows Vista, Windows 7 and Windows 8.

Our second compilation of stupid ComputorEdge cartoons from 2011 and 2012 is now available at Amazon! That Does Not Compute, Too! ComputorEdge Cartoons, Volume II: "Do You Like Windows 8 or Would You Prefer an Apple?"

Currently only at Amazon.com, Jack's Favorite Free Windows Programs: What They Are, What They Do, and How to Get Started!.

Available from Amazon, Misunderstanding Windows 8: An Introduction, Orientation, and How-to for Windows 8! Also available at Barnes and Noble and ComputorEdge E-Books.

Available exclusively from Amazon, Windows 7 Secrets Four-in-One E-Book Bundle,

Getting Started with Windows 7: An Introduction, Orientation, and How-to for Using Windows 7,

Sticking with Windows XP—or Not? Why You Should or Why You Should Not Upgrade to Windows 7,

and That Does Not Compute!, brilliantly drawn cartoons by Jim Whiting for really stupid gags by Jack about computers and the people who use them.

Wally Wang's Apple Farm

“The Illogical Corporate Thought Process”
by Wally Wang

The Illogical Corporate Thought Process; Idaho School Children Learning on iPads; Whatever Happened to the Windows 8 Supporters?; Samsung's Galaxy S4; Paid to Lie; Non-Linear Screenwriting; Run Software Downloaded from Anywhere.

One of the few true innovations from Microsoft was Visual Basic. Before Microsoft introduced Visual Basic, programmers had to write code to make their program work and then write additional code to create a user interface. Even worse, every programmer tended to create different types of user interfaces, which made learning any program difficult.

When Microsoft introduced Windows, they offered a standardized user interface so all programs had pull-down menus, dialog boxes, and buttons. Even though Microsoft made a standard Windows user interface for programs, creating a Windows user interface for a program still required writing code, typically using the cryptic C programming language.

Visual Basic changed all that. Instead of forcing programmers to use the powerful, but easy to abuse C programming language, Visual Basic let people use the much simpler BASIC programming language. Instead of forcing programmers to write code to create their own user interface, Visual Basic let you visually design your user interface and then attach BASIC code to make it work.

By itself, Visual Basic unleashed the creative programming skills of non-programmers by giving them the power to write Windows programs. Even C/C++ programmers often used Visual Basic to create their user interfaces and then substitute C/C++ code for optimum speed and efficiency. If you wanted to write Windows programs without learning the complexities of C/C++, Visual Basic let you create programs faster and easier that were also more reliable. Given a choice between writing a Windows program in Visual Basic or C/C++, Visual Basic could create a reliable, working program much faster.

After revising Visual Basic to version 6.0, Microsoft got the bright idea of making Visual Basic more object-oriented like C++, but capable of running on their .NET framework. That's when they killed Visual Basic 6.0 and created VB.NET instead. Unlike the traditional Visual Basic programming language that simplified programming, VB.NET mostly replaced C# code with equivalent Visual Basic commands, making Visual Basic suddenly as hard to learn and use as C#.

Once Microsoft gave their C# programming language the same ability to visually design a user interface, Visual Basic lost its primary advantage. Then when Microsoft made the VB.NET language nearly as complicated to read and write as C#, Visual Basic lost its second primary advantage. Given a choice between C# or VB.NET, there was no advantage to using VB.NET anymore.

Even worse, the wisdom of corporations decided to pay Visual Basic programmers less than C# programmers. The theory is that Visual Basic is an easier language to use, so Visual Basic programmers deserve less. That's like saying companies should pay people more to use a quill pen and an ink well instead of a word processor because writing with a word processor is easier, so therefore anyone who uses a word processor deserves less, completely ignoring the quality and speed of their work.

This corporate insanity further drove programmers away from Visual Basic. If they were going to get paid less for doing the same work, just because of the programming language they used, programmers decided they might as well learn and use C#. As a result, Visual Basic still lingers, but its future is far dimmer than competing programming languages like C# or Objective-C.

Why corporations decided that Visual Basic programmers deserved less just because they used a faster and more efficient tool makes zero sense. The real goal is to create reliable programs quickly regardless of the programming language used. Corporations might as well pay programmers more if they only type with one hand instead of using both hands, or if programmers typed using a stick in their mouth instead of using their fingers on the keyboard.

If this is the mentality behind corporations, you can understand why so many corporations keep failing. Any executive who believes in paying Visual Basic programmers less because of the perceived ease of programming deserves to be fired immediately and banned from ever making any corporate decisions again.

Although most Visual Basic programmers have long since defected to C#, others have switched to Real Studio, which is a close clone of Microsoft's old Visual Basic 6.0. Besides giving programmers the simplicity of the old Visual Basic language, Real Studio also lets you create Windows, Linux, and Mac OS X programs. Later this year, Real Studio will also let you create iOS programs so you can use the familiar Visual Basic language to create iPhone and iPad apps.

Most likely corporations will pay Objective-C programmers more to be less efficient in creating iOS apps than Real Studio programmers. Despite the insanity of corporate mentality, you can start learning Real Studio now to get ready for creating iOS apps later. Then you can start creating iOS apps using the faster and simpler Visual Basic language while everyone else struggles, gets paid more, and creates less reliable programs using Objective-C. In return for your greater efficiency using Real Studio, you can get paid less as your reward, unless you work for a rare company that actually values results instead of paying you based on their perceived value of the programming language you use.

Idaho School Children Learning on iPads

The Paul Elementary School in Paul, Idaho recently ran a pilot program with both teachers and students using the Apple iPad as their primary teaching tool. The school saw great results after just a few months. Principal Colleen Johnson of Paul Elementary School found that excited teachers and students took ownership of the education process, and the students actively participated.

Besides making teaching more effective and learning more interesting, the iPad also saves the school money just by reducing paper. Paul's principal put the savings at $20,000 per month due to not having to copy paper in addition to saving money by not buying bulky textbooks that quickly go out of date.

PCs have been in school for decades and likely improved education, but schools are quickly finding that the iPad can engage students in ways that traditional PCs cannot. With so many positive examples of schools using the iPad to improve learning, it's only a matter of time before tablet computers become as common in the classroom as laptops and desktop computers.

When today's elementary school children grow up and graduate into the working world, they'll likely accept tablets as normal, useful computing devices. Tell them that at one time, many people insisted that tablets would fail because they lacked a replaceable battery, wouldn't run Flash, and didn't come with a physical keyboard, and they'll likely stare in wonder that anyone could possibly have been that short-sighted.

Whatever Happened to the Windows 8 Supporters?

At one time, there was a site called Windows 7 News, that later changed its name to Everything Microsoft. This was the site where long-time Apple critic, Mike Halsey, claimed that the iPad would fail because people would rather buy and use Windows 7 on Tablet PCs instead.

Yet now when you visit this Everything Microsoft site, it seems strangely silent and disorganized. Instead of posting recent news about Microsoft, it seems abandoned with its appearance skewered as if someone just got tired of updating it and walked away. Even Mike Halsey's original essay about why the iPad would fail can no longer be found for posterity to read and marvel over while iPad sales continue to increase and the number of Windows 7 Tablet PC users remains nearly invisible.

Mike Halsey's own site, The Long Climb also seems strangely quiet with its last update occurring in the fall of last year, right about the time Microsoft introduced Windows 8. For two sites that used to post regular updates about Microsoft products while predicting the failure of the iPad and touting the superiority of Windows over the Macintosh, this sudden silence seems puzzling.

Certainly these pro-Microsoft sites should have something new, interesting, and exciting to report to the multitude of people who love Windows 8 and Microsoft Office 2013. Where are all the stories from enthusiastic customers who can tell everyone how Windows 8 has made their business more productive and their students more engaged in learning?

With over 60 million Windows 8 licenses sold so far, there should be millions of happy Windows 8 users that these two pro-Microsoft sites could highlight as one of many positive and inspirational stories demonstrating the clear superiority of Windows 8 over anything else on the market. In the meantime, you can visit Paul Thurrott's site for a pro-Microsoft site that's still providing Microsoft-related news.

If you read his March 13, 2013 blog post about the problems with Windows 8, he complains "And no offense, Microsoft, but customers have alternatives now beyond expensive Macs being pushed by deceitful 'I'm a Mac' ads on TV. Wake up."

Besides not clarifying what he found deceitful about Apple's ads, Paul Thurrott also neglects to mention that Apple stopped running those "I'm a Mac" ads back in 2010. To claim that Apple is pushing "expensive Macs" using ads that haven't aired for the past three years seems a bit unusual, if not a bit deceitful in itself.

If you prefer reading news slanted in favor of Microsoft that includes plenty of attacks on Apple that rarely stand up upon closer examination, give Paul Thurrott's site a try and see what you think. Just visit it fast before it disappears one day too.

Samsung's Galaxy S4

At one time, Motorola's Droid became synonymous with Android phones that could rival the iPhone. Then Samsung's Galaxy arrived and gradually became the top selling Android smartphone. However, with Samsung's latest release of the Galaxy S4, Samsung has made a curious change. The company ignored any mention of Android and focused on its software features that are unique to Samsung.

By emphasizing unique software features, Samsung hopes to make the Galaxy S4 stand out from the pack of rival Android phones. Even more interesting is Samsung's introduction of its own store, separate from Google's store.

First, Amazon modified Android to create their own version for the Kindle Fire tablet. Now Samsung appears headed in that same direction, creating their own unique offerings separate from the Android app store. To further distance themselves from Android, Samsung even offered new features just for their own smartphones, geared for enterprises. Curiously, Samsung claims that their Galaxy S4 is safe for enterprise use along with Apple's iPhone, but every other Android phone on the market is not safe.

Figure 1. Samsung claims that all other Android smartphones aren't safe to use in the enterprise.

Samsung realizes that they can't be just another Android smartphone manufacturer, but they need to be something more. That means modifying Android to the point where it's no longer just an Android phone and more of a distinctive Samsung phone. Samsung is also reportedly working with Intel on the Tizen operating system, which could one day rival Android.

Android isn't a bad operating system, but with Amazon and Samsung creating their own versions, Google may be losing control of Android. As other companies see how Amazon and Samsung fare with their modified versions of Android, they might be tempted to modify their version of Android too.

The goal, of course, is to offer a unique product so customers will have no choice but to buy that product from one company, which is a business model that Apple has successfully used since introducing the iPhone back in 2007. If you're going to copy any company, you might as well copy the ones that are succeeding.

Paid to Lie

Whenever pro-Microsoft supporters read anything that supports Apple or presents objective and verifiable facts that criticize Microsoft, they immediately claim that the person presenting this information must have been paid by Apple. According to these conspiracy theorists, nobody in the world would ever buy an Apple product or say anything positive about them. That means that everyone on the planet who uses an Apple product and states verifiable facts about their products must have been paid by Apple. If everyone is being paid by Apple to use their products and make positive statements about them, how can Apple possibly make any money if they have to pay everyone to use and promote their products?

While anti-Apple critics are quick to point out that Apple must pay people to promote their products while using verifiable facts to criticize Microsoft, nobody thinks the opposite that other companies could also pay people to promote their products while not using verifiable facts to criticize Apple.

In China, that's exactly what happened when Samsung spokesman and Taiwanese movie star, Peter Ho, posted a negative comment about Apple on China's social media network Weibo. When posting his comment, Peter inadvertently left in "Post at 8:20," which appeared to be instructions telling celebrities what time to post their anti-Apple comments.

Weibo users scoured the network and quickly found that other celebrities had posted similar anti-Apple comments at the same time. Apparently someone paid celebrities to bash Apple on China's popular social media network and convince others that it was nothing more than a flurry of legitimate, negative complaints against Apple.

So for all those conspiracy theorists who believe that only Apple must pay people to criticize others, you can ignore this evidence that other companies do this instead. Then you can get upset and complain that you don't like reading verifiable facts that you don't want to acknowledge, even if they are true. After all, why let facts contradict your way of thinking if you never used facts to come up with your way of thinking in the first place?

Non-Linear Screenwriting

In the old days, people used to print information on scrolls. Unfortunately, scrolls force you to read and write in a linear fashion. If you wanted to read a novel printed on a scroll, you had to start at the beginning and scroll all the way to the end. If you ever tried to find a favorite song on a cassette tape, you know how scrolling can be cumbersome compared to just jumping to the song you want to hear using a CD or digital file.

Unfortunately, most word processors still follow this "endless scroll" mentality, especially screenwriting word processors. Two of the most popular screenwriting word processors are Final Draft and Movie Magic that automatically format text to fit within the screenplay format with character names capitalized in the center of the page and dialogue indented and centered as well.

Trying to use an ordinary word processor to format a screenplay can be cumbersome, so screenwriters use special screenwriting software instead. Both Final Draft and Movie Magic use proprietary file formats, which have helped them maintain their position in the screenwriting community. However, both programs force you to view an entire screenplay as an endless scroll. If you only want to edit one scene, or rearrange scenes, you have to do a lot of scrolling and cutting and pasting.

To eliminate this problem, look at a new screenwriting program called Movie Draft. What's unique about Movie Draft is that it offers a non-linear way to view and edit a screenplay.

As you write, the left side of the Movie Draft window displays a list of your scenes. Now rather than cut and paste text to rearrange a scene, you can just drag and drop your scene title among this list of total scenes. Dragging and dropping a scene title is far faster and more reliable than cutting and pasting your actual text.

Movie Draft also lets you include yellow sticky notes so you can jot ideas down on your text. These notes won't print when you print your screenplay, but they can provide additional space for you to keep track of ideas without typing them directly in your screenplay.

Figure 2. Movie Draft lets you place yellow sticky notes on your script.

Since seeing your entire screenplay at once can get distracting, Movie Draft can display a single scene at a time. Now you can focus on that one scene and not worry about the rest of your script until you're done writing that one scene.

Despite its name, Movie Draft also includes templates for writing stage plays too, so you can write screenplays or stage plays using a non-linear word processor. When you want to jump to a particular scene to edit, just click on that scene title in the left side of the Movie Draft window. Now you can avoid the endless scrolling problem of traditional screenwriting word processors.

Best of all, Movie Draft is only $29.99 and runs on both Windows and Mac OS X. The programmer created Movie Draft using Real Studio, so that way he could write the program once and compile it for both Windows and Mac OS X while using the much simpler Visual Basic programming language to work faster and create a more reliable program at the same time.

If you need to write a screenplay or stage play and don't want the inconvenience of the "endless scrolling" problem of traditional word processors, give Movie Draft a try. You can download a free demo and view video tutorials to see what you think.

*                    *                    *

If you're using OS X 10.8 Mountain Lion and try to download and run a demo program like Movie Draft, your Macintosh may stop you. That's to protect you from malicious software, but if you want to install and run a legitimate program, click the Apple menu and choose System Preferences to open the System Preferences window.

Now click the Security & Privacy icon, click the General tab, click the Lock icon so you can modify your security settings, and select the Anywhere radio button to let your Macintosh run software downloaded from anywhere.

Figure 3. You need to unlock the GateKeeper security feature to install and run demo programs on OS X 10.8.

After you get a program installed and running, repeat the above steps except choose the Mac App Store or Mac App Store and Identified Developers radio button.

In the early days, before Wally became an Internationally renowned comedian, computer book writer, and generally cool guy, Wally Wang used to hang around The Byte Buyer dangling participles with Jack Dunning and go to the gym to pump iron with Dan Gookin.

Wally is responsible for the following books:

My New Mac, Lion Edition

My New iPad 2

Steal This Computer Book

Microsoft Office 2010 For Dummies

Beginning Programming for Dummies

Beginning Programming All-in-One Reference for Dummies

Breaking Into Acting for Dummies with Larry Garrison

Strategic Entrepreneurism with Jon and Gerald Fisher

How to Live with a Cat (When You Really Don't Want To)

The Secrets of the Wall Street Stock Traders

Mac Programming For Absolute Beginners

Republican Fairy Tales (Children's Stories the 1% Tell About the Rest of Us)

The Zen of Effortless Selling with Moe Abdou

The 15-Minute Movie Method

Erotophobia (A novel)

In his spare time, Wally likes blogging about movies and writing screenplays at his site "The 15 Minute Movie Method." Wally can be reached at wally@computoredge.com.

Editor's Letters: Tips and Thoughts from Readers

“Computer and Internet tips, plus comments on the articles and columns.”
by ComputorEdge Staff

"Adobe Reader Free/Better Replacement," "Tautology on the Internet"

Adobe Reader Free/Better Replacement

[Regarding the March 8 Digital Dave column:]

Long ago, I gave up on Adobe's PDF Reader, noting it had become an incredibly huge program to just display PDF files. So huge, it needed to run a small bit of it all the time to get a reasonable start time for actually displaying those PDFs.

I found a fantastic, free, alternative, Foxit Reader. Smaller, quicker to load, and still free. Even better, it has a "typewriter" tool, so even on PDFs that aren't made with fill-able forms, you can still fill them in (or insert text wherever you want)! I use that feature regularly!

And no, I'm not affiliated with them, just love the program.

-Rich Ernst, San Diego, CA

I agree with Rich. Foxit Reader is a great program and has been around a long time now. And it's free as well.

-John H., Encinitas, CA

Wow, you did it again! I went to the trouble shooting page that you linked to and chose the option to download from a different Adobe page. Thanks also to Rich and John since their suggestion about Foxit sounds worth trying. I was sure you and your readers would come through again and help with a problem that has gone on for months!

-Sandy, San Diego, CA

I use Sumatra PDF for reading PDF files on Windows machines. It is free, open source, and doesn't phone home. It can be run as a portable application (doesn't require installation). While not having all the features of Foxit Reader, it is half the size. Sumatra PDF does a straight-ahead job of PDF viewing, as well as eBook ePub, Mobi, XPS, DjVu, CHM, CBZ and CBR files.

-Dennis, San Diego, CA

Tautology on the Internet

[Regarding ComputorEdge Staff's March 8 article, "Does Repetition on the Internet Make It True?":]

Loved this article! As a high school English teacher, I must push my students to get away from Wiki-whatever's and to use valid, honest, primary sources in their research, including the actual work they are researching. Every year at least one student tries to merely regurgitate other writers' works (often using cut-and-paste) with little or no original thought, and it is an ongoing challenge to teach them proper methodology, especially when there is so much interesting junk on the Internet.

As well as being spot-on, your article was published with perfect timing. My senior class is gearing up to write an analytical, argumentative essay, and the examples in the e-mail (including the need for ethics in research) helped me focus on what I want to discuss on the subject.

Thanks for a timely, intelligent article!

-Maxine Morgan, Ekalaka, MT

Brilliant! Connell should write a book about these issues; certainly there seem to be enough examples of sloppy thinking out there (e.g., the current furor about conventional nutritional guidelines and the poor or non-existent science behind them).

-Bill Porter, San Marcos, CA

This article proves what I have believed for years. The so-called scientific studies that "prove" that everything causes cancer are so much BS. I used to get in arguments with my fellow workers because they would jump me for smoking because it "causes" cancer. I knew from my reading that if you didn't already have it in your genes, smoking would not "cause" cancer. It might cause you to get other lung related disease, but not cancer. Remember when the first artificial sweetener was proven to cause cancer in lab rats? They didn't tell you that to get the same results in a human, they would have to drink (I believe) something in the order of 200+ cans of soda per day for years to get the same results. That is why I don't and never will believe any "scientific" study.

-Chris Clarke, Waxhaw, NC

Fun article. And recently, I noticed a collection of broken computers, each with a mouse attached. There was "a very strong association" between the computers and the mice and therefore you can conclude that mice cause computers to break, right?

In another realm, once upon a time, the Earth was flat, and because the masses believed it, it must have been true. I guess that somewhere along the way it warped because now most people believe that the Earth is not flat. I wonder what the Internet says about that…

-Rob Spahitz, San Diego, CA

ComputorEdge always wants to hear from you, our readers. If you have specific comments about one of our articles, please click the "Tell us what you think about this article!" link at the top or bottom of the specific article/column at ComputorEdge.com. Your comments will be attached to the column and may appear at a later time in the "Editor's Letters" section.If you want to submit a short "ComputorQuick Review", or yell at us, please e-mail us at ceeditor@computoredge.com. If you would like to review our recent e-books, please visit ComputorEdge E-Books.

Send e-mail to ceeditor@computoredge.com with questions about editorial content.

Send mail to cewebmaster@computoredge.com with questions or comments about this Web site.

Copyright © 1997-2013 The Byte Buyer, Inc.

ComputorEdge Magazine, P.O. Box 83086, San Diego, CA 92138. (858) 484-1998

Click to Visit ComputorEdge™ Online on the Web!