Category Archives: Computer

The Good Old Trash 80

I ran into a web site today showing the 1980’s Radio Shack catalog of the TRS 80.

It made me feel sentimental as my very first computer had been a Trash-80 and I remember having a lot of fun with it. One of the most difficult tasks for me to understand, at that time, had been the idea of an interpreted language, like that TRS-80 Basic.

Before that computer, I had been mostly exposed to assembler and some high-level language like Fortran and PL3 on an IBM mainframe. The idea of typing in human-readable code and directly running it – without compiling and linking – was a strange concept for me to grasp.

The TRS-80 I had was far less sophisticated than the one shown in the above catalog, so I looked around and found a picture that matched better what I remembered:

I believe that I had the 16kB model but certainly no floppy disks – I saved my programs and data on cassette tape. With my difficulty to grasp the concept of interpreted languages the first program I bought was an assembler. I was quite some work to get anything done with this setup:

  • Insert the cassette with the assembler and load the program
  • Edit and assemble the code, keeping source and assembled program in memory
  • Insert a new cassette into the recorder and save the source file
  • Insert a different cassette into the recorder and save the assembled program
  • Load the assembled program (overwriting the assembler in memory)
  • Running, testing the assembled program and writing down errors
  • Rinse and repeat

This lengthy procedure trained you to really think ahead and consider all possible errors – it took too long to ‘just try’ something. In this regards those interpreted languages are much easier and train programmers to be much sloppier.

The bigger part of the internet now is based on such sloppy work – whenever you have a PHP file it is more or less interpreted like the old Basic in my Trash 80. I once read – and it made a lot of sense – that we would do a lot to avoid global warming if we would compile all those billions of lines of PHP code into machine code once and then execute that on the server. All data centers around the world could be scaled down considerably if each line of PHP code would not have to be compiled over and over and over again, thus saving energy for the processors of the webserver and the energy for cooling them.

Maybe, then the web could run on a couple of TRS-80s.

Triumph of the Nerds

Now that all those nerds that created the computer revolution are getting to an age where we might lose them – see Steve Jobs – documentaries like Robert X. Cringley’s Triumph of the Nerds become more of a history text book (book understood more figuratively).

In the old InfoWorld magazine/newspaper Cringley’s column “Notes from the Field” was always my favorite – your’s too, Max, right?

So, I just had to stop and listen (and watch) when I ran into his documentary “Triumph of the Nerds” on Youtube.

What to Do to Be on Money and Coins

When playing with my scanner and photo editing software to find out how to get around the built-in law prohibiting to scan money, I looked at the dude on that one bill and could not help thinking about what he did to become so admired that he now is on one of those pieces of paper that is usually called money.

Honest Abe managed to trample liberty with all his feet by forcing the south to remain in the union. They did not like to be in that union any more but Abe did not want to lose what they contributed so he waged a war to keep them in. As he was the victor he packaged his motives as “freeing the slaves” – but politicians, especially when victorious have always been very good at this kind of re-purposing.

Another dude that I just recently learned to see in a different light does not have his own paper bill, but at least he has a coin, and, as I remember, at least one stamp with his picture…

Wernher von Braun – the man who took us to the moon.

But he also was a war criminal because he built – or helped build – all the V2s that were used to bomb England. He did not have to stand trial in Nuremberg because his services were needed in the US of A.

So, what could I do to get my picture on some money or at least a coin?

No good idea yet but maybe some of you might come up with something.

And, so that you did not come here for nothing – here is how I got the picture of Abe from the 5 Dollar bill. My scanner – an HP – did scan the bill without a problem into a png file. I could not open that in Photoshop or Corel Paint – but Gimp was not so picky about the law. So I opened it there, cropped and straightened it, then selected all and hit the Crtl C.

In Photoshop I could open a new doc and just paste the data from Gimp. Once saved as a Photoshop native format – psd – there was no problem re-opening that file – and cutting out honest Abe.

More on Chrome Users, Profiles and Applications

Recently I reported on my findings about the Google Chrome parameters

  • –user-data-dir and
  • –profile-directory

Now I had to set up a computer for somebody with two main gmail accounts and I wanted to have direct access from an icon in the windows 7 task bar to each of these two gmail accounts.

It required a bit of juggling all these Chrome parameters but I finally managed to have two gmail icons in the task bar that allowed the user to get her two gmail accounts without ever having to switch accounts. The following solution also avoided the confusion that was created by the fact that Chrome remembers the last User that was active when Chrome is closed.

The first icon has the following parameters:

%path-to-chrome%\chrome.exe 
   --user-data-dir="C:\usr\browser\chrome-0001" 
   --profile-directory="Default" 
   -app=https://mail.google.com/mail/u/0

and the second is different in selecting another user within the same profile

%path-to-chrome%\chrome.exe 
   --user-data-dir="C:\usr\browser\chrome-0001" 
   --profile-directory="Profile 1" 
   -app=https://mail.google.com/mail/u/0

You know how to set the properties of a pinned icon in the windows 7 task bar, yes?

Really? You are good – it was more by accident that I ran into this and was rather relieved when I did – Right-click on the icon, and then right-click again on the name of the application (usually the second from the bottom if the application is not running, otherwise the third.) This is  how you get to the usual window for the properties of a shortcut.

G-Male – that’s how it’s spelled correctly

If you are a gamer you know Donkey Kong. It was actually the first game my son ever had. I just learned that when I asked him how it’s spelled.

Spelling! This brings us close to the crux of this little article. The name is a translation error, a spelling error between languages, so to speak. Have you ever wondered why a game about a monkey is called DONKEY Kong? Rumor has it that it’s simply a translation error – the Japanese translator just mistook the D for an M and now we are stuck with a Monkey called Donkey. Other data suggests that the Japanese character creator used Donkey as a representation for stubbornness and Kong to indicate the monkey-ness (King Kong is a apparently a term for the generic big ape.)

Whatever is right – I like the first explanation better and stick with it, especially as it allows for a much better transition to the following video that shows that Gmail has been spelled incorrectly from the very beginning.

Here is the correct version – G-Male – and what it really means…

Work that turns into Work

Today – and last week – I had two days where I really understood why outsourcing could be a good thing.

Gigi and I sell real tangible goods – tie-dye 2.0, also called mudmee tie-dye. Gigi is the part of our enterprise who creates the products and who also takes them out to art and craft show. I just sit in the house and stretch out my feelers to potential customers through the internet.

For me, building the site and programming the whole inventory and order handling was the self-assigned internship to learn how to deal with the web. I also learned a lot about marketing which I did not have to do much of when I was only dealing with very few clients in the high-tech and scientific programming, something I had done before venturing out into the new realm of the web.

These last two weekends we had added two new types of shirts that had already created good responses at shows and now our mailing list responded very well. So, after the waves calmed down a bit, I was working till late into the night to process all those orders.

Initially each and every order was met (by me) with big excitement and a quick trip to the paypal backed to print the shipping label and get those items out. Don’t get me wrong, I love it when there are so many orders that it takes me all night to get them ready for shipping – but I also understand why outsourcing can be a real good thing.

Yet before  I can even consider outsourcing I would probably have to ‘blackbox’ my system some more. As it was all handcrafted, there are still some elements in my system that are only obvious to me – because I built them – but not black-boxy enough, so that I  could just hire somebody and let him or her do the order processing.

In case you are a bit curious what this is all about – I am speaking about Mudmee Tie-dye at  JustZen.

Google Chrome – Profiles, User-Data and Users

I have to admit that I am a collector of Google accounts.

Never really intended for it to become so excessive – it just happened. Most of the incoming mail still goes into my central Thunderbird mail hub but there is the need to log into some of these accounts directly, at least once in a while.

Google Chrome has been my tool for this as it had this nice command line parameter allowing me to define the location where it stored all it’s data. Thus I created a number of copies of my default data storage at

C:\Users\mememe\AppData\Local\Google\Chrome\User Data

as

C:\usr\browser\chrome000
C:\usr\browser\chrome001
C:\usr\browser\chrome002
C:\usr\browser\chrome003

and created shortcuts to different instances of Chrome with targets like

%chromepath%\chrome.exe --user-data-dir="C:\usr\browser\chrome000"
%chromepath%\chrome.exe --user-data-dir="C:\usr\browser\chrome001"
%chromepath%\chrome.exe --user-data-dir="C:\usr\browser\chrome002"
%chromepath%\chrome.exe --user-data-dir="C:\usr\browser\chrome003"

and logged into each of them with a different Google account. This way I had direct access to all of my accounts with all their associated features (like Analytics, or Adwords, etc) without the need to go through logging off one and logging in to the other.

Today then it became obvious that I had to uninstall Chrome. Not necessarily because I did not like it any more, but there were just too many little bugs that had crept in that a possible re-install could not fix. For example LassPass did not show up right, and Google Maps – of all Google application – had rather nasty rendering problems.

So, I bit the bullet, uninstalled Chrome and even ran the manual uninstall of Chrome to make sure I got rid of all remains.

Then came the re-install and in the process of setting up all these old profiles (actually more than profiles, as I found out) I learned that Google, in the meantime, had developed something that actually could make this whole process of accessing a multitude of Google accounts easier – ‘Users’ within one data storage like contained in the folder

...\Google\Chrome\User Data.

Under this directory you always had a folder ‘Default’ which contained all the data for a user. Now you could add a user in the Chrome settings page and log into a different Google account as that user. The user interface for this feature is cute but very usable:

If there is only one user within one Chrome data set (–user-data-dir), the top left corner of Chrome looks like

But when there is more than one, a selectable icon appears to the left of the tab bar and it looks like

Now you can click on the little ninja and select from a pop-down menu a different user

There is another command line parameter to chrome which now allows to create shortcuts for the different users within one data set:

%chromepath%\chrome.exe --profile-directory="Default"
%chromepath%\chrome.exe --profile-directory="Profile 1"

so that you don’t depend on the GUI interface to the different profiles. The names as given above are selected by chrome when you add users, but it appears you actually have control over the naming of these profiles. During my testing I found out that if I use the above command line with a non-existing profile name, this profile will be created on first start. Creating a shortcut with the following target (all in one line, obviously)

 %chromepath%\chrome.exe
       --user-data-dir="C:\usr\browser\chrome000"
       --profile-directory="Heinrich

created the profile ‘Heinrich’ which I could then use to log into yet another Google account. And on this command line you see that these two command line parameters can be combined to have different users within different Chrome data sets.

To ‘Really’ clear a USB stick

Sometimes it is necessary to go to the command prompt (!) to accomplish things, even in Windows.

If there is any invisible junk, like old partitions, on the stick, the GUI utilities in windows will not be able to remove all that.

In this case go to the command prompt (as an admin user), and do the following:

diskpart
list disk
select disk #
clean
create partition primary
select partition 1
active
format quick fs=fat32
assign
exit

make sure that you get the right drive with the select disk command, otherwise there might be a long night of re-installing windows.