Dr. Jerry Pournelle

Email Me


Why not subscribe now?

Chaos Manor Subscribe Now



Useful Link(s)...

JerryPournelle.com


Hosting by
  Bluehost


Powered by Apache

Computing At Chaos Manor:
The Mailbag

Jerry Pournelle jerryp@jerrypournelle.com
www.jerrypournelle.com
Copyright 2010 Jerry E. Pournelle, Ph.D.

October 31, 2010

Subject: Word processing woes

Perhaps you'd be interested in looking at Scrivener.

http://literatureandlatte.com/

It is currently Mac only but a Windows version is on the way. It is the only word processor I know of specifically designed to aid in creative work with long texts. Another book author, James Fallows of the Atlantic, praises it to the skies. See:

Three relevant links from The Atlantic: one, two and three

Screenshots at the third.

I haven't worked with it personally (scientific papers are much shorter), but it's only $40 so it isn't much of a risk.

--
Dr. Paul J. Camp
Physics Department
Spelman College
Atlanta, GA

I looked at Scrivener when I contemplated conversion of all my operations to the Mac, but since I was starting a project with Larry Niven who wasn't about to make such a change, it didn't get very far. There was a discussion of Scrivener in the Science Fiction Writers of America discussion group at one time, and it got several favorable recommendations. If it does come to Windows I'll have another look - or when Niven and I finish Anvil.

Meanwhile Peter Glaskowsky has been building me a "Fiction" Template, which I hope to use shortly on a number of my works that haven't been released in eBook format yet. It takes me longer to do things than it used to...


A dubious hardware milestone

Jerry,

A dubious hardware milestone here today... I threw away my first ever Microsoft optical mouse over a decade after buying it, due to the left button starting to get flaky. That is a lot of use from a $25 part. Unfortunately today also marked the day when my Microsoft comfort curve keyboard suffered a failure of the right arrow key, and the printing on the "A" and "S" keys has worn off, only a year or so after buying it. The keyboard that came with my first ever computer more than 24 years ago still works and all of the printed letters are still legible on the ancient keyboard I used/abused non-stop during my comp-sci degree program at the USAF Academy, so I am a bit disappointed with the durability of the Microsoft keyboard. The old humped/split ergo keyboards from Microsoft were bulletproof which is why I gave the comfort curve KB a chance, but now I am forced to consider whether or not I will replace what is only the second keyboard that has failed me in my entire life, with another MS product.

Sean

I am still using my first Microsoft red-eye mouse, and I am not even sure which one it is. I have several, and they go from machine to machine, or sometimes get flung into the travel bag when I am going on trips. I have used them with both Windows and Mac (Power PC and Intel) systems, laptops and desktops, and Linux systems as well. They never seem to wear out, and they don't need much cleaning.

I have yet to wear out a Microsoft keyboard. I have an older Ortek "clicky" programmable keyboard I use a lot, and all the letters have worn off the keys. That turns out to bother me less than you'd think but when I have to look for a key (as opposed to just typing) I can never find it. I notice Niven can't use it at all. So I paint the letters back on with airplane model paint and that lasts a month or so, or I use a Sharpie and that lasts a week and gets my fingers filthy. One day I'll replace. All my other keyboards are Microsoft Comfort Curve, and there's one for the iMac as well as one for the ThinkPad. The keyboard I keep on the machine Niven uses is a Microsoft Humpback, one of those which really divide left and right hand operations, and he loves it, but I could never get used to it.


The Ars System Guide: September 2010 Edition

Dr Pournelle,

Since you build your own Windows boxes, you might find this system guide on Ars Technica to be of use.

Best regards,

Alun

Dr Alun J. Carr
School of Electrical, Electronic, and Mechanical Engineering University College Dublin Belfield, Dublin 4, Ireland

Thanks. I don't build many systems now. There are plenty of decent systems for sale at low costs, and for me high energy time is now the quantity I am shortest of. If you do fancy building your own systems - and for those with the time it's worth doing for a number of reasons - I continue to recommend Robert and Barbara Thompson's Building the Perfect PC (2nd Edition). That's in stock now, and Building the Perfect PC Third Edition is due by the end of November.


on the iPad "revolution"....

Dear Mr. Pournelle,

A couple of my colleagues own the iPad now, and they seem to be very happy.

The iPad is indeed very nice while I, as an old almost-everything-but-apple computer user still fail to see the revolution of a device that has no USB and no Ethernet port.

How people can consider revolutionary a device that allows you to exchange a file only via a wireless/3g connection seems strange to me.

What seems more strange (and in my opinion unacceptable) is Apple's policy on what I can install on MY computer.

If I write an application for iPad Apple decide if it is "good enough" to be sold through the iStore. Not a big deal, only the iStore is the ONLY allowed way to distribute an application. And no, the evaluation of my product will not be only technical (respect of standards and so on...). Apple mainly reserves the right to drop your app just because they don't like it...

On the other side, I (as an owner of one iPad) I'm not allowed to install everything and from every source I like.

This is exactly the opposite of the personal computer revolution. I think that if Microsoft had tried that (force you to buy everything via a ms-store) the press would have killed it.

Regards

Antonio Romeo

PS: still think the iPad is a very beautiful device, very good at reading and browsing. Not something I would carry on as my only device though....

You are not the only one who wishes for a USB port on the iPad, but the little beast still remains very useful for many things, and the Apps multiply all the time - and most of them actually work, which is not always true for other systems.

Apple "censors" apps because they don't work. There are plenty of silly - yea, stupid - apps that get approval. They work, but it's astonishing that anyone wants them, or that anyone at Apple "liked" them. Apple rejects apps that don't work or crash the system, and I rather like that.

Eric adds:

Regarding Apple's control of software publishing on its devices: First, get over it. Second, personal computers are not the model driving this business. The model here is game consoles. Specifically, the third party publishing system pioneered by Nintendo after the console industry was regarded as dead and buried. The first wave of game systems from US companies had no provision for third party participation but also lacked effective means to keep third party software from running on the machines. The inability to manage the deluge of horrible third party software was a major factor in the crash of the original video game industry.

If you think Apple may be difficult at times, this is nothing compared to the restrictions Nintendo set for game publishing in the US market. http://www.filibustercartoons.com/Nintendo.php

This went on for several years until the entry of less restrictive companies threatened Nintendo's dominance. This led to some embarrassing outbreaks of mass stupidity when politicians began to get involved. When Joe Lieberman was first nominated for the VP slot, my main familiarity of him came from his earlier attempts to have the government interfere in game content.

Eric Pobirs


Comment on Programming

Hi Jerry,

I thoroughly enjoyed this month's review and mailbag, particularly the discussion of computer languages. I think that most languages have surpassed the C/C++ dangerous problems and would fit your desires with respect to Modula's, shall we say, modularity. Let me say that I too languished a while since the problems with C that you describe irked me as well.

The largest problem, and I think your primary concern with C and C++, is the ability to use pointers. These nasty little buggers can point to any memory location directly, regardless of what part of the program actually owns what resides there. Back in the day, one needed tricks like those enabled by pointers to enhance performance on the slower hardware of the time. As an example, one of my first personal computers was an 8bit Atari 130xe with 128k of memory. The available C compiler barely fit in memory. Such tricks as one might use pointers and direct memory access for were necessary at the time to work around memory and performance limitations. Indeed, half of the memory of the 130xe was only available by paging out 16k chunks (or was it 8, I forget...). In my view, this is primarily why languages of the time could be either structured and slow, or open, dangerous, and fast.

Programming languages have come a long way since C and C++. These are still used quite heavily, but I think that your point about Modula 2 modules is one of encapsulation more than anything. Encapsulation is like a shield that protects these modules. In the languages I currently use most, Visual Basic, C#, and Java, variables (memory) cannot be accessed outside the scope in which it was defined, and you, the programmer, have the power over that scope. The same is true of functions or methods, modules or classes, fields or module/class level variables, and so on. The programmer of a module can define either through position, or explicitly the scope in which the part is accessible by other modules. This includes the ability to make everything private excepting exactly what the programmer intends to expose. It sounds complicated, but believe me, it's actually quite intuitive when one is writing code, if one doesn't get too carried away.

In my time working with Visual Studio (Visual Basic and C#) and Java code, I don't think I've ever worried about a memory leak in terms of what can be done with pointers, malloc(), and the like. Also, I've not had to worry about inadvertently executing the wrong code, or having another module change something in a particular module, at least not in the terms of how that's quite possible in C. These languages are inherently more well structured, and I think combine the best of both worlds. I think you'd be impressed how far they've come, and how... well... far removed we are from those low level concerns with these new languages. Hardware is simply fast enough that the compiler or interpreter can protect against those events now. This is so much so that I think recently graduated developers may not even know what a pointer is, or might not have ever used one at least.

I tried to find a good article on the Web about pointers, evil memory allocation, etc, but I gave up in this sitting. I did, however, find this article that debates the performance differences between C# (or really any .NET language) and C++. It's rather interesting to note that a Pseudocode compiled program, C# .NET, can outperform C++ code compiled natively in some cases. Pretty much, it boils down to the fact that the C# interpreter really precompiles the pcode at runtime, so it's not really an interpreted language, in many respects. This comparison, I don't think, would have been as interesting with any compiled vs interpreted language available back in the Byte days.

Thanks for reading!

John Kelly

Actually my primary concern with C is that C programs are impossible to read, and despite improvements C++ programs remain very difficult to follow. I keep getting stories of how C was misunderstood.

Regarding pointers: there are few reasons ever to use them in application programs, and they make the programming profession more of a closed system than I like. I understand that systems programming is a different art from applications programming, and most of my observations on programming languages apply to applications. I see little reason to use pointers any longer in applications programs; various array data structures are a lot more comprehensible and make for fewer bugs in program execution.

Peter Glaskowsky reminds me:

As you say, there are many situations in which it isn't necessary to use pointers, but C is used in many situations where it IS necessary or desirable-- driver development, for example. I don't think C is going away any time soon, but it isn't the de facto standard it once was.

PNG

I still believe we need explicitly strong typing and declaration with scope enforcement as well as range and type checking in both systems and applications programs; the goal is to make the programs more readable, even if the cost is a few more key strokes for the programmer; but I can understand that systems programs and drivers may need to use tricks and arcana for performance improvement.

I continue to hear the horror stories of big outfits that had to rewrite vast programs from scratch because the original programmer died or went to another company or got married and moved away. Granted those tend to be stories of programs begun long ago and thus likely to have been in unimproved early languages, but my examination of some modern source code does not impress me with its readability. Perhaps that's because modern coding houses don't enforce strict program structuring? I don't know; I'm not as familiar with what's happening as I used to be. I do know that ADA programs tended to be readable, back when that was the required DOD language.

Niklaus Wirth approved of most of ADA but he took strong, uh, exception to its inclusion of exceptions in the program language specifications. "People who have to resort to exceptions don't know how to program," he said at one conference. The ADA enthusiasts countered that some DOD programs have to work in real time, and things happen that the programmer cannot possibly foresee.

I would very much like to see a renewal of this sort of debate in the computer community, not just in graduate studies of computer science. The "philosophy" of computer programming is too important to be left to professors of computer science ...


And again cookies

I'm not concerned about cross-site vulnerabilities, only my-site vulnerabilities. If you've said Remember My Password where do you think that's saved? (Hint: delete all cookies, then try to get back in. I'm constantly rebuilding OSes after viruses and the owner can't tell me what this or that password was.) How about Remember Form Data? And each cookie is set only after the page has called home with some of your information.

My point is that while you think you are deleting cookies, you aren't. You're only deleting the honey-pot ones.

How does Doubleclick or Adsense make money if they can't read other sites' cookies to target ads? Why do I get ads specific to Pittsburgh when I go to a site where I've blocked the cookies? And why do I have to take 7 cookies to be able to start to search Lowes.com but none for harborfreight.com? What are they finding on each pass?

If you think you've blocked flash cookies with firefox, go to thedailyshow.com. If you can see the central video, you haven't blocked them. I get a gray box with

User Must Allow 3rd-party Flash Content

Please visit: http://www macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html

If you don't get that box, see the next two paragraphs. The period is intentionally missing because I forgot to set the autocorrect idiot in my WLM.

IN FACT, from a question in addons.mozilla.org

"Q: Is Firefox's 'Delete Private Data' function capable of deleting Flash-cookies? A: No! As Flash is an external application, Firefox is not even aware of Flash-cookie storage. ----------; ... - Addons like 'FlashBlock' or 'StopAutoplay' do not block Flash cookies because they only prevent Flash from being displayed but Flash is still loaded."

AND please read http://flashblock.mozdev.org/faq.html

As an indicator of my bona fides, I can produce a witness who asserted that my use of a flashcard on an XP-based laptop at the beginning of the century was not a sufficient way to speed up Windows. ReadyBoost, why didn't I patent you? Now, I haven't seen anybody else with a good method of killing, not removing after the fact, .sol files. I always did like cold steel for solving problems, but Xena wound up bloodless because of the TV namby-pambies.

Ravingly yours, Don Miller

I fear that all is not as you understand it, but I understand that many are alarmed by "Internet Tracking" given the recent spate of attention to that.

Firefox is certainly not aware of many third party Cookies. A free add-on called BetterPrivacy purports to delete all third party Cookies and as far as I can tell it does that. The "improved" Windows search function makes it much harder to find the cookies in my own system, at least for me; perhaps I don't understand how to search for them any longer. But to the best of my knowledge, BetterPrivacy will find and extirpate all third party cookies that hide in places other than the regular cookie folder.

I do routinely remove all third party cookies from all my machines, and edit the "regular" cookies I allow on some systems, but it's a lot of work. And the latest I am hearing when I search on FireSheep is a new Cookie Scare that concerns me even though there's a simple solution to that. See below.

Having said that, there seems to be a general lack of awareness of just how cookies work, and that promotes an irrational fear. I do caution those who visit web sites they'd prefer not to have anyone know they went to that they really do need to learn how cookies work and how to get rid of third party cookies.

Regarding Doubleclick and how you may get cookies from Doubleclick without having visited the site, the following from "The Unofficial Cookie FAQ" may be useful:

Most sites on the Internet do not keep their advertisements locally. Rather, they subscribe to a media service that places those ads for them. This is accomplished via a simple HTML call to the media service. When a page is requested, it is assembled through many HTTP requests by the browser. First, there is a request for the HTML itself. Then, everything the HTML needs is requested, including images, sounds, and plug-ins.

The call to the media service is an HTTP request for an image. Once the request is made to the media service, it can return more than just an ad. It can also return a cookie. Or, if is has given the user a cookie previously, it can read that first, and check to see what ad to send. The net result is that the user gets a cookie from the media service without ever having visited it.

This usage of cookies is the most controversial, and has led to the polarized opinions on cookies, privacy, and the Internet.

The Wall Street Journal series on Internet Tracking has sparked a renewed interest in Internet privacy, but has not greatly improved understanding of just how "tracking" works.

The recent flareup of interest in Firesheep also shows an unintended vulnerability traceable to cookies, but note that the primary vulnerability is from using a public and open wireless connection: the cookie is placed by Facebook and other sites as a temporary way for the site to know you are logged in when you change pages within that web site. If you are using a public and open network to access the Internet, a properly written script can allow an intruder to "steal your cookie" and then pretend to be you, and thus be logged in to your Facebook (or other) account. The proper remedy for this is to avoid using open public wireless networks. All that is required is for the public net to require a password: the password can be open ("password" will do) and it will prevent cookie theft and thus the unauthorized login. Tell your favorite coffee shop to turn on WPA and publish the password; it won't cost them anything, and that will defeat Firesheep. I still wouldn't recommend using public wireless nets for any transmissions you want to keep confidential.

Cookies are a convenience for the user as well as the "trackers". Few users understand how they work. It's possible to live without them, but it's more difficult than it looks.


Antivirus and security

Hi Jerry,

I was reading your column and I have some comments:

1. Norton antivirus is now *much* better than it was a few years ago (I think this is mainly due to a new manager in that division of Symantec). I find it works very well, and stays out of my way. And as I no longer work for Symantec, I feel I can now recommend Norton without reservation.

2. The best way to be safe is to use virtual machines, and periodically blow away the current machine and replace it with a pristine original copy (thus doing away with any infections you may have contracted). You should also keep one machine that you just use for banking, another for online purchasing only, and a third for browsing and email. That way the important information is out of reach of anything you accidentally get while browsing or looking at email.

Please suggest this scheme to your readers - it may save them from some nasty experiences!

A. Chris Barker

I have many other communications to the effect that Norton is now back in contention, and I'm happy to see that.

Virtual machines combined with the coming great increases in numbers of processors in common systems should make a great difference. It should be easy enough to delete the virtual machine and restore it complete with applications, then copy all data back, with simple operations that can be done unattended: thus routinely making certain that the system you have connected to the outside world is not the victim of malware and hasn't become a zombie. One can think of several ways to do this, much as I use one machine for communications and another for most other work, with filtered communications between them.


Barnes and Noble Launches PubIt!

Dr. Pournelle,

Barnes and Noble has entered the e-publishing fray with its PubIt! service. Here's the link to its FAQ page.

Highlights: You can upload a file in html, rtf, txt, doc, or docx and the service will convert it to epub format for you. For titles listed between $2.99 and $9.99, the author gets 60% of the list price as royalties. For other prices, the author gets 40% of the list price.

Jay Smith

And there are others coming fast. Publishing will never be the same. Of course none of these new outfits give authors an advance on a new book. You have to write it, edit it, and get it posted all on your own, while making a living...


Microsoft Windows Security Holes

Jerry,

While Windows 7 has improved the Security situation a little, the ease with which Windows 7, Vista and XP can be infected with Malware and root kits is a disgrace.

I think that Microsoft owes ALL users of Windows XP, Vista and 7 a Service pack that once and for all makes Windows secure from these threats.

It is time for Microsoft to stop placing the blame on the nefarious beasts that create these threats and take real action to quash them.

Microsoft crows about 95% of the World's computers running Windows. What it doesn't tell you is that about one-third of them are infected and that those that are infected with bot-net software are responsible for well over half of the SPAM.

I estimate that SPAM costs me about Three hours a week. If we make a conservative estimate of 30 minutes per week in lost productivity due to SPAM for every PC, that's 26 hours per year per PC. If there are 100 Million PCs, I know that there are a lot more than that worldwide, that's 2.6 Billion hours of lost productivity. At a conservative $10 per hour that is $26,000,000,000 of lost productivity due to SPAM and Windows accounts for half of that.

This doesn't even account for the lost productivity caused by Malware, root kit and virus infections and the time required to find them and remove them or the slow downs that they cause.

It really looks like we can't afford to continue to use Windows in its current flawed state.

Bob Holmes

The problem is, what do we use? And is the Apple OS inherently that much more secure, or is it just not a large enough market share to attract the best hackers, and those who write script kits?

Spam is enough of a problem for me that I would cheerfully pay 1/10th cent per email message I send if that could be required from everyone who sends me email. We could even pool the money collected into a giant lottery with only certified non-spammers eligible for the prizes - assuming there is a way to certify that someone is without spamming sin. Eric has long insisted that before spam is cut back much, something very violent, very physical, and very public happens to several spammers.

I agree that the situation - spam, malware, viruses, root kits - has become very serious. I am running low on solutions.

Peter Glaskowsky comments

Bob Holmes makes it sound like a properly protected Windows 7 machine can still be "easily" infected by malware. The truth is that most of the infections of modern Windows machines happen because of user apathy and ignorance. Users don't install antivirus software, then they deliberately install software they don't trust or they click buttons without knowing what will happen.

I would rather see machines that are secure no matter how irresponsible their users are, but that's a huge technical challenge; it will be years before it's fully solved.

png

I seem to say this every month: the first line of defense against malware is the user. Don't do stupid things. Don't visit suspicious web sites, or if you are addicted to those, use a virtual machine for the web visits and kill the virtual machine at the end of your session. Keep your communications machine absolutely current on updates. I chance not having any anti-virus program running other than Windows Security Essentials, but I know that I'd be safer using Nod 32 or the latest Symantec Norton anti-virus, and I periodically consider installing them. I regularly visit either the Nod32 (eset) or the Norton ( Norton's on-line scan ) on-line scan sites and let them do their thing (which reminds me: I have to go on-line scan Roberta's machine this afternoon).


Hi Jerry,

You always say that when it comes to subscriptions you are after beer money not rent money. And with a new baby a couple of years ago, plus a pay freeze money was a bit tighter than usual.

Also I had less time (and a lot less sleep) and didn't visit as much. But recently I found myself missing your thoughts and have been dropping by more often. Your site is still one of the most interesting places on the internet.

I thought this link might interest you:

[This link leads to a story about "New deep-sea hot springs discovered in the Atlantic" on the Max Planck Society website.]

I got an iPad as soon as I could, and I use it as follows:
1. Ebook reader (70%) - Almost exclusively with the Kindle app.
2. Video player (10%)
3. Chess computer (10%) - Shredder for iPad highly recommended!
4, Everything else (10%) - web browsing, email, other games - Plants v Zombies is great fun, weather app, etc.

I avoided the 3G because I use mine either at home, or at work, or on the London Underground where there is no signal. The 3G effectively doubles the cost of the device if you look at it over 2-3 years and include the cost of a data contract.

Now of course an Android tablet would do fine for 1 & 2, but curiously there is no good chess program for Android yet that I have found. But the real thing is that I have an iPad NOW, and I don't want a smaller tablet like Dell and Samsung are pushing for, if anything I'd prefer one a bit bigger. Also I have to say that it's quite astonishing to see a 6-year-old and a 2-year-old use it; they really can manage amazingly well. And from the first time she laid eyes on it my 2-year-old knew it was a 'puter. I don't think I'd want both an iPhone and an iPad, but I have a cheap little Nokia phone that gets great reception and incredible battery life and was insanely cheap, for everything else I prefer the bigger screen of the iPad.

After buying so many books on Kindle for my iPad I realized that I was avoiding buying things I wanted to be able to share with my wife, so got her one of the new Wi-Fi Kindle readers for her birthday, which I have to say is a huge advance over the Sony readers of 3 years ago. The text is crisp and clear and the device is marvelously small and light. The device is registered to my account, and no doubt in time the kids will need readers of their own, but whether that is a Kindle, or an iPad, an iPod or something entirely different will be interesting to see. But I do see Amazon being the repository of my future library. This year I will have bought 75% of my reading material as eBooks rather than paper books. Next year it is likely to be 90%.

I've been listening to Inferno & Inferno II on audible. I have to say I find it not entirely to my liking (the audiobookishness of it, the story is great) I read so much faster than one can read aloud that I find myself getting impatient.

It is of course wonderful that your recovery seems to have been complete.

Kind Regards,
Craig

My iPad has 3G and I have never activated it. I find I don't need it.

Thanks for the kind words.

Eric notes about audiobooks:

Audiobooks: I find the same thing for listening to books. I could never just sit and listen to a book while doing nothing else. The pace is a small fraction of my normal reading rate. But combine book listening with anything else and it becomes a very different story. I've stopped listening to the radio while driving until after the election. I hate political advertising regardless of my stance on the candidate or issue. The pace of audio books is fine for making a drive less dull when I need a suitable portion of my awareness for operating the vehicle. Likewise while walking the dog or exercising.

Eric Pobirs


Jobs' State of Apple address.

http://www.macworld.com/article/154980/2010/10/jobs_transcript.html

-----------------------------------------------------------------------
Roland Dobbins

Well worth paying attention to for those who missed it. Thanks. Now that Gates has left Microsoft, followed by Ray Ozzie, there's not much vision left there; while it's clear that Jobs continues to have a vision of the future of computing.

Gates' dream of "A computer in every home, and on every desk, and in every classroom" seemed like a madman's ravings when he first said it. It has now pretty well come to pass. I am not sure I see anything comparable anywhere now. We have pictures of the future, many by Vernor Vinge ("True Names," the Singularity stories, etc.) but they aren't precisely visions. Niven and I long ago had a "vision" of a pocket computer society (in The Mote in God's Eye); that seems to be coming to pass as we watch.


Mustang / Garmin Flight Instruments

Good Morning Dr. Pournelle,

I read your account of a (quick!) flight in a Mustang with a Garmin cockpit. I've been working in flight simulation for over 20 years. The Garmin technology is the most interesting thing to happen in aircraft avionics in years. I started working with "steam gauges" little advanced from what you probably trained on in the late '40s, and I've flown in aircraft (a biplane) with likely less! The latest Garmin technology has "synthetic vision", which is based on a terrain database in the EGPWS (ground proximity warning system), and displays an approximation of the real world on the glass displays (plus "highway in the sky" displays). An amazing thing to have, and nice to see, when all about you is darkness or clouds. They make this for the Mustang now (we have it on our latest Mustang simulators).

Worth reading and watching: https://buy.garmin.com/shop/shop.do?pID=37630

Mind you, I'm not selling these - I just think it's fascinating technology.

Best,

Bob

Bob Lawrence · Senior Staff Engineer