Sunday, May 5, 2013

Logitech G400s mouse

In my previous post I complimented Logitech customer service and now I wanted to give my opinion on the new mouse they sent me.

My old mouse is G400 as far as I can tell. It is dark grey with black bottom and has a Logitech logo on top. The new mouse is G400s and has a large G in place of Logitech logo. It is also different color - dark blue with the black stripes and silver markings. The buttons are same size and in the same positions. The weight of the new mouse is the same as the old one although I did not measure it precisely.
One thing that did change is the mouse cable. Old mouse had thin and very hard cable. There was no issues with it, it just was different from the older mice that I had. The new mouse has same thin cable but it is not as hard. It is more pliable and softer on touch. They also added grommet on the mouse end of the cable which should help this cable to last longer.

Sensitivity and button presses feel exactly the same. Wheel rotation feels "clicker" on the new mouse. In use this mouse feels identical to my original G400 and performs identically.

I still like G400 a lot and would recommend it for gaming and everyday use. I really like sensitivity adjustment buttons which do not require any special drivers. The mouse performs flawlessly on my cheap mouse pad and does not jerk or skip. No matter how fast I move it, it tracks really well.

Excellent customer service from Logitech

My older Logitech MX300 mouse finally gave up to ghost and after some research I purchased Logitech G400 to replace it. I like G400 a lot. It has a nice weight and comfortable to use. The only downside of this mouse in my case that it is right handed and I prefer ambidextrous mice. This mouse served me for over a year really well but developed very annoying squeak when pressing the wheel down.  Ordinary mouse can be opened and cleaned but G400 is sealed. The screws are located under the gliding pads, which are glued shut to the body. In theory the pads can be pried away to access the screws but I did not want to ruin the mouse.

I contacted Logitech tech support in hopes of getting some tips on cleaning this mouse. Few emails later they send me a brand new G400. I was pleasantly surprised to say the least. It is unusual to see a company being so forthcoming in replacing their products. I used Logitech products before as their mice are very good and reliable. Now they got a devoted customer. Knowing that they stand behind their products makes me confident that they are interested in maintaining quality. I can not imaging that their business model would be selling a bad product and then replacing it for free.

Tuesday, April 16, 2013

Don't want refrigerator to break? Read this post!

You refrigerator needs regular cleaning. I think at least once a year is recommended. A lot of modern refrigerators have their heat exchanger on the bottom or in another not easily accessible place. I had a hard time cleaning it with the vacuum as the vacuum would not collect any dust and dirt accumulated in farther rows of the heat exchanger.
After trying different things, I stumbled upon the solution - the garden leaf blower! I have an electric blower which somewhat simplifies operating it indoors. Air compressor would also provide adequate replacement but I do not own one.
My first experience with this was not a very good one as we attempted to clean refrigerator without moving it from its usual place. The dust that was in the refrigerator, settled on every surface in our kitchen. We had to completely wash and clean the kitchen after that as well as vacuum adjacent rooms.
Second time I moved refrigerator to the open garage door and blew from inside of the house into the garage. This turned out much better. All I had to do after is to use garden blower inside of the garage to blow out all the dust.
It is OK to use garden blower to clean your refrigerator coils, just make sure to blow towards the outside. Move your appliance to the patio door or garage door so the dust does not fly around the house.
I also found that garden blower can be used to clean out dryer exhaust path from the lint. It works well for this. Disconnect your dryer blow in to the exhaust path. If possible clean outall the lint manually before using your blower.

Sunday, March 10, 2013

DYI mistake that I make again and again

If you like to do some light maintenance around the house I hope that you don't make the same mistake I do. Buying appliance on sale or as an impulse buy is a bad idea no matter how much you save! But I am done making this mistake.
Few months ago we bought new Titan 1¼ HP Premium Food Waste Disposer at Costco. It was on sale. It looked like a nice disposer, much more powerful than we had. It is cheaper than the low end Badger in Home Depot and looks like better featured. The only problem with it is that it does not fit in place of our old one.
After almost installing it I realized that it would not attach to our plumbing without some significant rework of the plumbing. Lucky for us Home Depot was stocking a Badger unit that fit perfectly so my removal of the old disposer was not a total waste.


The Titan disposer from Costco has a lot of plastic parts. Sink mounting sleeve, ring that pushes against the sink from the bottom, two tiny dimples by which disposer hangs under the sink. All these parts do not inspire any confidence. I was able to make this plastic ring skip threads by simply screwing it in by hand. I am not a large or strong person by any stretch of imagination. I am not sure if that ring would have held up for any period of time. The unit is encased in foam, which I am not sure is a great idea. The purpose of the foam is to reduce the noise. Unless you are running disposer at night, the noise is hardly a problem. The foam will absorb the water and the odors if the sink ever leaks. The unit is much larger than Badger and therefore occupied much more room under the sink. The opening is small and if something falls in the disposer you will need a small hand to get it out. It comes with the magnet to prevent silverware from falling in. In many years of using disposers I had this happen maybe two times. Again solution for imagined problem. I read reviews on Amazon for this unit and they are not promising. I am actually glad it did not fit.
Note to the makers of Titan garbage disposer - if you want for people to use your product make plumbing connections in exactly the same place as all other disposers. Then your unit will be a drop in replacement. For now it is going back to Costco.

Our previous Badger unit lasted since 1997 and aside from complete disintegration of rubber parts, it still works. The new Badger works great and all mounting hardware is made of metal, just like before.

Wednesday, February 20, 2013

Update on RT-N12B1 router - still recommended

We have had this router for about a month now and so far I am very happy with it. Original .38 firmware was relatively stable but it rebooted for some reason about every 3 to 5 days. I have not noticed the reboots and only knew about them from the router logs. I upgraded firmware to the 2.1.1.46 and will report on stability later in the month.
Other than the unnoticed reboots, the router is great. I handles all the traffic splendidly without a hitch. There are no issues with VPN or tunneling or anything else for that matter. Router can handle two Roku boxes streaming at the same time - one locally and one from Hulu. There is really nothing bad I can say about this router and would recommend it to anyone.

Update

After 11+ days there is no reboots with the firmware version 2.1.1.1.46. So far this update working out nicely. Before reboot write down router settings and after reset the router to default settings and restore the settings you have written down. Without that I had trouble reconnecting with my wireless devices.

Update #2

After 12 days router finally rebooted. I think from now on I will reboot it after 10 or so days if I remember.

Update #3

It appears that the router does not reboot as I previously thought. The uptime in the interface changes to indicate the router is rebooted but the system log has no indication of reboot. That would explain why I have not observed service disruption upon reboot. I will try to contact support and see what they say.

Thursday, February 14, 2013

Another rant on Accurev

Today I had to perform a merge across two unrelated streams in Accurev. One stream was the root stream which contained the changes I wanted to merge. The other stream was created off a snapshot about 6 months old. The idea was to merge the fixes in the latest code in to an older branch. The fixes affected maybe 100 files across 30 or so issues. This took me whole day. None of the merges were particularly complex but yet here we are. So if you value your productivity do not use Accurev.

It was easy to find related issues. I did a diff by issues between the respective streams. From the diff it was easy to find the issues and each issue contained changed files. So far so good. Now the question is how to send these particular file versions in to the relevant workspace? The manual recommends to use change palette, which is conveniently greyed out and not accessible. I had to involve two of our support engineers, nether of them knew why the button was disabled.

Finally I figured out a way to look at the same issues from the stream history and there change palette was available. This is the most idiotic thing - one dialog has a button disabled, another similar dialog has it enabled. Now I would expect a merge function of some sort to be available in the change palette so I could selectively pick the changes that I want to merge with the version in the workspace. No such luck! You have to send your file in to the workspace overwriting the version with irrelevant changes, then you have to diff the version with the predecessor and revert most of the changes except for the ones you want. Instead of one simple operation it becomes two non intuitive ones. Although if the file did not need merging, it could be simply promoted if the promote button was not disabled. When it was disabled another merge was required.

After having the pleasure to use merge function of Mercurial, Accurev is terrible in comparison. As I described in my previous post, things get disabled and enabled using some arbitrary rules. The dialogs, described in the manual ether look different or dont exist or not accessible in a way presented in the manual. Somebody told me that I need to upgrade to the latest version and it is way better. Somehow I doubt this. If I am to go through the pain of upgrade, it would be to something like Git or Mercurial.

Sunday, February 3, 2013

Why Samsung Galaxy Player is better than iPod

I have been using my Galaxy Player 4.2 for a while now and definitely find it much better than iPod touch in many areas. In fact I did not find one area in which Galaxy would be equal or worse. I speak from experience of owning iPod touch for number of years. So here is why Galaxy Player is better.

Absence of iTunes! iTunes is a useless monstrosity which installs useless QuickTime and other Apple crap which makes your computer slow. I was told that on Mac iTunes work better. I do not have a Mac but on Windows iTunes is an abomination. Yet you must have it if you are going to backup your device and your content. With Galaxy you can just plug it in and use mass storage driver to access all of the content and apps. You can copy to and from the device just like you would with a flash drive.

With Google Play you can download apps from the store and save them on your PC. Later you can install these apps from SD card. There are also apps on the Android itself that would allow you to backup and restore your applications and data. With iPod and without iTunes you are toasted if Apple overwrites your app with non working version and you did not make a backup.

You can add Micro SD card to your player and expand its capacity cheaply. With iPod you can only go with what you originally purchased. I currently have 8GB card in the player making total memory to be 16GB. The card is used to store movies and larger games. If I run out of space, I can upgrade it easy. And it only cost me $6.

Larger screen is a big improvement over iPod. Although latest iPod has higher resolution screen than my Galaxy, the size of Galaxy screen is much larger. I can not see the individual pixels on ether device and both look similar. I compared this player with iPhone 4S and 5 and I have not found one person who could point out any difference. The Samsung phones with larger and higher resolution screens beat iPhone's screen to the punch.

Replaceable battery is a big thing for me. I replaced my iPod battery one time and it is not an easy task even for a DIY person like me. To replace battery in the Galaxy, you just open the back, replace battery and close the back. That is it. You can do it within 5 minutes.

There is NO good book reading application on iPod. Probably the best that I found was Megareader. But even this app does not render some epub files correctly. All other readers do not work well at all on the small screen. FBReader on Android is much better application and there are several just as good - Aldiko or Cool Reader for example.

Standard USB connector is a plus for me. Now I only need to take one charger for the phone and the player. I do not use a smart phone since I value the two weeks battery life that my regular phone provides. I had to carry a separate cable for iPod and a charger for the phone. Not anymore.

I do not have to convert videos to mp4 to play on the Galaxy. It plays pretty much any format that is popular with resolution up to 1080p. iPod only supports mp4 files and resolutions are limited.

The only thing where iPod is better than the Galaxy player is the amount of accessories available. But the Player is by far less popular that iPod. If you compare more popular Samsung smart phone against Apple iPhone the shortage of cases is not a problem at all.

In the end I am very happy with the Galaxy Player and I hope this post will help someone to choose a better device.

Tuesday, January 22, 2013

Asus RT-N12B1 router review, initial impression

I was looking to replace my home router for a while now. I was still using Netgear MR-814 which is a 802.11b router and was getting slow. I was looking for a router capable of running DD-WRT or any other open firmware in case original firmware proves to be inadequate.

After some research I picked Asus RT-N12B1. This router is priced reasonably (around $40), capable of running OSS firmware and supports 802.11N single band. It comes with dual 5db antennas and provides good coverage for our house. Asus backs this router with 2 year warranty which should be sufficient since electronics in my experience ether fail shortly or run for a long time. This router equipped with 8MB flash and 32 MB ram and uses Broadcom BCM5357B0 chipset. It looks nice in white and has cool blue LEDs.

I did not update or change stock firmware and performance and stability so far are pretty good. The router came with 2.1.1.1.38 firmware which is not available as download from the Asus site. I have not encountered any problems configuring it or connecting devices to it. After connecting router to my cable modem and rebooting the modem, my connection came up and tested at over 50Mb/s. My old router was able to only achieve about 19Mb/s (which was plenty for my purposes). The weak point of models sold many years ago was stability under BitTorrent download. This router does not have any issues and I downloaded different Ubuntu iso files just to test it. Port forwarding, which I use for VPN connection, is also works without a hitch. I probably need to note that the router runs without encryption and with open authentication so the described performance may change if encryption is turned on. I have no plans to do this however.

My goal was to run 2 Roku boxes at the same time, which was not possible with the old router. This seems to be possible with the new Asus router and it performs well. I have no video drops or buffering with both Roku devices playing at the same time.
Firmware on Asus site is updated regularly and was updated as recently as Dec 2012. Hopefully the Asus keeps up the good work and there is always DD-WRT for backup.
I wanted to mention that there is no temperature problems. The unit is cool to the touch from the top and the bottom. There is slight warm spot right above the main chip but only few degrees warmer than any other place. It is cooler than my cable modem or even my Pogoplug. I do not anticipate any issues in this area.
My first impression is favorable and I would recommend this router if one needs a simple N router without fancy options.

Tuesday, January 15, 2013

My opinion about AccuRev

I have been using AccuRev SCM for about 4 years and every year my impression of this system gets worse and worse.
The AccuRev bills itself as a better replacement for ClearCase. I can surely tell you that it is not better and there is no love lost between me and ClearCase. I hate ClearCase with passion for its slowness and complexity. ClearCase however has two big advantages over AccuRev - it is reliable and it is documented well.
AccuRev is simple as long as you only have to check-in files and make them visible to everyone else. As soon as your workflow deviates from the one above, AccuRev becomes a time sink with countless hours wasted. You know what I am talking about if you ever used AccuRev. Try for example rolling back to any previous checked-in and promoted version. Simple solution would be to get the old version and check it in on top of the latest one. That does not work in accurev - file becomes "underlapped". Revert command is disabled for unknown reason. Every time I have to do this I run in to a new problem of some sort.
The documentation is terrible, covering only the basic use. The UI is terrible with menus greyed out and disabled in seemingly random fashion. Command line is somewhat usable but occasionally commands fail with cryptic messages and you can not understand why.
The actual source control database can die on you at any moment and you will need contact their support to fix it. This sometimes turns in to days of downtime. Their replication model is a joke and the replication itself can stop working without any warning or error.
I also help to administer AccuRev and intimately familiar with all of its problems. I would strongly discourage anyone from even considering using it, especially when such wonderful and reliable OSS SCMs are available for FREE.
Very few people will probably read this post but if you do, avoid AccuRev like a plague

Saturday, December 8, 2012

Handling file names with spaces in shell scripts

I decided to write this post after looking on the net for the solution to this problem. There are many recommendations but most of them are ether incorrect or involve convoluted methods like creating temporary files.
Disclaimer: I am by no means a shell scripting guru so take my advice with the grain of salt and try it for yourself. This information is relevant to bash, I do not use other shells.

The problem

You want to pass a number of files to your shell script and process each file in some way. Obvious approach is to use for loop and place processing of the file inside of the loop, something like this:

files=$*
for file in $files ; do
  process-file "$file"
done


Note the quotes around the $file variable. These are used to ensure that if the file name has some spaces, the file name is processed correctly.  Placing double quotes around the variable will ensure that spaces in it will be treated as a part of a single file name rather than multiple file names separated by spaces. If none of your file names contain spaces, the code above is perfectly workable.
The for command breaks list in the files variable using field separator which normally includes space. So in the code snipped above file will be assigned portions of the file names if the file names contains spaces. One solution recommended on the net is to modify field separator to exclude space, but this creates other problems.

The solution

The actual solution is very simple and based on often overlooked statement in the bash man page. If you omit in statement, the for command executes list once for each positional parameter that is set. So reworking above snipped as indicated below gives you the code which works correctly:


for file ; do
  process-file "$file"
done


The snipped above worked in all of my scripts. The only issue might arise when you do not pass file names on the command line. In this case function can be used or positional parameters may be reassigned using set command.