Tuesday, December 20, 2011

Cell-Phone Funny

Today I'm going to post a link to another blog. I like reading this blog because the entries are always thoughtful, sometimes deep, and a combination of angst-ridden, pragmatic and humorous that works for me. The author writes about her life, past and present, good and bad, with a candor and a style that are rare among writers today. I wish I knew this author in person. We'd probably be good friends.

Today's blog entry is about a trip to the T-mobile store with a bored six-year-old in tow, in order to replace a 20-year-old cellphone. When she finally got around to leaving, she collected her son, who had been playing with all of the demo phones in an effort to relieve his boredom - and on her way out the door, she noticed his face looking back at her from every one of those demo phones.

Go read it, and enjoy the rest of the story.

Friday, November 18, 2011

About "Breaking Dawn" and other vampire movies

I'm going to write a book and a movie about a bunch of pale, morose, teenage-boy vampires at a middle school in Colorado. I'm gonna call it "Breaking Wind." I'll be a millionaire by this time next year.

Sunday, November 13, 2011

Slow and Steady Wins the Race

Okay kiddies, time for a little bit of politics.

Mama Zyzmog and I are registered independents. We like it that way. It turns out that the Colorado voter base is almost evenly split, 1/3 each, among Dem, GOP, and independent.  We're an independent bunch out here in the West.

We've been following the Republican race for the presidential nomination because, frankly, the Democratic race is boring this year, and we don't have Stephen Harper or Silvio Berlusconi to kick around.  I've watched the evangelicals and other Christians ganging up on Mitt Romney, and I confess that I've watched with a mixture of irritation and incredulity as these people dare to say, in public, that they won't vote for him simply because he's a Mormon.

I shouldn't have been shocked when I found out that a large number– I'd say a vast majority – of Mormons are planning to vote for him simply because he is a Mormon.  Doesn't anybody use their brains anymore?  Hey, listen – I know a lot of Mormons, and there are some of them that I definitely wouldn't want for President.  But I feel exactly the same way about evangelicals.  As far as I'm concerned, a person's religious affiliation neither qualifies nor disqualifies him for the Executive Office.  I'm going to vote for a president based on his (or her) merits, character and potential for success – oops, I mean potential for leadership.

Anyway, have you all noticed this interesting phenomenon in the Republican race?

It seems like there's always a new rising star, a new challenger to the Mittster, who surpasses him in the polls and stays there for a while.  It could be a few days or, if they're lucky, a couple of weeks, and then they go diving down into the single digits.  Michelle Bachmann was the first, then Rick Perry, then Herman Cain.  And now it's Newt Gingrich's turn on the mechanical bull.  He's still up on top right now, I think, or at least sharing top billing with the Guv.

And what's Mitt's response to all of this?  Nothing!  He doesn't attack them, he doesn't do anything except follow his game plan.  What happens to his poll results?  Nothing!  No change, up or down.  He's always within a few percentage points of 21% or 22%.

My prediction is this:  Gingrich will fade over time, just like all the others.  A new challenger will rise up, and another one after that, and they will follow the same trajectory as all the others.  And maybe another one after that. One would think that the American voters would be a rational bunch, and go for the leader who shows the most consistency.  And believe me, Mitt has been nothing in this race if not consistent.  He's the natural choice, the logical choice, the only one whose numbers haven't seesawed up and down as time has passed.  But American voters have never been a rational bunch.  They'll vote for whoever's flying highest when their states hold their primaries, or when the convention is held in Tampa Bay in August.

(Not that I'm endorsing Mitt Romney or anything, but did you notice that nobody has mentioned how Mitt saved the Olympics?  In case nobody remembers, he was hired in 1999 by the Salt Lake City Olympic Games Organizing Committee to salvage what was left of the 2002 Olympics, after it had suffered at the hands of incompetent and corrupt managers. He turned it from an abject failure into an overwhelming success.  I've read recent articles analyzing his business career before then, and analyzing his political career afterwards, but I haven't read anything recently about his Olympics career. Maybe I'm not looking in the right place.)

Ed note:  Originally, this post said "Franco Berlusconi."  Maybe that's Silvio's kid brother.

Friday, November 11, 2011

In Defense of Childish Things

Growing up is highly overrated.

One of the most irritating things I have ever heard is the phrase, "Oh, grow up."  It's usually delivered in a superior or condescending tone, by someone who disapproves of someone else's behavior or attitude.  If you want to get Biblical, it was the apostle Paul who said that when he was a man, he "put away childish things."  On the other hand, it was Jesus Christ himself who said that we must all become "as little children."  I have observed over the years, and have become convinced, that people who "grow up" and dispose of the last remnants of childhood lead sad and miserable lives.

You know, there's a difference between "childish," with its connotations of immaturity and naïvété, and "childlike," with its connotations of simplicity and lack of guile.  Here are five childlike attitudes that we all should retain throughout our lives, even after we "grow up."

1. A sense of wonder
This is what motivates the child, who picks up a red maple leaf in the fall.  He examines the shape of the leaf, the intricate vein pattern, the splashes of color in a leaf that used to be a solid green, and he remembers the way it floated down from the tree.  He wonders "how ...?" and "why ...?" and once in a while, without a question mark, he wonders "oh, wow."  He experiences the same wonder at the blue sky, dinosaurs, mountain heights and ocean depths.  Wonder and discovery drive people to become doctors and scientists.  Wonder is also the source of our natural appreciation of beautiful things.  It's what makes us gasp at a sunrise, stare at a pretty girl, and get choked up when listening to a particular piece of music.  Wonder is what keeps us learning for our entire lives, and, as my friend Kent Galloway once said, "The day I stop learning is the day it's time to die."

2. A sense of delight
This is where "fun" comes from.  It's what makes food taste good.  It's what makes us laugh.  It's why people still drive old Ford Mustangs.  Playing hard and working hard, doing things with your body, are a delight.  A healthy sense of humor stems from this sense of delight, as do pleasure, and enjoyment of the more refined things in life.  But children seem to find delight in the simplest, most mundane things – sometimes even in tedious things.  If you can't look back on what you did during the day, and think of one thing that makes you say "Whew! That was fun!" then you are living your life wrong.

3. The ability to love unconditionally
Unconditional love is what allows us to get along with our fellowmen. It makes it easier to negotiate heavy traffic. It is what binds together families and true friends. It is the deep, hidden, never-mentioned, root of all successful business transactions. It's also the true source of selfless service and charitable giving.  If we give to charity grudgingly, or out of a sense of obligation, it doesn't come from our heart and it doesn't count.  Real giving, giving from the heart, is what really matters.  It uplifts both the one giving the love and the one receiving it.  Conditional love, or love that comes with a price tag, is demeaning and insulting to both the giver and the receiver.

4. Imagination
Sometimes it seems like the goal of civilized society is to squelch our imagination.  It gets squelched by parents, modern public education, peer groups, television, bureaucracy and meaningless rules.  A rare few manage to survive this lifelong beatdown of their imagination. These are the ones we end up honoring for their vision and their creativity.  These are the great musicians, painters and sculptors, but they are not just found in the arts.  Walt Disney was one.  So was Steve Jobs.

5. A yearning for God
Too many of us lose this innate yearning, or have it philosophised out of us by others.  And yet it remains deep within us, constantly bubbling to the surface, where we have to work hard to choke it down again, because ignoring it only works for so long.  It's when we acknowledge this yearning, and nurture it, that we begin to develop and grow for real, in a way that transcends all the worldly knowledge we may have acquired over the years.  All that "adult" learning keeps us firmly grounded – planted on the earth – but when we give in to the yearning for the divine, when we begin to seek for a purpose or an existence beyond mortality, then we are no longer chained to the earth, and we leave those "oh, grow up" grown-ups far behind.  The people in our lives whom we admire the most, and whom we would do well to emulate, are those who have satisfied this yearning (well, to a degree beyond our own, anyway) and remain on earth to tell us about it.

Without these attitudes, these childlike attributes, life isn't worth living. The times in my life when I have felt sad or lost are the times when I have forgotten these qualities, set them aside, or had them forcibly taken from me.  The times when people have gotten frustrated or upset with me are often the times when I've had, um, an overabundance of these qualities, according to those who were passing judgment on me.  I think that true wisdom comes from knowing how to keep these attributes alive and relevant in your life, while keeping them a secret from those who would judge.

© 2011 Ray Depew. You read it here first. Feel free to copy it, but make sure you give proper credit. If you see it somewhere else without my name on it, please let me know.

Lee Ann Womack puts this whole thing into her beautiful song, "I Hope You Dance."

Wednesday, November 9, 2011

DraftSight and scripting

Generally, AutoCAD scripts (and hence DraftSight scripts, by association) have a bad reputation as a slow and clumsy alternative to LISP.  Okay, fine.  That's generally the case with any script language vs. a compiled or bytecode alternative.  The price is right; I'll live with it.

If you want to learn how to write DS scripts, the best place to learn is learn from the materials available for ACAD.  Search the Web for "Autocad script" or "Autocad script tutorial".  Almost all of what is written for ACAD applies to DS.

Remember that a lot of the commands that invoke a dialog box (like "LAYER") have a command-line-only, alternative version that begins with a hyphen or dash (like "-LAYER"), for use in scripts.  (Also for use by command-line geeks who don't like dialog boxes.  And Linux heads!  And Cygwin junkies!)

Since I haven't had a lot of practice with ACAD scripts myself, I expect to be doing a lot of fumbling around for the next little while.  One of my first tasks will be to find out how to pass arguments to a script, and how to have a script open a custom pop-up window, to prompt the user for a needed value.

Apparently, there's also a tiny macro language, called Diesel, with which ACAD users can modify the Status line and do other little tweaks.  It's been reported that Diesel macros work inside DS also.  One thing at a time, my friends.  I'm working on scripting this week.  But if you know something about Diesel, give it a shot and let me know what you find out.

By the way, the official AutoCAD user forums contain a few discussions about DraftSight.  

Some users were wondering about the legality of DS, considering that it's
so close to ACAD in functionality and features.  A little research into the Open Design Alliance and the IntelliCAD Technology Consortium would answer their questions - besides, I don't think that Dassault Systèmes would have put all that horsepower behind DraftSight if they didn't have all their ducks in a row, legally speaking.

Other users were dismissing DS as the latest in a long train of ACAD clones, none of which have been as good as real ACAD.  Well, they're absolutely right, without dispute.  It
is the latest, and it isn't quite as good as the real thing.  There's no question that AutoCAD deserves its place at the top of the heap.  If we could afford it, we would all use it, without a doubt.  But we can't, and so we look for compatible, lower priced alternatives, which will do most of what ACAD can do and all of what we need to get done.

I don't think that Autodesk or their customers have anything to fear from DS.  The ACAD installed base will continue to grow, contributing nicely to ACAD's bottom line, and although we all look forward to the DS installed base growing even faster, it will never overtake or replace ACAD.  I don't think that Dassault Systèmes intends it to do so, either.

Friday, November 4, 2011

DraftSight 3D: How to

This is more of a quick reference guide than a tutorial.  If you follow the instructions given here, you'll be able to experiment with 3D in DraftSight and discover new stuff.  When you discover something that might be useful here, please send me a comment.  I won't post it as a comment, but if it's useful I will add it to the main text of this article - I'll add your name or ID at the bottom of the article.

What can you do with a DraftSight 3D CAD model?
Unfortunately, right now you can't do much besides play with it inside DraftSight.  Somebody please enlighten me.
When you save it as a DWG file, it saves all the 3D data.  You can confirm that by exiting and restarting DraftSight, and then reloading the DWG file.
But the 3D doesn't import into Creo Elements/Direct Modeling Express.
I don't know about MilkShape or UVMapper yet.
The free version of DraftSight doesn't let you export the file in a different format.

What is the CCR?
You'll see the initials "CCR" in a lot of the DraftSight documentation.  CCR stands for Cartesian coordinate reference.  It's the little X-Y widget in the lower left corner of the Model view when you first start up DraftSight.  There's actually a Z axis on it as well as the X and Y axes, but you won't see it until you start "rolling the view."  The CCR will help you maintain your orientation when you're viewing objects in 3D.

How to view in 3D
Viewing things in 3D is easy.  You can even view a 2D drawing in 3D!  That's kind of funky and not really useful, but it's fun to do once or twice.
1. From the main menu, select View --> Constrained Orbit.
  - OR -
  From the command line, type ROLLVIEW and press Enter.
  The mouse cursor changes to a circle thingy.
2. Hover the mouse over an object in your drawing.  Hold down the left mouse button.  The mouse cursor changes to two 3D circle thingies.
3. With the left mouse button still down, move the mouse.  You'll get the hang of it.
4. To return the mouse function to normal, press Esc, press Enter, or right-click the mouse.  This doesn't return the 3D view to normal.

How to return the 3D view to normal
Here's the really quick way:  At the command line, type -V O T. That's short for -Views, Orthographic, Top.  The dash is important:  without the dash, you get the dialog box.

(UPDATE, 9 Feb 2012: Here's an even quicker way, pointed out by an alert reader: type PLAN and press Enter. It worked in AutoCAD, and it works in DS too.)

Here's the conventional way:
1. Either type V (short for VIEWS) and press Enter, or select View --> Named Views from the main menu.
2. In the dialog box, select View Type --> Defaults.  Select Top view, and click OK.

By "normal" I mean:
- You get a 2D view, showing the XY plane.  The CCR shows X and Y axes only.
- A Zoom Fit is automatically executed, so everything shows in the drawing area.
- This doesn't put the CCR at (0,0,0), but it does put it in the lower left corner of the drawing area.

How to create wireframe shapes
1. From the command line, type 3D and press Enter.
2. You can select from 9 different shapes:
Box - specify Length (+X or RIGHT), Width(+Y or UP), Height (+Z or into screen), and rotation about Z-axis (this is rotation in the 2D plane, with 0 being +X and numbers increasing towards +Y.  You can also make a cube and a square box using the C shortcut after Length or Width.
Mesh - specify four corners of a rubber sheet, and how many segments you want between the corners.  M and N are difficult concepts to explain, but they'll make sense when you see them.

How to extrude 3D shapes from a 2D cross section
1. Create the 2D shape.  It doesn't have to be on the Z=0 plane, but it all has to have the same Z value (that is, parallel to the Z=0 plane.
2. From the command line, type EXTRUDE and press Enter.
3. Click the 2D shape.
4. Either enter a numeric number (positive or negative) for the extrusion height in the Z direction,
  - OR -
  If you are viewing the shape obliquely (from ROLLVIEW or something), you can just move the mouse to the extrusion height you want, and left-click to set it.

How to rotate and stretch 3D shapes in 3 dimensions

How to create primitives
These are all in the Draw-->Mesh submenu.
2D Solid - Also the SOLID command.
This creates a shape with faces, not just a wireframe.
If you're using the mouse, you specify 3 corners of a triangle, or 4 corners of a quadrilateral - but if your specifying a quadrilateral, don't go in a circular motion.  You have to go in a zigzag.  If you go in a circular motion, you get the dreaded butterfly effect.  After you specify 3 corners and press enter, it draws a triangle.  After you specify 4 corners, it draws a quad.  The last 2 points now become the 1st and 2nd points of the next side, and you can specify new 3rd and 4th points.  In this way, you can create a long polygon of quads all stitched together.
3D Face - Also the FACE command.
I'm not clear on the difference between this and 2D Solid.  They both seem to do the same thing for me.
3D Mesh - also the MESH command. 
I explained this earlier.
Revolved - also the REVOLVEDMESH command.< This creates a solid of rotation.  Draw a 2D shape you want to use as your revolved surface, and draw a straight line (or pick a straight feature, like the edge of a box) to use as the axis of rotation.  The elements don't have to be on the Z=0 plane, or any other plane; nor do they have to be coplanar.  Unfortunately, I don't know the Setup option to give you more than 6 segments in the rotated solid.<
Tabulated - also the TABULATEDMESH command.
This is like EXTRUDE, only its direction and distance of extrusion is not dependent on the Z axis. 
1. Create a 2D shape on a horizontal (Z = constant) plane. 
2. Draw a line the direction (3D) and distance you want to go. 
3. Execute the command from the menu or the command line.
4. "entity for path curve" is the 2D shape you want to extrude.
5. "Entity for direction vector" is the line defining distance and direction.
Edge - also the EDGEMESH command.
This command takes four "open" entities (line, arc, polyline, spline, etc.) and draws a rubber-sheet mesh between them all.  Their ends have to be touching, to make 4 vertices.
Ruled - also the RULEDMESH command.
This command takes two entities and joins them to make a solid with the two entities as faces.
1. If one entity is a point and the other a closed element (rectangle, circle, polygon) then you end up with a cone or a prism.
2. If one entity is a point and the other an open element (line, spline, curve), you end up with a fan.
3. If both are open elements, you end up with the rubber sheet mesh.
4. If both are closed elements, you end up with a cool 3D adapter thingy like the vent hood above the grill at a Mongolian Barbecue restaurant.

How to create 2D shapes with some thickness to them, and on a different plane
The ZPLANE command lets you add thickness to your 2D objects.  It also lets you draw on a different Z plane than the default Z=0 plane.
1. From the command line, type ZPLANE and press Enter.
2. Type the value for the new Z plane, then press Enter.
3. Type the thickness for the objects you're about to draw, then press Enter.

How to join primitives to make 3D objects

How to join 3D shapes and objects to make more complicated objects

How to color faces, and how to hide unseen surfaces
The Hatch/Fill function can be used to select and color faces.  I suggest just using the "fill" capability.  Unfortunately, selecting the face to color doesn't work reliably for me.  I guess I haven't discovered the trick yet.
1.  Click on the Hatch/Fill icon in the menu on the left side of the drawing area
- OR -
Select Draw --> Hatch/Fill from the main menu
- OR -
On the command line, type HATCH and press Enter.
2. In the dialog box that comes up:  in the Type box, select Fill.  In the Colors box, select a color.  You can also change the Style and Orientation.  Don't hit OK yet - it's probably greyed out anyway.
3. In the Boundary settings box, click Specify Points.  The Hatch dialog temporarily disappears, so you can choose a face to color.  Click on any area inside the face, then press Esc or Enter. (WARNING:  THIS DOESN'T ALWAYS WORK!)
3a. While the Hatch dialog is temporarily absent, you can also turn or manipulate the 3D object to find the face you want to color, by selecting View-->Constrained Orbit from the main menu.  When you have finished manipulating the 3D object, press Enter or Esc to return to the view that lets you select a face.
4. After you have selected a face and returned to the Hatch dialog, click OK.

If you know of a more reliable way to select the face to color, please comment on this article. I won't post your comment, but I will edit the article and put your name or ID in the acknowledgements.

How to change the lighting so the 3D item is easier to see

Thanks to these people who have helped to expand my knowledge of DraftSight's 3D capability, and to make this guide more complete:
Anonymous, for telling me about PLAN.

DraftSight and 3D - it's all in there

Yesterday, I wrote that DraftSight's 3D capability was limited to primitives:  triangles, rectangles, and polygons.  Boy, was I wrong.

UPDATE:  I just wrote a really quick "how to" guide for DraftSight and 3D.  Click here.

For the 3D-disinclined, let me use three real-world objects to help you understand 3D CAD.

First, imagine a wire birdcage, the kind your grandmother uses for her parakeet or canary.  A birdcage is made of a bunch of wires, crossing and intertwining.  They define a region of space - the inside of the bird cage.  CAD programs define a solid object by imagining the surface of it as a bird cage - a bunch of wires crossing each other or connecting with each other.  CAD programs just store all the wire crossings, or vertices (singular vertex, plural vertices), and the wires, or edges, that go from one vertex to another.  You've probably heard of wireframe models or drawings.

Second, imagine a fishnet - a giant fishnet, being dragged through the ocean.  The water and the caught fish pull that net into a certain shape, and that shape can be manipulated by the boat, the current, and the fish (hello, Nemo!).  Another word for "net" is "mesh."  CAD programs also use the terms net and mesh to describe the wireframe drawings.

Finally, think of a Tiffany lamp.  A Tiffany lamp is like a three-dimensional stained glass window.  The lamp maker makes the wire frame first, and then fastens the glass pieces into the frame.  In 3D CAD, the glass pieces are called faces.

3D CAD is a little more complicated than Tiffanly lamps, though, because each face has an "in" side and an "out" side.  Designers have to make sure they get all faces facing (sorry) the right way.

Snooping around, and with a hint from the Internet, I found a couple of tantalizing command-line commands in DraftSight:  EXTRUDE and 3D.  They're definitely worth exploring.  Moreover, the main menu, under Draw --> Mesh, gives an entire list of 3D capabilities.

Conclusion:  Yes. DraftSight has it all in there - vertices, edges, faces, wireframes, meshes, nets - a 2D program with built-in 3D capability.  Now we just have to figure out how to use it all.

Dear Congressman: The Whole World is Watching, and They Know You're Going to Fail

I sat down this morning to write an article about the next budgetary challenge facing the Congress of the United States.  Once again, they have the chance to prove how fiscally irresponsible, and politically hopeless, they are.  The Supercommittee's first deadline, November 23, is only three weeks away, but five days before that, the Congress has to pass the 2012 budget.  You and I both know how that's going to turn out, right?

Anyway, I was going to give you an analysis of the situation, when I ran across an article online.  The article appeared on yahoo.com, and it was written by Jay Newton-Small, of Time.com.  Jay says exactly what I was going to say - even with my voice, right down to the "You gotta love" near the end.  It's as if I discovered a kindred spirit.  If I get the author's approval, I'll reprint the whole article here.  For now, here's the link to the article.

As Congress Squabbles, Another Shutdown Looms

Read and enjoy.

Tuesday, November 1, 2011

DraftSight: Scripting and 3D

No, this isn't about how to use scripting to do 3D CAD, although at the end of this article, I point you to the DraftSight help files for some hints on how to do just that.

In my first review of DraftSight, I mentioned that the free version of DS doesn't support LISP macros.  Well, it still doesn't.  I'm not complaining; that was a sound business decision.  Buying the SDK also buys you LISP macro support, and the SDK is not prohibitively expensive.

But if you're willing to get by without the speed of LISP, you can create and run scripts in DraftSight.

For example, suppose you want to draw a circle centered at (5,5) with radius 10.  (I borrowed this example from another online DraftSight help file.)  One way to do this is to type on the command line:

CIRCLE 5,5 10

Another way is to type on the command line:


(Note the spaces in the first command entry, and the new lines in the second command entry.  The commands are identical in their execution.)

You can use Notepad, Vim, or your favorite text editor to create a script file to do the work for you.  Simply copy and paste either of the above commands into the editor, and save it as "circle55.scr" . (SCR for "script file".)

Now, at the command line, type the command LOADSCRIPT and press Enter.  A "Select File" dialog pops up.  Select your "circle55.scr" file, click Open, and watch the magic.

You can use a script file to automate a sequence of drawing commands that you perform regularly.  Here's an easy way to create that script file:

  1. Perform the command steps that you want to store.
  2. Type CommandHistory to open the separate command history window.
  3. Right-click and select Copy History.
  4. Open an editor program such as Microsoft® Notepad.
  5. Paste the command steps into the editor program.
  6. Save the file as an .scr file.

 (I stole that text from DraftSight's own help file, under Customizing-->Running Scripts-->Running a Script File.)

Now, one of my hobbies and passions is 3D graphics.  I thought DraftSight was just a 2D CAD program, but I kept seeing hints in the documentation to a Z-axis pointer on the Cartesian Coordinate Reference (CCR), that widget that shows up in the lower left of the drawing window.  In addition, the cursor location given in the Status bar is always a 3D coordinate.  It just so happens that DraftSight's help pages include two tantalizing sections, labeled "3D Viewing and Presentation" and "Creating and Modifying 3D Entities."

After I worked through those 2 sections, I can say that yes, DraftSight can draw in 3D.  HOWEVER, the free-as-downloaded version only does 3D primitives:  triangles, rectangles, and polygons of a size that I haven't discovered yet.  Two problems arise from working with primitives:  you often get the "butterfly" shape that the help pages warn you about; and if you create some triangles clockwise and others counterclockwise, their normals point in opposite directions, your solids come out goofy, and the lighting and surface rendering don't work as you expect them to work.

If you want to do complex 3D shapes, you will have to do one of the following things:
  1. A lot of typing.
  2. Buy the additional 3D capability (if it's available - I haven't hunted that far yet).
  3. Buy the SDK and write some 3D macros in LISP.
  4. Write script files instead of LISP macros.
Also note that the free version of DraftSight only saves DWG and DXF files, so you may end up doing some beautiful 3D work and have no way to export it to STL or another 3D format.

Conclusion: It's nice to know that some programming - er, scripting - capability is built into the free version.  And, with respect to 3D, it's also nice to know that I had to direct my explorations into something as complicated as 3D modeling before I found any serious limitations in DraftSight - and even those limitations are just temporary bumps in the road.

CORRECTION, NOVEMBER 4:  It's all in there. DraftSight does indeed have high-level 3D capability.  See this post.

UPDATE, NOVEMBER 9:  For more information on using scripts in DraftSight, see this post.

Sunday, October 23, 2011

A tale of two congresscritters

Here's a story about something that happened this week.  I've omitted the names because I'm too lazy to look them up.  You can google for them if you want to.

A junior senator (one who also made the news recently for a Cosmo photoshoot he once did to pay his way through law school) wrote an autobiographical essay and posted it online.

Well, this week (or maybe the week before; again, I'm too lazy to look it up), an alert reader noticed some uncanny similarities between his bio and a biography published a few years ago, about a highly respected former senator (and a very classy lady) from a different state.

Not just uncanny similarities.  Some passages were identical.  It was a case of blatant plagiarism.  The reader, who happened to work for Atlantic Monthly, called him on it.  (Heh.  As if his Cosmo photos weren't "blatant" enough.)

The junior senator's office responded to the charges, saying that he wasn't responsible for the blog entry, because it was ghostwritten by a staff member.  The exact wording of the spokesperson was "a staff level oversight."  (This is where you can get all indignant and say that he should have known what other people were saying in his name.  And you'd be right.  But don't stop reading yet.)

Upon further investigation, it was determined (or at least highly suspected) that the section lifted from the senior senator's biography was not really her words.  It just sounded like something she would say.  Actually, it had been ghostwritten for her.

So the ghostwriter for one senator plagiarized content from the ghostwriter for another senator, and therefore it's nearly impossible to hold the first senator responsible for the misdeed.  And that, my children, is the way it's done in Washington, D.C.

(Well, if we can't hold him responsible, can we at least lump him in with the Idiot Ones?) 

A book to read

This isn't a recommendation for a new book.  I could recommend some, but that's not the point of this entry.

I want to ask you a question:  Which way do you prefer to read a book?
1) eBook - Kindle, Nook, iPad, computer, or other electronic device
2) audiobook - so you can listen to it in the car or whatever
3) paper and ink  - the old-fashioned way

I've actually been doing all three of them.  Right now, I'm working my way through The Decline and Fall of the Roman Empire as an eBook.  It goes slow, but the actual book is three heavy volumes, and this way I don't have to carry one of them around with me.  The most recent audiobook I "read" was Freakanomics (the Revised Edition).  It was great to listen to as I drove to and from work.  I actually "read" it twice.  I've also enjoyed Harry Potter and the Something Or Other and several fascinating nonfiction works in audio form.

And the most recent paper-and-ink book I read?  Well, it's been over ten years since I read The Lord of the Rings.  I recently revisited the entire trilogy.  I skipped The Hobbit.  I'll go back to it.  But there was stuff in LOTR that I'd forgotten because it's not in the movies, and I needed to read it all again.  The movies are rich, of course, but the books are many times richer.

For the record, although I will continue reading eBooks and audiobooks, I prefer paper and ink.  There's just something about the printed page that the electronic and audio formats just can't deliver.  You can't caress the pages; you can't savour the words.  You can't underline key passages, make annotations in the margins, dog-ear the pages or mark the page edges.  With an eBook, you can at least go back and reread your favorite parts, but they're not that easy to find, and besides, what's the use?  The words in an eBook are sanitized, denatured, squeezed dry of the flavor that paper and ink imparts to the writer's words.

Wednesday, October 19, 2011

A school's plan backfires, making things better instead of worse

A while ago I wrote about the case of the schoolteacher in eastern Pennsylvania who was suspended because she said some offensive, but true, things about her students on a blog that was supposed to be private but wasn't.  She was quietly reinstated in August 2011, but the school administration set her up to fail.  In direct violation of their own policies, they allowed any parent to "opt out" - to withdraw their student from this teacher's classes.  And in a move stinking of hypocrisy, shortsightedness, or just plain unfairness, they did not allow any parents to "opt in" - to sign up their student for one of her classes.

The administration's intentions were obvious.  By the end of the year, this teacher's classroom enrollment would be down to zero, and they would have a justification to eliminate her position and fire her - or at least remove her from the school.

Well, their plan backfired.  Instead of three classes of 30 students each, she ended up with classes of 12, 15 and 7 students.  Those 34 students are the luckiest students in the school.  They are receiving the kind of education that a student in a classroom of 30 can only wish for.  Not only that, but they are mostly self-selected "good students."  The troublemakers, the ones that this teacher wrote about in her blog, opted out of her class, leaving only the students who really wanted to learn.

This makes for a perfect classroom environment.  And that makes her, probably, the luckiest teacher in the school.  With a student-to-teacher ratio below 20, she can give each student some real one-on-one time.  She can concentrate on the ones who need help.  She can take time to give the high flyers an extra boost.  She can phone or email all the students' parents regularly, without having to stay up late at night grading papers and preparing lesson plans.

The other teachers may be a bit envious of her. They still have 30 students per class, 3 classes per day.  They still have the whiners, the rude ones, and the slackers.  They may have students who need help, but they can't help them, because they're so busy dealing with the whiners, the slackers, and the inertia of the average.

I really hope they don't end up resenting her.  Any resentment they may feel should be directed at the administration, not at her.

The administration set out to punish her, or to make her fail. Instead, the punishment has turned into a reward, and when the standardized test scores are published next summer, their intended failure will show itself as a big success.  Her students' scores will average higher than those of the other students - not necessarily because she's a better teacher, but because she and her students had a better shot at teaching and learning.

So what are the rest of the students at this high school doing?  They're still whining and complaining. And her unlikely defender continues to fight the good fight.  I say more power to both of them.

You can read about this delightful turn of events on her blog.

Monday, October 17, 2011

The call Robert Jeffress has been waiting his whole life for

"Reverend Jeffress, I have some good news and some bad news."

"Okay, what's the good news?"

"Jesus has returned, like he said he would, and he wants to talk to you!"

"COOL! Okay, after that, I can take any bad news you've got. What is it?"

"He's calling collect, from Salt Lake City."

Monday, October 10, 2011

Why is it ...

Why is it that
When we are young, we look ahead to the future,
When we are in our prime, we live for the present,
And when we are old, we reach for the past?

Thursday, October 6, 2011

In Honor of Steve Jobs

Better writers than me have written better eulogies than this for Steve Jobs in the past 24 hours. I recommend the ones at Wired and NPR. I'm sure Time will have something worthwhile to read. Since I don't have anything new or exclusive to add, this entry will be short.

Steve Jobs died of pancreatic cancer on Wednesday, October 5, 2011. He was 56 years old. He left behind a wife and four children, whom he loved and whom he carefully kept out of the spotlight during his very public career. He also left behind a vibrant computer company, one that in its own way (and in his own way) defined consumer computing, leading the way for Microsoft and IBM, and later for Google, Motorola and all the other "me-too" companies.

What did he do?  Well, an automobile is a complex piece of machinery, and yet every single automobile in the world is controlled in exactly the same way, with a steering wheel, a gear shift, and two pedals.  Jobs did the same thing for computers and computing.  Outside of what he has left for his family, that may be his greatest legacy.

With the iPhone, he also reinvented the mobile telephone.  And with Pixar, he reinvented animated, feature-length, family movies.

 He is named as inventor or co-inventor on over 300 patents, covering computers, telephones, music, and more.  Steven Levy, in his eulogy in Wired, named Jobs' six biggest technical and business accomplishments:
  • the Apple II computer
  • the Macintosh computer
  • Pixar Studios
  • the iPod
  • the iPhone
  • the iPad
In the NPR story, Robert McNamee, a venture capitalist, called Jobs a modern-day "Thomas Edison."  Moviemaker Steven Spielberg (what is it with all these Stevens today?) echoed that sentiment.

Whether you own an Apple product or not, Steve Jobs has had a profound and lasting effect on your life.

Edit:  I added the picture.  Not sure what the original source was; I swiped it from FB.

Tuesday, October 4, 2011

They picked on the wrong victim

Once upon a time, a high school teacher in eastern Pennsylvania started a blog, as a way to keep in touch with her friends and family.  She kept her personal information to a minimum, but she used her real first name and a real picture of herself.  I imagine that she did that so that it would be more personal than the blogs that were just a bunch of words.  She didn't publicize the blog, or intend it to be read by the general public, but, being a bit naïve in the ways of the Internet, she didn't make it private, either.

As with most teachers today, she encountered a lot of frustration in her job.  Many (not all) of the students were whiny, lazy, rude, obscene - even jerks.  Many of these students' parents facilitated this behavior, or even modeled it themselves.  And she didn't get a lot of support from the administration in dealing with these students.

You may think that this was just her point of view, or a direct result of her own bad attitude.  If you think that, then you don't know enough teachers.  Most students are delightful people, and The Future of Our Country - and their parents are great people, too.  But there are an awful lot of The Other Kind.  Public school administrators are a mixed bag, too.  Some are great, and some aren't - just like the management ranks in industry and everywhere else.

So this teacher, whom we'll call "Natalie" just to pick a name out of the air, vented her frustrations on her blog.  It wasn't every blog entry - only 24 out of 84, by her count.  She was very careful to never call anybody by name.  She never even identified the school or the location she was writing about.  Granted, she did use profanity and some non-PC language - but remember, her intended audience was her friends and family.

Well, she didn't know that somebody was eavesdropping.  Some of her students found her blog, and they read what she was saying about them - even though she never called them out by name, they recognized themselves from her descriptions of their behavior.

They could have reacted in many different ways.  What they chose to do was this:  the students publicized her blog, told their parents about it, and set up a number of hate pages on Facebook.  They and other students proceeded to dogpile on this teacher on those FB pages.  The parents, in their turn, encouraged (or tacitly approved of) their children's behavior, and also protested to the school administration.  The school and the administration, rather than stand behind their teacher, as they should have done, took the cowardly way out and suspended her.  All of this happened in a very short time, in February 2011.

Her suspension coincided nicely with the maternity leave she had previously scheduled.  Still, she knew what the administrators were doing.  Somehow the whole affair went "viral," as they say, and it hit the fan - er, the national news.

(Interjection:  she was quietly reinstated in August 2011 - again, the cowardly way out, since she had been so publicly suspended.  Not only that, but the administrators set things up at the school so that she cannot succeed this year, and then they hope they will have cause to fire her.  It's all explained in the two blogs referenced below.)

What happened next could not have been predicted by anybody.  Someone on Facebook saw what these schoolkids were doing to the teacher (basically, they were acting worse than anything she had accused them of), and he spoke up in her defense.  He got pasted just like she did.  Even worse, after he created a support page on FB to counter all the hate pages, many of the teacher's opponents, parents and students alike, piled onto the support page and continued vilifying the teacher - and her supporter.  They got ugly - uglier than anything they'd done so far.  But they didn't know who they were up against.

Most people, faced with this kind of opposition, would simply have shut down the support page and walked away from it.  Not this guy - he fought back.  The kids were dumb enough to use their real identities on FB, so he looked up their phone numbers, called their parents, and told them what their kids were doing.  He called the school and district administration and told them what the kids were doing.  He notified the colleges and universities these kids were applying to, and told them what the kids were doing.  When the local school administrators responded in a cowardly and hypocritical fashion, he called them out on it.  And he started a blog, where he documented every bit of this battle.

The battle has gotten ugly.  The kids keep escalating, and some of them have crossed the legal line, engaging in mail fraud and identity theft.  He has reported this to the authorities, and he continues to document everything on his blog.

Now, you may not agree with his tactics.  You may wonder, as so many other people do, why he doesn't just drop it and get on with his life.  But look at where he's coming from.  He saw someone getting bullied, he spoke up in their defense, he himself became a victim of the bullies, and now he's fighting back.  I'm not saying he's Charles Bronson, but he does take his Avenging Angel duty seriously.

The easiest way to end this battle would be for the students and parents to back down, apologize, and admit they were wrong.  That's all he wants.  But I'm afraid it's gone beyond that.  It's fascinating to watch it play out, albeit somewhat gruesome - like watching a wasp and a spider duel to the death.  It's definitely not G-rated.  If you're interested, here are links to the two non-Facebook blogs:
The teacher
The defender

Here are links to the news story:

If you want to see the FB pages, you'll have to find them yourself.

Warning warning warning!  If you feel inclined to contribute to the discussion, resist that inclination.  You will viewed as a combatant, not merely a contributor, and you will instantly be drawn into the conflict.  And they're not fighting with just guns and knives.  It's better to stay behind the glass and just observe.

If you just can't hold back, and you have to say something, don't give your real name.  This is one case where it's acceptable to post as Anonymous.

UPDATE: For an update on this situation, read my new blog entry here . Basically, the school's plan to get rid of her backfired. Big time.

Friday, September 30, 2011

ProFlightSimulator - the Scam Lives On

In this newest iteration of Whack-A-Mole, the ProFlightSimulator scam is back.  Now it's fronted by a website called GamerXtreme.  GamerXtreme gives you two scams for the price of one:  Pro Flight Simulator Suite (yes, that's right, Suite) and Flight Simulator Plus.  Um, don't worry, they're identical.  And they're still ripoffs of Flight Gear and its add-ons.  I don't thnk the two scams use duplicate screen shots, but they both contain screen shots stolen from websites of FlightGear and its fans.  You'll recognize every screenshot.

Dan Freeman, the sock puppet that flogged ProFlightSimulator, is flogging PFSSuite.  And FSPlus introduces us to a new sock puppet, Huge Miller.  Yes, that's right:  his first name is "Huge", spelled H-U-G-E.  Either English is not his inventor's native language, or his inventor is just plain stupid, or Huge is a real person and that's his real name and his mama didn't like him.  Hmm - which do you think is more probable?

Remember Ed Dale?  His testimonial is reprinted for PFSSuite (word for word), but his alter ego, Wayne Mayer, is gone.  Oh, both packages have some really beautiful bogus testimonials.  They're almost believable.  And there's no duplication.  Some of the pictures looked like they were harvested from the scam-the-Nigerian-scammer webpages.

And, as with the previous versions of this scam, there's page after page of breathless, in-your-face hype about the products.  Seriously, it's like reading a Ron Popeil script, complete with "NOW how much would you pay?", "But wait, there's more!", "If you order now, we'll give you a bonus", and of course "Satisfaction guaranteed, or your money back."  Don't believe a word of it.

It's still the same scam, mutated and bifurcated.  Don't fall for it.  If you're tempted to buy one of these packages, don't.  Instead, go and download the real thing, the original, the non-ripoff version:  FlightGear.

Also, please tell your friends about this.  Seriously, say something about it on Facebook.  Tweet about it.  Put something on your blog.  Click on the "X" in the upper right-hand corner of the Facebook ad, and report it to FB as "Misleading."  If enough of us do this, eventually it won't be worth "Dan Freeman's" time to continue the charade, and he'll drop it permanently.  Maybe.

Thursday, September 29, 2011

George Wright: What an Interesting Guy


Towards the end of February, 2012, the Portugese government announced that the U.S. had missed an important deadline for filing an appeal in the case of George Wright's extradition, and therefore, they would not be honoring the U.S.'s extradition request and Wright could stay in Portugal as a free man and, I believe, a Portugese citizen. A senior judge in the Portugese tribunal said, "The case is now closed."

CBS' 48 Hours news show did a story about Wright last night, which is what brought all of this back to the top of the jumbled stack that is my memory.


Okay, let's acknowledge the facts first:  he was convicted of murder, he escaped from prison, and he hijacked a jetliner.  So he's a bad guy, okay?

But he lived in the open in Africa for many years, even socializing with a U.S. ambassador.  He has been happily married to the same woman for over 20 years, and they have two grown children.  He is a legal resident of Portugal.  He was a law-abiding citizen in both of his adopted countries. He has made enough clean money to buy a modest but nice house in a Portuguese seaside resort.

This is George Wright, an American fugitive from justice, with two different pasts and what must be a fascinating story.  He sounds like someone I'd like to meet and become friends with.

(Clive Cussler is also on that list.  Maybe the three of us could get together on Cussler's boat some day - no, I think that Wright will be unavoidably detained for the next few years.)

George Wright was convicted in 1962, at age 19, of murdering a WWII veteran and small-business owner, and was sentenced to 15 to 30 years in prison.  Eight years into that sentence, in 1970, Wright and three other inmates staged a jailbreak and went underground.

In 1972, Wright and fellow members of the Black Liberation Army hijacked an airliner heading from Detroit to Miami.  The hijacking was front-page news for days.  Wright and co. finally ended up in Algeria.  The Algerian government took custody of the aircraft, and I think they took custody of the $1 million ransom as well.  Wright didn't take it.

The group then went to France, where in 1976 the other hijackers were arrested, tried, convicted and imprisoned.  But by then Wright had left France and was in the tiny country of Guinea-Bissau, a former Portuguese colony on the west coast of Africa.  (Two days ago, I didn't know the country existed, didn't know where it was, and couldn't spell its name.  Wikipedia is your friend.)  He settled down and made a new life there.  He used his real name and his real nationality.  He was friendly with the U.S. ambassador at the time, John Blacken, who was genuinely surprised this week to learn that Wright was a fugitive from justice and a heinous criminal.  Nobody in Guinea-Bissau imagined that the George Wright they knew was that kind of guy.  In G-B, he was a peaceful, friendly, law-abiding citizen.

While living in G-B, he met and married a young Portuguese woman who worked occasionally as a translator at the U.S. embassy.  They had two sons and, after an unspecified number of years, they moved back to Portugal sometime in the 1990s.  They lived in a pretty house on a cobblestone street, in Almocageme, a small town on the Atlantic coast with a beautiful beach.  According to press reports, it's a sandy beach in a cove, surrounded by high cliffs.  It sounds  like heaven to me.

Being a law-abiding citizen, and with nothing to fear from the authorities, Wright got a Portuguese identity card.  He listed his name as "Jorge Santos," and his country of origin as "Guinea-Bissau."  He gave the authorities a fingerprint, which is printed on the ID card and stored in a national database.  Portugal routinely shares the database with law-enforcement agencies in other countries.

And in the United States, the FBI routinely washes the fingerprints it receives through its database of unsolved crimes.  Statistically speaking, it was inevitable that Wright's fingerprint would find a match in the database.  It was only a matter of time.

I imagine that everybody was surprised when the bells started ringing and the red lights started flashing over the cold case of George Wright.  But the FBI took swift action and, after they were sure he was the right man, they notified their Portuguese counterparts.  Local authorities arrested him on Monday, September 26.  He is now 68 years old.  American and Portuguese officials, and an army of attorneys representing everybody, are preparing for the extradition proceedings and court challenges that will, inevitably, bring him back to the U.S. to face justice denied and deferred.

I will not defend George Wright's crimes.  That would be stupid.  But I look at the life he has lived since 1973, and can only say, "wow."

I hope the courts give the guy a break.  His crimes were not crimes against humanity, like those of the WWII concentration camp guards who are occasionally flushed out of their quiet, repentant lives in the Chicago suburbs to face the vengeance of a world that, thankfully, will not forget.

I'm not sure what else to say.  I keep thinking of Thomas Hardy's The Mayor of Casterbridge and Victor Hugo's Les Misérables.  There must be some redemptive value in living a good life.

Tuesday, September 27, 2011

FEMA does Congress' job for them, this time

That emergency budget bill finally passed.  Here's how it all came out.  The emergency budget bill got stuck in the Senate, where it was trapped by more politicking and grandstanding.  Read some of the outrageous stuff the Senators were saying, at Yahoo! News.

If that article, and others on CNN and other websites, are accurate, then it looks like nobody standing at the podium in the Senate chamber cared one way or the other about the looming government shutdown, or the disaster victims in the northeastern U.S.  They only cared about winning.  In their eyes, this budget bill had nothing to do with the good of the country or the fate of the disaster victims.  It had everything to do with political power - winning and losing.

Nobody was going to compromise on this.  The elected officials only wanted to engage in posturing, stonewalling, and name-calling.  It was Business As Usual.

And what hung in the balance, other than the poor lady in Vermont whose house was nothing but a naked frame with the wind blowing through, was funding to keep the Federal Emergency Management Agency running.  If this bill didn't pass, the federal government would shut down, including FEMA - and that lady in Vermont was depending on FEMA to help her.

(We can save for another time the debate on the merits of FEMA, or whether hurricane and earthquake victims should depend on federal agencies to help them recover.  That's peripheral to the crisis happening in Washington DC right now.)

Once more, to make it clear:  the fiscal year ends on September 30.  The problem was that FEMA would run out of funds before the end of the fiscal year, and this budget bill was an emergency bill to keep FEMA, and other agencies, running until then.  You may think it's only 3 days, but a lot of money passes through Washington's hands in 3 days.  If the U.S. government shuts down for one day, that's a big enough problem.

In the end, a compromise was reached.  It wasn't the Democrats.  It wasn't the Republicans.  It wasn't the Senate.  It wasn't the House of Representatives.

It was FEMA.

FEMA, not wanting to shut down (obviously), had a look at their accounts and figured out a way they could legally shuffle things so that they could make it through Friday.  Once they figured it out, they told the Senate leaders, who must have looked a bit confused and said, "Oh, okay then."  Shortly afterwards, the Senate voted 79-12 to approve it.  Now, according to Yahoo, it goes back to the House for a final rubber stamp.  Let's hope they can manage that.

Just so you know where I stand on this:  Our elected legislators in Washington DC have proven for the third time this year that when the chips are down, they can't legislate their way out of a wet paper bag.  If they can't complete a task this (relatively) simple, we cannot depend on them to achieve anything really, seriously important.  This Congress is totally dysfunctional, and anything they try to do is doomed to failure.

Friday, September 23, 2011

Dear Congressman: It's official. You really are IDIOTS.

To all the members of the Congress of the United States:

Actually, "idiot" is the best G-rated word I can think of to describe all 535 of you right now.

On Wednesday, the House of Representatives voted that all 435 of its members are idiots.
On Friday, the Senate followed up with their own vote, confirming that all 100 of its members are idiots.

I can't believe we entrusted you with this one, simple thing, and you couldn't deliver.  You had the chance to compromise, to truly work together to make something happen.

And you chose words over deeds.  You chose to do nothing.  Instead, you're going to tell us why you did nothing.  Well, We The People are sick to the point of nausea of hearing you talk, of reading your words, of seeing you in front of a microphone or a television camera.  We just want you to shut up and do something, for a change.

Do you not understand what is at stake here?  Lemme quote Yahoo! News to you:
The dispute throws into question lawmakers' ability to find common ground on the more painful choices they will have to confront in the coming months as a special bipartisan committee searches for trillions of dollars in budget savings.
Now do you get it?  We don't think you can do it.  You don't have what it takes to do it.  You are SO fired, you incompetent bunch of chimpanzees.

Dilbert would be so proud

Hewlett Packard, the company that everybody used to admire, the one that people used to be proud to work for, the one that the last four CEOs have tried to flush down the toilet, has a new leader.

The board of directors have chosen Meg Whitman, former CEO of eBay, as their new CEO.  Immediately after her appointment, she and Ray Lane, the executive chairman (what in the world is an executive chairman?), sent an email message to all HP employees.  In this message, they say, with perfectly straight faces:
We must invest in innovation, leverage the strength of our core businesses, enhance our software capabilities and integrate our assets to maximize the value of our investments. 
Wow.  If you were playing buzzword bingo, you'd be sure to win the game with just that one sentence.  If I didn't know better, I'd say that Scott Adams, the writer of Dilbert, wrote that steaming pile of executive babble for them.  Let's hope they can manage HP better than they can write.

Thursday, September 22, 2011

Dear Congressman: You did it again! Good grief, how stupid ARE you?

To all members of the Congress of the United States:

On Wednesday, September 21, the House of Representatives voted that all 435 of its members are idiots.  We're waiting to see if the Senate comes up with something similar.

Once again, a serious deadline looms:  the federal government will be out of money - operating funds, that is - on October 1, little more than a week from now.  Another emergency budget bill was presented for a vote in the House of Representatives on Wednesday.  Forty-eight Tea Party Republicans voted against the bill because it didn't cut taxes.  (That's not what it was intended to do!  Idiots!)  Almost all Democrats voted against the bill because it didn't spend enough money.  (Haven't you learned?  That's the last thing we need to be doing right now: spending more money.  How do you think we got into this problem in the first place?  Idiots!)

And you, the empty-headed, drooling, mouth-breathing, slope-headed, beetle-browed, lawyers and millionaires, whom We The People naively elected to "represent" us in the Congress of the United States, you are back to Business as Usual.

Party politics.  Brinksmanship.  Obstructionism. Ultimatums.  Tantrums.  Narrowmindedness.  Selling of favors.  Catering to special interests.  Everything except the cooperation and compromise that we expect of you.  Didn't you MORONS learn ANYTHING from the debt-ceiling debacle?

It was a simple thing!  All you had to do was pass a bill!  You couldn't even do that!

Once again, you are going to wait until just before midnight on September 30 to do something that you are perfectly capable of doing right now, because you're too stubborn, too immature, and too fond of power.

Listen to me carefully.  I want you to remember these words.  The American people have lost all confidence in their Senators and their Representatives.  (This time, it's the Representatives' fault.  Senators, I'm sure your turn is coming.)  This November, and in the next five Novembers, We The People are going to show you what you can do with that power which you think you possess.  We are going to kick all of you out of Washington, D.C. and send you back home, where you won't cause any more trouble.  We will replace you with people who know what it's like to try to survive and keep a family together in these times, who know how to get something done.

You obviously don't know, and you apparently don't care.  And for that reason alone, you are unworthy to hold office.  You're all fired.

UPDATE, FRIDAY, SEPTEMBER 23:  The House of Representatives stayed up past midnight, and finally got a version of the bill passed.  The vote went right down party lines, revealing that, even though they were able to pass the bill, all 435 members of the House of Representatives are still idiots.  Stupid.  Morons.  Mental disasters.  Buck-toothed jackasses, braying and kicking and blocking the trail.

The bill does contain a compromise:  $1 billion of a requested $3.6 billion spending increase for disaster aid now, and another $2.6 billion in fiscal year 2012, which starts October 1.  See, that wasn't so hard, was it?  And they even threw in some spending cuts to appease the Tea Partiers.

Today, the bill goes to the Senate, where the Senate is expected to vote to reject it.  As in the House, the vote will go right down party lines.  Like I said at the beginning of this post, today the United States Senate is going to vote that all 100 of its members are flaming idiots, just like their counterparts down the hall.  Here's why.  An unnamed aide to a Democratic Senator gives this hypocritical, two-faced, self-serving comment in a CNN article:
On Thursday night, senior Senate Democratic leadership aide said the party's caucus is united against Republican-tailored versions of the measure.  "We are looking for a real attempt to compromise, not just an attempt to appease their own people," the aide said.
Nobody in the Senate - on either side of the aisle - is interested in compromise, as they have made clear.  For either party to suggest that they are is an insult to the intelligence of the American people.  This is a do-nothing Congress.  All they can do is talk and talk, and they do way too much of that.  We The People want deeds, not words.

Once again, to all members of the Congress of the United States:  Today, the Senate will vote on whether or not you are idiots.  And the money's riding on a "yes" vote.

With the screeching sound of the Eurozone crashing and burning in the background, the whole world is watching you, the Congress of the United States.  Nobody is watching Europe.  They're all focused on Washington, and wondering whether a nation so gridlocked, and so mismanaged, can long endure.

Wednesday, September 21, 2011

Teaching binary arithmetic to 12-year-olds

I used to teach my 7th graders how to count to 1023 on their fingers.  It's easy to do:

Your right thumb is 1.
Your right index finger is 2.
Your right middle finger is 4.
Your right ring finger is 8.
Your right pinky finger is 16.

Your left thumb is 32.
Your left index finger is 64.
Your left middle finger is 128.
Your left ring finger is 256.
Your left pinky finger is 512.

Representing a number between 0 and 1023 is simple.  You just hold up the fingers and thumbs whose values add up to the number you're looking for.  For example, 21 is 16 + 4 + 1, so you hold up your right pinky, your right middle finger, and your right thumb.

The kids caught on quickly.  Twelve-year-old minds are sharp.  In no time at all, we were waggling our fingers rapidly as we counted to 100 together.  Some kids went further on their own, finishing triumphantly at 1023.

One time, I told the kids that they had to be really careful when they counted 4 or 128, and that they might get me in trouble if they went around flashing 132 at people.  (Try it yourself; you'll catch on quickly.)  Then little Mickey Cramer got a mischievous grin on her face and said, practicing for when she got home, "Hey Mom, look what Mr. D taught us in math today!"

I miss Mickey.  She was great.  I hope she's having fun in her senior year.  Or college, maybe.

A Review of the Hexadecimal Number System


Humans were born with ten fingers on their hands (if you include the thumb as a finger), so it is natural that the first humans invented a counting system that went from one to ten, from counting on their fingers. In fact, the word digit derives from the Latin root for "ten" and is used to mean both a single number between 0 and 9, and a finger or thumb (or toe).

Computers and digital electronics, on the other hand, deal with two states:  on/off, one/zero, plus/minus. Since a computer digit can have only two values, it is called a "binary digit," or bit for short.

Binary arithmetic is very useful. You can count on your fingers in binary, all the way up to 1023. But counting in binary quickly gets cumbersome, and so most binary arithmetic is done in hexadecimal.

"Hexadecimal" is a word derived from the Latin roots for six ("hexa-") and ten ("decimal"). It is a form of expressing numbers in base sixteen. "Hexadecimal" is often abbreviated to "hex."

The Decimal System as an Example of Counting Systems

As we said in the introduction, most human beings count in the decimal, or base-ten, number system. In base ten, you use the numerals from 0 to 9. To count past nine, you need some way to indicate the overflow, so you use a second digit - the "tens" digit - to count the "number of overflows."  Likewise, when you run out of digits to express the overflows, you add a third digit - a "hundreds" digit, to count the "overflows of overflows" - and so on, until you have enough digits to express any given number.

So, proceeding from right to left, the first digit represents the number of "ones," or 10^0, in the number; the second digit represents the number of whole sets of ten (10^1); the third digit represents the number of whole
sets of a hundred (10^2), etc. Thus, the nth digit represents the number of whole sets of 10^(n-1) in the number.

(This blog doesn't allow for superscripts, so the ^ symbol is used to indicate an exponent, or "raised to the power of ...")

So you could think of the number 3401 as:

3x10^3 + 4x10^2 + 0x10^1 + 1x10^0

Significant Digits

Obviously, changing the leftmost digit in the number has a greater effect on the number than changing the rightmost digit. That is, the leftmost digit is the most significant digit; and the rightmost digit is the least significant digit. For example, if you see a house selling for $293,499 and one selling for $293,500, you'd say that they both cost the same. One dollar isn't very significant compared to two hundred ninety thousand dollars.

The right-to-left order of increasing significance is a convention used in other place-value numbering systems, including binary and hexadecimal.

Hexadecimal Values

Computers count in binary, using only the numerals 0 and 1. That's difficult for humans to comprehend and uses a lot of space in displays and printouts. A more convenient way to organize binary data is to group the bits together in groups of four, and assign each group a single value.

Look at the table below. You'll see that a group of four bits can range from 0000, with a value of zero, to 1111, with a value of fifteen. That's sixteen values, which is why sixteen - hexadecimal - is such a convenient number base to use when working with computers.

Of course, when expressing number values, you have only ten conventional Arabic numerals (0-9). But when counting in hexadecimal, you must go all the way to fifteen before adding a second numeral as a "counter of overflows." So the letters A-F are used as numerals to represent the values ten through fifteen in hexadecimal.

Decimal Binary Hex
0    0000   0
1    0001   1
2    0010   2
3    0011   3
4    0100   4
5    0101   5
6    0110   6
7    0111   7
8    1000   8
9    1001   9
10  1010   A
11  1011   B
12  1100   C
13  1101   D
14  1110   E
15  1111   F

(Some digital systems also use base eight, or octal, numbers. We'll ignore octal for now.)

What the Numbers Really Mean

Similar to the way decimal digits in a number represent different powers of ten (tens, hundreds, thousands, and so on), with the most significant digit on the left, hexadecimal digits in a number represent different powers of sixteen, with the most significant digit on the left. So you could think of the hexadecimal number C30F as:

12x16^3 + 3x16^2 + 0x16^1 +15x16^0

or, in decimal,

49,152 + 768 + 0 + 15 = 49,935

Most calculator and spreadsheet programs include built-in tools for converting back and forth between decimal, binary, and hexadecimal.

Decimal numbers use a separator (a comma in the Americas, a period in Europe) to group the digits and make them easier to read, such as:


Hexadecimal numbers use a space between pairs of hex digits, such as:

01 04 2A 59 FF F0

You may also see a dash or colon employed instead of a space. You may also occasionally see groups of four instead of pairs.

Binary numbers are easiest to read in groups of four:

1101 0100 0110 0001

A pair of hex digits represents 8 bits and is called a byte. Two bytes equal 16 bits, four bytes equal 32 bits, and so on. (Some programmers call a single hex digit, representing 4 bits, a nybble, but we'll ignore that for now.) If all the bits in a byte are ones, the byte will have a value of 255 (one less than 256, or 2^8).

A Practical Example

When reading Modbus registers or decoding SNMP objects, it's helpful to know how to extract the data from the byte string. For example, a Digital Power Meter outputs the two bytes "5C E1" to represent a voltage reading. The manufacturer's data sheet says that the bytes can be converted to a five-digit decimal number which, when divided by 100, gives the voltage in human readable form.

5C is 92, and E1 is 225. So 5C E1 converts to

92 x 256 + 225 x 1 = 23,777

Dividing by 100 yields a value of 237.77 volts.

One Last Note

When you're juggling numbers in different bases, you may get confused and forget whether 1000 represents eight, one thousand, or four thousand ninety-six.

Several conventions have arisen to distinguish between the bases in written form. Two common conventions are to write hex numbers with a "0x" prefix or an "h" suffix, such as 0x1000 or 1000h. Binary numbers are written with a "b" suffix", such as 1000b. Decimal numbers stand alone, without a suffix.

In speaking, every hex digit is pronounced individually. While the decimal number 128 is pronounced "one hundred twenty-eight," the hex number 128 is pronounced "one two eight." Further ambiguity can be avoided by saying "one two eight hex" or "hex one two eight."

(This article first appeared on the RLE Technologies community forum.  Parts of this article are from the book Graphics on the HP48G/GX. Used by permission of the author.)

Tuesday, September 20, 2011

Wave At the Bus

Here's a blog kept by a FUN father and mother.  The dad managed to be on the front porch to wave at his (sixteen year old!) son's school bus every schoolday morning for the entire 2010-2011 school year.  The mom took his picture every day and posted all 170 of them, a day at a time, on their blog.  Like the blog featured in "Julie and Julia," this one went viral, and has been featured in international news publications.

I don't know why I didn't find out about it until today.  Fortunately, it's not too late to enjoy it.  It will bring a smile to your face.

Wave At the Bus.

Monday, September 19, 2011

Online gamers help scientists unravel AIDS-related enzyme

I'm going to copy and paste an entire article here.  The source for the article is Yahoo! News .  Normally I don't do this, but I've seen too many of these "news" articles expire and disappear, and I don't want it to happen to this one.

This article illustrates two things.  The first thing is a "serious game," a ten-percent slice of the gaming industry, where gaming hardware and software is used to do serious work.  And this is a pretty exciting serious game.  The second thing is an intersection between gamers and scientists, showing how the power of online gaming can be harnessed to benefit society.  No, seriously.  Okay, there's a third thing.  This is a phenomenon known as crowdsourcing, where someone turns a crowd of marginally-skilled people loose on a problem that is way beyond their individual capabilities, and working as an unorganized crowd, they are able to solve the problem.

Okay, on with the show.

Online gamers have achieved a feat beyond the realm of Second Life or Dungeons and Dragons: they have deciphered the structure of an enzyme of an AIDS-like virus that had thwarted scientists for a decade.
The exploit is published on Sunday in the journal Nature Structural & Molecular Biology, where -- exceptionally in scientific publishing -- both gamers and researchers are honoured as co-authors.
Their target was a monomeric protease enzyme, a cutting agent in the complex molecular tailoring of retroviruses, a family that includes HIV.
Figuring out the structure of proteins is vital for understanding the causes of many diseases and developing drugs to block them.
But a microscope gives only a flat image of what to the outsider looks like a plate of one-dimensional scrunched-up spaghetti. Pharmacologists, though, need a 3-D picture that "unfolds" the molecule and rotates it in order to reveal potential targets for drugs.
This is where Foldit comes in.
Developed in 2008 by the University of Washington, it is a fun-for-purpose video game in which gamers, divided into competing groups, compete to unfold chains of amino acids -- the building blocks of proteins -- using a set of online tools.
To the astonishment of the scientists, the gamers produced an accurate model of the enzyme in just three weeks.
Cracking the enzyme "provides new insights for the design of antiretroviral drugs," says the study, referring to the lifeline medication against the human immunodeficiency virus (HIV).
It is believed to be the first time that gamers have resolved a long-standing scientific problem.
"We wanted to see if human intuition could succeed where automated methods had failed," Firas Khatib of the university's biochemistry lab said in a press release.
"The ingenuity of game players is a formidable force that, if properly directed, can be used to solve a wide range of scientific problems."
One of Foldit's creators, Seth Cooper, explained why gamers had succeeded where computers had failed.
"People have spatial reasoning skills, something computers are not yet good at," he said.
"Games provide a framework for bringing together the strengths of computers and humans. The results in this week's paper show that gaming, science and computation can be combined to make advances that were not possible before."

Again, I did not write this.  Yahoo! News owns the copyright.  If they ask me to delete it, I will comply and rewrite the story in my own words.  But they did a fine job at it, and I'd prefer not to change a single word.