Sunday, March 31, 2013

Why Ruby? Tour de Babel

Coding Horror: Why Ruby?
by Jeff Atwood (2013)

Tour de Babel
by Steve Yegge (2004, 2006)
whirlwind tour will cover C, C++, Lisp, Java, Perl, Ruby, and Python

Up-to-date list would likely include JavaScript, too...

Microsoft Build: June 26 – 28, 2013, San Francisco

Microsoft Build Developer Conference | June 26 – 28, 2013
The Moscone Center

Registration opens at 09:00am PDT, April 2, 2013
Early bird (first 500): $1,595 // Full: $2,095


San Francisco Moscone Center is apparently THE place to hold a conference.

Google I/O

Apple Worldwide Developers Conference (WWDC)

+ Intel, SalesForce, EMC, VMware, Oracle, RSA...

$$$ for developing Windows Store Apps

Microsoft’s $100-per-app bounty is both too much and not enough | Ars Technica:

Publish an app in the Windows Store by June 30 and Microsoft will give you a $100 Visa card. Developers can submit up to 20 applications for a total of $2,000 in rewards (first 10000)

But Microsoft's $100 per app scheme seems flawed on that basis, too. $100 buys a few hours of development time, if that. $100 will cover the annual subscription to publish in the Store (or two years of subscription for individuals), but it's hardly a reason to write an application.

The only apps that could credibly be developed for that kind of budget are the cookie-cutter clone apps, such as the "e-books as applications" that clutter up Apple's App Store. That kind of application is developed once, then replicated dozens of times, simply putting in a different book's text for each version.

build.windowsstore.com

Node.js: Sync vs. Async

node.js is becoming very popular,
and it is very different than a typical web server programming

Here is adjusted example from excellent video training
(that also requires you to type, since samples are not provided):
Learning Node.js LiveLessons (Sneak Peek Video Training): O'Reilly - Safari Books Online:

JavaScript is single-threaded, and node.js processing is like Windows 3.1 or 95:
"collaborative multitasking".
And there is a big difference: APIs are asynchronous.
This, along with lack of a good IDE (intellisense), comes with "cost" in productivity.


Here is a simple example of synchronous getting list of sub-directories:
function load_albums_sync(callback){
  var folder='albums';
  var file_list = fs.readdirSync(folder);
  var dirs_only=[];
  for(var i=0;i<file_list.length;i++) {
    var st=fs.statSync(folder+'\\'+file_list[i]);
    if(st.isDirectory())
      dirs_only.push(file_list[i]);
  }
  callback(null,dirs_only);
}

JavaScript Async require separating requrests from responses:
function load_album_async(callback){
  var folder='albums';
  fs.readdir(folder,function(err,file_list){
    if(err){
      callback(err);
      return;
    }
    var dirs_only=[];
    (function iterator(i){
      if(i>=file_list.length){
        callback(null,dirs_only); // done
        return;
      }
      fs.stat(folder+'\\'+file_list[i],function(err,stats){
        if(err){
          callback(err);
          return;
        }
        if(stats.isDirectory())
          dirs_only.push(file_list[i]);
        iterator(i+1);
      });
    })(0);
  });
}

Manageable, but with with nested functions and brackets, is cryptic almost as Lisp.

Observe that testing each item in the directory requires recursion,
since every item needs to be tested asynchronously:
start, and provide callback function to handle responses.

Async is not free.

Maybe Anders Hejlsberg, creator of C# and TypeScript (pre-processor for JavaScript),
can now add async-await from C# to to TypeScript,
and simplify JavaScrypt async programming also.

Saturday, March 30, 2013

Google Keep vs. Evernote

Review: Google Keep Takes on Evernote, with No Clear Winner | MIT Technology Review


We’ve all heard that imitation is the sincerest form of flattery. But when a tech heavyweight like Google imitates a popular tool like the note-taking app Evernote, it can feel more like a land grab.
...
thankfully you can share Keep notes with Evernote, and vice versa.


By the way, "Google Keep" Android App require recent version of OS, it will not work on older phones.

SNAP! (Build Your Own Blocks)

SNAP! (Build Your Own Blocks)

"Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.

SNAP! runs in your browser. It is implemented using Javascript, which is designed to limit the ability of browser-based software to affect your computer, so it's safe to run even other people's projects, even if you don't trust our competence or good intentions.

SNAP! is presented by the University of California at Berkeley"

Friday, March 29, 2013

Scratch (programming language) in HTML5

Steve Jobs is still widely influential. Because he "killed" Flash,
even open source projects for kids are moving to HTML5.

MIT Media Lab has developed a nice tool for teaching kids programming, Scratch.
Like lego blocks, where each program statement has a visual "block".
Arrange blocks, and this makes program.

At begging it was a portable desktop tool, and with Web intent was to move it to Flash,
as an interactive / "multimedia" tool.
Popularity of iPad has changed MIT plans, since it "must run there".
So it is now ported to HTML5. Nice :)

beta.scratch.mit.edu

Scratch (programming language) - Wikipedia, the free encyclopedia


Scratch 2.0

HTML5 Scrath Editor / Run

Reference Guide

Source Code
Scratch is written in Squeak, an open-source implementation of the Smalltalk-80 language.
(The syntax and runtime behaviour of the Objective-C programming language is strongly influenced by Smalltalk.)


Alternatives to Scratch

BYOB/Snap!: BYOB is an advanced Scratch Modification with lambdas, first class data, procedures, recursion, and many other features. Version 4.0 was renamed Snap! and was rewritten in JavaScript, and is thus no longer considered a Scratch modification.

blog: Elegant Code

Interesting blog site contributed by multiple developers

Elegant Code

Thursday, March 28, 2013

$ Qualcomm > $ Intel

Qualcomm Boosts Consumer Marketing for Snapdragon Smartphone Chips @ MIT Technology Review

"Qualcomm is already worth more than Intel.
Now the chip maker wants everyone to know it.


The processors inside smartphones and tablets contribute to attributes that matter to consumers, such as power consumption and price.

Mobile computing is the fastest-spreading consumer technology in history, but the real change for the technology business is only just beginning.
Qualcomm sells chips that go inside TVs, BMW dashboards, game consoles, and, most important, one-third of smartphones sold. It did $19 billion in business last year, and its stock market value has surpassed that of rival Intel."

Stock prince in last 5 years: Qualcomm vs. Intel vs. Nvidia vs Texas Instriuments:
makers of ARM CPUs vs Intel, that was making ARM CPUs before all,
and decided to leave market just before it "exploded".

ARM CPU Architecture @ Wikipedia

Wednesday, March 27, 2013

Windows Azure Mobile Sevices: HTML5/JS, PhoneGap

Windows Azure: New Hadoop service + HTML5/JS (CORS), PhoneGap, Mercurial and Dropbox support - ScottGu's Blog

Microsoft Azure team has added support to enable pure HTML5/JS clients (and PhoneGap apps) as well as Windows Phone 7.5 clients to use Windows Azure Mobile Services as a backend.
This comes in addition to the new Android SDK for Windows Azure Mobile Services released two weeks ago (as well as the Windows 8, Windows Phone 8 and iOS support we had earlier).

Azure Mobile Services are essentially messaging back-end for mobile apps.
To make is easy to start, along with online service,
the wizard generates a sample mobile code, for various platforms.

Tuesday, March 26, 2013

ZeroMQ @ InfoQ, Vimeo, Book

Message Queue is required tool for any large scale "Cloud" or "Enterprise" system.
While AMQP is being standardized, implemented and used in many places,
including Windows Azure service bus and Windows Server Service Bus
the original creator of AMQP is pushing for simpler and open source solution: ZeroMQ (0MQ).

Here is an interesting presentation @ InfoQ
Software Architecture using ZeroMQ
by Pieter Hintjens, the iMatrix CEO.
He was co-founder of the ZeroMQ project in 2007, and before that designed the AMQP messaging protocol.

ZeroMQ is an opinionated message queue tool, with focus on extreme simplicity.
It was created out of frustration with AMPQ, that is "hijacked" by "standardization bureaucracy".

An Introduction to ØMQ (ZeroMQ) @ InfoQ
Wouldn't it be nice if we could abstract some of the low-level details of different socket types, connection handling, framing, or even routing? This is exactly where the ZeroMQ (ØMQ/ZMQ) networking library comes in: "it gives you sockets that carry whole messages across various transports like inproc, IPC, TCP, and multicast; you can connect sockets N-to-N with patterns like fanout, pubsub, task distribution, and request-reply"

Distributed Systems with ZeroMQ and gevent @ InfoQ

Message Queuing Options for .NET @ InfoQ
ZeroMQ runs at least 10 times faster than MSMQ or ActiveMQ using 1K messages. It does this by sacrificing the reliability features built into the other products including durable messages and distributed transactions.

Just released book:

ZeroMQ: Messaging for Many Applications @ O'Reilly

Same book is also available as free PDF book @ hintjens.com, for Purchase
and as a web page: “ZeroMQ - The Guide
”,
with examples from the ØMQ community in C, C++, C#, Clojure, Delphi,
Erlang, Go, Haskell, Haxe, Java, Lisp, Lua, Node.js, Objective-C, Perl, PHP,
Python, Ruby, Scala, Tcl, and other languages.

ZeroMQ@PDX: 02 - Pieter Hintjens - How to make money from ZeroMQ from Pieter Hintjens on Vimeo.

All ZeroMQ videos @ Vimeo

There are other (failed?) attempts to evolve ZeroMQ, by its co-creators
Crossroads-IO

In the meantime, "big business" is standardizing on AMQP
AMQP is apparently also "big" (less than optimal) as a protocol... like SOAP and WS*

Java + .NET = IKVM.NET

E2E: Erik Meijer and Jeroen Frijters - IKVM.NET (Java VM implemented in .NET) | Charles | Channel 9

IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It contains a Java Virtual Machine implemented in .NET, a .NET implementation of the Java class libraries, tools that enable Java and .NET interoperability.

This is essentially what enables Xamarin for Android (used to be Mono for Android), where .NET (Mono) VM and JavaVM work in parallel in the same application.

@ infoq


Edge.js = Node.js + .NET

Edge.js Combines Node.js with .NET:
"The JavaScript project Node.js now has the ability to run in one process with .NET code thanks to the Edge.js project (formerly called owin)...
...
 Edge.js'... includes the ability to execute CPU-bound calcualtions in .NET without blocking Node.js' event loop. It also allows using C# to write Node.js extensions to access Windows-platform specific features without resorting to the use of C/C++.

The connection between node.js an Edge.js is seamless and bilateral: node.js can call .NET methods and .NET code can call Node.js. Edge.js can compile C# source at run time or it can be pre-compiled before Edge.js starts."


Excellent podcast interview with Edge.js author Tomasz Janczuk @ Herding code

Sunday, March 24, 2013

JavaScript, HTML5, Web Platfrom

podcast: HTML5, JavaScript, Chrome and the Web Platform with Paul Irish
@ Hanselminutes


Interesting statistics from Google: (web?) developers are using
  • 40% Windows
  • 40% Mac
  • 20% Linux
    Quite high numbers for Mac and Linux...

    Paul Irish created one of most important JavaScript libraries, "Modernizr",
    that along with jQuery enables developing for variety of browsers.

    Modern web (sites and apps) development is done
    by assembling many modules / libraries, most of them open source.
    Modular is good.
    But finding, learning, and putting them together is still a challenge...

    Here is one example of one such system, SPA JumpStart – Architecture
    nicely described as class @ Pluralsite by John Papa

    List of libraries he used:

  • Breeze

  • Q

  • Durandal

  • Sammy.js

  • jQuery

  • Knockout.js

  • Moment.js

  • require.js

  • toastr

  • Twitter Bootstrap

  • Font Awesome

  • This may be a "transition", or it may be a "new normal" for web development.
    Mainstream web developers will likely look for "components"
    that internally may be using modern JavaScript techniques.

    Web Browser (HTML5+CSS3+JavaScript) is becoming a new "terminal",
    and "cloud" a new mainframe...

    toastr.js: Simple JavaScript Notifications

    Simple JavaScript Notifications with toastr | John Papa


    @ GitHub
    Demo

    // Display a info toast, with no title
    toastr.info('...')
    // Display a warning toast, with no title
    toastr.warning('...')
    // Display a success toast, with a title
    toastr.success('...', '...')
    // Display an error toast, with a title
    toastr.error('...', '...')
    

    Font Awesome

    Font Awesome, 
    the iconic font designed for use with Twitter Bootstrap:

      One font, 249 icons

    In a single collection, Font Awesome is a pictographic language of web-related actions.

     CSS control

    Easily style icon color, size, shadow, and anything that's possible with CSS.

     Infinite scalability

    Scalable vector graphics means every icon looks awesome at any size.

     Free, as in Beer

    Font Awesome is completely free for commercial use. Check out the license.

     IE7 Support

    Font Awesome supports IE7. 

     Perfect on Retina Displays

    Font Awesome icons are vectors, which mean they're gorgeous on high-resolution displays.

    Twitter "Bootstrap" @ GitHub

    Bootstrap:
    "Sleek, intuitive, and powerful front-end framework
    for faster and easier web development.

    Made for everyone.
    Bootstrap was made to not only look and behave great in the latest desktop browsers (as well as IE7!), but in tablet and smartphone browsers via responsive CSS as well. "


    Examples

    Carousel:



    No web site needs to look "plain" anymore...

    Friday, March 22, 2013

    Windows Azure Mobile Sevices: Android Support

    Azure Mobile Services (that is a free no-gui data service that saved data in Azure Cloud), now also provides Android samples, besides iOS and Windows Phone & RT.

    This service is implemented as node.js, so it is server-side JavaScript also,
    and very efficient (low memory usage, etc.)

    Windows Azure Updates: Android Support, SQL Reporting Services, Active Directory, More… - ScottGu's Blog

    Thursday, March 21, 2013

    Web "SPA" (Single Page Applications)

    podcast: Herding Code 161: Single Page Applications with John Papa and Ward Bell:
    Microsoft have recently released ASP.NET Single Page Application (SPA)
    update for Visual Studio to help development client-side JavaScript/HTML/CSS applications.
    Essentially that is a collection of open source JavaScript libraries,
    some of them developed by Microsoft, and selected and packaged together.

    This (or similar) packaged JavaScript tools, support "classic" MVC or MVVM patterns,
    so it is similar to Silverlight... That is to say not easy to start with,
    but can handle more complex and "long running" applications.

    There are useful SPA training classes

    Online Demo (hosted on Windows Azure)
    Looks very nice.

    Unfortunately, most of the time problems solved with SPA
    are similar as 20 or 30 years ago, "forms over data" for Enterprise.
    And all this time, and huge improvement in hardware power,
    apps development is still mostly manual process, relatively slow, hard and expensive.

    And what would be a better way?

    A "Domain Specific Language", more expressive and simple,
    and is using whatever "runtime" is available and appropriate.
    Focus on meaning (semantics), rather than on mechanics (syntax).

    But foundation is very interesting, and evolving quickly,
    so it is quite possible that soon enough there would be "wrappers"
    that would hide details and focus on content...

    In fact Microsoft also attempted something similar with "LightSwitch"
    that started as easy forms on Silverlight, and later added HTML5 also.
    Proprietary, but possibly more efficient for simple cases.

    Wednesday, March 20, 2013

    First day of spring 2013

    First day of spring 2013: The sun says new season, despite lingering winter cold for some

    "At the equinox, all latitudes see about 12 hours of daylight and darkness as Earth rotates on its axis. "

    Tuesday, March 19, 2013

    Creativity, Innovation & Telecommuting, Silos-effect

    Yahoo CEO has decided to stop telecommuting. Presumably to increase collaboration and innovation. (In Microsoft most people have a separate "office" room, so even on same location, they communicate by emails.)

    Telecommuting and Yahoo's Desperate Need for Innovation - IEEE Spectrum:
    "...John Sullivan: ... Creativity is not innovation.

    Creativity is idea generation
    And, you know, you might create a lot of ideas smoking pot or sitting in a room,
    but innovation is implemented ideas. 
    Innovation is ideas that come to marketplace.
    ... If you look at telecommute workers, they’re happy, they’re engaged, they’re productive,
    but none of those are even related to innovation..."

    So Larry Page, the head of Google, actually has a phrase: He expects you to improve at 1000 percent. In other words, improve everything you do by 10 times. And he actually says if you focus on continuous improvement—or efficiency or productivity, in my terms—if you focus on continuous improvement, you are guaranteed never to be wildly successful because you’ll be so focused on improving by, you know, these small percentages, you’ll never see the big picture.

    ...
    The profit return from innovation is literally 10 times higher than the profit return from efficiency. Accountants make you very little money; innovators make you lots of money. For example, the average employee at Apple generates US $2.2 million every year. The average employee at Yahoo generates $350 000. Six and a half times...


    Obviously, this is a creative usage of statistics.
    Apple is selling hardware, and Yahoo is selling online advertising.
    The revenue on hardware is faster to get.

    But innovation comes from improvement, not from "random" trying.
    It just appears at the end, looking from outside, that it "just happens".

    Google is in fact using "collaborative design", that keeps iterating and improving.
    How do we know? They have explained themselves:

    Collaboration is a way to avoid small "silos-effect"

    A bigger on-site group can make a bigger silos-solution :)

    Google Maps 'street view' of world's tallest peaks

    Google Maps now allows users to take 'street view' of world's tallest peaks - NY Daily News

    The snowy top of Mount Elbrus, which at 18,510 feet, is the highest peak in Europe.

    Dan Fredinburg, a technical program manager for Google and avid mountaineer, lead the Google Mountain Enthusiast team up each summit, which included Aconcagua in South America (22,841 feet), Mount Elbrus in Europe (18,510 feet), Mount Kilimanjaro in Africa (19,341 feet) and Everest South Base Camp in Asia (17,598 feet) in 18 months.

    @ Wired

    Next view: Moon.
    Moon is already on Google Maps: ("Google Moon"),
    just need to add "street view". Can Google make this "Moon Shot"?

    Even Mars is on Google Maps...

    Monday, March 18, 2013

    Discourse.org running on Ruby+Postgres

    Coding Horror: Civilized Discourse Construction Kit

    Jeff Atwood created highly successful (and useful) StackOverflow.org,
    and later extended to StackExchange,
    mostly on standard Microsoft .NET+SQL Server platform.

    Interestingly, his new, more general, discussions platform
    is based on Ruby + Postgres. As usual, no cloud hosting, custom optimized servers instead. He clearly knows what he is doing...

    Objective-C code side-by-side C# code.

    Podcast interview with Miguel de Icaza @ Hanselminutes
    mentioned nice side by side comparison of Xamarin's C# vs Objective-C.

    How it Works - Xamarin 2.0:

    C# with Xamarin

    var attrs = new CFStringAttributes {
        Font = listLineCTFont,
        ForegroundColor = UIColor.Black.CGColor
    };
    
    var astr = new NSAttributedString ("Hello World", attrs);

    Objective-C

    CFStringRef keys[] = {
        kCTFontAttributeName,
        kCTForegroundColorAttributeName
    };
    
    CFTypeRef bval[] = {
        cfListLineCTFontRef,
        CGColorGetConstantColor(kCGColorBlack)
    };
    
    attr = CFDictionaryCreate (kCFAllocatorDefault,
        (const void **) &keys, (const void **) &bval,
        sizeof(keys) / sizeof(keys[0]), &kCFTypeDictionaryKeyCallBacks,
        &kCFTypeDictionaryValueCallBacks);
    
    astr = CFAttributedStringCreate(kCFAllocatorDefault, CFSTR("Hello World"),

    He also mentioned F# even more concise syntax, and is coming to mobile, too.

    With this update, Mono Touch and Mono for Android are also renamed
    to Xamarin.iOS and Xamaring.Android,
    and now there is a free edition (limited only size of compiled app).

    Xamarin may be great, and there are advantages to C#,
    modern, unified strongly typed language, the system is quite complex and large.
    Xamarin comes with a slick installer, but even for simplest package,
    download size is about 1.5 GB (mostly due to Android updates)
    plus you need a Mac computer with XCode, that is another GB+.


    Compared to web-based apps with cloud builds (i.e. Telerik Icenium)
    where simple apps can be created in minutes, it is almost no comparison
    for simple apps where web is sufficient.

    Sunday, March 17, 2013

    Somewhere Over The Rainbow & Clouds Web

    I did another experiment with vector graphics & Raphael.js

    Appropriately for St. Patrick's day (March 17, rainbow story)
    the dream of all connected web (clouds) by services (rainbow)
    will allow for composing of data and graphic on web and in web apps...

    While many are chasing "a pot of gold at the rainbow (proprietary) end",
    it is all about a "journey", a never ending, ever improving
    connected and open web.

    Lyrics | Official Video

    "Cat In The Hat" has a nice explanation about "Chasing Rainbows"

    Eventually, web documents will include simple references on data and visual elements, such as "rainbow", "cloud", as well as videos, to easily create new information.
    SVG already supports referencing external files, but most browsers do not have this implemented yet...

    cloud.svg @ Wikimedia

    Friday, March 15, 2013

    Microsoft All-In-One Code Samples Library

    Microsoft All-In-One Code Framework - a centralized code sample library - Home

    "The Microsoft All-In-One Code Framework is a free, centralized code sample library driven by developers' needs. Our goal is to provide typical code samples for all Microsoft development technologies, and reduce developers' efforts in solving typical programming tasks.

    Our team listens to developers’ pains in MSDN forums, social media and various developer communities. We write code samples based on developers’ frequently asked programming tasks"

    Thursday, March 14, 2013

    Samsung Galaxy S4

    Samsung reveals new Galaxy smartphone - The Washington Post

    "The Galaxy S4 has a super high-definition five-inch screen, 13 megapixel rear-facing camera and advanced video and photo editing controls"

    It would be more interesting to find out what kind of phone will Amazon make...

    Google Android => Chrome

    Google Puts Android and Chrome Under One Boss - NYTimes.com:
    Andy Rubin, who had been senior vice president in charge of Android (and its creator)...  has been replaced by Sundar Pichai... the senior vice president of Chrome, and will now oversee Android as well.

    Google has stated before a long term goal of "merging" ChromeOS and Android, and recently there was a significant push for ChromeOS devices... 
    At the same time, other alternatives to Android are being considered by manufacturers. 

    Google's CEO Larry Page wrote: “Andy, more moonshots please!” Google refers to Google X as a lab for “moonshots,” or world-changing ideas. 
    There may be something new "cooking" there :)

    Google Reader being Terminated

    Google to kill off Google Reader in 'spring cleaning' | ZDNet

    Google has announced that it will kill off its RSS reader application Google Reader as of July 1, 2013, citing a slowdown in usage since the service launched in 2005.

    Users and developers interested in RSS alternatives can export their data, including their subscriptions, with Google Takeout over the course of the next four months.

    I guess this could also be an opportunity for ambitious startups,
    or for example for Microsoft Azure or Bing, or even Amazon.

    Google is "numbers driven" company, so while a useful service for "geeks", Reader was likely found to be less profitable
    With no adds, how it could be? They didn't even try...
    Anyway, have to figure out what alternative service to move to... or create...

    Top free alternatives to soon-to-be shuttered Google Reader


    • Feedly.com: Chrome App, Android App, maybe API clone of Google Reader API.
      Not a web based reader, so this is not it.

    • theoldreader.com created when Google started removing features from Google Reader... it may work, but it may not be fast enough ("There are 16406 users in the import queue ahead of you...")

    • netvibes.com

    Interesting:
    Yahoo CEO Marissa Mayer was the person to give Google Reader the go-ahead to launch as part of Google Labs. When it became a stand-alone product, the blog post announcing its launch was written by Kevin Systrom, who would go on to start Instagram.

    Did Google just kill RSS?
    RSS has been dying for years — that’s why Google killed Reader. It was a lovely open format; it has sadly been replaced with proprietary feeds like the ones we get from Twitter and Facebook. That’s not an improvement, but it is reality. Google, with Reader, was really providing the life-support mechanism for RSS. Once Reader is gone, I fear that RSS won’t last much longer.


    Google made a fortune on "open web", and now by trying to compete with proprietary "AOL-like" Facebook, is pushing confusing Google+ platform instead of simple and standard web.
    Google+ URLs are a mess, and there are no simple "feeds".
    Blogs (like this one) on Google's Blogger/Blogspot are not integrated to Google+. Why?

    Wednesday, March 13, 2013

    Raphael JS "Flower"

    My experiment with Raphael.JS vector graphics library

    An Introduction to the Raphael JS Library | Nettuts+

    Raphaël Reference


    book: "Top Dog: The Science of Winning and Losing"

    Interesting idea, book and a good review and podcast/interview with authors
    Amazon.com: Gaetan Lion's review of Top Dog: The Science of Winning and Losing


    "Forget about the power of positive thinking. When it comes to competing you need focus, intensity, and readiness to face expected obstacles and adversity. A bit of insecurity and self-doubt motivates you to try harder. Instead, positive thinking makes you mellow and take success for granted without being aware of the needed effort to actually succeed. Many studies have confirmed that positive thinking is not associated with superior performance. "What matters is not Positive vs Negative Thinking, it's Additive vs Subtractive Thinking" states Bronson on pg. 163. Additive thinking is reviewing your performance and uncovering opportunities for improvement. Subtractive thinking is regretting you did not do this or that without thinking of the necessary skill improvement needed to move forward.
    ...
    The top 6% of physicists produce over 50% of all published papers. At TopCoder, the top 5% of prize earners received 80% of the total prize pool.
    ...
    Warriors vs Worriers

    The Warriors have sub-optimal dopamine levels under normal conditions (bored easily), but optimal ones during stress (perform well under stress).

    The Worriers are just the opposite. They have optimal dopamine levels under normal conditions (focused in daily life). But, they have too much dopamine when under stress (freak out).
    "


    podcast: @ OnPoint radio

    topdogbook.com

    America's Byways (nice views from roads)

    Learn About Byways

    "America's Byways® is the umbrella term we use for marketing the collection of 150 distinct and diverse roads designated by the U.S. Secretary of Transportation. America's Byways include the National Scenic Byways and All-American Roads."

    Microsoft Chart Controls

    Samples Environment for Microsoft Chart Controls - Home


    ASP.NET comes with some "charting" controls. That used to be a separate package,
    and beginning in .NET Framework 4, the Chart controls are part of the .NET Framework.
    But what technology is used for those charts?
    It could be server generate PNGs, or "Canvas" (less likely in 2010), or vector graphics.

    SVG vector graphics is now supported in all modern web browsers,
    and IE supports VML for a very long time (from IE6),
    so libraries like raphael.js could utilize whatever is available.



    HTTP Archive (web sites statistics)

    HTTP Archive

    "The HTTP Archive tracks how the Web is built.
    Trends in web technology
    load times, download sizes, performance scores Interesting stats
    popular scripts, image formats, errors, redirects Website performance
    specific URL screenshots, waterfall charts, HTTP headers"

    Web Fonts: Modern Pictograms: Icon typeface for interface designers

    "Modern Web" is about design and using designers tools, such as Fonts (Just ask Windows 8 designers :)

    Here is example of some web fonts used instead of icons.
    This is mentioned in useful PluralSight class A Web Developer's Guide to Images

    modern pictograms

    Modern Pictograms: Icon typeface for interface designers


    fontsquirrel.com

    Friday, March 08, 2013

    Microsoft Big Data

    Big Data | Microsoft SQL Server
    "HDInsight is Microsoft’s 100% Apache compatible Hadoop distribution, supported by Microsoft. HDInsight, available both on Windows Server or as an Windows Azure service"

    SQL Server PolyBase

    Microsoft's Big Data strategy

    Commodore 64 + PC

    Commodore USA


    A clever retro-design device...
    PC board in a keyboard that is like original Comodore 64,
    and software emulation of old classic from 30 years ago...

    But the $345 price is misleading... this is just keyboard/case!

    How to build a modern-day PC into a replica of the Commodore 64

    Amazon Growing Fastest In Enterprise

    Amazon Growing Fastest In Enterprise - Business Insider:
    "Amazon... hiring an unusually large number of salespeople for Amazon Web Services,
    its enterprise arm that rents computing power over the Internet to other businesses."



    Thursday, March 07, 2013

    Windows "Blue"

    Blue | Windows 8 content from Paul Thurrott's SuperSite for Windows

    “Blue,” a set of “year one” updates to Windows 8 and related platforms that will supposedly right all the wrongs of the original releases.
    ...
    Blue is scheduled for a summer 2013 RTM
    ...
    will be free for current Windows 8 users

    Windows 9 is of course happening and is under development now, and will ship roughly three years after Windows 8, as you might expect.

    @ Mary Jo Foley


    In the meantime, to boost slow sales in particular of tablets,
    Microsoft may be reducing OEM pricing of the Windows 8 (or RT) with Office from $120 to $30

    Wednesday, March 06, 2013

    The Most Popular Résumé in the World @ Amazon

    podcast: The Most Popular Résumé in the World - IEEE Spectrum

    Philippe Dubost turned himself into an Amazon product page that got a million page views

    He took his résumé and turned it into a website that looked exactly like an Amazon product page. Under “product details” he listed the languages he speaks (English, French, and Spanish), his aptitudes, such as his programming skills, and the three degrees he has, including his master’s in management from Toulouse Business School and an MBA from the University of Dayton here in the U.S.

    Sterling NoSQL OODB for .NET

    Sterling NoSQL OODB for .NET 4.0, Silverlight 4 and 5, and Windows Phone 7 - Home


    Sterling is a lightweight NoSQL object-oriented database for .Net 4.0, Silverlight 4 and 5, and Windows Phone 7 that works with your existing class structures. Sterling supports full LINQ to Object queries over keys and indexes for fast retrieval of information from large data sets.
    Lesson: don't use XML (or at least optimize, use attributes and short names)

    There are no SQLite and SQLCE4, and that is what is a real competition...

    Does it work on WinRT?

    Authenticating Video - IEEE Spectrum

    Authenticating Video - IEEE Spectrum:

    The Guardian Project’s software authenticates human rights videos and protects activists in the field

    An Android app to include metadata and digitally sign videos made by the mobile device.

    Installing Wireshark / WinPCap on Windows 8

    One of side-effects of security "improvements" of Windows 8 (and Server 2012)
    is that network testing tools like WinPCap can not be installed in "native Windows 8" mode.
    In case of upgrade from Windows 7, you need to uninstall WinPCap first.
    Since a popular network tool Wireshark depends on WinPCap, that is a problem.

    The solution is quite simple: install in "Windows 7 compatibility + Administrator" mode.
    (Right mouse button click on install file => Properties => Compatibility)
    But there is a trick: WinPCap needs to be installed first in compatibility mode,
    and then Wireshark the same but just skip installing WinPCap that is part of Wireshark install.

    The reason is that "compatibility" works only on the original install file,
    not for other installs (processes) started from there.

    MSDN Blogs

    Tuesday, March 05, 2013

    Wearable Tech And Augmented Reality

    podcast: Wearable Tech And Augmented Reality | On Point with Tom Ashbrook:
    "Technology you will wear.  Google’s glasses.  Apple’s iWatch.  And “augmented reality” on its way."

    Google Glass

    Monday, March 04, 2013

    Future of University Campus by Scott Page

    Counterfactual Campus: Scott Page, 2112 and the Resilient Idea on Vimeo:

    Counterfactual Campus: Scott Page, 2112 and the Resilient Idea from Wisc Institute for Discovery on Vimeo.

    On the first day of the first Counterfactual Campus event, Scott Page, Director of the Center for Complex Systems at the University of Michigan, talks about the future of education and innovation

    He starts with quote from John F. Kennedy:
    "A man may die, nations may rise and fall, but an idea lives on"

    Scott Page is teaching online class "Model Thinking" at Coursera
    But he also thinks that classic "campus" has a future, and this presentation elaborates how and why.
    "Universities are perhaps the most resilient of all human institutions"

    He cited Clark Kerr from University of California
    "The three purposes of the University?--To provide sex for the students, sports for the alumni, and parking for the faculty"

    On a more serious note, Scott Page suggest that universities are good place for creating knowledge,
    and for continuous education ("DIKW") for alumni and a "logistics" for faculty. No change for students :)

    Data => Information => Knowledge => Wisdom.


    Data: Captured phenomena

    Information: coded, classified, categorized data

    Knowledge: relationships between information

    Wisdom: capacity to apply relevant knowledge


    Explicit Knowledge => Tacit Knowledge

    Passive Learning (Lectures) => Active Learning (Interactive)


    "Knowing is not enough; We must apply.
    Willing is not enough; we must do."
    -- Goethe

    Redis on Windows, MSOpenTech

    Download – Redis


    Redis is a simple, high-performance, open-source, key-value store (NoSQL, BigData).
    It is originally developed on Linux,
    but "by popular demand" it is now also on Windows.
    The source is on GitHub, and pre-compiled windows binaries are also included
    in downloadable Zip (in folder /msvs/bin/release/).

    There is an interesting "story behind"...
    The original Windows port of Redis is done by Dušan Majkić from Belgrade, Serbia,
    and since then Microsoft has launched a new company
    "Microsoft Open Technologies, Inc."
    that is dedicated for supporting open source projects on Windows platfroms, in particular on Azure.
    Redis was first, but there is also node.js, Hadoop and many more...
    MS Open Tech projects

    interoperability @ Microsoft

    MSOpenTech @ GitHub

    The Little Redis Book

    free e-book

    Sunday, March 03, 2013

    Evernote Resets All Users Passwords

    Evernote Resets Passwords After Attackers Steal Login Data
    "Online personal organizer Evernote reset passwords for all its users after attackers breached the company's systems and accessed login credentials, the company said in an email to customers.
    ...
    Evernote assured users that even though the passwords had been exposed, the damage was limited because the company had used "one-way encryption" (hashed and salted) to protect the data. This means that attackers would have a more difficult time cracking the information to steal the actual password."


    HTTP PATCH method, SPDY => HTTP 2.0

    Most of internet is running on HTTP protocols that didn't change much
    for a very long (computer) time...
    But there are some people working hard to change that.
    On one side there is Google SPDY protocol, that is now used as basis for HTTP 2.0.
    On the other side, there are some adjustments on existing HTTP, by adding new methods.

    RFC 5789 - PATCH Method for HTTP
    Several applications extending the Hypertext Transfer Protocol (HTTP)
    require a feature to do partial resource modification. The existing
    HTTP PUT method only allows a complete replacement of a document.
    This proposal adds a new HTTP method, PATCH, to modify an existing
    HTTP resource.


    WHY PATCH IS GOOD FOR YOUR HTTP API

    HTTP PATCH preferred format is apparently JSON, not XML
    JSON OR XML: JUST DECIDE



    Google: SPDY, err... HTTP 2.0: What Is It, How, Why, and When? @ InfoQ

    Essentialy, Chrome browser, as well as Firefox and Opera,
    are already using faster SPDY when communicating with Google servers.
    Adding plugin to Apache with no other changes improves speed and reduces latency
    So Google is "tuning" protocol on live and huge system.


    Not to be outdone, Microsoft is proposing alternative incremental improvements to HTTP 1.1,
    called "HTTP Speed and Mobility"

    Some people call it a ""HTTP 2.0 War"

    but this is more like healthy market competition of ideas...

    Given recent history, Microsoft is likely to "embrace and sell support" for whatever is useful

    Saturday, March 02, 2013

    End-to-end Windows (RT) Store Apps

    Microsoft Patterns & Practices teams have prepared and documented
    a few complete apps for WinRT in JavaScript/HTML and C++/XAML.

    In fact they created complete e-books.
    It is interesting to observe that C++ book is almost twice the size of JavaScript :)
    (and C++ app is possibly twice the performance of JavaScript)

    End-to-end apps (Windows)

    Note: "Hilo" is a place on Hawaii Big Island.

    HP Slate7 Android Tablet

    Android this week: HP’s me-too Slate7; Tablets as phones; Android on Chromebook Pixel — Tech News and Analysis

    The most appealing aspect of the product may be the $169 price tag because there’s not much to make this “me-too” tablet stand out from the crowd.
    ...
    A 1.6 GHz dual-core chip powers the Android 4.1 device, which includes 1 GB of memory. The 7-inch touchscreen uses a 1024 x 600 resolution panel; the same res as my original Galaxy Tab back in 2010. Storage capacity is 8 GB of flash memory that can be expanded with a microSD card. A pair of cameras complete the product with the rear one offering a meager 3 megapixels. In short, this a low-priced product with old specs competing against similarly priced products with better specs.

    So from $500 TouchPad, with 50% profit (and then canceled with $ 2 B loss),
    to $170 devices is maybe 10% profit, if any...
    No middle ground for HP...

    Microsoft Office for iPad: free apps with subscription

    How will the new Office for iPad work? | ZDNet:

    Instead of selling "software", Microsoft may give away (Office) apps for free
    on iOS and Android devices, and sell online (Office 365) service subscription instead.
    So the same user could use up to five devices (with free apps),
    to access online Office services...

    This is clever in multiple ways.
    With "free" apps, there is no distribution cost (and no 30% profit for Apple),
    the users are "locked in" with continuous payment (steady revenue for Microsoft)
    and system is convenient for both users and service providers.



    Microsoft unwraps sysadmin-friendly Office 365 for biz update

    all retail versions of Office 2013 are now licensed on a per-device basis. They are tied to a single PC, permanently. If the PC is lost or stolen or you upgrade to newer hardware, you must purchase a new copy of Office 2013 if you want to keep using it, according to Microsoft's new terms.
    ...

    To recap, Office 365 Small Business Premium costs $150 per user per year (the equivalent of $12.50 per month) and is designed for organizations with 1–10 employees. Office 365 Midsized Business is for organizations with 10–250 employees and costs $180 per user per year ($15 per month).

    Friday, March 01, 2013

    United States Patent: 7181508

    United States Patent: 7181508:
    "System and method for communicating, monitoring and configuring a device operatively connected to a network "

    Inventor: Dragan Sretenovic

    Assignee: Oki Data Americas, Inc.

    Issued: February 20, 2007

    Filed: November 9, 2000

    United States Patent: 8380889

    United States Patent: 8380889

    "Distributed peripheral device management system"

    Inventor: Dragan Sretenovic

    Assignee: Oki Data Americas, Inc.

    Issued: February 19, 2013

    Filed: March 31, 2011