Tuesday, December 31, 2013

Titan: Distributed Graph Database

Graph Computing at Scale: @ InfoQ by Matthias Bröcheler
Titan is a research open source tool 
that is using various NoSQL platforms for storage
(i.e. Casandra, HBase, Hadoop)and "Gremlin" graph traversal language.

ThinkAurelius consulting that are developers of Titan
One To Watch: Aurelius's distributed graph database, Titan

Neo4j graph database appears to have a good business momentum,
with recently released version 2.0 

On the other side, with ever improving computing hardware, in particular large memory and SSDs, make even "classic" SQL databases run faster when data are in-memory... (Oracle 12, SQL Server 2014)

With all those good efforts, there are not standardized "service interfaces"
for distributed data, that would preserve semantics and enable flexibility.
Idea of Semantic Web Services, preferably much simpler and with a better name, not realized yet...

Monday, December 30, 2013

Leadership Tips From Ford CEO Alan Mulally

6 Leadership Tips From Ford CEO Alan Mulally - Yahoo Finance:
  • Have a Vision
  • Don't Just Have a Vision: Have a Plan to Implement It
  • When Problems Arise, Disclose Them
  • Involve People
  • Succession Plan
  • Sense of History
Can Alan Mulally save Ford? - May. 11, 2009 @ Fortune magazine
"I arrive here, and the first day I say, 'Let's go look at the product lineup.' 
And they lay it out, and I said, 'Where's the Taurus?' 
They said, 'Well, we killed it.' I said, 'What do you mean, you killed it?'
'Well, we made a couple that looked like a football. They didn't sell very well, so we stopped it.'
'You stopped the Taurus?' I said.
'How many billions of dollars does it cost to build brand loyalty around a name?'
'Well, we thought it was so damaged that we named it the Five Hundred.'
I said, 'Well, you've got until tomorrow to find a vehicle to put the Taurus name on because that's why I'm here. Then you have two years to make the coolest vehicle that you can possibly make.'

Sunday, December 29, 2013

Angular Architecture

AngularJS Architecture: @ SlideShare

Angular Architecture @ Pinterest
inside - Westside Bruennen / Daniel Libeskind

Angular Architecture | Dwell
Traction Architecture beach house Florida concrete hurricane proof
Slideshow: Angular Architecture: 5 Modern Homes We Love | Dwell


Vanilla JS

Vanilla JS:
"Vanilla JS is a fast, lightweight, cross-platform framework
for building incredible, powerful JavaScript applications."

some fun... that is an empty library :)

Saturday, December 28, 2013

Durandal (JS) Kickstarter

Herding Code 182: Durandal Kickstarter with Rob Eisenberg:

How to fund development of a tool that competes with Google's AngularJS?
One option is by "crowd funding" @ Kikstarter, selling video training...

Durandal 2014 by Rob Eisenberg — Kickstarter
(for funding one year development, pledged of $95,000 goal)

Home | Durandal

Compare Durandal to Angular, Not Knockout to Angular | John Papa

Since Durandal is based on MVVM pattern (instead of MVC used by Angular)
it could be a better match for Microsoft platform (WPF is based on MVVM).
It is also using KnockoutJS created by Steve Sanderson from ASP.NET team.

Microsoft could "adopt" Durandal (and maybe hire its developer),
and create a reasonable alternative to Angular.
Based on recent actions, it is more likely that it may be adopted and supported
as jQuery is in VisualStudio, and Microsoft may sponsor some of the development...

Creating a popular class for PluralSight could be more profitable than Kickstarter...
Angular classes are currently #1 and #2 on PluralSight, and in used in 4 out of top 10...

C# and Roslyn (compiler as an API)

C# and Roslyn with Mads Torgersen @ .NET Rocks!:
Another smart Danish person working on .NET tools.
Next-gen C# compiler is written in C# as a set of APIs,
coming soon (in preparation for last 5 years)

Microsoft “Roslyn” CTP

Code Generation and Roslyn with Kathleen Dollard @ .NET Rocks

Compile-time Reflection @ Scala 

Shopping from iOS vs Android

IBM Digital Analytics Benchmark - United States
"(shopping from) iOS was more than five times higher than (from) Android, driving 23 percent vs. 4.6 percent for Android. 
On average, iOS users spent $93.94 per order, nearly twice that of Android users, who spent $48.10 per order.
iOS also led as a component of overall traffic with 32.6 percent vs. 14.8 percent for Android."

Simple bottom line: people show have more money are buying more expensive devices (iOS) and buying more stuff from them...  Same is for apps, iOS users are purchasing apps, Android users not (much)... But most of popular apps are free

jQuery CDN fallback

cdn - Best way to use Google's hosted jQuery, but fall back to my hosted library on Google fail - Stack Overflow

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="jquery.js"><\/script>')</script>

Google Hosted Libraries - Developer's Guide - Make the Web Faster — Google Developers

jQuery source viewer

Friday, December 27, 2013

Netflix HR: Freedom & Responsibility

How Netflix Reinvented HR - Harvard Business Review:
Seven Aspects of (Netflix) Culture
  • Values are what we Value
  • High Performance
  • Freedom & Responsibility
  • Context, not Control
  • Highly Aligned, Loosely Coupled
  • Pay Top of Market
  • Promotions & Development

Culture from Reed Hastings (Netflix co-founder and CEO)

"Industrial firms thrive on reducing variation (manufacturing errors); creative firms thrive on increasing variation (innovation)."

Netflix's 9 favorite values (behaviors and skills):
  • Judgement
  • Communication
  • Impact
  • Curiosity
  • Innovation
  • Courage
  • Passion
  • Honesty
  • Selflessness

Book about Erlang (online free)

Learn You Some Erlang for Great Good!:
Learn You Some Erlang book coming out of space with a red panda saying hello

link from:
Herding Code 181: CouchDb, Cloudant, MyCouch and SisoDb with Max Thayer and Daniel Wertheim

MEAN: Mongo, Express, Angular, Node

Manning: Getting MEAN with Mongo, Express, Angular, and Node:

Many years after "LAMP", here is a new web-dev-platform acronym...

The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MongoDB Blog

MongoDB is recognized for doing good marketing...
But there are some indications that it may not scale as well as some other NoSQL tools:
Herding Code 181: CouchDb, Cloudant, MyCouch and SisoDb with Max Thayer and Daniel Wertheim

Wednesday, December 25, 2013

egghead.io - AngularJS Tutorial Videos

egghead.io - Learn AngularJS with Tutorial Videos & Training @eggheadio: "Bite-sized web development training with AngularJS.
Level up your programming skills today with video-based tutorials & training."

Jose Jesus Perez Aguinaga : AngularJS is amazing... and hard as hell

currently most popular class @ pluralsight:
AngularJS Fundamentals - Online Training Course for Developers

Google is transforming web from a simple platform,
to an application platform comparable in complexity to Windows.
On one side that is useful, since web apps are very portable.
On the other side, this is changing nature of web apps...

All elements of the platform are being upgraded: protocols (SPDY vs HTTP),
scripting language (Dart vs JavaScript), syntax (AngularJS directives vs HTML).
And the best others can do is to try to keep up...
At least it is all open source...

Tuesday, December 24, 2013

dart:io == node.js ?

An Introduction to the dart:io Library | Dart: Structured web apps:

Now that Dart is reached version 1.0,
it could be expected to get equivalent of node.js that is using Dart.

financeCoding/chat-websocket-dart @ GitHub

In fact next step is Dart in Chrome browser, and that may be soon.
Google Dart target: Chrome soon! Other browsers...someday | Internet & Media - CNET News

Monday, December 23, 2013

Open Invention Network: patents cross-licensing

Open Invention Network
In order to continue this rapid pace of innovation, a refined model of intellectual property management has been established. Open Invention Network® is an intellectual property company that was formed to promote the Linux system by using patents to create a collaborative ecosystem.

SD Time Blog: Google expands its open-source commitment - SD Times: Software Development News
Google joining IBM, NEC, Novel, Philips, Red Hat and Sony as a full member of the OIN

Who is missing?
Microsoft. This is a $ billion business for them... 

Microsoft Has So Many Patents, It's Outsourced The Job To India - Business Insider
...if Microsoft averages $5 a (Android) device it will earn about $2.3 billion...

Sunday, December 22, 2013

jQuery-free JavaScript

New Pluralsight Course: jQuery-free JavaScript:

presentation slides: jQuery-free JavaScript

With Windows XP support ending in April 2014, and with this IE8,
it is (almost) possible to use same JavaScript
in most of modern web browsers...

And what would happen with all those still useful XP computers?
Convert to Linux, ChromeOS, or just keep running and use Chrome browser?
Most likely they will just keep running...

HTML: fixed table header with scrollable data (Angular?)

Having fixed / floating header in a table is not easy even in Excel.
It should be, that is an obvious use-case.

After 20+ years, HTML still does not have an universal, easy, declarative or plug-in solution either, to preserve semantics of a data table.
Most "solutions" fix width of columns, reducing flexibility of HTML tables, and require investigations, plugins, testing...
Time to add this to HTML6 or as Angular "directives"?

Here are some ad-hock solutions

html - How to make fixed header table inside scrollable div? - Stack Overflow:

(1) Edit fiddle - JSFiddle
(2) Edit fiddle - JSFiddle

Persistent Headers | CSS-Tricks

Table with Persistent Headers

Here is Angular's "generic" solution...

Releasing Angular Table, the first 100% declarative angular table grid directive - Google Groups

Demo of Angular table with fixed header

Saturday, December 21, 2013

get mp3 from youtube video

get mp3 from youtube video, flv to mp3, extract audio from youtube, youtube mp3

(online site, no app)

The Day Google Had to 'Start Over' on Android

The Day Google Had to 'Start Over' on Android - Fred Vogelstein - The Atlantic:

"Andy Rubin (lead of Android) was so astonished by what Jobs was unveiling that, on his way to a meeting, he had his driver pull over so that he could finish watching the webcast.

“Holy crap,” he said to one of his colleagues in the car. “I guess we’re not going to ship that phone.”...

What the Android team had been working on, a phone code-named Sooner, sported software that was arguably more revolu­tionary than what had just been revealed in the iPhone....

However, the Sooner phone was ugly. It looked like a Black-Berry, with a traditional keyboard and a small screen that wasn’t touch-enabled."

Tim O’Reilly: Create more value than you capture

Tim O’Reilly Urges Developers and Entrepreneurs to Make Moonshots - Programming - O'Reilly Media

"Hardware is new software"
(example: Square)

Network as a platfrom

Data is new "Intel inside"

Friday, December 20, 2013

Neo4j 2.0 released

Neo4j 2.0 A Dream Graph Database:
"The main improvements in  release 2.0 are extensions to Cypher, the graph query language, and "a tool designed to let that language flow from your fingertips",  a new browser UI enabling users to visualize and edit data in graph or tabular form."

Neo4j 2.0 released - A graph browser and query language improvements • myNoSQL

.NET Portable Class Library (PCL)

Portable Class Library (PCL) now available on all platforms - .NET Blog - Site Home - MSDN Blogs:

Cross-Platform Development with the .NET Framework

Cross-Platform Portable Class Libraries with .NET are Happening - Scott Hanselman

PCL Projects and Visual Studio 2013 Support | Xamarin Blog

teaching unix: explainshell.com - match command-line arguments to their help text

explainshell.com - match command-line arguments to their help text:
write down a command-line to see the help text that matches each argument

very nice visualization, decoding arguments of unix commands
using D3 for connecting lines

(link from Hanselman)

Thursday, December 19, 2013

Mac OS 7, Windows 3.0 in JavaScript (Web Browser)

James Friend | PCE.js - Classic Mac OS (7) in the Browser:
"classic Macintosh emulation, running System 7.0.1 with MacPaint, MacDraw, and Kid Pix. I"

James Friend | PCE.js IBM PC/XT (Windows 3.) in the Browser

PCE.js IBM PC/DOS in the Browser


"Meteor is an open-source platform for building top-quality web apps in a fraction of the time, whether you're an expert developer or just getting started."

JavaScript on both client (web browser) and server (node.js + syncro api ?!)
"proxy db APIs" (MongoDB API used by default)
packaging code

Meteor - Web Development Like You Never Seen @ InfoQ

I think the name "Meteor" is evolution of "Comet" technique
for keeping connection with web server, compared to Ajax
that is connecting with server on demand.

An Extremely Gentle Introduction to Meteor

The (Odd) State of Node.js and its Frameworks | Andrew Munsell
(comparison of Meteor, Derby.js, Express...)

Open-source Meteor takes a huge $11.2M first round funding; will Andreessen Horowitz get the cash back? | VentureBeat | News | by J. O'Dell

Evolution of the Netflix API: REST => Rx

Evolution of the Netflix API @ InfoQ
"Netflix API evolved from a typical one-size-fits-all RESTful API designed to support public developers into a web service platform optimized to handle the diversity and variability of each device and user experience. The talk will also address the challenges involving operations, deployment, performance, fault-tolerance, and rate of innovation at massive scale."

Based on ideas from Microsoft'x Rx (Reactive Extensions),
Netflix engineers have developed Java port, and replaced REST based APIs
with new custom, device-centic API's that are "callbacks" based.

While REST is easy to use, it could become "chatty" with complex data model...

Functional Reactive Programming in the Netflix API @ InfoQ

The Netflix Tech Blog: Functional Reactive in the Netflix API with RxJava

Netflix/RxJava @ GitHub

Observer pattern - Wikipedia, the free encyclopedia

Reactive Extensions @ MSDN

D3 visualization: Rotate the World

Rotate the World:

(Link from Hanselman)

HTML5 Game: "Amazon Prime Air Drone Hunt"

Amazon Prime Air Drone Hunt:

(Link from Hanselman)

The art of interview questions

This Post Will Make You A More Effective Communicator In 90 Seconds | LinkedIn: (Elon Musk)
Charlie Rose's interview was more interesting, and came across as significantly more professional. The man is great at asking questions and getting out of the way; he uses short, open-ended questions when he wants elaboration, and short, yes-or-no questions when he wants to be pointed.

"The #1 tip for asking better questions? Cut them off at the question mark."

It takes will power to be concise. But effective questions will double your conversational effectiveness...

Wednesday, December 18, 2013

Mac Pro from Austin, TX

Apple’s Cook Kicks Off ‘Made in USA’ Push With Mac Pro - Businessweek: "
“We have begun manufacturing the Mac Pro in Austin,” Cook wrote in a posting today on Twitter. “It’s the most powerful Mac ever.”
...more than 2,000 people in 20 states were working on the Mac Pro.Apple CEO Cook Kicks Off ‘Made in USA’ Push With $2,999 Mac Pro
starting at $2,999 (quad core) and $3999 (6-core)

Apple - Mac Pro

Tuesday, December 17, 2013

Kano: A computer anyone can make

Kano: A computer anyone can make by Kano — Kickstarter:

Based on Raspberry Pi ($35), this kit ($99) is a clever way to promote experimentation with computer hardware (devices)...
Monitor is not included, just keyboard, SD card, case, speaker and cables.
Essentially, a new element is a fancy orange keyboard with keypad...

Amazon.com: CanaKit Raspberry Pi (512 MB) Complete Starter Kit (Raspberry Pi 512 MB + Clear Case + Micro USB Power Supply + Original Preloaded SD Card + HDMI Cable): Computers & Accessories

Product strategy is about saying "NO"

Product strategy is about saying, "NO". Des Traynor, Intercom | Business of Software:
"Delivering yesterday's broken technology tomorrow. 
Product strategy is about saying NO"

The claim is that often product features are being added because competitors have them,
and at the same time competitors may be in process of removing those same features or replacing with something new...

Monday, December 16, 2013

Mercedes for "younger buyers"

2014 Mercedes-Benz CLA "Best Launch in 20 Years" says CEO - Automotive.com:

"The median age of the Mercedes CLA buyer is 46 years old, versus 54 for the C-Class, and 57 for Mercedes as a brand."

CLA250 starts at $29,900

Sunday, December 15, 2013

China @ Moon

BBC News - China's Jade Rabbit rover rolls onto Moon:
"China's robotic Jade Rabbit lunar rover has driven off its landing module and on to the Moon's surface."

looking for materials...

Moon rabbit
Rabbit in the moon standing by pot.png

Yellowstone supervolcano

BBC News - Yellowstone supervolcano eruption 'would affect the world':
"Scientists are reporting that the supervolcano lying beneath Yellowstone National Park in the US is far bigger than was previously thought"

Google Robots

Google expands its robot army with acquisition of 'Bigdog' maker Boston Dynamics | VentureBeat | Deals | by Dylan Tweney:

This time they are not software "bots" that scrape web pages for search,
but real mechanical walking military "things"...
Why does Google needs them? Scary?

All hail the GoogleBots: Here's a look at the 7 robot companies Google just acquired | VentureBeat | Business | by Ricardo Bilton
The companies, all of which have been scooped up in the last year or so, are all a part of former Android boss Andy Rubins’s new Google robotics venture

Android creator Andy Rubin's secret Google project revealed: Robots! | VentureBeat | Gadgets | by Devindra Hardawar

So "Android" name was not random, it may be a real "terminator-like"...

Google Adds to Its Menagerie of Robots - NYTimes.com
...clearest indication yet that Google is intent on building a new class of autonomous systems that might do anything from warehouse work to package delivery and even elder care.

Saturday, December 14, 2013

Freebase data, API, MQL (Metaweb Query Language)

MQL Overview - Freebase API — Google Developers:
"The MQL Read and MQL Write APIs provides access to the Freebase database using the Metaweb query language (MQL)."

Freebase, now owned and used by Google, is essentially realization of limited Semantic Web based on data from available sources, such as Wikipedia / Wikidata.

It is apparently implemented as a graph system (database?)
and it also has own query language MQL, based on JavaScript and returning JSON.

As expected, there is also ontology (vocabulary, taxonomy, metaschema)
used for schema and queries.

The raw data are also available as RDF triples data-dumps.

Freebase data is used for Google search results (Knowledge Graph),
and even Microsoft Bing is using Freebase data from their "snapshots".
Being a Super Villain Just Got Easier with Bing Snapshots - Search Engine Watch (#SEW)

pluralsight "Play by Play"

Play by Play: Scott Allen and Dan Wahlin - @pluralsight:
"Have you ever wished that you could sit next to a skilled developer or designer as they develop an application from scratch at their own speed with their own choice of tools? In this series, we give talented developers a project to work on from scratch. We talk through it as they design and develop in real time for about 2 hours. Scott and Dan use pair programming to tackle a project with AngularJS, Bootstrap, and Web API..."

It is fascinating to see progress of evolution in online learning. Pluralsight has a very good business model, and is in fact innovating quickly.

While idea of MOOCs is noble and important, without real market feedback its progress will be limited. Udacity is already trying to adjust, but for a different market...

Bootstrap is very useful, but not enough for developers :)

ScanSnap – Evernote Edition Scanner

ScanSnap – Evernote Edition Scanner

a purpose-built scanner by Fujutsu, integrated with Evernote,
expensive ($495), and apparently a great product...

Friday, December 13, 2013

parsing html in C#

.net - What is the best way to parse html in C#? - Stack Overflow:

Html Agility Pack - Home

Tidy your HTML with Asp.Net TidyManaged vs Tidy.net

Tidy.NET | Free Development software downloads at SourceForge.net


HTML Tidy Project Page

Masonry (JavaScript, like Pinterest)

"Masonry is a JavaScript grid layout library. It works by placing elements in optimal position based on available vertical space, sort of like a mason fitting stones in a wall. "

desandro/masonry @GitHub

Masonry intro docs

javascript - difference between isotope and masonry jquery plugins - Stack Overflow

Biggest Ships Pollution

World's 15 Biggest Ships Create More Pollution Than All The Cars In The World - Industry Tap:

15 largest ships in the world emit as much nitrogen oxide and sulphur oxide as the world’s 760 million cars.

because of "dirty fuel" used... and lack of global regulation and enforcement

90% of all goods are transported by 100000 ships...

Top 10 Free Microsoft eBooks

Top 10 Free Microsoft eBooks | Microsoft content from Windows IT Pro:

E-Book Gallery for Microsoft Technologies - TechNet Articles - United States (English) - TechNet Wiki

On The Future Of Education...

Udacity CEO Sebastian Thrun On The Future Of Education - Forbes:

Jesse Liberty's bookshelf

Besides writing MANY books himself, Jesse is apparently avid reader (and learner) himself...

Yet Another Podcast #116–Tables Turned: Interviewing Jesse Liberty | Jesse Liberty

Jesse Liberty's bookshelf: currently-reading (showing 1-8 of 8) (sorted by: date added):

Interesting web site...
Goodreads: Book reviews, recommendations, and discussion

Thursday, December 12, 2013

Learning F#: Books and tutorials

Learning F# | The F# Software Foundation:

Try F#: Learn

Introduction to F# - @pluralsight

FunScript - F# to JavaScript with type providers

FunScript - F# to JavaScript with type providers:
"FunScript is a lightweight F# library that lets you rapidly develop single-page (web) applications. You can connect to external data sources and call REST APIs with intellisense, produce dashboards using JavaScript visualization libraries and write asynchronous computations easily without explicit callbacks."

Make More Money by Giving Away...

Make More Money by Giving Away Your Most Expensive Product | Flash Foresights from Daniel Burrus | Big Think:
... problem was keeping a major source of revenue flowing, and that’s the long-term parts and service business. Global competitors have created knock-off parts that can be used in place of official Pratt & Whitney parts and they can be serviced by non-Pratt & Whitney technicians.

"take your biggest problem and skip it...

 Pratt & Whitney ... they came up with a great idea: 
Give customers the jet engine for free and have them pay a service fee based on the hours flown, with Pratt & Whitney taking care of all the service and maintenance..."

This is a similar technique to what Google is doing with Android and Chrome... and causing Microsoft to re-consider long standing "low prices, high volume"...

Wednesday, December 11, 2013

Kata (programming)

Kata (programming) - Wikipedia, the free encyclopedia:
"Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer, in a bow to the Japanese concept of kata in the martial arts. A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition. As of October 2011, Dave Thomas has published 21 different katas."

CodeKata by Dave Thomas

Kata (型 or 形 literally: "form")
By practicing in a repetitive manner the learner develops the ability to execute those techniques and movements in a natural, reflex-like manner. Systematic practice does not mean permanently rigid. The goal is to internalize the movements and techniques of a kata so they can be executed and adapted under different circumstances, without thought or hesitation. A novice’s actions will look uneven and difficult, while a master’s appear simple and smooth.

Wikipedia Books

Help:Books - Wikipedia, the free encyclopedia:
"create a book from Wikipedia articles in four easy steps. Books can be created in PDF or OpenDocument formats, or ordered for printing on the PediaPress website. It is possible to create books through editing as well."

Dell's Chromebook 11

Dell's Chromebook 11 breaks reliance on Google's cloud | PCWorld:
will ship in January, has an 11.6-inch screen that can display images at a resolution of 1366 by 768 pixels. It will be priced under $300.
10 hours of battery life, and has Intel’s dual-core Celeron processor based on the Haswell microarchitecture. Other features include 16GB of storage, USB 3.0 ports, and an HDMI port. The model, which runs Chrome OS, is targeted at the education market.

Dell Chromebook 11 (1)
Acer with same specs is $199
Chromebooks: Acer C720 Chromebook
and for $299 comes with touchscreen
Chromebooks: Acer C720P Chromebook

Chromebooks are officially new Netbooks.
Even if WindowsRT was free, may not make much difference...

Report: Microsoft eyes Android's free model
(for tablets and phones)

Tuesday, December 10, 2013

ASP.NET MVC 5 with Visual Studio 2012

Announcing release of ASP.NET and Web Tools 2013.1 for Visual Studio 2012 - .NET Web Development and Tools Blog - Site Home - MSDN Blogs:
"ASP.NET and Web Tools 2013.1 for Visual Studio 2012. includes
 ASP.NET MVC 5, Web API 2, Scaffolding and Entity Framework, etc. clip_image002


F# Functions

Functions (F#) @ MSDN

F# is a hybrid functional language, that supports object-oriented (.NET) and functional concepts. It has very compact syntax.
It is so compact that commas and brackets are not used! It takes some time to get used to...
Here are some C# method declarations:
int add(int x, int y) { return x+y; }
string add(string x, string y) { return x+y; }
Here is equivalent function declaration in F#; F# is strongly typed, and compiler can assign data type of function and arguments based on context! In example below, "add 3 5" will produce value 8 of type int; the next line that is commented out would produce a string; so same declaration can be for int and string, but not at the same time, since compiler decides type based on first occurrence.
let add x y = x + y

printfn "%d" (add 3 5)
// printfn "%s" (add "Hello" "World")
F# functions are just values, and can be assigned and passed around as parameters; For example add'  gets assigned a lambda expression (anonymous function), with same meaning as previous declaration:
let add' = fun x y -> x + y
function can have data types declared:
let add (x: int) (y:int) : int =
    x + y

The compiler can also infer function type of parameter from context;
in example below "checkThis" is function declaration that takes two parameters "item" and "f";
f is recognized to be a function parameter, since in "if" statement it is taking item as argument
When calling "checkThis" , lambda expression is used as a value for "f"
let checkThis item f =
    if f item then
        printfn "HIT"
        printfn "MISS"

checkThis 5 (fun x -> x > 3)
checkThis "hi there" (fun x -> x.Length > 5)

Internet of Things: Open-source framework

AllSeen Alliance adopts open-source framework for the Internet of Things | ZDNet

"The Internet of Everything is based on the idea that devices, objects and systems can be connected in simple, transparent ways to enable seamless sharing of information with coordinated and intelligent operations across all of them...

IDC predicts that by 2020 we'll have more than 212-billion devices connected in a market worth more than 8.9 trillion dollars.

...while AllJoyn needs networking to work, it's not a networking protocol, it's meant to ride on top of the network stack. Wi-Fi, Bluetooth, 4G, Ethernet, whatever, AllJoyn will run on whatever network your home or office uses.

M2M and the Internet of Things: A guide | ZDNet

Job Opportunities in the Internet of Things - Dice News
Connected House

Cisco Launches Business Unit For Internet Of Things - InformationWeek

IBM - A Smarter Planet - Overview - United States

Monday, December 09, 2013

Processing Data with F#

Understanding the World with F# | Channel 9:
A very effective way for processing and mixing data from online data services.

Also, and nice example of danger of blind using of unfamiliar data source:
Ronald Reagan, a Republican US president was classified as Democrat.
Apparently he was affiliated with Democratic party before 1962,
and the program picked up a first property from an array, not matching the year.

The F# Software Foundation
Data | The World Bank
Documents/Talks 2013/FsLab (Channel 9) at master · tpetricek/Documents · GitHub
FsLab: F# for data science

Sunday, December 08, 2013

TED, photo, time-lapse: Gratitude: Louie Schwartzberg

Gratitude: Louie Schwartzberg at TEDxSF - YouTube:

Louie Schwartzberg: Nature. Beauty. Gratitude. | Video on TED.com

David Steindl-Rast: Want to be happy? Be grateful | Video on TED.com

photos: Modern Ruins of Abandoned Detroit

Modern Ruins of Abandoned Detroit (PHOTOS) - weather.com

Symbolizing the dramatic decline of Motor City, many buildings and structures in the former manufacturing mecca of Detroit, Mich. lay in crumbling and weather-beaten ruins. In his bestselling book, "The World Without Us," Alan Weisman (who has reported from abandoned cities such as Chernobyl, Ukraine and Varosha, Cyprus)

Big Data for High-Tech Hiring

Meet the New Boss: Big Data - WSJ.com

podcast: The High-Tech Hiring Market Of Today | On Point with Tom Ashbrook:
"Show me the data.  The proof of performance.  The statistical indicators that this person will succeed at the job.  Big data is all around us now.  We understand it and its consequences in the realm of credit scores.  You may soon have a number on your “hirability.” This hour On Point:  the data-driven hire."

They're Watching You at Work - Don Peck - The Atlantic

Big data and hiring: Robot recruiters | The Economist

Evolv | How big data shapes workforce performance
online tool used by Xerox services, 48,700 call-center jobs!
is Xerox it still "a document company" leave alone print devices?
Apparently it still is... blue are "services", gray is "technology"...

Where Does Xerox's Revenue Come From? FastCompany

Saturday, December 07, 2013

TED: 8 secrets of success - Richard St. John

Success book, 8 secrets of success by Richard St John
8 to be Great Poster - White

Richard St. John: 8 secrets of success | Video on TED.com
Have to love what you do,
and persist trough

▶ 8 traits of successful people - Richard St. John - YouTube

▶ The power of passion - Richard St. John - YouTube
8 Secrets of success - YouTube

TED: Great leaders start with "why" by Simon Sinek

"People don't buy what you do, they buy why you do it."

Simon Sinek: How great leaders inspire action | Video on TED.com:
"Simon Sinek has a simple but powerful model for inspirational leadership all starting with a golden circle and the question "Why?" His examples include Apple, Martin Luther King, and the Wright brothers ... "

book's site: Start With Why

Simon Sinek - How great leaders inspire action, the golden circle
Simon Sinek: finding the why behind the what and how, how great leaders inspire action
book: Start with Why: How Great Leaders Inspire Everyone to Take Action: Simon Sinek, Gildan Author: 9781596597600: Amazon.com: Books

Servers: Scaling Up or Out

Scaling Up | Max De Marzi:

A graph database (Neo4j) is best served by keeping all data on one machine.
Following linked data does not work well over network connections,
that are very slow compared to in-memory.
Plus there is a price of software for each server...
So what is the biggest "box" that can be built, and a what price?


Coding Horror: Scaling Up vs. Scaling Out: Hidden Costs

Three years later, Mr. Moore is still letting us punt on database sharding by David of 37signals

TED: Levitating superconductor - Quantum Locking

Boaz Almog: The levitating superconductor | Video on TED.com:
"How can a super-thin 3-inch disk levitate something 70,000 times its own weight? In a riveting demonstration, Boaz Almog shows how a phenomenon known as quantum locking allows a superconductor disk to float over a magnetic rail -- completely frictionlessly and with zero energy loss"

Android 4.4 (KitKat) update for Nexus devices

Android 4.4 (KitKat) update for Nexus devices - Nexus Help:

The new Nexus 5 comes with Android 4.4 pre-installed.

Nexus 4, Nexus 7, and Nexus 10 will be receiving the Android 4.4 update.

Galaxy Nexus will not be receiving the Android 4.4 update. 

Galaxy Nexus, which first launched two years ago, falls outside of the 18-month update window when Google and others traditionally update devices.

Android is not like Windows. No support for "older" devices... 
You get what you (don't) pay for... a free OS, not much support...

Ken Burns effect with Javascript and Canvas

Ken Burns effect with Javascript and Canvas:

Ken Burns effect - Wikipedia, the free encyclopedia

Ken Burns - Wikipedia, the free encyclopedia

Friday, December 06, 2013


Dart News & Updates: Angular Announces AngularDart:
"port of Angular to Dart.
AngularDart is heavily inspired by AngularJS and is supercharged for Dart. Core Angular features such as directives, data binding, and dependency injection, are all there, and they've taken advantage of Dart's features like metadata, types, and classes to feel natural for Dart developers. AngularDart is also the first version of Angular to be built on emerging web standards like Shadow DOM."


angular/angular.dart · GitHub

Dart: Web Languages and VMs: Fast Code is Always in Fashion - Google I/O 2013

Web Languages and VMs: Fast Code is Always in Fashion — Google I/O 2013

Thursday, December 05, 2013

PayPal Switches from Java to JavaScript

PayPal Switches from Java to JavaScript:
"Running the test suite on production hardware, they concluded that the Node.js app was performing better than the Java one, serving:Double the requests per second vs. the Java application. This is even more interesting because our initial performance results were using a single core for the node.js application compared to five cores in Java. "

The node.js app was:
  • Built almost twice as fast with fewer people
  • Written in 33% fewer lines of code
  • Constructed with 40% fewer files
Node.js at PayPal | PayPal Engineering Blog
Node.js vs Java performance graph
...node.js application had:
  • Double the requests per second vs. the Java application. This is even more interesting because our initial performance results were using a single core for the node.js application compared to five cores in Java. We expect to increase this divide further.
  • 35% decrease in the average response time for the same page. This resulted in the pages being served 200ms faster— something users will definitely notice.

Survival, "The Netflix way"

How Netflix Architects for Survival: @ InfoQ

The Netflix way:
  • Everything is “built for three” (i.e. VMs, data centers, etc.)
  • Fully automated build tools to test and make packages
  • Fully automated machine image "bakery"
  • Fully automated image deployment
  • Independent teams responsible for both Dev and Ops
  • Redundancy through multi-region deployment
Culture of "Freedom and Responsibility"

Automate all the things!

Shared state should be stored in a shared service

RESTfull services APIs (has its own CDN)

Highly aligned, loosely coupled (SOA)

All systems choices assume some part will fail at some point.

Reliability and $ (balance)

The Monkey Theory

  • Simulate things that go wrong (automation, tool "ASGARD")
  • Find things that are different
  • Running a new and old version clusters (instead of instances) in parallel, until stable
"Baking VMs" means no configuration at startup time, it is fully ready to run when started. 

Wednesday, December 04, 2013

book: “The Bully Pulpit: Theodore Roosevelt...

Doris Kearns Goodwin On Teddy Roosevelt and the Progressive Era | On Point with Tom Ashbrook:
"...historian is telling the story of Teddy Roosevelt and the transformation of the Progressive Era."

Bully pulpit - Wikipedia, the free encyclopedia 
A bully pulpit is a position sufficiently conspicuous to provide an opportunity to speak out and be listened to.
This term was coined by President Theodore Roosevelt, who referred to the White House as a "bully pulpit", by which he meant a terrific platform from which to advocate an agenda. 

Roosevelt famously used the word bully as an adjective meaning "superb" or "wonderful", a more common usage in his time than it is today. (Another expression which survives from this era is "bully for you", synonymous with "good for you".)

"an important job or position that someone can use to persuade other people to accept their ideas"

i.e. "The presidency is a wonderful bully pulpit to convince the country of the need for a balanced budget."

Dart 1.0 released

Dart 1.0 interview with Lars Bak and Kasper Lund at Devoxx 2013 - YouTube:

Dart 1.0 Released - Slashdot

release of Dart SDK 1.0, a cross-browser, open source toolkit for structured web applications. The Dart SDK 1.0 includes everything you need to write structured web applications: a simple yet powerful programming language, robust tools, and comprehensive core libraries. The language has been somewhat controversial, but Google continues to move it forward."

ServiceStack goes commecial

Demis Bellot @ Google+:
"To ensure its long-term sustainability, ServiceStack will transition to an annually-supported paid product similar to Xamarin's products. Starting from the next major v4.0 release of ServiceStack.* on NuGet, which will be the first commercial-only binary distribution (with an exception for OSS projects and a "free-tier" for small projects)."

They also changed the logo, from green leaf to (shark?) fin. 

Pricing Snapshot of 12/4/2013 9:56:21 PM
And while I was checking the price, got and error 
"Error Code: NullReferenceException"
at least the error was available in various formats: json xml csv jsv  :)

$199 - $1899 / developer / year... read "Enterprise" price.
It could make sense when developer productivity is measured...

(free open source) ASP.NET Web API is starting to look more interesting... 

Spanner - Google's Distributed Database

Spanner - Google's Distributed Database: @ InfoQ
"Spanner relies on GPS and atomic clocks to provide two of its most innovative features: Lock-free strong (current) reads and global snapshots that are consistent with external events."

Spanner (database) - Wikipedia, the free encyclopedia

Google Research Publication: Spanner

no async, to avoid complexity.
evolution of Big Table

Interesting concept of paxos and requirement for monotonic time

Map-Reduce concept was revealed in a similar paper by Google engineers,
and soon after Hadoop was created, and whole BigData (and NoSQL) movement...
Are the time-sync concepts also ready to become open-source tool / feature?

Tuesday, December 03, 2013

SpaceX ++

SpaceX rocket lifts off on first commercial satellite launch | Reuters:

The global satellite industry overall had revenues of nearly $190 billion in 2012, including nearly $90 billion in television services alone

Udacity: Data Science & Big Data Track (Free vs. Full)

Udacity Blog: Sebastian Thrun: Launching our Data Science & Big Data Track built with Leading Industry Partners:

There is still "Free" and a now there are some "Full" courses.
Price: $150/month per class, to get coaching and other help.

Compared with standard corporate training and colleges / universities
that price seems to be a good deal. But compared with PluralSight,
where there is unlimited access to 1000+ professional quality classes
for $30-50/month, it is not a comparison.

Obviously, for PluralSight person needs to be self-motivated. Similarity is that both Udacity and PluralSight are venture-funded by about $20M+ so far... In a way Coursera is more similar to PluralSight, where one is driven by reputation, and other by money... O'Reilly SafariBooksOnline subscriptions also have videos, besides books.

But all those efforts are completely missing on content-contribution, there are no "Wikipedia-like" training systems (that I am aware of)... StackOverflow has questions and answers, and is a great resource, but not organized for systematic learning, for for ad-hock...

Lazy(T) Class

in .NET 4 and newer:

Lazy(T) Class (System):

// The lazy initializer is created here, not the LargeObject
lazyLargeObject = new Lazy<LargeObject>(() => new LargeObject());
// LargeObject is not created yet here...
LargeObject large = lazyLargeObject.Value;
large.Data // only now LargeObject gets initialized

Lazy Initialization of an object means that its creation is deferred until it is first used.

"Legitimacy of Authority" by Malcolm Gladwell

#45. A Summary of ‘David and Goliath: Underdogs, Misfits, and the Art of Battling Giants’ by Malcolm Gladwell | New Books in Brief:
As Gladwell explains, “when people in authority want the rest of us to behave, it matters—first and foremost—how they behave. This is called the ‘principle of legitimacy,’ and legitimacy is based on three things. 
  • First of all, the people who are asked to obey authority have to feel like they have a voice—that if they speak up, they will be heard.

  • Second, the law has to be predictable. There has to be a reasonable expectation that the rules tomorrow are going to be roughly the same as the rules today.

  • And third, the authority has to be fair. It can’t treat one group differently from another”

China's 10-year plan "mono-culture"

China Chooses Change In Ten-Year Outlook | On Point with Tom Ashbrook:

There used to be 5-year communist plans... now it is 10-year plan for China.
It may be a good fit for a compliant culture...
Without details, it would sound better if called a 10-year "vision".

(A good thing is that China's politicians listen to engineers... :)

From history, and agriculture,  a "mono-culture" is a dangerous thing, even when it is efficient...

File:Tractors in Potato Field.jpg

Monoculture and the Irish Potato Famine: cases of missing genetic variation
Diverse and cloned potato patches

With diversity (i.e. of  ideas), when some inevitably fail, some succeed...
If there is only one thing and that fails, there is nothing left.

Moto G: $179

4.5", 720p, quad core... $179 without plan (8GB version), $199 (16 GB)
1GB RAM, 5Mpx camera, 3G only...

... making it even harder for Nokia/Microsoft...

Moto G versus Nexus 4 | Android Central:

Motorola Moto G review: how good can a $179 smartphone be? | The Verge

"Comparing the Moto G against more expensive handsets isn't exactly fair. Anyone upgradingto the Moto G is likely to notice a huge leap in performance. That’s true even for those with flagship phones from 2011, like the Samsung Galaxy S II or iPhone 4S, and the difference between the Moto G and any other sub-$200 handset ever is night and day. In the sub-$200 market, only Windows Phone devices like the Lumia 520 and 620 get close to the kind of experience that Motorola is offering here.
this phone truly redefines what a low-end smartphone can be, and is the best attempt yet to turn “the next billion” into smartphone users"

Null: The Billion Dollar Mistake

Null References: The Billion Dollar Mistake: @ InfoQ
"Tony Hoare introduced Null references in ALGOL W back in 1965 “simply because it was so easy to implement”, says Mr. Hoare. He talks about that decision considering it “my billion-dollar mistake”."

Sir Charles Antony Richard Hoare, commonly known as Tony Hoare, is a British computer scientist, probably best known for the development in 1960, at age 26, of Quicksort.
He currently works in Microsoft.

In object-oriented computer programming, a Null Object is an object with defined neutral ("null") behavior. The Null Object design pattern describes the uses of such objects and their behavior (or lack thereof).

interface IAnimal {
    void MakeSound();
class NullAnimal : IAnimal {
    public void MakeSound() {
        // Purposefully provides no behaviour.
IAnimal unknown = new NullAnimal(); //instead of: unknown = null;
   unknown.MakeSound(); // outputs nothing, but does not throw a runtime exception  

Monday, December 02, 2013

Amazon Prime Air

Jeff Bezos tells Amazon customers to expect home delivery by drones - U.S. News

Jeff Bezos On Amazon Delivery Drones - Business Insider
'This Looks Like Science Fiction. It’s Not.'

Amazon is working on package-delivering drones. The company calls the product Amazon Prime Air, and says it could be in operation by 2015, depending on the FAA.

Sunday, December 01, 2013

ServiceStack Self Hosting

While there is a HTTPListener  available in .NET,
making it a full web server is not quick without tools...

Self hosting · ServiceStack/ServiceStack Wiki · GitHub:
"It's very easy to host ServiceStack in a console app or in a windows service. "
var listeningOn = args.Length == 0 ? "http://*:1337/" : args[0];
        var appHost = new AppHost();

online demo: All Rockstars

Statue of Responsibility

Statue of Responsibility - Wikipedia, the free encyclopedia:
The Statue of Responsibility is a proposed national monument structure to be built on the West Coast of the United States. The prototype, sculpted by project artist Gary Lee Price, consists of a pair of clasped hands oriented vertically, symbolizing many things but primarily the responsibility that comes with liberty.

The Statue of Responsibility was suggested first by scholar Viktor Frankl in his book Man's Search for Meaning. He recommended "that the Statue of Liberty on the East Coast should be supplemented by a Statue of Responsibility on the West Coast." He wrote: "Freedom, however, is not the last word. Freedom is only part of the story and half of the truth. Freedom is but the negative aspect of the whole phenomenon whose positive aspect is responsibleness. In fact, freedom is in danger of degenerating into mere arbitrariness unless it is lived in terms of responsibleness."

Erich Gamma: Visual Studio Online

Yes, same person from GoF Design Patterns fame, now working in Microsoft to make Online Visual Studio editor + Azure integration....

Erich Gamma introduces us to Visual Studio Online integrated with the Windows Azure Portal - Part 1 | Windows Azure Friday | Channel 9: (Scott Hanselman)

NoSQL In Travel Big Data

NoSQL Stars In Travel Giant's Platform Upgrade - InformationWeek:

Couchbase NoSQL database will be the cornerstone of new real-time inventory management platform for Amadeus
...the European-based competitor to the US-based Sabre system, but it does business all over the globe, working with more than 700 airlines, 95 railways, 30 car rental companies, 50 cruise lines, and 100,000 hotel properties
...with peak loads of more than 2 million requests per second
...replacing Memcached distributed memory caching system backed up by MySQL databases running on fast Fusion-io solid-state disk storage.

OpenCourseWare Consortium

A non-commercial alternative to MOOCs:

Courses | OpenCourseWare Consortium:
"An OpenCourseWare(OCW) is a free and open digital publication of high quality educational materials for colleges and universities. "

OpenCourseWare is the name given to open educational resources that are presented in course format, often including course planning materials, such as syllabi and course calendars, along with thematic content, such as textbooks, lectures, presentations, notes and simulations. Open Educational Resources are materials developed by experienced educators that are available for use, repurposing, and modification (including translation), in whole or in part, by everyone, everywhere in the world.

All content on ocwconsortium.org is licensed under a Creative Commons Attribution 3.0 License.

Coursera $20 million in new funding

Coursera lands $20 million in new funding, despite online education and MOOC business stumbles - Silicon Valley Business Journal:
"Coursera...has raised $85 million since April 2012 — far outpacing competitors in the MOOC field like Udacity and Udemy, which have raised $20 million and $16 million in venture capital, respectively. Also in the MOOC mix is Harvard and MIT-backed nonprofit course provider edX."

Coursera has positioned itself as a technology provider, publishing classes by well known teachers from well known universities, and  getting support from those universities...

Saturday, November 30, 2013

Funq: a fast DI container you can understand

Used in ServiceStack (.NET)

Funq: a fast DI container you can understand - Home:
"This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories."

To follow the entire process of creating Funq applying test-driven development, make sure you watch the Funq Screencast Series

Read the Getting Started guide.

TED: ...a great career

Why you will fail to have a great career: Larry Smith at TEDxUW - YouTube:

"There are great jobs and great careers, and then there are the high-workload, high-stress, bloodsucking, soul-destroying kinds of jobs, and practically nothing in between..."

reference to Text of Steve Jobs' Commencement address (2005)

A professor of economics at the University of Waterloo in Canada, Larry Smith coaches his students to find the careers that they will truly love.

there is no good, no great, unless there is a passion

Unity .NET IoC Container

Unity Container (v3.0)
"The Unity Container (Unity) is a lightweight, extensible dependency injection container with optional support for instance and type interception."

one of Enterprise Application Blocks by
patterns & practices Developer Center
patterns & practices - Unity @CodePlex

IoC .NET Containers Performance comparison

IoC Container Benchmark - Performance comparison - www.palmmedia.de
IocPerformance - Combined

(less is faster)

Top 20 NuGet packages for IoC - NuGet Must Haves
1. Ninject
2. Unity

USA Public Universities?

The End of the Public University? | LinkedIn:
About 8 out of every 10 college students attends a public college or university, from the local community college down the street to the massive flagship university in the middle of the state usually known for its football team...
only two of the top 25 national universities as ranked by U.S. News & World Report are public institutions, and the first one of those (University of California at Berkeley) doesn’t appear until #20.

Friday, November 29, 2013

MongoDB $1.2 Billion Valuation

MongoDB Now King of NYC Startups With $1.2 Billion Valuation - Bloomberg
"MongoDB Inc., capitalizing on the popularity of its online database software, raised $150 million in a venture-funding round that would make it the most valuable Internet startup in New York...
The round values the company at $1.2 billion..."

MongoDB is simple,  fast, free++, open source
MongoDB Overview | MongoDB, Inc.

In fact price of NoSQL databases is comparable with SQL Server and Oracle,
and those prices are going up over time... as amount of data and speed requirements...

NoSQL Adoption Graph