Sunday, July 19, 2015

Software I Always Install

When I get a new Windows 7/8.1 PC, the first thing I do is install some key free applications to "tame" it. To the greatest extent possible, I like to have similar tools available for all platforms, so I can use any available Windows/Linux/Mac/BSD system as a workstation without having to kill my workflow or productivity.

General:
  1. Firefox - Not necessarily the best browser, but it has the best plugins.
  2. NoScript - Makes browsing tolerable.  Blocks a bunch of evil.  Has a learning curve: RTFM.
  3. Classic Shell - Provides a Win7-style Start button/menu/taskbar under Win8.
  4. Clover -  Adds tabs to Windows Explorer
  5. Foxit PDF reader - Better than Adobe
  6. LibreOffice - Covers 99% of what I'd need from Microsoft.
  7. 7-Zip - The best all-platform archive handler.
Engineering Tools:
  1. Cygwin (32-bit) - A full GNU/Posix environment under Windows.
  2. MobaXterm - Multi-tab terminal and X11 environment. Better than CygwinX, includes Cygwin subset.
  3. Geany - My favorite lightweight IDE for all-platforms (even RasPi).
  4. TortoiseGit - Becoming the global revision control system of choice.
  5. TortoiseSVN - The prior RCS champ, still very popular.
  6. DesignSpark Mechanical and PCB - Free schematic entry, layout and MCAD.
  7. yEd Graph Editor - Faster and easier than Graphviz.
  8. Anaconda (64-bit) - Ginormous Python environment (all of SciPy and more).
  9. Node.js - Javascript is everywhere.  Deal with it.
Maintenance:
  1. SysInternals Suite - Everything needed to control Windows. 
  2. CCleaner - Even new systems need cleaning.
  3. EaseUS Todo Free - Backup & cloning toolset.
I'll update this post when I find new favorites.

There are several multi-platform numerical and symbolic analysis apps I used to install, but I'm trying to force myself to stay within the Scientific Python environment.  Still a bit of a learning curve, but it's coming along.  There are lots of reasons for this, but that's a separate post.

Fighting Bloatware

My new Asus laptop came with a ton of junk pre-installed, and even Windows 8.1 includes some.

The first thing I do is remove all games.  Not that I don't like playing occasionally, but many pre-installed games come with stuff you do not want on your computer.  The simplest thing to do is to delete them all, then selectively install the individual game apps you like.

Next, install the full SysInternals Suite.  Run AutoRuns, select the Everything tab, and take a look at what your system is firing at boot and/or login.  Uncheck the obviously bloatful programs, then do web searches on the ones that look suspicious.  Now, this won't remove the offending program from disk, but it will keep it from running at startup or login.

Sometimes a useful package installs bloatware: Uninstalling the entire package may not be practical, but the above procedure keeps it's junkware from running, which means only a bit of disk space is being wasted.

Saturday, July 18, 2015

Why I chose an i3 laptop.

What?  I purposely got an i3 laptop?  Not the expected i7, or even an i5?

Yes.  Yes I did.  Here's why:

Most of what I do on a PC (browsing, IDEs) rarely taxes the CPU.  When I went shopping for a new laptop, I wanted to emphasize creature comforts (decent display, usable keyboard & trackpad) over performance (storage, memory and CPU).

When Fry's had a sale on the Asus Transformer Book Flip (TP500L) I snapped it up, despite it only having an i3-4030U with 4GB DRAM and a slow 500GB disk.

Having a touchscreen combined with the keyboard able to flip to make a stand or all the way backwards to make a huge tablet was a plus, since I will often use the system as the interface for various USB instruments (o'scope, logic analyzer, signal generator, device programmers, etc.), and being able to get the keyboard out of the way saves lab bench space.

Even more important is that I can stand it up sideways (profile display) to view documentation at the workbench, scrolling with the touch of a finger, using the on-screen keyboard for the occasional text search. Think about all the paper that will save, especially since my PDF viewer (Foxit) supports annotation.

Finally, a modern i3 provides maximum battery life and minimum overheating concerns.  But, not surprisingly, the system was dead-dog slow out of the box.  No surprise there, but I had plans.

Today Fry's had a 240GB SSD on sale, which I installed with about 20 minutes of mechanical work and an hour of copying time using EaseUS Todo Backup Free, which also handles partition resizing.

My total investment so far is still less than even a low-end i5 system without the flip screen capability.  And the performance with the SSD makes it feel like it's punching way above its i3 weight-class.

Now it cold-boots in about 4 seconds, and programs load much faster.  Browsing is also quicker due to the rapid disk cache updates.  Software installs are also swifter.

But best of all is the quick swap speed, which will postpone a DRAM upgrade until I need to install truly massive tools, such as the Xilinx FPGA development toolchain.

The moral of the story?  If you have an unlimited budget, get an unlimited laptop.  Otherwise, subtract the cost of an SSD from your budget, then get the best laptop you can with what's left.

What's this blog about?

This will be a collection of miscellaneous items that I've encountered at work, home or in my hobbies.

Some will be tricks related to the main computing platforms I use (Win7/8.1, Cygwin, Ubuntu, RedHat) and the programming languages I use (primarily Python and C/C++).   Others will concern my hobby work in IoT and HA (Home Automation).

I also expect to cover lots and lots of stuff about my life and work as an embedded/real-time software engineer working on systems ranging from 8-bit processors programmed to the bare-metal to multi-core 32-bit systems running various forms of Embedded Linux, lightly spiced with some occasional DSP work.

But I suspect most posts will concern things I've encountered online that I want to share and not forget about.