Skip to main content

Posts

Organize Instruction Manuals

  We all have instruction manuals and documentation for our stuff. Where do you put them so you can easily retrieve them? File instruction manuals alphabetically by manufacturer name in an A-Z expanding file. Just put them in the pocket for the first letter of the manufacturer name without further sorting within the pocket. While filing by manufacturer name might seem disorganized or arbitrary, it is actually a simple hash table , which in computer science is well known for efficiency. I recommend the Smead 70121 A-Z expanding file . Order online—retail office stores usually stock only a cheaper, harder-to-use store brand.

Use particle wa or ga in Japanese

The subtle distinction between Japanese particles は (wa) and が (ga) makes it difficult to choose between them. Here I will show you a simple way to get it right every time. Professor Eleanor Jorden of Cornell University taught me that we actually have the same thing in spoken English. We stress words in a sentence to emphasize them. Consider: " THIS is delicious " emphasizes that this one is the delicious one, as compared to others. In this situation you use が (ga) ; これ が おいしい。    (Kore ga oishii.) Be careful to offer kind words about the others so that nobody feels left out: それも食べたいですね。    ( Sore mo tabetai desu ne.) " This is DELICIOUS " emphasizes the taste; the thing being tasted is already established. In this situation you use は (wa) ;  これ は おいしい。    (Kore wa oishii.) Since the thing that is delicious is clear, Japanese speakers commonly drop これは and just say,  おいしい。   (Oishii.) As demonstrated by the above examples, が (g...

Get Credit for Leading a Successful Project

We have all seen someone try to take undeserved credit for leadership of a project. Or, you step up and do someone else's job for them, but they still want the recognition for the work you did. Let me share a political maneuver you can use to preserve your position as the project leader. First and foremost, do a good job. This strategy is only effective for a successful project. As success becomes imminent, prepare a thoughtful email in which you: Declare the project a success Heap praise on the project participants. Feel free to exaggerate a bit. Use an vague term like "team" that includes the largest possible number of people including your opponent. Say nothing about your opponent or yourself as individuals Just as the project finishes, send the email to the project participants, your opponent and everyone's managers. Timing is important—your email must appear in the recipients' mailbox before any such email from your opponent. This is why you prepare the ema...

Bike Touring Packing List

When preparing for my first bike tour, the packing lists I found on the Internet really helped me. Now that I have a bit of experience, my own bicycle touring packing list is good enough to share.

Prepare for a Layoff as a Tech Worker

  There is plenty of good  general advice on how to prepare for termination : build up cash, warm up you network, control your emotions, don't sign anything. In this article I share more specific tips on how tech workers can prepare. In my 14 years as a consultant I must have been "laid off" 30 times; it just means that it's time to move on to deliver value at the next place. So when a layoff became imminent at my last company, I prepared the way I always do. The approach Act like a vendor who lost this sale, but still wants repeat business in the future. No matter what happens, you will see some of your coworkers again. Conduct yourself lawfully with professionalism and honor. In particular, do not take any company property, intellectual or physical; do not violate your NDA or employment agreement. It's not just wrong, I have personally seen people go to jail for it. Begin your preparation as soon as you think your position may be affected. You will do nothing mo...

Adopt Simple Rules that Shrink Your Problem Space

When faced with a problem, you naturally start thinking of a solution. By immediately jumping to the solution space, you forgo a deeper understanding of the real problem. One of the most famous ( actually, mythical ) examples is the Space Pen: legend has it that NASA commissioned a special  pen  that can write in zero gravity. Meanwhile the Soviets recognized that Cosmonauts would need  something  that can write in zero gravity: a pencil. Extending this example a bit, the Cosmonauts' pencils have a smaller problem space: What if the ink leaks? What if they lose the cap? Those questions do not even exist. Back here on Earth, you sometimes have the opportunity to create a rule that slices off a big chunk of your problem space; a simple thing you can do to eliminate a whole class of problems. It does not matter how infrequent such problems are now. The point is to make a set of problems impossible forever . You'll always have problems, but in a ...

Avoid the Virtual Kidnapping Scam

A relative recently fell victim to the virtual kidnapping scam, where criminals demand ransom for a loved one whom they only claim to have kidnapped.  To make their claim more convincing, the perpetrators make their ransom demand when the purported kidnapping victim cannot be contacted.  They might simply know when the person is isolated and unavailable, or they might force them to go incommunicado by stealing their mobile phone.

My Encounter with Libyan Agents

It was 1986 and the US had recently attacked Libya in retaliation for the Berlin discotheque bombing and other mischief.  I was living In Tokyo, and at a social function for foreigners, I met two young men who worked at the Libyan Embassy.  We had an interesting conversation as I was more willing than most Americans to hear the Libyan side of the story.  Besides, I fancied myself an international man of intrigue whose associates included real live Libyan agents . 

Repair Fencing with Hog Rings

As a boy I spent a summer on my grandfather’s farm in Mississippi. I learned a lot about farming. Grandpa taught me about hog rings, a piercing applied to a pig’s nose to prevent rooting (digging with its nose). He said they came in three sizes: pig, shoat and hog.

First Check Power, Then Check Clocks

It was during my first job as a computer technician in high school that I developed the maxim: first check power, then check clocks .

The Reef Lounge

When I was about four, we vacationed at the Handerly Hotel & Resort in San Diego (formerly the Stardust Motor Hotel).  That place was heaven on earth as far as I was concerned. I loved the pool. Next to the pool there was a bar, and behind the bar was an underwater theater. It was here that I saw one of the most outlandish scenes I have ever witnessed.

Polymorphic C# and Java Using SWIG

By default SWIG generates C# and Java code that does not support downcast for polymorphic return types.  I found a straightforward way to solve this, provided your C++ code has a way to identify the concrete class of the C++ instances that are returned .  That is, this technique will work only if the C++ API you are wrapping with SWIG has something similar to C# object.GetType() or Java Object.getClass() .

Install East Asian Languages with no Windows XP Installation Disk

When you try to install files for East Asian languages, you are asked for a Windows XP installation disk. New computers have shipped with Windows pre-installed for a long time now, so few people have a physical Windows XP disk.  Here’s how to install without the DVD/CD-ROM.

Build with CMake in Eclipse

Cross-platform CMake can generate a wide variety of build systems.  The CMake 2.8 project generator for Eclipse does not work, so you must create the project and configure it to build with GNU Make .  Here’s how to do it on Linux.

CMake Directory Variables

CMake creates software build systems for a wide variety of platforms based on a single, unified control file–it’s a makefile maker. You create the CMake control file once and based on this file, CMake will create almost any build environment for you: GNU Make for Linux, Eclipse project , Visual Studio solution for Windows, and the list goes on.

Use Multilingual UTF-8 Strings with any OpenAccess Version

In this article I show you how to use multilingual UTF-8 strings with standard, unmodified OpenAccess oa-22.04p028 release. In the last  article , I introduced UTF-8, the popular 8 bit encoding of Unicode into multibyte character strings that can represent virtually every written language in history.  I presented the OpenAccess software changes required to fully support UTF-8 and showed you how to convert your existing application software to properly manipulate UTF-8 in the OpenAccess oaString class.

Modify OpenAccess to Handle Multilingual UTF-8 Strings Natively

I once had a job scrutinizing Virtuoso schematics that contained many useful annotations written in Italian.  EDA tools generally support only ASCII strings, but the Italian designers were lucky–theirs is one of the few languages that can be written naturally using the same characters as English. Wouldn’t it be nice to annotate designs in OpenAccess databases using any of the world’s languages?  You can do it right now, using any OpenAccess release.

How I Got to Japan

The PA system at work announced that I had a call. It was from Dr. Steve Butner, my graduate advisor at UC Santa Barbara . He was very excited. “John, I got some information here about this program that was just made for you.”

Rear Bilingual Children

If you speak a foreign language, you would naturally like your children to learn it, too. However, look around you, and you will find that only a few children actually become fluent in their parents’ language, and fewer still can read or write it. We reared a Japanese/English bilingual daughter in the United States. To help you formulate a plan for your own family, I will describe the strategy we used.