Here are the definitions for star ratings for my book reviews:
***** An original work, masterpiece, must-read book.
**** Very good book with a lot of interesting insight, useful & enriching experience. This is the book you just can’t put down.
*** Satisfactory experience, several good ideas and not too many cliches, worth reading if you have a lot of free time.
** Either poorly written book or an obvious copy-paste full of common knowledge for the area.
* Very poorly written book, complete waste of time. Something that I normally wouldn’t review as just skimming through the book reveals that.
Recently I was testing real-world performance of TP-LINK Archer T9E AC1900 wireless adapter. The experiment was quite unsuccessful and I didn’t experience any reasonable improvement. Quite the opposite: speeds did not improve but the connection was mush less stable.
After uninstalling TP-Link driver/utility package I’ve noticed that it left my Windows 10 installation quite messed up:
Really TP-Link? I was not able to use my old USB Wireless Adapter and the list of wireless networks simply wouldn’t show up. Quick Internet search helped solve the problem, resetting Winsock Catalog fixed it:
netsh winsock reset
In addition, I suspected that Windows system files might be corrupted so I decided to check:
C:\WINDOWS\system32\sfc /scannow Beginning system scan. This process will take some time. Beginning verification phase of system scan. Verification 100% complete. Windows Resource Protection found corrupt files and successfully repaired them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log. Note that logging is currently not supported in offline servicing scenarios.
All fixed, back to more productive activities.
After many years of using various ergonomic keyboards both at work as well as home I finally had had enough. It was time to go back to good old mechanical switches. Having some free time and enough courage I researched and finally bought old-school mechanical keyboard.
The first step was to order a Cherry MX Switch Tester from WASD Keyboards.
6 Cherry MX Switches
The tester comes with 6 switches of which 4 are smooth (clear, red, black and brown) and 2 are actually clicky (blue, green). I didn’t like any of the smooth switches as they were all reminding me of a regular keyboard except a little more precise as each key has an individual switch (duh!).
I ended up liking Cherry MX Green best as it is more clicky and resitant than Cherry MX Blue. When you compare these two the difference is very clear: the green ones just feel more precise and even sturdy.
The Keyboard I chose
As Cherry MX Green was the best choice, I wanted to purchase magnificent CODE keyboard that has the best design – clean and simple, that simply allows you to focus on work & typing. It was out of stock! What was surprising is how rare the MX Green keyboards are! Only the CODE had a decent layout (i.e. not extra buttons/knobs and other pseudo-professional bells-n-whistles), but it was not available which was a huge disappointment.
The next best option was Cherry MX Blue-based Das Keyboard Model S ordered on Amazon during their Prime Day. So far so good: satisfying typing experience, the keyboard is a heavy, sits nicely on the desk and reminds me of heavy IBM keyboards from childhood. Overall build is good, it looks like a high-quality product except for the stupid functional keys that fortunately are mixed shared with functional keys.
Mechanical keyboards may not be for everyone, but software engineers should definitely give them a try for few weeks and see if they like them.
About a week ago I finished Algorithms, Part I course on Coursera. Few thoughts after completing this course:
- good course by Robert Sedgewick and Kevin Wayne that is focused primarily on algorithms and their analysis
- great refresher especially for those who worked in the industry for a while
- course uses Java as programming language, but having very little Java experience wasn’t a problem, being proficient in C++ and especially C# helped a lot
- the course focuses mostly on application of existing algorithms but does not focus on the algorithm design which is its biggest drawback
- Dr. Java IDE that comes with the course is terrible. Instead, I used Eclipse and version of Java that the default course setup installs on your machine (see previous post on how to configure Eclipse for this course)
- the course does not provide a verified certificate which is a bummer especially after all the hard work
- all of the programming tasks were fun and challenging
- lecture and slides are helpful but you obviously need to do your own learning in addition to that
In order to be successful in this class, you need to:
- make sure you keep delivering exercises and programming assignments before the due date or at least hard deadline. For me it was a big challenge in the beginning due to packed schedule but I had supportive environment and overall experience was smooth.
- do not study if you’re tired after work – instead, get a good night of sleep and study when your brain is fresh – sounds like a no-brainer but it’s not so obvious until you experience double load – both at work and in the class
- do not use Dr Java – it’s almost impossible to debug your code fast, especially complex data types. Install Eclipse. Enough said.
- try to have fun and enjoy every moment of it!
Overall, I recommend this class.
Coursera is offering great algorithmic courses Algorithms, Part I and Part II by Robert Sedgewick. The only problem with them is Dr. Java IDE they recommend. It is free, usable but completely impractical when it comes to debugging. I’ve configured Eclipse IDE and my productivity increased significantly, especially when it comes to debugging.
Here is how to configure Eclipse on Windows machine for Algorithms, Part I/part II:
- Uninstall any instances of Java from your machine
- Follow step 0 from http://algs4.cs.princeton.edu/windows/ to install algs4.exe
- only follow step 0, skip the rest as we will use Eclipse instead of Dr. Java
- Download stdlib.jar and algs4.jar to permanent folder
- Download Eclipse IDE for Java Developers
- At the time of this blog post I had Eclipse Luna SR1 4.4.1 on my machine
- Follow instructions in eclipse.pdf to configure Eclipse.
- The instructions are long and little tedious but well worth it
- Here’s how you create a User Library in Eclipse: go to Window > Preferences > Java > Build Path > User Libraries, create New library and add algs4.jar and stdlib.jar from step 3 (I called it Coursera):
- Whenever you create a new Java project you need to add newly created user library : right click on project, Build Path > Add Libraries
- Here’s what your Java project in Eclipse will look like after adding this library:
Eclipse worked well for me and as I mentioned previously increased my productivity which made studying fun again.
Good luck and let me know if you have questions!
Steve Ballmer gives a great lecture at Harvard:
Update: I actually met him in ProClub locker room in Bellevue right before Christmas. It was a little surprising to see him there but I’ve heard from friends that you see him there often. So I just commented that his lecture was really good especially the aspects about luck and being hardcore. He was flattered and simply hi-fived me 🙂
This post is a deviation from my general blog theme, but I simply had to post it.
Issue: my Canon LiDE 25 scanner was working for several years on Windows 7 x64 English Pro but suddenly started to show error “Unable to open TWAIN source Please check connection Then re-start Toolbox”
Solution: add C:\Windows\twain_32\CNQL25 to PATH environment variable. Problem solved!
Here’s the presentation I’ve given at the latest Seattle CodeCamp this September:
For future events please visit https://seattle.codecamp.us/.