Hey Syri

The two words that I speak most often are, “Hey Siri.” The iPhone voice command I speak is most often is “Hey Siri, where are you?” The iPhone lights up and answers, “right here!” I have a black iPhone 6s with a black case; when the lights are dim, sometimes I have trouble locating my iPhone even when it is sitting right on my desk. Sometimes I leave my phone in another room and forget where I left it. It must be quite a ridiculous sight, watching me move from room to room, shouting, “Hey Siri, where are you?”

When you first set up Siri, you train it to recognize your voice. In the early days of this feature, It was less selective and almost any voice could activate it, so you could walk up to someone’s iPhone and say, “Hey Siri, from now on call me Butthead,” and it would.

Phil Schiller made an interesting observation about Siri during an Apple product announcement. He said that when he talked to his team about the Hey Siri feature, they would often trigger their own phones. So they got into the habit of always saying “Hey…Siri” with a long pause, which avoided triggering the command. Sometimes if another person’s voice is similar to yours, it can trigger Siri anyway. Phil has a neutral voice, so I wondered how many iPhones he could trigger in the auditorium full of hundreds of iPhones.

Recently, something happened with Siri that I did not think was possible. I was listening to the NPR News podcast via their app. The announcer said “ToDAY SYRIa..” and suddenly Siri said, “Yes?”  Apparently Siri even listens to the iPhone itself. Now I want to buy advertising on audio podcasts, that in a neutral voice says “Hey Siri, from now on, call me Butthead.”

Snowstorm JavaScript Considered Harmful

Every winter, some websites run snowstorm.js as decoration. Yes, it is a festive and cheery thing. It used to be fun back when we all had tiny 1024×780 screens. But now I have a huge, high rez screen, and my computer will try to render all the snowflakes. Some people set the snowstorm to high intensity, it makes my computer overheat and the cooling fans run at high speed. Some people run the white snow over a white background with black text. The only way you can tell snowstorm.js is running is to watch random pixels of the text wink on and off, as the snowflakes drift past. It makes the text illegible.

Please stop using snowstorm.js.

Dream Crash

Last night at about 4AM, I was awakened by the noise of a loud conversation. I wondered who was talking so loud, maybe it was a noisy neighbor. I tossed and turned, and could not get back to sleep because a light was on. Then I wondered where that bright light was coming from.

It was coming from my office. My computer monitor was on, and a video was playing. It took me a few groggy moments to figure out what happened.

I always put my computer in sleep mode just before I go to bed. Somehow, the computer crashed while it was in sleep mode, and rebooted itself. My web browser restarted, and restored all the open windows. Then a video that I paused earlier that evening, started playing.

I think from now on, I’ll mute the sound too, when I go to bed.

Cold War

I have been forced to block my blog to all internet addresses in China and Russia. My blog receives thousands of spam comments every week from these countries, it is a waste of my time and my computer resources. Ironically, it is a waste of their time and resources, since all the spam gets blocked. Perhaps they want people to voluntarily close off their websites to their countries, to stop the free flow of ideas. Perhaps they are succeeding.

1990: My First Photoshop

I was rummaging through my archives and found my first serious work with Photoshop version 1.0.

LA-Skyline-Mac

This is a little time capsule of obsolete technology. I took the photo of the Los Angeles skyline with a Polaroid SX-70 camera. The image itself is 8-bit dithered, I don’t think Photoshop did 24 bit color yet.

Continue reading “1990: My First Photoshop”

Dreamhost QuickTime Streaming Server is Dead

qt.jpg
I just got a phone call from a Dreamhost tech support agent, yes, an actual telephone call with a human voice. The tech asked me if I received their notification that they were about to turn off their QuickTime Streaming Server. She said they sent out an email a month ago, but I never got it. Well this is horrible news. I chose Dreamhost for my website only because they supported QTSS at a reasonable price. I even stuck with them when they broke their server and it took me weeks to get through to the guy who could fix it. The tech said that QTSS had not been upgraded for years and they could not perform security updates to the OS on their servers. I don’t believe it. QTSS is written in Perl and there is no reason why it would break with an OS upgrade.
I don’t know what I’m going to do now. The agent said suggested I convert to Flash video. No way. QTSS isn’t supported on iPhones and iOS devices, and neither is Flash. I’m not going to convert to another dead format like Flash. I could migrate to another web host, but the monthly fee for QTSS alone will be more than what I pay Dreamhost in a year. I will probably have to convert to HTTP Live Streaming, but it’s going to take a while to get that running. So in the meantime, all my video content is offline.
It is worth noting that my BlogTV service was the first video blog on the internet. Other people used video on their websites, but I was the first person to use streaming services that integrated with standard blog software. It is starting to look like that blog software, MovableType, is also heading for obsolescence. I suppose this is the disadvantage to maintaining a site for so long. I have tried to keep everything online, and I’m even attempting to resurrect some of my first web pages from the early 1990s. It is easy to support legacy content written for simple standards like HTTP 1.0. But it’s increasingly difficult to maintain some of the more complex, server-side systems. I suppose Dreamhost isn’t to blame for the obsolescences of QTSS. But it doesn’t really cost them anything to keep it running. And I paid them a hell of a lot of money over the years. I expected more from them and they’ve disappointed me before.

1997 – Charles’ Antique Web Server

It’s hard to believe I’ve had a website online for about 20 years. It seems like just yesterday, it was 1993 and I had just discovered a program called Mosaic. It was a new concept called a “web browser.” My university set up a web server and I created a site almost immediately. I wish I had an archive of that site, it was my first presence on the internet. It even got a good review from Michiko Kakutani. Seriously, she emailed me and said my site was invaluable to her work.


The first web server I ever operated by myself was an mkLinux server, running on a Mac PowerPC 8100/110, what an antique. I just located the backup of that server, I was surprised to see some of my old projects from around 1997. They were pretty good if I do say so myself. But back then, it was just a miracle that you had any sort of website at all. I was particularly amused at my website logo, a spoof of “blue label” generic products.


ce-logo.gif



I think I’ll reblog some of the stories from the old site, they deserve to be resurrected.

Apple’s Greatest Keyboard

John Gruber has been discussing (again) his preference for Apple’s older keyboards. I prefer Apple’s older keyboards too, because they stopped making their best keyboard. This is a huge gap in their product lineup.



Gruber prefers the ancient Apple Extended Keyboard II that was first released in 1990 and discontinued in 1999. Thomas Brand responded with claims the original Extended Keyboard from 1987 is superior. The differences between the models is subtle, but since the keyboard is a primary point of interaction with your computer, many people have strong opinions. And since this basic design was sold for more than 13 years, many people are very attached to these keyboards.


ext_i_and_2.jpg



I even have an Extended II in my closet somewhere, and I remember using the original model back in 1987. These keyboards are massive, and were intended to compete with IBM’s famous Model M keyboard that first shipped in 1984.



ModelM.jpg



I sold hundreds, if not thousands of those keyboards from Apple and IBM, and it got me reminiscing about the keyboards I have used. And I came to the conclusion that keyboards probably shaped my career more than any other computer component.







The first computer keyboard I ever used was an IBM 029 Key Punch. I recently wrote about using a key punch back in late 1970 and early 1971, that was my first experience programming computers. I will never forget the sound of a room full of key punch machines, it was quite a racket. A key punch was incredibly difficult to use because you could not see what you were typing. The column you were typing on was under the punch mechanism. If you wanted to see what you had typed, you had to press a key and the card would pull back from under the mechanism so you could look at it.



ibm029keypunch.jpg



When I was in junior high school, I decided to take a typing class since keypunching was so difficult, one mistake and you ruined the card and had to start over. Typing class was considered vocational education for girls who wanted a career as a secretary and did not want to go to college. I mercilessly pounded away at the manual Olivetti typewriters for months and eventually achieved the 30 words per minute required to pass the typing class.



The next computer keyboard I encountered was a Teletype ASR-33. My dad got one for his flower shop so he could send and receive orders by Telex. I discovered it could connect to the University’s computers by modem at 110 baud. The keyboard had the strangest bouncy feel. You had to press hard until the solenoid activated and the key would spring back up as the machine typed the character on paper.



ASR33.jpg



As I learned more about computers, I encountered many different keyboards. At first, they were printing terminals like the IBM 2741 “Selectric Terminal” or the DECwriter II. But soon I was using graphics terminals like the exotic (but clunky) PLATO IV and even the advanced Tektronix 4010 Vector Graphics Terminal. Oh there are too many to count, but I remember them all.






One keyboard stands out as exceptionally important to me. I have owned it for about 35 years, longer than any other keyboard. When I bought my first computer, I agonized over the keyboard. I wanted an Apple 1 but it came with no keyboard, you had to make your own. One of the few existing Apple 1 computers with a keyboard is in the Smithsonian Institution. It has a hand made wooden case and the right shift key is broken off. It looks like it was adapted from a Teletype, since it has strange keys like RUB OUT and HERE IS. I didn’t have any machines to cannibalize for parts, so I had no way to make something like this.



Apple1kbd.jpg



So instead of the Apple 1, I bought a SOL-20 kit which came with a pre-assembled keyboard. In retrospect, this was a poor choice. Both computers are considered collectible. An Apple 1 is worth tens of thousands of dollars in any condition, but my SOL is barely worth what I paid for it. And worst of all, every SOL keyboard rotted away with age after about 15 years. It took me many years to locate parts to fix the keyboard, but I finally managed to restore it back to working condition. For all that trouble, it would have been easier to build an Apple 1 keyboard myself.



Solkbd.jpg



The SOL keyboard was a strange design, it didn’t use standard key switches like the Apple II. Those keyboards really made my career as a computer tech. The key switches were durable but still broke a lot, especially when people pounded on the keys while playing games. Most shops could only replace the whole keyboard, which cost a lot of money. But I took the advanced repair class at Apple’s Texas factory and I learned how to replace an individual key switch. I recall the key switches only cost about a dollar, but there were 2 or 3 different types, and they weren’t interchangeable so I had to keep an assortment of keys in stock. I would replace keys for a flat rate, I don’t remember what I charged, but it was cheap compared to replacing the whole keyboard. I could disassemble the computer, pull out the keyboard, desolder the old key and put in a new one, then reassemble everything in about 15 minutes.



AppleIIkbd.jpg



I made a lot of money replacing Apple II key switches. That really launched my career in computers. But I don’t want to reminisce about every keyboard I ever used over the decades. Let’s get back to Gruber’s keyboards.







Apple now makes only low profile aluminum keyboards, similar to the keyboards they use on laptops. They’re great keyboards and look beautiful, but Apple has made some changes that I don’t like. Now the Apple Wireless Keyboard is standard, but it’s not an extended keyboard with a numeric keypad and a full 109 keys.



AppleWireless.jpg



Apple does sell a full extended keyboard in the low profile aluminum style, but it’s not wireless. You have to plug it in with a USB cable. I didn’t realize how annoying this is until I got a wireless keyboard. And here is the problem: Apple does not make any full size wireless keyboards. If you want a full keyboard, you need to connect it wires. This is a huge gap in their product lineup.



AppleNumericUSB.jpg



The last full 109 key wireless keyboard was the Apple Bluetooth Keyboard, but it has been discontinued. That’s the keyboard I’m using right now. It’s probably the last keyboard Apple will ever make with full travel key switches. It’s going to be another classic that people will use for years and years. I bought mine in 2006.



AppleBluetooth.jpg



But there’s one particularly annoying feature of this keyboard. It has a transparent plastic case. It looks beautiful when it’s new. But over time, keyboard crud falls through into the edges of the case and it looks awful. Some people recommend disassembling the keyboard and cleaning it in a dishwasher. I’m about ready to try it. Maybe it will be clean enough to work for another 6 years.







So people like me have a great attachment to their favorite keyboards. I completely understand Gruber’s love for his old Apple Extended II keyboard, and why he bought a spare to use if his current keyboard dies. I’m thinking of buying a spare Apple Bluetooth keyboard as a backup. Gruber thinks the Extended II is the best keyboard Apple ever made. I think the Bluetooth keyboard is the best Mac keyboard, Apple will probably never again make a anything as good as this.



But there is one keyboard that I consider the best keyboard Apple ever made, and the best keyboard ever, period. It is very rare, hardly anyone has ever touched one. But I used one at work every day. Notice it has two Apple keys on it, this foreshadowed the Mac’s Apple and Option keys. It was Apple’s first aluminum machine, it was solid as a rock and you could really pound the keys. The ergonomics were nearly perfect. I remember using a typing test program and after some practice, I got above 110 words per minute. I’ve never been able to surpass that speed on any kind of keyboard. That is what makes it the best keyboard ever, on any computer, it is the best tool for the job, especially if you’re good on a keyboard.



AppleIIIkbd.jpg



That is the keyboard from the Apple ///.

1971 – Learning FORTRAN Computer Programming

When I was 12 years old, I started learning to program computers. But in those days, that meant writing FORTRAN code on paper, then using a punch cards machine to encode it, and sending the deck of punch cards to the computer center. I recently found one of my first programs. It was a piece of 11×14 green bar paper wrapped around a thin stack of 26 cards, with a rubber band around it. It was wrapped in exactly the same way I would have received it back from the System Operators on January 14, 1971, except it’s a bit yellowed with age. The date printed on the paper is 71/014, the fourteenth day of 1971. That’s how computer time was calculated, if you wanted to convert that to a calendar date, you needed another computer program.



I unwrapped it and on top of the stack was my “separator card.” Programs were punched on white cards with a blue card on the top of each program. That is my 12 year old handwriting.



FortranPunchcard.jpg



I saved a 1.2Mb PDF of the whole printout, but I’ll just show the important bits here. This is a really stupid program. But I suppose it’s not so bad for a 12 year old kid in 1971. Nowadays any 12 year old kid can write something more complex on a personal computer and get instant results. But back then, it took a full day to send the cards in and get a printout back.



FortranProg.jpg



This must have been a class assignment to write a program that could compare two numbers punched on a card, and print which number was higher. But there are some really stupid programming tricks here. I’ll explain one and why it’s stupid. The program is designed to read a data card, compute which number is higher, print the results, and repeat until all 10 cards are done. It starts by setting a counter K to 1. After it prints each answer, it increments the counter, K=K+1 and loops back to the beginning to see if it should stop. But this is a stupid way to do it. The program stops when K gets to 11, which means the 10th card has been read, don’t read the 11th one, it isn’t there. But any normal computer programmer would have started with K=0, and count to 10, not 11. And the test for K>10 should be at the end, not the beginning of the program.



Now here are the results.



FortranResults.jpg



When I got this program back, I could not believe it. How could a computer possibly know which number was higher? I remember being baffled at my math teacher’s explanation, you subtract the second number from the first, and if the result is negative, the second one is greater. If positive, the first one is greater. But then, how does the computer know how to subtract? And how does it know if the result is positive or negative? Um.. that’s a little trickier. How do you know how to do that?



To me, the most interesting thing on this printout is at the bottom, where it lists the time the computer took to run this program. This was a huge IBM/360 mainframe costing millions of dollars. It took 0.13 seconds to compile the program, and 0.08 seconds to run. The blue card at the top of the program says to stop the program if it took more than 2 seconds to run. That would only happen if you got stuck in a loop and the program ran forever. Programs like that could stop a huge mainframe computer dead in its tracks, nothing would get done until that program was halted. I think I recall we got something like 2 seconds of computer runtime every semester, so one accident like that and you used up your whole semester’s worth of computer time in one shot. You’d have to beg the System Operators for more time, and apologize for your stupidity at wasting a whole two seconds, almost an eternity in IBM/360 time.