Monday, May 30, 2016

Alan Kay's Reading List

Thought this was interesting. Alan Kay of PARC, etc. fame prepared a reading list for his students, as listed here on Squeakland. Please visit that page for links, but I've listed here just as a backup copy.

Technology & Media

  • Gutenberg Galaxy by MARSHALL MCLUHAN
  • Understanding Media by MARSHALL MCLUHAN
  • The Myth of the Machine by LEWIS MUMFORD
  • Technics and Civilization by LEWIS MUMFORD
  • Technology, Management,and Society by PETER DRUCKER
  • Innovation and Entrepreneurship by PETER DRUCKER
  • Amusing Ourselves to Death by NEIL POSTMAN
  • The Disappearance of Childhood by NEIL POSTMAN
  • Conscientious Objections by NEIL POSTMAN

Learning & Creativity

  • The Psychology of the Child by JEAN PIAGET
  • To Understand is to Invent by JEAN PIAGET
  • Thought and Language by LEV VYGOTSKY
  • Mind in Society by LEV VYGOTSKY
  • The Psychology of Art by LEV VYGOTSKY
  • Towards a Theory of Instruction by JEROME BRUNER
  • The Relevance of Education by JEROME BRUNER
  • Instead of Education by JOHN HOLT
  • Teach Your Own by JOHN HOLT
  • Essays into Literacy by FRANK SMITH
  • Lateral Thinking by EDWARD de BONO
  • Six Thinking Hats by EDWARD de BONO
  • The Inner Game of Tennis by TIM GALLWEY
  • Nurtured by Love by SHINICHI SUZUKI
  • The Secret of Childhood by MARIA MONTESSORI
  • School and Society by JOHN DEWEY
  • Freedom and Culture by JOHN DEWEY
  • Act of Creation by ARTHUR KOESTLER
  • The Ghost in the Machine by ARTHUR KOESTLER
  • Mindstorms by SEYMOUR PAPERT
  • The Childrens' Machine by SEYMOUR PAPERT

Anthropology & Psychology

  • Myths to Live By by JOSEPH CAMPBELL
  • The Masks of God by JOSEPH CAMPBELL
  • Language and Species by DEREK BICKERTON
  • The Psychology of Literacy by SILVIA SCRIBNER & MIKE COLE
  • The Origin of Consciousness in the Breakdown of the Bicameral Mind by JULIAN JAYNES
  • The Interpretation of Cultures by CLIFFORD GEERTZ
  • Beyond Boredom and Anxiety by MIHALY CSIKSZENTMIHALY
  • Flow by MIHALY CSIKSZENTMIHALYI
  • New World, New Mind by ROBERT ORNSTEIN & PAUL ERLICH
  • Maps of the Mind by CHARLES HAMPTON-TURNER
  • Man and his Symbols by CARL JUNG
  • Modern Woman in Search of a Soul by CARL JUNG
  • Society of Mind by MARVIN MINSKY
  • Archetypes by ANTHONY STEVENS

Philosophy

  • Timeaus by PLATO
  • Republic by PLATO
  • History of Western Philosophy by BERTRAND RUSSELL
  • Human Knowledge, Its Scope and Limits by BERTRAND RUSSELL
  • Sceptical Essays by BERTRAND RUSSELL
  • The Passion of the Western Mind by RICHARD TARNAS
  • Ascent of Man by JACOB BRONOWSKI
  • Wisdom, Information & Wonder by MARY MIDGLEY
  • Science as Salvation by MARY MIDGLEY
  • The Human Condition by HANNAH ARENDT
  • Science and Sanity by COUNT KORZYBSKI
  • Science is not Enough by VANNEVAR BUSH
  • What I Believe by MARK BOOTH (Ed)
  • Te-Tao Ching by LAO-TZU
  • Zen Mind, Beginners' Mind by SHUNRYU SUZUKI

Art & Perception

  • Civilisation by KENNETH CLARK
  • What is a Masterpiece by KENNETH CLARK
  • Art and Illusion by ERNST GOMBRICH
  • Eye and Brain by RICHARD GREGORY
  • Visual Thinking by RUDOLF ARNHEIM

Design

  • Notes on a Synthesis of Form by CHRISTOPHER ALEXANDER
  • Gossamer Odyssey by MORTON GROSSER
  • Vehicles by VALENTINO BRAITENBERG
  • The Living Brain by W. GRAY WALTER
  • The Visual Display of Quantitative Information by EDWARD TUFTE
  • Envisioning Information by EDWARD TUFTE

Science & Mathematics

  • The Machinery of Life by DAVID GOODSELL
  • The Ring of Truth by PHILIP MORRISON
  • The Animal in Its World by NIKO TINBERGEN
  • Relativity Visualized by L.C. EPSTEIN
  • Engines of Creation by ERIC DREXLER
  • The Blind Watchmaker by RICHARD DAWKINS
  • The Selfish Gene by RICHARD DAWKINS
  • Dragons of Eden by CARL SAGAN
  • Broca's Brain by CARL SAGAN
  • Neuroethology by EWERT
  • The Character of Physical Law by RICHARD FEYNMAN
  • QED by RICHARD FEYNMAN
  • The God Particle by LEON LEDERMAN
  • From Quarks to Cosmos by LEON LEDERMAN
  • The Double Helix by JAMES WATSON
  • Fractal Geometry by BENOIT MANDELBROT

Politics & Economy

  • An American Primer by DANIEL BOORSTIN
  • The Americans by DANIEL BOORSTIN
  • The Federalist Papers by MADISON, et al
  • The Anti-Federalist Papers by RALPH KETCHAM (Ed)
  • Common Sense by TOM PAINE
  • The Rights of Man by TOM PAINE
  • The Age of Reason by TOM PAINE
  • An Aristocracy of Everyone by BENJAMIN BARBER
  • The Zero Sum Society by LESTER THUROW
  • Economics Explained by LESTER THUROW
  • Head to Head by LESTER THUROW
  • Made in America by MIKE DERTUOZOS (Ed)

Computers

  • Building Large Knowledge-Based Systems by DOUG LENAT
  • LISP 1.5 Manual (MIT Press) by JOHN McCARTHY
  • Computation: Finite and Infinite Machines by MARVIN MINSKY
  • The Architecture Machine by NICHOLAS NEGROPONTE
  • Soft Architecture Machines by NICHOLAS NEGROPONT

Friday, May 27, 2016

Case for Moon Has Some Good Points

If you're interested in space colonization, this is a must read/listen:

Case For Moon

Also, that beard is scary cool.

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, and this might be due to having a different text size setting in iOS.

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 developers trying to migrate to Windows from an environment that was targeted 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.