Vector64 Blog

Here you'll find some stuff that interests me that's generally unrelated to the Mozilla stuff. This is a low-budget blog in that it's just a plain HTML file and isn't interactive. There is a one-click blog program with this web server but I haven't had the time to look into turning it on yet. Maybe someday in the future. 


September 28, 2016

The Market Basket triple-blade razors last me about two weeks though I was using them more often than I usually do. I’d say that they do a better job than the Gillette two-blade razors though the Gillette razors may last a little longer. At $0.25 per razor compared to $0.70 for Gillette twin-blade, though, I think that the decision is easy.

September 11, 2016

It’s been a very busy five years with work, college for the kids, my mother’s declining health and a lot of other distractions but I feel like writing a little bit again so I’ll just add some consumer-oriented pieces. We’re generally very frugal and I continually look to decrease our expenses though we will spend more for value.

One area that always amazes me in terms of costs are shaving expenses. The price of razors from Gillette run from about $1.50 for their twin-blade razors to about $3.00 for their Fusion razors. Sometimes you pay more and sometimes less depending on where you buy them and how many you buy at a time. In New England, there’s a chain of grocery stores named Market Basket which has resold Dorco razors inexpensively. They’ve sold a twelve-pack of twin-blade razors for $1.50 for as long as I can remember and I’ve used them for many years. They can last me two weeks to a month but I don’t shave that often - they do get gnarly after about five or six shaves. They also sell twin-blade cartridges in a ten-pack for $1.99 but you need a handle (seems to be Atra-compatible). I haven’t tried these but they are an option for the future. They also have their own 3, 4, 5 and 6 blade models, likely Dorco or some other supplier. I haven’t tried those either.

It looks like they are finally changing their low-end lineup. They have a 10-pack of 3-blade razors for $2.49 and a 6-pack of two-blade cartridges with handle, also for $2.49. The handle is compatible with their 10-pack. So their three-blade razors cost $0.25 per razor and their two-blade cartridges go for $2.00 after buying the handle with cartridges for $0.20 per cartridge.

They also have a package of three-blade disposable razors for $2.99. I don’t think that you can reuse the handles easily with cartridges but maybe someone will try it out. Market Basket sells five-packs of three-blade cartridges as well (don’t remember the price off the top of my head) and this might be an option for some. The disposables generate a lot of waste compared to the cartridges and it would be nice to generate less waste. I may eventually try a safety razor.

So I bought the ten-pack of three-blade razors and will give them a shot. I’m hoping that they provide a closer and faster shave and that they last longer. If they deliver on this, then I’ll go with these. If not, I’ll probably go with the twin-blade cartridges.

They still have a bunch of packages of the old twin-blade razors at twelve for $1.50 and I’m trying to determine if I should pick up a few dozen that should last me a few years.

February 12, 2011

My Sandy Bridge system is up and running and it is a very smooth system. Here's the setup:

The system build took several hours because of some non-standard offsets that we ran into (we had to take it apart after doing three of the motherboard screws), some issues with the memory that I bought (I ordered the wrong type but my system-builder co-worker got it to work), and some issues downloading updated BIOS and drivers (we did this in the office which has a restrictive firewall). I bought the SSD, monitor, and cable after we built the system. I was disappointed with bootup time, even with the high-performance HDD so went with the SSD. Even with the SSD, it still takes a while to boot. My MacBook Pro boots in 20 seconds. This new Sandy Bridge system boots in about 40 seconds. I could do some motherboard tweaking to take off a few seconds. It appears to me that Windows 7 just does a lot of stuff on bootup. But it's much better than my old system which took about 9 minutes before it was useful.

The video card that I ordered has three ports but I discovered that only two of them could be used at a time - this was a major disappointment as I was hoping to do everything off of one card. You have to order a video card with a DisplayPort for all three ports to work at the same time. So I grabbed an old video card out of my old system and put it in and that's what I am using now. I could order another HD 5670 with Eyefinity but I think that I will probably get an HD 5450 for the 17 inch VGA monitor. I really don't do anything that needs video car performance but the kids might want to play games on it.

The biggest disappointment was the bug in the Sandy Bridge chipset which means that we'll have to take the system apart again and then rebuild it when the new motherboards are available. I'm not looking forward to that but that's what can happen when you're an early adopter of technology. The system is really, really nice. If I had it to do over again, I'd probably have gotten the Core i7-2600K (just to see the eight threads) and I would have gone with a beefed up H67 so that I could try out the HD3000 integrated graphics. The system performs very smoothly and more than meets my processor requirements. I have plans to upgrade to Ivy Bridge when it comes out and then perhaps use this Motherboard/CPU to build another system.

I also cleaned up my desk for the new setup. My desk was typically cluttered with my old two-monitor setup and now it is very clean. I do have a ton of papers to file though. There is also no longer any room for my MacBook Pro. I cleared off a bookshelf to put that on but it won't be in my line of sight. This machine now makes it quite pleasant to work from home - a necessary thing given the rough winter that we've just been through. I'm amazed at how inexpensively you can put together a nice system. Large monitors are now very inexpensive as are a lot of PC parts. I was shocked at how cheap memory is today. I can get fine on my old MacBook Pro which has an old Penryn dual-core but Sandy Bridge is oh-so-smooth. It feels comparable to my Core i7 systems in the office.

Windows 7 SP1 comes out in a few weeks and I'm looking forward to the upgrade so that I can start playing around with Intel's Advanced Vector Extensions.

January 31, 2011

I installed the Intel X25-M SSD in my new desktop - performance on bootup is better but still around 31 seconds. That's disappointing for a system with very good parts - especially when my three-year-old MacBook Pro boots Mac OS X in 20 seconds. I guess that the culprit is Windows 7, not the hardware. At any rate, I'll just have to live with it.

I found that putting the user data on the HDD and the OS and Programs on the SSD was a real pain in Windows. Score another for Mac OS X where it is pretty easy. It looks like I will be running off the SSD for most stuff while putting large files on the HDD. Hopefully this doesn't wear down the SSD too fast. I also moved the pagefile over to the HDD.

I also found out about the Intel chipset defect this morning - big disappointment. My motherboard fits the bill for the problem so we'll see how Newegg/Gigabit/Intel handles it. I do not look forward to taking everything apart and putting it back together again. It was a big enough pain to build the system - I'd much rather just buy an iMac in the future. I hope that I can get some help to replace the motherboard. I work in tech and this stuff happens - all you can hope for is that the repair process is smooth. At least Intel owned up to it quickly; not like a certain graphics company I know.

Living at the bleeding edge of tech can have its drawbacks.

We have a ton of snow coming in the next two days after already getting a ton (quite literally several tons) of snow. I need to work on clearing snow and ice off the roof tonight in preparation.

January 29, 2011

I use Kompozer to edit webpages where I don't feel like putting in all of the html tags myself (I use emacs for simple pages) and decided to see if there were newer versions out there. Kompozer performance has been horrible for a long time but I used it as it has Mozilla roots and because it's simple and does what I want it to do. Today I checked and was pleasantly surprised that there are newer versions and the performance on Windows and Mac are much, much better. So I have installed them on my old home desktop and my notebook and am very happy with the new releases. I'm using it to edit this page right now.


I bought a Wintec Filemate 48 GB ExpressCard SSD from eXtremePCgear back in September and installed it in my early 2008 MacBook Pro. The old MacBook Pro does what I need it to. I would like a new one but can't justify one. At any rate, I set up the SSD card to boot Mac OS X and put my user files on the HDD. The performance improvement was stunning. Boot time went from 50 seconds to 20 seconds and application startup improved considerably. There are 96 GB cards available now too but I don't have a need for one at this time. The Wintec is the only card out there that I know of that works as a Mac OS X boot drive.

I ordered parts from Newegg a few weeks ago to build a new Sandy Bridge system. It's not a top-of-the-line system but it's faster than my six-year-old AMD X2 system and should be more energy efficient. I thas the Core i5-2500K, Intel 120 GB SSD, HD 5670 video and 8 GB RAM. I'm putting it together at the office and will replace my home system at some point when I feel that it's in decent shape. It's my first complete build and it is a fair amount of work. I had an expert system builder helping me and there is a fair amount of specialized knowledge that's useful when putting together a system.

I would have preferred to just buy an iMac but Apple is taking their time incorporating Sandy Bridge into their Mac lines.

December 13, 2009

We had our first major snowstorm last week and it was pretty intense if you were out on the roads. The kids' classes weren't canceled so I had to drive them in. Lots of accidents on the highway. I also decided to get four new tires and the experience wasn't the best at NTB (they overbooked). I got the new tires but found out that I needed a tie rod so I brought it to the dealer and they did a tie rod, alignment, transmission mount and a cabin filter. That was a fair chunk of change for the car but it has 190K miles on it and still runs well. I still need to replace a wheel with a few dents in it but I think that I'll wait for the next service to do that. I started thinking about new cars but I don't like most of the stuff out there and it would mean higher taxes, insurance and worrying about it in places where crime is a problem.

Son has finished up his school assignments and is cruising into finals this week. He's more relaxed this weekend and it's good to see. I started looking at graduate schools for him and he will need to prep for tests and do applications later this year. Our daughter is doing well in two courses but is having trouble with Calculus - I think that she isn't putting in enough effort but you can't make kids do what  you think they should do.

This week I have a filling to do that I hope doesn't turn into a root canal. I also have a root scaling appointment and had to put of the appintment for the crown. The teeth feel like they are in pretty good shape right now and we're working on getting them in better shape for the long haul. It is an expensive process dealing with dental work, car stuff, college bills, etc. College bills probably arrive later this month. Our overall spending has been under control but inflation eats away at income. Stuff like property taxes, insurance, energy, food vary in their inflation intensity.

Our son has been complaining about his MacBook Pro. Apparently it can't read DVDs anymore. We spoke to someone at the Apple Store and they quoted a price of about $250 to replace the SuperDrive. We'll have to see what he decides to do. Options are repair, a new MacBook Pro or a new external DVD drive. He has one at his apartment and a second at home would probably take care of his issues. The DVDs are for gaming so it isn't a critical issue. His lesson is that stuff breaks and sometimes stuff is expensive to repair.

I'm generally just trying to finish up the year in good health - I'm a bit surprised at all of the life-stuff that turned up this month and am trying to deal with the time pressure.

There's a lot of strange stuff going on in tech land including Mozilla. I was surprised that Asa recommended Bing but I do worry about Google's control on personal information. I need to think about my personal services in the future.


December 5, 2009

It's been a long time and I've had various health issues to work through but things are a bit quieter around the house. I was in a lot of pain for a month with a toothache and finally decided to have the tooth extracted. I did some research and it seems that there would be less trauma with a root canal so I had that done. Not fun stuff but the problem is resolved and I've been without pain for several days.

The kids are winding up the semester and we're preparing for the spring semester. Daughter needs review help with one course while son is crusing - he's had a rough semester work-wise but he's tackled all of his assignments early which means that the end of the semester and finals should be smooth. We're trying to find him an internship for next summer and we're currently looking at REUs. We have one in mind that would be perfect but he would have to be accepted. We're hoping for something in New England. Working for industry is also a possibility too and that would look good on his resume but another REU would be good for grad school applications. It looks like he will be taking one grad course in the Spring. He's planning on taking a visualization course if it is run - currently there are no students signed up for the course.

My workouts took a hit with the health problems (various colds and maybe flu) but I'm cranking it up again.

Someday I'll get back to Mozilla stuff.

I also really like Windows 7. I don't plan to spend money to upgrade any systems to it but it's nice knowing that I can buy a Windows machine that doesn't stink now. I'm still partial to Mac OS X because I need a VPN solution and there isn't one for Windows 7 x64 besides running a VM and buying an extra license. Still considering an iMac at 27 inches but I really don't need one; it would just be nice.

I got my free t-shirt at the Apple Store opening at the Pheasant Lane Mall. It's wonderful having a local store now for service and buying things without dealing with Massachusetts sales taxes.


October 24, 2009

I've added some more stuff to the XPS M1330 and it seems usable for a portable laptop around the house. It's small and light enough to wander around and performance is now decent.

October 23, 2009

I've been flat out with work and family stuff for a few weeks. Daughter had a math team practice and a competition this week. Son had a career day. Car needs a ton of repairs (they gave me a nice new Camry loaner for a day) and there's a lot going on at work. On the positive side, the market's been doing great and it feels like I've almost fully recovered from the flu. I have started lifting weights and am running regularly now.

Son also had a problem on his MacBook Pro. It had the red circle with slash problem. I got him into safe mode remotely and he was good after that but it took us a while to get him going. I offered him a new one but he's going to continue using his unless additional problems show up. I wish Apple would come out with Nehalem laptops.

I'm trying to install Windows 7 and it's been a bit of a chore. It took a day to download it because of network issues and then I had to upgrade the BIOS. It suggested that I deinstall Google Toolbar, iTunes and VS2005 but it didn't give me an opportunity to do so. It's installing away and I expect to have Windows 7 when I get home this afternoon. I actually expect it to fail because of the Vista database corruption bug but who knows? Maybe Microsoft Windows 7 upgrade can fix the corruption. I would really love to have this laptop run with decen performance and maybe Windows 7 can do that.

Update: the installation during the day was successful and startup, shutdown and overall system performance is better than Vista so I'm happy with the upgrade. I need to look into the VM capabilities of Windows 7 to see if it would solve a problem that I have with Mac OS X - I would like to run a Windows application and am looking for a way to do this on Mac OS X.

October 5, 2009

I'm feeling moderately better but still feel quite tired and have some lingering but dwindling respiratory problems. I've been able to workout and am back to running again so hopefully I can get my body back in shape in a few weeks. Temperatures are comfortably cooler and work continues to keep my busy which is a good thing. The kids have required some of my time as of late too. Our son is looking for a job as a research assistant and he had an interview last week but not news on whether or not he gets the job.

I still have the Windows testing to do and it's hard finding the time for fun stuff but I have all that I need. Maybe this week.

The news on the US dollar is not good and it's a major worry if we see a currency collapse. I'm hoping that we just get a revaluation without a collapse. The state budget issues are a major headache and it looks like it will take quite some time to get fixed if the economy recovers. I'm really not sure what will happen but I'm sure that the US will be quite different next year.


September 25, 2009

I'm still feeling lousy but at least I'll have a few days to rest. I managed to run a half a mile today. There were a few aches and pains but I think that those were just due to stresses on my body that haven't been there in some time. I don't expect any lasting issues. I'll work my way up or at least try to to get back in the swing of working out. I hope the H1N1 that I apparently have fades in the background quickly.

Snow Leopard

My son informed me that GCC doesn't work so I told him to reinstall XCode. I did that on my machine and GCC is back. I recall reading that somewhere. I did see some warnings on the installation and I assume that's due to OS incompatiblities with some applications that I downloaded and installed. I'm currently making a backup of my Snow Leopard system to one of my MyBooks. I'm going to try booting off the MyBook to see if it boots faster (which it should). So far so good. I'm using CarbonCopyCloner which is my favorite program for backup.

I found out that we can upgrade directly from Tiger to Snow Leopard. We have one old Intel Mac on Tiger and so someone will try the upgrade one of these days. Now if only we could upgrade the PowerMac to Leopard. Maybe it's worth a try with the Leopard installation disks that we got with the MacBook Pros. I don't know whether or not they also have the PowerPC stuff on them. We don't use the PowerMac often but it would be a nice system to have available for whatever.

Windows 7

Microsoft has a program where you can upgrade to Windows 7 from Vista for $29.99 if you are a college student. I have two college students so we're getting the upgrade when it arrives to throw on the XPS M1330 laptop. I guess that I'm going to have to do a fresh installation of Vista on the system first. I think that I will try SP2 with the raw system. I expect some problems reinstalling as the configuration of the system is somewhat complicated. I don't think that I would have bought a Windows 7 upgrade but the price is right here. At some point down the road, I'll probably get a new MBP with Windows 7 under Boot Camp.


Really tardy on this but I know what to do. I need the MBP in Windows mode to work on it though.


Haven't had time to edit movies yet. Am looking forward to it.

September 24, 2009

I've been feeling pretty lousy for the past week and really, really need to get some rest and I hope that I get to bed early tonight. Having a cold or flu and being very busy is a bad combination. 

I got Snow Leopard and iLife and they're installed and running. I haven't run into any problems and don't expect to. We do have one laptop running Tiger and getting that to Snow Leopard may be a problem. We'll see what we can do.

September 18, 2009

It was a busy, busy week with the flu (swine?), teaching trig, a new project at work and continuing knee issues. On the positive side, I discovered a product called CrossOver which allows me to run Windows programs on Linux or Mac OS X. The one program that I really wanted to run on Mac OS X is QuoteTracker and I was able to get this to work. CrossOver is layered on Wine and costs $39.99 per license. I did the 30-day free trial. I think that I will try QuoteTracker with Wine alone to see if that works.

September 14, 2009

I went to the New Balance Factory Store yesterday and picked up five pairs of shoes for running and tennis. At the moment, my knees aren't in good enough shape for running but I hope that they will get better. The shoes were a little more than the previous times that we've been there and I attribute that to the dollar that's taken a beating lately. It looks like the dollar is trying to bounce this morning but I guess we'll see soon.

I spent some time going over a trig book that I have with our daughter. Apparently they only spent a week on trig in her class which is insufficient in my opinion. I explained that one spent an entire semester on trig in the past and that it was a very important subject. I asked her what happened in the class and she said that there was a particularly weak student that consumed a lot of the class time with questions about the homework. I know the professor as he taught our son Calc 2 and it was a very good course. It appears to me that there isn't enough coverage of Precalc at the school and that that may be due to the weak preparation of some of the students. At any rate, I think that the Calculus professors (she's taking the harder version) expects that students know this stuff well so I'm going to spend a week going over the trig book with our daughter.

She does know a moderate amount of trig: unit circle, graphs, right angles, identities, solving problems, etc., but she doesn't know some aspects that I think are important such as applications and solving problems. It is the approach of teaching kids how to do things instead of providing a deep understanding.


September 13, 2009

Today is Programmer's Day in Russia. I guess that it is informally Programmer's Day around the world. It's nice to have a day for your profession.

I've had periods of being very, very hungry the past few days. I'm not sure of the reason but it could be my increased weightlifting routine or maybe it's just the colder weather. I don't seem to be getting fatter but the feeling is curious - especially as I haven't done much cardio this week. I hope to fix that this upcoming week.

One thing about weightlifting though: the body feels much better after a few days of it. The increased strength is always nice to have. The thing is you have to keep it up and I don't know if I can do that.

I need to give our daughter a refresher on Trigonometry for her Calculus I course. I think that her precalculus courses were a little weak on Trigonometry and I want her to know it cold. It should be a fun review for me. I should ask our math tutor (my son) to do it but he's not the greatest of tutors when it comes to our daughter. 

I need to get sneakers too. Hopefully New Balance has a bunch of running and tennis shoes in my size.


September 12, 2009

My daughter didn't feel well earlier in the week though it appears that she feels better today. I think that I caught whatever she had and am not feeling all that well today. The symptoms are a minor cough and general tiredness. It doesn't sound like H1N1 as I've heard that there's usually a high fever and a nasty cough from the lungs. Mine has been more of a trickle. I've heard that H1N1 is all over the place on college campuses so I expect our kids to get it sooner or later. I may have immunity due to my age.


It looks like we're getting pulled off of our current projects to work on another one so I'm reading specs to get up to speed. This probably means more pressure at work as I still have to cover my existing responsibilities. The new project is pretty interesting though.


A friend has been looking at cars and I've been out with him a few times. What's struck me is how expensive cars have gotten and how unattractive most of the cars are in the price ranges where I've purchased before. My current car is an Avalon which cost $25,000 ten years ago. $25,000 doesn't buy you very much today. I have to think about the kids driving and am considering another vehicle but buying a car today is hard.


It was a great week in the markets in a variety of areas. I had wanted to get into natural gas but missed the bottom. I may nibble on a natural gas energy trust or producer next week.


I had no time for Mozilla this past week. Hopefully I will get some time next week.


My knees are still bothering me somewhat so I've been lifting weights at the YMCA. Maybe the weightlifting is causing me problems. I don't know. I have felt ravenously hungry this week and I'm wondering if that's due to working out, the colder weather or being sick as sometimes I think that the food passes right through me. I hope I'm feeling better next week.

September 10, 2009

I returned the MOTOROKR S9-HD to Best Buy a few days ago and they took it back with no reason required. The CS person said that they had a lot of returns of this product. I asked if there was an extended warranty product available and she said that there wasn't one on this product. She just suggested trying the next revision of this product. I still have the one that I bought at Target that works so I will use that for now. If it breaks in the return period, then I will return it and go back to wired headphones.

I also installed an HP-DJ1530 at my son's apartment and it was easy to setup and get running on Mac OS X. Very crisp output. I have another one at home to set up. Cheap, light and functional which I like. Thumbs-up so far.

My knee problems appear to be related to my sneakers, both running and tennis. I've replaced both and it's much better walking around. I played 90 minutes of singles yesterday and had moderate pain (from running with old sneakers the day before) but I hit a ton of aces and won both sets. I'm hoping to get back to daily workouts including running three days a week. I also need to load up on sneakers to ensure that I always have them available when the old ones go bad.

Work is very busy and I have to drive my daughter back and forth to school now. The next 14 weeks will be tough. I hope to get time to spend on Mozilla stuff - I'm way behind on my email.

I'm in the apartment today with the Samsung 24 inch monitor and my 17 inch MacBook Pro. It is a real pleasure to work like this - even better than my two twenty inch monitors in the office.

I'm looking at picking up iLife for video editing. Also looking at a new iPod Nano. The camera, mic and speaker and more space seem very nice. I would have preferred an iPod Touch with a camera - maybe next revision.


September 8, 2009

We spent two days at Hampton Beach over the weekend and it was fun though we must have walked over ten miles. It was pretty crowded and we were happy to find a place to stay overnight that was convenient to the beach and boardwalk. The main reason we went was to observe fireworks that we missed on July 4 but it was an overall pleasant outing.

I set up the Samsung 2433BW 24 display at the apartment last night and I was totally dazzled by the display. Clean, crisp, sharp, fast response and huge. It cost $256 at Dell (delivered) with a coupon and I really love the display. It provides work-level resolution at an impressive price-point. We'll see how it does over the long haul but I may get another one of these if there are no problems for five or six months.

I also played a few sets of doubles over the weekend after taking two weeks off. I felt pretty good and my knees weren't killing me afterwards so I'm going to try a little running this week. I'm going to switch to new sneakers for tennis and should probably do that for running too as my current pairs are about six-months old.

I'm going to spend some time this week on the JPEG testing stuff and on the SSE2 standardization bug that's being discussed. I haven't read the bug thread yet but have been meaning to for a few days.

September 5, 2009

It looks like a relaxing labor day weekend and I've caught up on my financial reading and radio shows. We have something pushing up the markets even as the jobs picture looks bleak. I'm in the market but it's climbing a wall of worry for me.

Our son had a problem with his MacBook Pro during the summer where the CD would randomly eject or it would spin up when booting - it appeared that the laptop thought that it should be booting off the CD. I bought him an external drive to deal with the problem. Today I asked him about it and he said that everything was working correctly. It appears that the motherboard replacement that Apple did for the nVidia problem fixed other problems that may have been a result of heating issues.

Stargate Atlantis came out with the last set of ten episodes from season five and they were enjoyable to watch. I haven't seen Atlantis Seasons 1-4 and SG1 Seasons 7-10. I hope that they eventually get those up as I'd like to see the parts that I am missing. I do enjoy Hulu.

When I return the MOTOROKR S9-HD, I will ask them if they will do an exchange with an extended warranty that I would purchase from them. This would take care of the QA issues with the product to the point where I would be comfortable spending so much on it. I also noticed that the S9 (not HD) model was far cheap at around $40 and maybe I should be buying those instead of the HD model. The problem is that I think that those were older generation models which might have even more QA issues. The pain about returning the S9 is the packaging. It uses that plastic bubble stuff that you have to use a hacksaw as an opener. I'm pretty sure that I have all of the documentation, packaging and the charger in the office. I guess that I'd love to do an exchange where I could add the extended warranty. If they won't do that, then I guess I'll return it and then possible buy it again with the extended warranty. I've been very lucky with electronics in general and have never purchased an extended warranty. I guess an extended warranty is useful where you have something that's a great product with questionable quality.


September 4, 2009

Knees are feeling operational again but I went for a stepper workout and found that my MOTOROKR S9-HD was dead. I brought it to my office and plugged it in and I got two green flashes and continuing purple flashes after that. I googled around and found that a buyer on had the purple flashing lights problem and he wound up doing an RMA with Amazon. There was no resolution posted.

I went on product support chat with Motorola and they offered me an RMA. Their RMA approach is for me to send them the device at my expense with my information on a piece of paper. That's pretty poor customer service in my opinion. Fortunately I was able to find the receipt at home and I'm well within the 30-day return/exchange period with Best Buy. I have the feeling that they have some severe quality-control problems as I've seen a lot of complaints about product defects along with a lot of people that are very happy with the product. In the future I will wipe the device down before putting it away as a precaution.

I use it for working out which means that there is some amount of sweat that gets on the device. The device does appear to be sealed and it was designed for working out so I'm using it as it was designed but it may be that a defect in manufacture is causing failures. This is an early device and I'm hoping that reliability improves over time. I definitely like the product but I wish they would do a better job in engineering and manufacture and would pay more bucks for something that I could have more confidence in. I have a second which I will use while getting the first one repaired, returned or exchanged.

The Samsung Monitor arrived but I didn't have time to bring it to the apartment so I'll have to schedule that for next week. It will be nice to have a long weekend to relax as my body is weary from this week.


September 3, 2009

Very busy and very tired. Getting back to the college thing is draining and I have to get more efficient. Son is buried with work after two days - well he thinks that he's buried. My knees are feeling a bit better with the stepper and I've cranked up my workout so maybe I can drop another ten pounds by the end of the year without needing crutches. We'll see. Samsung monitor should arrive tomorrow and I think that I'll install it in our son's apartment.

I look forward to the weekend and more rest.


I googled around to find the missing routines that djpeg.c is complaining about. Apparently the files were removed in the mozilla directories or they were never there to begin with as Mozilla doesn't need to read in or write out files. At any rate, they can be found on the left-hand panel at wrtarga.c. I'll have to grab these tomorrow to continue my attempts to build djpeg.c. I stell need to get rid of the problem with multiply defined CRT symbols.


September 2, 2009

Chilly again but I woke up early enough to get in a modest workout with aerobics and weightlifting. I'll get in some cardio in the office today. The MOTOROKR is doing a great job of keeping the beat on cardio.

First day of school for our son and I'm sure that he's a little anxious. He only has two classes today and he's going to take care of the paperwork for his tutoring job.

I have a bunch of orders coming in from UPS. Samsung 24 inch LCD is coming in on Friday, some of Elliott's books are arriving today, some tomorrow and some who knows when (Barnes and Noble couldn't give me a ship date - the text is online so he can read it there until the book arrives). I also have some running clothes coming in.

My knee remains a problem but only a slight problem. It's like a little tickle every once in a while. It's not even painful. I hope that it is something that can heal on its own.


Some action on some of my old bugs and a bit more emphasis on SSE2. I need to go through the bug email entries to get a better picture of what is up. I made a little progress on djpeg.c. I need to find out what four more routines are doing and I need to figure out how to get rid of some duplicate library routines.


September 1, 2009

A chilly morning with temperatures in the mid-forties. I do like this weather as it makes for comfortable sleeping without running the heat or air conditioning.

My workout yesterday was light aerobics in the morning, a bit of weightlifting and the elliptical stepper in the evening at the office. It's nowhere near the calorie burn compared to running or tennis but hopefully my knee can recover on this regimen.

Today I have more errands to do so I will probably work from home during the day but I might go into the office if I don't have to bring my son back to the dentists office. He needs a filling and has an appointment this morning for it. The thing about fillings is that sometimes a second appointment is needed when the anesthetic wears off to mate the teeth.


August 31, 2009

It looks like our son is pretty close to being ready for classes to start. I picked up his economics book today and ordered some books for another course - the books hadn't arrived and they aren't expected for a while.

I spent some time looking for a rim for my car and wasn't successful so I might get a new one. Not a cheap solution but I guess that it would work. I don't really know if I want to do this on a ten-year-old car unless I want to keep it for twelve years.


I'm trying to get djpeg.c built so I can do output comparisons. So far:

C:\mercurial\mozilla-central\jpeg>link djpeg.obj  ..\objdir-ff-release\jpeg\jdapimin.obj ..\objdir-ff-release\jpeg\jdapistd.obj ..\o

bjdir-ff-release\jpeg\jdatasrc.obj ..\objdir-ff-release\jpeg\jcomapi.obj ..\objdir-ff-release\jpeg\jdmarker.obj ..\objdir-ff-release

\jpeg\jdmaster.obj ..\objdir-ff-release\jpeg\jdcolor.obj ..\objdir-ff-release\jpeg\jdsample.obj ..\objdir-ff-release\jpeg\jutils.obj

 ..\objdir-ff-release\jpeg\jdmerge.obj ..\objdir-ff-release\jpeg\jdhuff.obj ..\objdir-ff-release\jpeg\jddctmgr.obj ..\objdir-ff-rele

ase\jpeg\jidctint.obj ..\objdir-ff-release\jpeg\jdphuff.obj ..\objdir-ff-release\jpeg\jdpostct.obj ..\objdir-ff-release\jpeg\jdmainc

t.obj ..\objdir-ff-release\jpeg\jdcoefct.obj ..\objdir-ff-release\jpeg\jmemmgr.obj ..\objdir-ff-release\jpeg\jmemnobs.obj ..\objdir-

ff-release\jpeg\jdinput.obj ..\objdir-ff-release\jpeg\jerror.obj

Microsoft (R) Incremental Linker Version 8.00.50727.42

Copyright (C) Microsoft Corporation.  All rights reserved.

MSVCRT.lib(MSVCR80.dll) : error LNK2005: _sscanf already defined in LIBCMT.lib(sscanf.obj)

MSVCRT.lib(MSVCR80.dll) : error LNK2005: _getenv already defined in LIBCMT.lib(getenv.obj)

MSVCRT.lib(MSVCR80.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)

MSVCRT.lib(MSVCR80.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)

LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library

djpeg.obj : error LNK2019: unresolved external symbol _jinit_write_targa referenced in function _main

djpeg.obj : error LNK2019: unresolved external symbol _jinit_write_ppm referenced in function _main

djpeg.obj : error LNK2019: unresolved external symbol _jinit_write_gif referenced in function _main

djpeg.obj : error LNK2019: unresolved external symbol _jinit_write_bmp referenced in function _main

djpeg.obj : error LNK2019: unresolved external symbol _write_stdout referenced in function _main

djpeg.obj : error LNK2019: unresolved external symbol _read_stdin referenced in function _main

djpeg.obj : error LNK2019: unresolved external symbol _keymatch referenced in function _parse_switches

djpeg.exe : fatal error LNK1120: 7 unresolved externals

I asked Ted about building djpeg for the build and regression tests and he said that this could be done though we'd have to muck a bit with the directories.

August 30, 2009

It feels like fall is upon us with cooler nighttime temperatures and I do welcome it. I wore long pants to the YMCA yesterday for the first time in a long time.

The experiment with removing some of my malware protection is working rather well. The startup time and general responsiveness have improved and it makes the system more pleasant to use. I'll have to be diligent about running scans though. This has me wondering if I should go all Mac OS X. I just hate the idea of having to buy something with the horsepower of the Mac Pro to do so.

I did a little looking around for printers last night and it's hard to figure out what to buy. My main metric is low cost of ink and it's hard to find a place that gives you that information. We have an old Lexmark Z55 that was a good printer but the ink was expensive. I'm going to buy a black ink cartridge for it and then look for aftermarket suppliers of ink for it. I want the kids to use the library printers as much as possible as they are ten cents a page which I think is a better deal but our son wants something when the library and computer lab printers are in heavy use or broken or out of supplies which happens sometimes. It looks like we'll be buying an ink cartridge at the local Walmart for now. I may try getting our old Epson printer working again too. Most stuff today is absolute junk - and it's very expensive.


August 29, 2009

I decided to take a week off of running and tennis as my knee wasn't getting better and there's a fair amount of improvement after two days of not working out. I did spend some time on the rowing machine yesterday but that's pretty low impact. We'll see how it goes in the next few days and maybe I'll go back to some light workouts if everything is better. I will have to ratched up the strength training to compensate.

I'm still busy running around doing things for the kids before college starts. I'm going to need to get a printer and a microwave for them. The level of crime in their city bothers me as it is ratcheting up with the falling economy.

The weather has turned cooler which is the way that I like it. No heating bills nor cooling bills and comfortable sleeping.

My home desktop system is a real slug on booting and it may be due to running Avast, Spybot S&D, Windows Defender and Ad-Aware. I haven't received any kinds of alerts on malware from Ad-Aware and Spybot S&D for quite some time and am wondering if Windows Defender has improved to the point where I don't need to run the other two programs in realtime. Perhaps running MalwareBytes scans weekly would be a better approach towards system protection. Windows Defenders does regular scans and seems to be doing a good job.

College Stuff

I'm still waiting for the 24 inch Samsung monitor from Dell. It's expected mid-September but I would like to get it sooner. I think that I'm going to wind up bringing down the 20 inch widescreen monitor to the apartment while waiting for the Samsung. It will stink having only one 20 inch monitor in the office but I'll use my MacBook Pro screen for email and web browsing while waiting for the Samsung. My current inclination is to use the Samsung in the apartment and bring the 20 inch back from the apartment.

My daughter is watching Chemistry videos from MIT OCW and enjoys them quite a bit. She's also reviewing MIT OCW lecture notes for single-variable calculus. Our son has already started doing homework for two of his courses that have already posted work to do. There is one course where the bookstore doesn't have the books and where the books aren't listed on the syllabus and hopefully that gets straightened out before the first class.

I also have to check on our off-street parking. The guy running the place changes the stickers with the fall semester every year.


I was disappointed with running the MOTOROKR off my laptops so I bought the Motorola iPod Bluetooth adapter and was very happy with the performance. It's great for working out now or just when I want wireless music or want to use my phone with a headset. I had problems with extraneous noise and cutouts using the Bluetooth transmitters on my laptops. It was good enough for working out on the MacBook Pro but bringing a 17 inch laptop to the fitness center wasn't a long-term solution. My next problem is that I'm out of space on my old iPod Nanos. Should I get an 8 GB model? Maybe an iPod Touch?


Mozilla Bug 506430 Optimize UTF8 to UTF16 conversion is getting hashed out. There's discussion of setting up the SSE2 flags for Linux. I didn't know about the __SSE2__ define on Linux x64 and Mac OS X Intel so that would be a shortcut in covering those two platforms. The checking stuff in Linux as: CheckForSSE2() in jstracer.cpp and sse2_available() in qcms from the post by Peter Weilbacher.

On the SSE2 IDCT bug I found that building djpeg.c should be good for testing results. I just need a way to build it automatically so that the regression test system can use the executable. I'd also need to checkin one or more jpegs and their benchmarks. I might need some help from Ted on that.


August 23, 2009

Last week was fairly productive as I've had a bunch of small projects at work to deal with that were manageable. A lot of people are taking time off work to bring their kids to college or prepare for the school year.

I worked out every day last week except for Saturday. My left knee has experienced soreness and even a little pain now and then so I have to be careful about how much cardio and tennis I do. I did next to no strength training and I need to get back to that this week. I also need to get glasses and replace a wheel on my car. Lots of stuff to do before college starts for the kids.

It was a roller-coaster ride in the markets this week. I held on through the huge dip on Monday and came out of the week on Friday with nice gains in the portfolio. There's an interesting article in Seeking Alpha at Is It a Stock Market Rally or a Dollar Devaluation? which shares my sentiments on the current markets. We'll see which way things break on the US Dollar and the stock markets.


The UTF bugzilla generated a lot of interest and I have to catch up on that. It's good to see GCC support for __SSE2__ for x64 Linux and Mac OS X. This will make life easier for porting. I still need to do the jpeg testing stuff for my SSE2 IDCT port. I didn't spend any time on that this week other than looking around for a way to easily test this automatically.


August 17, 2009

I had to run to the Apple Store today as my son sent me an email this morning stating that his laptop was fried. I brought it down to Burlington and they diagnosed its as nVidia graphics card disease and took it for repair. We should get it back in about a week. I also learned that Apple has increased the warranty period for this problem to three years so I'm protected if my MBP croaks. The kids play games on theirs so I think that mine is less likey to die in the warranty period but it's nice to know that I'm covered just in case.

A trip to the beach

We went to Hampton Beach yesterday and it was packed. It was in the low 90s and it appears that carloads of people from Massachusetts decided to come up to New Hampshire to escape the crowds in Massachusetts. We usually go to Maine to avoid the crowds in both Massachusetts and New Hampshire. It took us 40 minutes to find a parking place but we had a pretty good time once settled. It is a nice beach which is why it is so crowded.

Preparing for the fall semester

I'm glad that our son's laptop died now and not during the fall semester as he can live without it for now. I need to get our daughter's textbooks and that means a run down to Lowell. Our son needs one other textbook as well and I'm on the lookout for the room numbers for his courses.


I haven't received any feedback on my UTF patch so I will patiently wait on that. It's summertime and perhaps Mozilla people are getting in a little rest and relaxation. I have the IDCT fix for Windows to work on. That's mostly testing work at this point and I need to get moving on it.

I need my daughter to continue her diagnostic work and I need our son to file a bug on something else that I found.


August 12, 2009

My left knee is bothering me from tennis on Sunday so I've limited my runs to two miles. I wore a sleeve on my right knee and was curious to see what the difference would be. Well, I'm better off wearing two of them to play tennis. Hopefully I'll be better in a few days.

I did the SSE2 work for the UTF bug and I'm hoping that someone runs a performance test to see how it does. The offset between the source and destination is generally either 0 or 8 which means that I didn't have to do too much work on alignment stuff. Just special cases for 0 and 8 and everything else gets unaligned moves. The everything else is about 1% of the time so it shouldn't be a big deal.

On the other hand, I still have a lot of cleanup and testing to do on the JPEG fix.

I have to take a ride down to Lowell soon to get textbooks for both kids, check out the apartment and see the property management firm to verify my address and get a copy of the lease. I'm short on time during the day because our daughter is in camp this week. I should have more time next week. Work is busy of course and I have a bunch of maintenance things to slog through.

I also need another monitor, perhaps 24 inches, for either the office or the apartment. It might be better for the apartment as I have two 20s in the office.

It's nice to be back in the Mozilla saddle again. Lots and lots of stuff to do but I have to dribble my time out for it.


August 11, 2009

I went to bed early last night and woke up very early this morning to do some exercise - stuff that I haven't done in a long time and it felt pretty good. I have some additional weightlifting to do this morning and then I'll take my run in the office later today. I'll try to keep the calories down too.

Yesterday I was looking for a way to get the pictures off of my camera phone. Apparently you have to buy a program to do this and it can cost $20 to $40. I looked around for free software and didn't find anything. Fortunately, though, I did a little digging and found that Mac OS X comes with a Bluetooth browser so I just rebooted to Mac OS X and I got my pictures. The resolution isn't great at VGA but the pictures are good enough in a pinch. I much prefer my 8 MP camera but I don't carry it around with me that often and the phone makes a decent compromise. It would be nice to get a 2 MP phone someday. That might not be possible because of the optics required.

August 10, 2009

We picked up our son in Maine and brought him home and he's relaxing until fall classes. Our daughter is spending a week in camp as part of an otherwise lazy summer.

For some reason I was incredibly tired this weekend, especially Sunday. I played two hours of doubles and walked several miles in Boston and that may be it but I got a lot of sleep and I'm still rather tired this evening. I hope that I feel more rested in the morning.

I managed to run a few miles and do my home weight barbell workout today. I will be cranking up the weight over time. The wrist injury is fading away.

I'm very busy at work again and generally have a whole bunch of little things to take care of and I'm hacking away at them one or two at a time. I'm also taking care of a bunch of errands related to the kids at college such as paying bills and buying books. I would like to have a few relaxing weeks before school starts.

Mozilla Stuff

I've been hearing a lot of complaints about Firefox performance in 3.5 and users switching over to Chrome. I think that this is an area that Mozilla needs to work on. I will spend some time on Mozilla stuff this week but I want to do some situps and other stuff tonight. I would like to get our son involved in the UTF optimization but I don't know if he's that interested at the moment. He told me that he wants a week to unwind.


August 6, 2009

I've been very busy recently with work, working out and family stuff but should be fairly free after Sunday for the rest of the summer. I still have to pick up textbooks for our daughter's fall courses and check out the apartment but these shouldn't take long.

I needed a portable mouse as most of mine seem to get grabbed by the kids. There is supposedly a Microsoft notebook mouse around the house somewhere but noone knows where it is. So I stopped into Best Buy this evening to check out the options. I like notebook mice for portability but I have big hands and prefer full-size mice for comfort. BlueTooth is a plus too as dealing with dongles can be a pain.

I was thinking of getting a Microsoft Wireless Desktop set but saw their new Arc Mouse. This is a mouse that's as small as a notebook mouse when folded up but is normally a full-size mouse when used. There is a hinge with a curved section that extends which makes the mouse larger. The USB plug is very, very small and fits in the crook of the arc. It's held in place with a magnet. It has Microsoft's usual great quality and usability in mice and I'm very happy with it. The kids think that it's cool too. At any rate, I have a new portable mouse. The kids have their own so I hope that I get to keep this one.

July 31, 2009

It's been a very busy week with two personal projects using up a fair chunk of my spare time. I'm also managing to workout, even with a moderately heavy schedule and have run 13.5 miles so far this week so it looks like doing 15 will be easy. I haven't run 15 miles in a week since April when I lost quite a bit of weight. Looking back at my records, it looks like I was running four to five miles a day, five days a week. I need to get back up there but am going to get there at a slower level of acceleration to avoid injuries. I did a little weightlifting last night and need to really get into it. The wrist is still a bit of an issue but I can do exercises around it I think. Perhaps I should spend more time at the YMCA with the machines.

Our son is wrapping up his project and we'll be picking him up soon. It will be good to have him at home as we then spend the month of August preparing the kids for the fall semester.


I haven't had time to work on Mozilla stuff this week. I do mean to work on the U8 to U16 bugzilla entry this weekend and will ping about my SSE2 JPEG fix code review today. My daughter ran a JPEG test on February 2008, June 2009 and July 2009 and the times for 2009 were far worse than they were for February 2008. Her runs showed 4 seconds to 14 seconds which is a really horrible regression. She's using an older and slower machine for testing and that may have something to do with it. At any rate, I'll have her continue testing to find out where the gross performance regression showed up at.

College Expenses

I was shocked when our daughter's college bill showed up with roughly twice what I was expecting. A third of it was health insurance which I will waive. The rest was a rather large tuition increase. Her community college looks to be booked for the fall semester as students head to cheaper community colleges in droves. I was surprised at how fast sections were filling up when I went to sign her up for her courses. I need to get her textbooks too. Their bookstore is a zoo near when the semester starts.


July 29, 2009


Verizon is offering free WiFi hotspot access using Boingo to their customers. We were switched over to Fairpoint this year in our main residence but our Massachusetts residence has Verizon DSL so we should be able to get access to that. I'll have to dig around to see how to get access.


Still slowly getting better. I'm running a lot of miles to keep in shape - losing strength because I'm not doing weightlifting but I am getting thinner.

Barnes and Noble

They sent me a membership email to tell me that they now offer free WiFi in their stores. That may be useful for road trips in the future. They've also dropped their textbook prices dramatically so I'll have to take a look at ordering the Fall semester textbooks from them. I had planned on going with Amazon since Barnes and Nobles doesn't provide coupons for textbooks but I'll reconsider now.


I got pinged to do some SSE2 stuff on bug which I spent some time on Sunday. It looks doable but I have two large projects to finish this week and finding time to work on them is hard. It would have to be a midnight project and that would screw up my workout routine.


July 25, 2009

I played two sets of tennis yesterday (the first set was very long) and was quite tired last night and today. I was somewhat ravenous too.

This was a nice week for me in the market. I wished that I had jumped in a little sooner when my trading buddies jumped in but I was quite busy and elected to work on other things.


I don't really even think about the chest injury anymore and the wrist injury is fading away. The only question is in how fast I can ramp up weightlifting. I will be probing on that and hope that I don't do any damage.

Cell Phones

My cell phone battery won't hold a charge for very long anymore. My options are to get a new phone or to replace the battery. It looks like the list price on the battery is $40 with a sale price of $9 at a website that I've never heard of. The phone cost $60 is it's a bit of a waste to pay $40 for the battery. I was considering the RAZR phone at $100. It's amazing that it has come down so much in price considering that it was over $300 several years ago. I could just get another ultracheap phone but I would like something a little thinner and with a bigger screen. Bluetooth is definitely an attraction.


I tried out the 12.7 ounce KPS88 and found it light as a feather compared to my other KPS88 frames. I prefer the 12.9 for now but may keep the 12.7 as it is for doubles or add lead to get it to 12.9.


My daughter got some really odd results for the JPEG testing so I suggested that she use another machine that wasn't so noisy. She did and got the expected results so that she can proceed with finding the transaction that caused the performance regression.


July 23, 2009

Google Voice

I received my invitation to Google Voice and set it up with my home, work and cell phone so I need to inform my contacts of the new number. I had to spend some time to find a local phone number as the number search feature was a little clunky. I did do some testing and everything seems to work as advertised. My son also has an account and I've suggested to my wife and daughter that they get accounts too. We will try a long conference call later this week with the free US calling service.

We have lifeline landline service at home so their service works perfectly to keep landline costs low.


I was waiting for a treadmill last night so I worked out with weights while waiting using dumbells. I used lighter weights for my injured arm but I still think that I overdid it as there was a little pain in my wrist last night. My overall body felt better this morning though - I guess it's the effect of more strength - even if it's just a little. We have dumbells on a rack in increments of 2.5 pounds in the office which is very nice for fine-tuning your workout.


My third KPS88 arrived Tuesday and I brought it to the post office to weigh and it came in at 12.7 ounces which is what Tennis Warehouse indicated. So I now have the KPS88 at 12.7, 12.9 and 13.1 ounces stock and strung. They all have Luxilon Big Banger Power Rough at 52-54 pounds. That's an incredible range of weight. The 13.1 ounce racquet is something that I probably won't use in matches. The weight makes it harder for me to generate spin. I love the 12.9 and I haven't tried the 12.7. I can weight the 12.7 to 12.9 or use the 12.7 and 12.9 for matches depending on how I feel on the day.

Homeschooling and Dual-Enrollment

One of the courses my daughter wants wasn't available so we picked another for her. I really waited too long before signing up for courses as courses are filling up very quickly at her community college. This is not surprising due to the economy pushing students out of four-year universities. I will have to do this stuff earlier for the Spring semester.

I have to do my letter of intent by August 1. I wanted to meet our new assistant superintendent before filling it out but he's on vacation for a few weeks and won't be back in time so I'll have to wing it and talk to him afterwards. I've had an arrangement where I did the evaluation for the kids for their K-12 educational careers and this was done with a face-to-face meeting with the previous two administrators.

July 22, 2009

College Stuff

I spent some time registering our daughter for college courses yesterday in a dual-enrollment program. It will be another busy semester with me ferrying her to and from classes and I don't look forward to the challenge but that's what parents do. She's taking three courses and I'll give her research projects in Mozilla to do and try to add anything that I can think of.

For some reason her online admin account doesn't work and we will have to fix that. It should work even though she isn't enrolled so that she can get access to her grades and records.

I also need to talk to the new Assistant Superintendent of our school district to discuss our homeschooling program. It's her last year.


I'm pulling the 3.0 line to do a quick performance test with and without the SSE2 patch as it works on Mac OS X where there was no previous SSE2 acceleration for JPEG. The improvement should be somewhere between 15% and 20% from what I recall. The build process on Mac OS X is easy. I just source a shell script and it pulls the code and builds for me. It appears that I also have mercurial installed on the system so I can do mercurial builds as well - I just have to remember how to do them on Mac OS X.


July 21, 2009


The reviewer for my JPEG SSE2 fix asked for performance differences between the code so I ran comparisons and the new code is about 2% faster. I just wanted to get something correct and didn't work on performance but I put in enough effort to improve performance so that performance wouldn't regress and thereby threaten getting the code in. So the ball is back in the reviewer's court.

My daughter tried running February 1, 2008 and July 1, 2009 but she got the wrong build. I guess that I shouldn't have been surprised as there are so many builds but I pointed her to the right ones (mozilla-central) so hopefully she can find the bad transaction. I think that it's going to take her a little time to find it. Fortunately it isn't in the 3.0 and 3.5 lines.


I managed to run 3.25 miles today and I didn't have any injury issues. I'm dog tired from the run though. It always takes time to work your distance back up when you have to take a break. I'm doing curls now too and that seems to be okay.


July 20, 2009

I didn't get to do much of anything that I wanted to yesterday as I took the family shopping and chatted with our son over video chat for the evening. I was also incredibly tired, probably from three sets of doubles in the hot sun. The tennis did feel good and I played better doubles than I had in a while. I attribute this to using a lighter racquet. I also did a little weight lifting and got some sleep at the mall while the ladies were shopping. While heading out of the mall, I noticed a space for a new store with the word Apple on it. It would be nice to have a local Apple store. My current choices are down in Burlington which is 30 minutes from work along with MA sales taxes. The other option is Salem which is 45 minutes away. Having one near work would be very nice and it would be about time. Nashua is an ideal location for an Apple Store being in tax-free New Hampshire and in a high-tech area. My guess is that the Burlington Store didn't want the competition.

It's back to work today and I have a fair amount of stuff to look at today. I will try to get my daughter working on the Mozilla bug and deal with other stuff that's on my list.

BTW, Season 5 of Stargate SG1 is up on Hulu. My current shows that I enjoy are Eureka, Warehouse 13 (iffy so far) and Stargate anything.

July 18, 2009

The weather was much nicer this week than it has been for most of the summer and it is a little nicer. One of the differences has been a little bird outside of my office window that perches on a nearby tree. Every five minutes last week, it would flight straight into my window at five minute intervals. My assumption is that it is seeing a reflection of the tree that it is perched on and that it wants to build a nest in the mirror image (it has nest materials in its beak from time to time).


I tried weights again and was able to bump up curls by five pounds but the other stuff that I tried (squats, shoulder press, etc.) were problemmatical so I'll wait a few more days on those while just sticking with curls. Everything continues to get better though slowly.


I took off all of the lead tape from my KPS88s as I wasn't playing as well with it and I went back to my light model and it played well. My accuracy was off a little but I could generate the spin needed to keep the ball in the court with such a powerful racquet. I contacted Tennis Warehouse and used their matching service to get a light KPS88 (under spec) which I can modify to get to my current favorite. Can't do this if the racquet is heavier than what you want unless you want to hack off pieces.


I need to give my daughter instructions on finding the bug in Mozilla 3.5. I verified that it did work in an earlier release and she just has to try builds until the bug shows up.

Other than that, I'l going to do the patches and clean them up on the other stuff that I'm working on.


July 17, 2009

Ran a little more distance at a slightly slower time. Getting back in shape. Also started in with the barbell - just curls at 30 pounds. Pretty weenie-type stuff but I'm going to take it easy and add a little at a time so that I don't reinjure anything.


I got everything working for jpeg - sniffer, macros, the works.

I tried it on GIF. It crashed. GIF does things backwards as it's an in-place expansion. I considered rewriting the code to handle backwards but it only does the colormaps so the win would be small.

I tried PNG. The code seems to run but I see no performance benefit. Instrumentation shows that my code is being run but I don't see a performance benefit. Perhaps this copying bit is a pretty small part of the overall PNG rendering process. I have the feeling that I'm just going to do this for JPEG.


July 16, 2009

Ran a little further and a little faster today so the body is on the mend.

Son went on an all-day rafting trip - with helmuts so I'm waiting for a report as to how he did. I never knew that he was so adventurous. Class 4 rapids.


Joe got back to me and he's going to ping the reviewer. He also provided me with information on tracking down bugs. Mozilla keeps nightly builds online and we can just use them to do a binary search and then look for checkins for the day. I need to get my daughter started on that.

I'm going to spend some time working on the BLOCK copy SSSE3 routine to see if I can make progress in making macros. The code works but I want to be able to use it for JPEG, GIF and PNG and I don't want to copy the code three times.

I also rearranged my Builder's Corner page to organize things better and to add more information on Mercurial.


July 15, 2009

Things are very busy at work again and I have a side project so I have stopped my major coding projects. I'd like to delegate them to my daughter who has downtime but only if she is willing to do the work. I have my son back for three weeks in August and I have some stuff that I'd like him to do if he isn't otherwise busy preparing for fall courses.


I'm going to ping Joe again on my SSE2 JPEG IDCT review and also ask him a few Mercurial questions. I asked my daughter to do a research project on finding the code change that broke some graphics code and we'll see if she does it. The research would be helpful in identifying the cause of the performance regression or if it ever worked in the first place and it would expose here to doing real research work (she wrote research papers in her undergraduate writing class). She would have to do a large number of builds and make some small code changes. She's taken one programming course in C so she will understand what is going on.


I was able to run without pain yesterday so I will run again today. I can do situps with a little bit of achiness so I'll give that another few days. Wrist is feeling much better but I'll give that a few more days before starting to use the barbell again and trying pushups.


July 14, 2009


I think that I've done all of the performance work that I can do on the block RGB to ABGR copy routine. It's going to be a challenge to package it up as it relies heavily on macros and they don't seem to integrate well into a header file. It may take a while to get the macros in a form that's workable - that is it may take a while to work through the error messages when I tried to move the macros from nsJPEGDecoder.cpp to gfxColor.h.

I have another project that I have to work on for a while so I won't be doing much with Mozilla for a while unless the review comes in for the SSE2 jpeg fix.


July 13, 2009


We drove to Castle Islane in South Boston yesterday to check it out but we couldn't get near the place. A parks guy was turning traffic away and there was no parking available elsewhere. We went into Boston and I found free parking after two trips around the gardens. We walked to Faneuil Hall and the North End and had a nice time. It was amazingly crowded which shouldn't have been surprising. There has been little good weather this summer and people turned out in droves on the nice day. It was a very pleasant time (outside of my sore feet) overall.


I don't have time to work on GFX_BLOCK_RGB_TO_FRGB during the day but will try to work on it tonight. I have a lot of driving to do today and perhaps I can think about what I want to do while taking driving breaks. I want to be able to do the alignment stuff in a way that doesn't look awful or long in the code. I was thinking of using macros to make the code somewhat more conscise and readable. I also have to think about the sniffing infrastructure for SSSE3 as I want it to be usable in other areas. One minor pain is that this will only work on Win32 because it is inline assembler. MSVC doesn't provide support for SSSE3 until VC9 and we can't assume that for building. It would be worthwhile looking into what facilities are available for SSSE3 sniffing in VC9 to save ourselves some work in the future. I should look into the current version of GCC for Mac OS X to see if there is SSSE3 intrinsics support yet.

A popular building from several years ago contacted me this weekend and he may get back to building. He has the proper environment and he is absolutely tenacious about building and finding performance improvements so it should be interesting to see what he comes up with.


July 12, 2009

Family Stuff

Our son is back for the weekend from his internship and it has been nice having him here but I take him back tomorrow morning for the final four weeks. He appreciates the creature comforts at home compared to his temporary living quarters right now. We're going to make a few modifications to his living quarters to hopefully make them a bit more comfortable.


Things continue to improve though slowly. I'm still quite limited in what I can do but I can run and play tennis and that will do for now.


I made some good progress on the optimization for GFX_BLOCK_RGB_TO_FRGB. I had ported the code for SSSE3 but today I finished optimizing  the SSSE3 code itself and things look very efficient. There are four output moves and three use four instructions while one uses five instructions. I think that this is the best that I can do here. Last night I played around with alignment optimizations. The output buffer is aligned 0, 4, 8 or 12. What I tried was to sniff the alignment and then use a separate piece of code depending on the alignment. If aligned on 0, then just use movdqa. If 8, then use movq. If 4, then use movd. It worked quite well in my testing but I took out the code to simplify my SSSE3 optimization pass. I now have to put the alignement stuff back in and then put in the code sniffing. Here's the code for the curious.


__declspec(align(16)) char pshufb_mask1[16] = {2,1,0,15,5,4,3,15,8,7,6,15,11,10,9,15};

#define PSHUFB_XMM0_XMM4 __asm _emit 0x66 __asm _emit 0x0f __asm _emit 0x38 __asm _emit 0x00 __asm _emit 0xc4

#define PSHUFB_XMM5_XMM4 __asm _emit 0x66 __asm _emit 0x0f __asm _emit 0x38 __asm _emit 0x00 __asm _emit 0xec

#define PSHUFB_XMM6_XMM4 __asm _emit 0x66 __asm _emit 0x0f __asm _emit 0x38 __asm _emit 0x00 __asm _emit 0xf4

#define PSHUFB_XMM7_XMM4 __asm _emit 0x66 __asm _emit 0x0f __asm _emit 0x38 __asm _emit 0x00 __asm _emit 0xfc

      if (idx > 31) {

        while ((NS_PTR_TO_UINT32(sampleRow) & 0xf) && idx >= 4) {

          GFX_BLOCK_RGB_TO_FRGB(sampleRow, imageRow);

          idx       -=  4;

          sampleRow += 12;

          imageRow  +=  4;


        // copy pixels in blocks of 16 using SSSE3


          mov      edx, dword ptr idx

          cmp      edx, 16

          jl       done_a

          mov      eax, sampleRow

          mov      ecx, imageRow

          movdqa   xmm4, pshufb_mask1;

          pcmpeqb  xmm1, xmm1                 ; -1s

          pslldq   xmm1, 12                   ; 000000000000-1-1-1-1


          movdqa   xmm5, xmmword ptr [eax]

          movdqa   xmm6, xmmword ptr [eax+16]

          movdqa   xmm7, xmmword ptr [eax+32]

          movdqa   xmm0, xmm5

          por      xmm0, xmm1


          movdqu   xmmword ptr [ecx], xmm0

          shufpd   xmm5, xmm6, 1

          psrldq   xmm5, 4

          por      xmm5, xmm1


          movdqu   xmmword ptr [ecx+16], xmm5

          shufpd   xmm6, xmm7, 1

          por      xmm6, xmm1


          movdqu   xmmword ptr [ecx+32], xmm6

          psrldq   xmm7, 4

          por      xmm7, xmm1


          movdqu   xmmword ptr [ecx+48], xmm7

          add      eax, 48

          add      ecx, 64

          sub      edx, 16

          cmp      edx, 16

          jae      next16a

          mov      sampleRow, eax

          mov      imageRow, ecx

          mov      dword ptr idx, edx




July 10, 2009


I bought another wrist splint for my left hand with an open fingers design so that I can type (barely) with the thing on. It's more useful for other things like driving as I can do things with my fingers. I continue to run frequently because I can.


I stayed up until 2:30 AM working on a little piece of code to optimize a conversion from RGB to ABGR that's used in GIF, PNG and JPEG. It's not supposed to be used in JPEG in most cases but there's another bug somewhere resulting in its use. I was able to put together an SSSE3 routine (it uses PSHUFB) that saves four to five percent on overall JPEG rendering. It will only work on 32-bit Firefox though. I would like to do a little more tweaking to see if I can get the performance up a little more as I wrote it to get it to work which isn't the same as writing for performance. Then I'd need to clean it up so that it could be used by PNG and GIF.

At the moment it is written in MSVC inline assembler so it's Windows 32 only. I'd have to look into intrinsics for Mac OS X - hopefully their compiler supports it. I also need to add some sniffing code for SSSE3. Fun, fun, fun.


July 8, 2009


I ran a little further yesterday and it was pretty easy so I will try to up my mileage a bit more today. I also tried the barbell - dropped most of the weight and just had 30 pounds on it. I couldn't find any exercise where I didn't have to rotate my wrists and rotating my left wrist caused problems so no barbell exercises for a while. Situps don't work either. I must have pulled or strained something in the chest area or a little below the chest area. It looks like stretching, yoga, running and tennis are it for a while. That's not a bad set of options but I still miss my weights.

Operating System Wars

I read about Google's intentions on using a browser as an operating system to take on Microsoft. It reminded me of Netscape back in the 1990s along with Microsoft's violent response. Microsoft is a lot older now and they're less likely to try to depend on an Open Source approach to a new browser. I think that Internet Explorer is a dead man walking, even with sixty percent marketshare. It seems that exploits, and quite serious ones at that, continue to pour out of Redmond.

Speaking of Microsoft, I found the problem with my Vista SP2 installation. There's been a longstanding Vista corruption issue which prevents upgrading to SP1 and SP2. The solution is to reinstall the operating system, then SP1 and then SP2. So I lose all of the stuff installed on my system and have to spend probably ten hours rebuilding the system. Great solution from Microsoft again. I should have bought a Mac.


My son has a strange problem with his MacBook Pro which showed up recently. He said that the CD drive sometimes opens randomly and that it is a major nuisance. I'm considering getting the student deal for a 13 inch MBP with free iPod this summer so that he has a system while his is getting repaired. He's away for the summer and he needs his system so I can't get it repaired until he's done with his internship. I would like to wait for Nehalem for any kind of Apple purchases but this might not wait.


I sent a note to Joe asking about my review and he handed it off to someone else with SSE experience. So I'm hoping for a review soon.

I had a look at something else on the shelf - the SSE2 optimization for nsJPEGDecoder.cpp - Makoto asked me to split off the IFAST DCT optimization and I never got around to it. So I finally got around to it and did a build and then tried to compare it to the scalar code. No difference. I added printfs to see whether or not the SSE2 code was getting executed and it wasn't. Okay. So then I went to see if the optimized scalar ARGB code was getting executed. It wasn't. So something broke this wonderful piece of code (and the plumbing) in the past year. The code checkin was 1.88 of nsJPEGDecoder.cpp which was on 29-Jan-2008. Something broke it between then and now. Crap. This is like real engineering. Something breaks and it takes a long time for anyone to notice.

Well, I took a look at the Mozilla build pages and I can work on the 3.5+ line using Mercurial but I couldn't figure out how to pull from a particular date and time from a little time with the documentation so I decided to go with Firefox 3.0. Firefox 3.0 uses CVS so I had to reacquaint myself with how it works. Fortunately both CVS and Mercurial work with the Mozilla build tools so I just created a directory, pulled the source (live 3.0 I guess) and fired off a build. Hopefully it works out. The other approach would be just to ask Alfred to debug it but I should at least do some upfront work to narrow down when it broke.

It takes about 20 minutes to do a 3.5 build on my MacBook Pro on Windows. The CPU is often pinned to 100% so the build makes good use of resources. I don't think that using an external hard drive would make much of a difference. The build finished and I ran my suite and it took about 14 seconds in 3.0 compared to about 16.7 seconds in 3.5 so I assume that whatever was broken was broken in 3.5. But I'll put in some printfs in the 3.0 build just to be sure. And yeah, they're there. So 3.0 is fine. 3.5 is broken.


July 6, 2009


I was able to play a few good sets of doubles yesterday outside after watching some of the mens finals. I could serve, volley, etc. but I couldn't move with springiness because my chest hurt when I tried. Today I ran for a mile and there was some pain but it was manageable. I've tried some weightlifting with ten pound weights and I can do a few exercises but am still quite limited in not being able to do any pushing motions with my hands. Situps are still a problem too. So it looks like I will be running tomorrow too - I'll just bump up the distance a little.


I've been toying with trying to improve crc32 in my mind as something that would be easy to do. After reading up on it and looking at the generated assembler, I think that there are not too much in the way of gains to be had in runtime. Sure, there are a few assembler tricks but I don't think that the gains would be worth the effort to get the code in. I looked at all sorts of interesting division schemes but learned that crc32 isn't strictly arithmetic division. I didn't find any speedups but I learned a lot about CRCs and division.

One thing that I did find curious is that crc32 handles both big and little endian but I was wondering why it needed to do both, especially on x86. I had a look at the generated assembler code and the code path for big_endian isn't there. I assume that the linker drops the code as it isn't needed. This is all fine and good except for one minor thing. The optimized routine uses prebuilt tables to do four bytes at a time and the tables are generated for both big endian and little endian. It appears to me that we shouldn't generate the big endian tables on x86. This would save 4KB of RAM at runtime and reduce the kit size by probably the same amount.

I did build a Firefox image for testing and found no problems with the extraneous data removed. I should file a bug on this and play around with a code fix.

This is the first time that I've done a Mozilla build in a long time. Firefox has been getting better and better in performance even though it could use my JPEG mods. I still haven't heard from Joe Drew on his review for my changes though a lot of SSE2 code might make for a tough code review. I really wish that Intel had done CRC32 IEEE instead of CRC32 Castagnoli.


June 2009

Return to Homepage

Updated February 12, 2011. For comments and questions, send email to Contents of this blog are Copyright 2009. Fair use portions may be copied with a link back to this