Thursday, May 12, 2016

GBoard Review: Too Much Mistyping for Me

I downloaded the initial version of GBoard today for iOS and was looking forward to using it. Unfortunately, I had to stop after a minute because it kept misregistering characters I was typing, and I don't have that problem with the iOS built-in keyboard.

At first I thought this was due to the layout being different, but it isn't. Here's a screenshot to compare GBoard with the iOS keyboard:


(Difference provided by Resemble.js.)

My thought now is that GBoard must not register keys in the same way that iOS's keyboard does, leading to a lot of mistyped characters for me.

Wednesday, May 11, 2016

Text-based Calendar and Weather in Terminal

Having a little fun in the terminal thanks to an HN post discussing a post on cal from adriansieber.com.

First off, cal- remember it's a four digit year:

$ cal 2016
                             2016

      January               February               March
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                1  2      1  2  3  4  5  6         1  2  3  4  5
 3  4  5  6  7  8  9   7  8  9 10 11 12 13   6  7  8  9 10 11 12
10 11 12 13 14 15 16  14 15 16 17 18 19 20  13 14 15 16 17 18 19
17 18 19 20 21 22 23  21 22 23 24 25 26 27  20 21 22 23 24 25 26
24 25 26 27 28 29 30  28 29                 27 28 29 30 31
31                                          
       April                  May                   June
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                1  2   1  2  3  4  5  6  7            1  2  3  4
 3  4  5  6  7  8  9   8  9 10 11 12 13 14   5  6  7  8  9 10 11
10 11 12 13 14 15 16  15 16 17 18 19 20 21  12 13 14 15 16 17 18
17 18 19 20 21 22 23  22 23 24 25 26 27 28  19 20 21 22 23 24 25
24 25 26 27 28 29 30  29 30 31              26 27 28 29 30
                                            
        July                 August              September
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                1  2      1  2  3  4  5  6               1  2  3
 3  4  5  6  7  8  9   7  8  9 10 11 12 13   4  5  6  7  8  9 10
10 11 12 13 14 15 16  14 15 16 17 18 19 20  11 12 13 14 15 16 17
17 18 19 20 21 22 23  21 22 23 24 25 26 27  18 19 20 21 22 23 24
24 25 26 27 28 29 30  28 29 30 31           25 26 27 28 29 30
31                                          
      October               November              December
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                   1         1  2  3  4  5               1  2  3
 2  3  4  5  6  7  8   6  7  8  9 10 11 12   4  5  6  7  8  9 10
 9 10 11 12 13 14 15  13 14 15 16 17 18 19  11 12 13 14 15 16 17
16 17 18 19 20 21 22  20 21 22 23 24 25 26  18 19 20 21 22 23 24
23 24 25 26 27 28 29  27 28 29 30           25 26 27 28 29 30 31
30 31   

Another fun fact, courtesy of JoshTriplett:

$ cal 9 1752
   September 1752
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30




jaybosamiya shared the reason for this.

More on cal in the linked post.

Another neat command is really curling a service for weather (mentioned by wyc). Here's the weather in Washington, D.C. on the night of 5/11/2016, just to see how cold it is up there:

$ curl wttr.in/20001
Weather for Zipcode: 20001

               Overcast 
      .--.     59 °F          
   .-(    ).   ↓ 0 mph        
  (___.__)__)  8 mi           
               0.0 in         
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Wed 11. May ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               Overcast       │      .-.      Light drizzle  │      .-.      Light drizzle  │               Mist           │
│      .--.     55 – 57 °F     │     (   ).    62 – 64 °F     │     (   ).    64 – 66 °F     │  _ - _ - _ -  60 °F          │
│   .-(    ).   ← 4 – 6 mph    │    (___(__)   ↙ 4 – 5 mph    │    (___(__)   ↙ 3 – 4 mph    │   _ - _ - _   ↙ 3 – 5 mph    │
│  (___.__)__)  6 mi           │     ‘ ‘ ‘ ‘   1 mi           │     ‘ ‘ ‘ ‘   1 mi           │  _ - _ - _ -  1 mi           │
│               0.0 in | 18%   │    ‘ ‘ ‘ ‘    0.0 in | 10%   │    ‘ ‘ ‘ ‘    0.0 in | 35%   │               0.0 in | 3%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Thu 12. May ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               Overcast       │  _`/"".-.     Light rain sho…│  _`/"".-.     Light rain sho…│               Mist           │
│      .--.     62 °F          │   ,\_(   ).   69 °F          │   ,\_(   ).   69 – 71 °F     │  _ - _ - _ -  51 °F          │
│   .-(    ).   ↙ 3 – 5 mph    │    /(___(__)  ← 5 – 6 mph    │    /(___(__)  ↖ 8 – 11 mph   │   _ - _ - _   ↖ 6 – 9 mph    │
│  (___.__)__)  6 mi           │      ‘ ‘ ‘ ‘  6 mi           │      ‘ ‘ ‘ ‘  6 mi           │  _ - _ - _ -  1 mi           │
│               0.0 in | 11%   │     ‘ ‘ ‘ ‘   0.0 in | 7%    │     ‘ ‘ ‘ ‘   0.0 in | 55%   │               0.0 in | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Fri 13. May ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               Mist           │      .-.      Moderate or he…│               Overcast       │     \   /     Clear          │
│  _ - _ - _ -  64 °F          │     (   ).    69 – 71 °F     │      .--.     73 – 75 °F     │      .-.      64 – 66 °F     │
│   _ - _ - _   ↖ 4 – 7 mph    │    (___(__)   ↗ 10 – 13 mph  │   .-(    ).   → 9 – 17 mph   │   ― (   ) ―   → 5 – 6 mph    │
│  _ - _ - _ -  1 mi           │   ‚‘⚡‘‚⚡‚‘    6 mi           │  (___.__)__)  6 mi           │      `-’      6 mi           │
│               0.0 in | 1%    │   ‚’‚’⚡’‚’    0.0 in | 100%  │               0.0 in | 5%    │     /   \     0.0 in | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘

Check new Feature: wttr.in/Moon or wttr.in/Moon@2016-Mar-23 to see the phase of the Moon
Follow @igor_chubin for wttr.in updates

Update Your IntelliJ Product

Please read Security update for IntelliJ-based IDEs v2016.1 and older versions and update accordingly.

From that page:

We have just released an important update for all IntelliJ-based IDEs. This update addresses critical security vulnerabilities inside the underlying IntelliJ Platform. The vulnerabilities, in various forms, are also present in older versions of the IDEs; therefore, patches for those are also available.

While we have had no reports of any active attacks against these vulnerabilities, we strongly recommend for all users to install the update as soon as possible.

Friday, April 8, 2016

Windows Has a Long Way to Go for Developers

OS X attracted a lot of developers in the 2000's and many are still on it. Linux in its various flavors also has a significant combined community of developers and continues to be a strong force, especially considering that Linux is used more on the server. Of course, those developing in Microsoft technologies and some of those in Java, etc. use Windows as well.

But, I've been in a primarily OS X desktop environment and primarily Linux server environment for close to the last 10 years now. With that experience, here are some places where I believe Windows is still deficient, and will remain deficient as a development environment that works for the majority of development languages (not just Windows-based) for at least a few years, possibly much longer.

OS X embraces Linux/*nix as far as command-line tools go via Homebrew and has maintained a reasonably active community with that. Windows has Chocolatey but that's not a replacement for all of the tools, and at time of writing Scoop is also really lightweight compared to the long list of formulas in Homebrew.

Sure, OS X includes bash at command-line, and yes, Windows 10 will provide it and support for other commands provided in Ubuntu to work by using an adapter as part of Windows.

However, that doesn't go far enough.

In order to be an easy-to-use Desktop environment, a powerful development workstation, and similar enough in the underpinnings to be fairly compatible with the most stable and ubiquitous server operating systems which use the Linux kernel, Windows would need to be a Desktop manager atop Linux. That won't happen anytime soon, and is not in Microsoft's plans.

Why does it matter? I've personally seen the pain of a developers trying to migrate to Windows from an environment that was targetted at Linux, in languages that for the most part assume to be run on Linux servers, and with developers that use OS X or Linux... and it is painful. Incompatibilities galore when you swim against the stream. And, no developer should be put into this situation. If the money is there, the right tools should be used for the job. This may mean that your best environment should be composed of teams running Windows, OS X, Linux, and more. While there is something to be said for developers using the same tools so that they can work with each other more easily, you shouldn't ever continually force developers to use the wrong tools for the job or switch to them unless you want them to fail.

I really want Windows to provide some serious competition to OS X and Linux in the realm of all types of development, not just .Net and the like. If it could be better than OS X for all developers, I'd use it. But, even if I start buying Windows PCs at home here and there now that Windows 8 has mostly run its course, I can tell you that I don't see a future in the next few years where I would enjoy writing code in Windows, unless I'm writing code in .Net or other languages where Windows might be a better choice.

That said, Windows still has the majority share in Desktop operating systems, at time of writing. 46.66% Windows 7, 13.65% Windows 10, 11.67% Windows 8.1 vs. 9.03% OS X according to StatCounter for January 2016.

But, in comparison, public servers on the Internet are 35.9% Linux and 32.3% Windows. For the most part, I develop software that is either run on or is served by similar servers, therefore it continues to be in my best interest as a developer to develop in an OS that not only has a terminal with a bash/zsh shell, but works more closely to Linux where I can use tools in the terminal that work similar to those that work on the servers that the code I write will be run on.

I know this is not the case for everyone, and if you write Visual C++, .Net, etc., you're better off in Windows. But, as for me, I'm for OS X, Linux, or another *nix as long as I can be, or at least for as long as it makes sense and is practical to be.

Wednesday, March 30, 2016

Windows Embracing Linux -> Windows Absorbing Linux

In Microsoft's latest move, Microsoft has partnered with Canonical to incorporate native Ubuntu Linux binaries directly into Windows 10 so that the bash shell can run. It will be available in the win 10 anniversary update.

See Developers can run Bash Shell and user-mode Ubuntu Linux binaries on Windows 10 in Scott Hanselman's blog for details.

I'd write more, but I'm still in shock. Babun still looks to be an option also, though, for those that want bash/zsh in cygwin under Windows.

Unrecoverable Instructions and Other Oddities

Some unrecoverable instructions and other oddities: