More of an extended Medium rant than book, Wolfe paints Darwin and Chomsky as arrogant, ego-driven, and vindictive toward their contemporaries while providing less evidence for those accusations than he says they provided for their theories. Wolfe's over-the-top dramatic retelling of events resembles an episode of the 1960s Batman TV series. His takedowns of Darwin and Chomsky aren't as dramatic as he seems to think, and his own conclusion lacks evidence.
By the end, it felt like waiting for the check after dinner with an obnoxious business associate who has had one too many.
Nathaniel Philbrick is one of my favorite non-fiction writers, and this title did not disappoint. Going in, I must admit I knew almost nothing of Benedict Arnold beyond his status as a byword for traitor.
Philbrick portrays a remarkably consistent Arnold in which the character traits that led him to battlefield heroics also led him to give up the cause for which he had sacrificed. I enjoyed the interwoven storylines and the historical backdrop in which Washington, the Howe brothers, and others made the choices they did.
I wish there had been a longer ending that told more of Arnold's service in the British army.
If your work involves multiple languages and multiple tools for managing versions, check out asdf, an extendable version manager that provides a single consistent interface for managing them all:
# List all installed ruby versions ❯ asdf list ruby 1.9.3-p545 2.1.2 2.2.3 2.2.4 2.2.5 jruby-220.127.116.11 # Install a new ruby version ❯ asdf install ruby 2.3.3 # List available nodejs versions to install ❯ asdf list-all nodejs # Install a new nodejs version ❯ asdf install nodejs 7.7.2
I've been using asdf as my primary version manager for Ruby and Node for a few weeks and am really liking it.
I miss the larger, more vibrant technical bookshelf from twenty years ago.
I've been enjoying Amazon Athena to analyze our application event data.
In case you haven't played with it yet, Athena allows you to query data in S3 using SQL. My only complaint so far is having to use the web interface to manage schemas and run queries. Since Amazon offers a JDBC driver for Athena, I decided to build my first JRuby app - a command line interface for Athena catalogs.
You can run queries:
❯ cat queries/count-by-port.sql SELECT COUNT(*) AS count, elb_name FROM sampledb.elb_logs GROUP BY elb_name ORDER BY count DESC LIMIT 10; ❯ athena query queries/count-by-port.sql COUNT | ELB_NAME -------|------------- 151901 | elb_demo_006 151886 | elb_demo_009 151753 | elb_demo_001 151284 | elb_demo_002 151062 | elb_demo_004 150503 | elb_demo_008 149934 | elb_demo_005 149122 | elb_demo_007 148761 | elb_demo_003
❯ athena table show sampledb.elb_logs CREATE EXTERNAL TABLE `sampledb.elb_logs`( `request_timestamp` string COMMENT '', `elb_name` string COMMENT '', `request_ip` string COMMENT '', `request_port` int COMMENT '', `backend_ip` string COMMENT '', `backend_port` int COMMENT '', `request_processing_time` double COMMENT '', `backend_processing_time` double COMMENT '', `client_response_time` double COMMENT '', `elb_response_code` string COMMENT '', `backend_response_code` string COMMENT '', `received_bytes` bigint COMMENT '', `sent_bytes` bigint COMMENT '', `request_verb` string COMMENT '', `url` string COMMENT '', `protocol` string COMMENT '', `user_agent` string COMMENT '', `ssl_cipher` string COMMENT '', `ssl_protocol` string COMMENT '') ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( 'input.regex'='([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*):([0-9]*) ([.0-9]*) ([.0-9]*) ([.0-9]*) (-|[0-9]*) (-|[0-9]*) ([-0-9]*) ([-0-9]*) \\\"([^ ]*) ([^ ]*) (- |[^ ]*)\\\" (\"[^\"]*\") ([A-Z0-9-]+) ([A-Za-z0-9.-]*)$') STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://athena-examples-us-east-1/elb/plaintext' TBLPROPERTIES ( 'transient_lastDdlTime'='1480278335')
list and rebuild partitions, and more.
Setup instructions and full usage are in the GitHub repository.
Having lived under communism and liberal democracy in Poland, Legutko's uncommon perspective on both systems paints an uncomfortable picture of democracy in Europe and the United States.
Joshua Ogle wrote an excellent intro to typography, a topic of which every developer should have a basic understanding.
I rather enjoyed Garen's Twitter rant on Twitter rants:
Let's talk about a controversial issue for a moment.— Garen J. Torikian (@gjtorikian) March 19, 2017
Threaded replies and quoted retweets have transformed Twitter. It used to be mostly a carrier wave for more permanent content. Now it feels like you're always starting in the middle of the conversation. Every tweet is a subtweet.
An honest, often raw look at the deeply embedded generational despair that permeates the Rust Belt and American South. Those (like me) from mill towns, farming communities, or backwoods will identify with the world J.D. describes. Anyone else seeking to understand American life outside its big cities will be well served by this book.