Sunday, July 31, 2011

"Polyglot Programming": F# + JavaScript + Ruby = Web Workbench @ Hanselminutes

podcast: Hanselminutes - Polyglot Programming and .NET - Lessons Learned with Ivan Towlson from Mindscape

Mindscape recently released Web Workbench
(plugin tool for Visual Studio 2010) to the community for free
with support for LESS, SASS, and CoffeeScript.

Interestingly, they used C#, F#, JavaScript and Ruby
to create this app. Very interesting for web / .NET developers.

Polyglot programming – some lessons learned by Ivan Towlson

Try F#

LESS: extends CSS with dynamic behavior such as variables, mixins, operations and functions. LESS runs on both the client-side (IE 6+, Webkit, Firefox) and server-side, with Node.js.

SASS: an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It’s translated to well-formatted, standard CSS using the command line tool or a web-framework plugin

CoffeeScript: a little language that compiles into JavaScript. Underneath all of those embarrassing braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.

Apple captured two thirds of available mobile phone profits in Q2 | asymco

Apple captured two thirds of available mobile phone profits in Q2 | asymco

Saturday, July 30, 2011

Facebook Investor Wants Flying Cars, Not 140 Characters

Facebook Investor Wants Flying Cars, Not 140 Characters

Founders Fund co-founder Peter Thiel: it complains that the rate of technological innovation is slowing, and that we need more ambitious entrepreneurs solving very important challenges instead of working on rinky dink social media startups.

The manifesto's subtitle is: "We wanted flying cars, instead we got 140 characters."

InfoQ: Craft and Software Engineering

interesting presentation @ InfoQ
Craft and Software Engineering

The conclusion is that "classical" Software Engineering
is based on wrong understanding of other engineering disciplines,
and by trying to "imitate" techniques from other engineering fields
it is producing inadequate results.

The main technique of engineering in general is "optimizing"
in particular on more expensive processes.

In many cases, that is physical process of building:
design is relatively cheap compared to construction.
So, optimization is to reduce cost of expensive part.

In case of creating of software, "building" is cheap: that is process of compiling.
The software "design" is source code. Good engineering needs to
focus on relatively expensive part, and that is source.

So, when software engineering is done right,
it ends up being focused on test driven development and agile!

In addition, real engineering is a craft.
Real process of engineering creation is always based on creative problem solving,
and that is not a mechanical process, but a mix of skill and art.
Excessive documentation is necessity where building is expensive; not in software.

Thus, software craftsmanship is in fact ultimate software engineering,
and good software engineering is an agile craft!

The presentation has a long historical introduction
and good examples and references...

Bill Gates Now Has More Money Than The Federal Government

Bill Gates Now Has More Money Than The Federal Government

"(USA) Federal government now has only $54 billion in cash in the bank.
That's $2 billion less than the net worth of Bill Gates..."

$54 Billion Of Cash Left In The Bank

Friday, July 29, 2011

The Drone War Goes Global | On Point with Tom Ashbrook

podcast: The Drone War Goes Global | On Point with Tom Ashbrook

Very interesting: technology is changing how society is viewing war/conflict...
Dramatic changes are happening right now, and most of people are not aware...

Reverse Mergers Give Chinese Firms a Side Door to Wall St. -

Reverse Mergers Give Chinese Firms a Side Door to Wall St. -

...over the last few years, Rino International and scores of other young Chinese companies slipped into the United States stock market through the back door. Rino’s American stockholders later lost hundreds of millions of dollars when accusations surfaced that the company had fudged its books. All told, investors’ losses on these Chinese ventures have stretched into the billions.

InfoQ: Secure Distributed Programming on ECMAScript 5 + HTML5 Platforms

InfoQ: Secure Distributed Programming on ECMAScript 5 + HTML5 Platforms

A great presentation.

JavaECMAScript 5 is possibly becoming the best
programming language for writing secure programs!

Mark S. Miller explains how to create secure applications in ECMAScript 5 and HTML5 by turning JavaScript into a distributed secure programming language.

Mark S. Miller is a research scientist at Google, main designer of the E and Caja secure programming languages, a pioneer of agoric (market-based secure distributed) computing, an architect of the Xanadu hypertext publishing system, and a representative to the ECMAScript committee.

Friday, July 15, 2011

App Inventor for Android @ Google Labs

App Inventor for Android @ Google Labs

Creating Android (web) applications as a visual puzzle.
Could be great for kids, too...

Creating an App Inventor app begins in your browser, where you design how the app will look. Then, like fitting together puzzle pieces, you set your app's behavior. All the while, through a live connection between your computer and your phone, your app appears on your phone.

What is App Inventor

Hands-On With Google’s Android App Inventor (Jul. 21, 2010)
The puzzle-piece approach may look familiar to some because it’s based on Scratch, a programming environment developed by the Lifelong Kindergarten group at the Massachusetts Institute of Technology. Google has leveraged the Open Blocks Java Library project — also an M.I.T. export — and added Android-specific bits to the compiler, so you can create an actual .apk, or software installation of your app for Android phones

InfoQ: HTML5 and the Dawn of Rich Mobile Web Applications

InfoQ: HTML5 and the Dawn of Rich Mobile Web Applications

Excellent presentation about Mobile Web Apps with HTML5
by James Pearce, Director, Developer Relations @

Thursday, July 14, 2011

"PREtotyping" @ Google


A new word invented by Google people...
"PRE" is from "preview"... instead of "PRO" from "product"
That is, make a quick preview quickly to try, rather than slowly final product.

pretotyping is a way to test a product idea quickly and inexpensively by creating extremely simplified versions of that product to help validate the premise that "If we build it, they will use it.
The best way to explain pretotyping is through examples, so let's look at one.
Below is a photo of Jeff Hawking's pretotype for the Palm Pilot:

The founder of Palm Computing mocked up a Palm Pilot with wood and paper; then carried it with him for weeks pretending it was a working device. His objective was to learn if he would actually use such a device before going to the next, very expensive and time-consuming step, of building an actual working prototype.
Fail Fast ... and Often

Pretotyping is an approach to developing and launching innovation that helps you to determine if you are building the right it before you invest a lot of time and effort to build it right. Pretotyping helps you to fail ... but fast enough and cheaply enough that you have time and resources to try something different.

Presentations (mp3, video, slides):
Presentations "Innovation at Google" by Patrick Copeland @ InfoQ

Video presentation: The Pretotyping Manifesto
by Alberto Savoia

Entrepreneurial Innovation at Google
by Alberto Savoia and Patrick Copeland, Google

(PDF @ Google Docs)

Presentation Slides: (eXterme) Innovation @ Google, The Pretotyping Manifesto
by Alberto Savoia, Director of Engineering and Innovation @ Google

Alberto Savoia /publications

The Pretotyping Manifesto

innovators beat ideas
pretotypes beat productypes
building beats talking
simplicity beats features
now beats later
commitment beats committees
data beats opinions

don’t finish what you’ve started
failure is an option
scarcity bring clarity
the more the messier
reinvent the wheel
play with fire
XIM: the eXtreme Innovation Manifesto: The eXtreme Innovation Manifesto

"The XIM is a set of actionable principles designed to fix what ails corporate innovation."

Google+ vs. Facebook: "social circles vs. groups"

Facebook exec: Google is blocking my book | Deep Tech - CNET News 'Social Circles,' Paul Adams' book

"The problem is that the social networks we're creating online don't match the social networks we already have offline,
Circles deal with this situation directly, and they're central to how Google+ works. You can add others to circles for family, friends, coworkers, neighbors, classmates, or whatever other categories are desired. You can share a Google+ post with specific circles or publicly. Adding a person to a circle doesn't require their permission, making Google+ similar to Twitter in this regard. You're the only person who knows which people are your circles.
Facebook was an all-or-nothing affair--people were on your friends list or they weren't. Last October, though, Facebook introduced a new groups feature that let people communicate only with various subsets of their friends. The feature isn't as obvious as Google's circles, though."

Presentation: The Real Life Social Network v2

Tuesday, July 12, 2011

MySQL + Not Only SQL

Video: State of the Dolphin: O'Reilly MySQL Conference & Expo 2011 - O'Reilly Conferences, April 11 - 14, 2011, Santa Clara, CA
same video @ YouTube
Podcast: State of the Dolphin @ IT Conversations

MySQL is alive and kicking...
Among other improvements, they have integrated a simple memcached interface, as well as LDAP interface, directly to data storage layer, skipping SQL.
So the same data are available through SQL and other, cached and faster, interfaces... Clever!

MySQL-Memcached or NOSQL Tokyo Tyrant – part 1

Monday, July 11, 2011

HP webOS "Innovation"

DailyTech - HP Brushes Jon Rubinstein Aside, Taps Stephen DeWitt to Head webOS
"Rubinsten (creator of webOS) will become HP's SVP for Product Innovation in the Personal Systems Group"

HP used to have word "invent" in the logo.
That was the time when marketing appeared to be more important than engineering in HP. Hopefully this is no the case this time.

Now, they are inventing "innovation VP" and apparently getting ready to make some real money from webOS... This could mean less Windows from HP.

Maybe Microsoft should have purchased Palm...
It would be much cheaper and faster than making
web apps platform for Windows 8, and competing with one more OS...

Sunday, July 10, 2011

Happy 155th Birthday Nikola Tesla

Happy 155th Birthday Nikola Tesla | Geekosystem

On July 10, 1856, Nikola Tesla was born (to Serbian parents) in what is now modern day Croatia. He would go on to study electrical engineering and lay the groundwork for much of the technology that we take for granted in modern society. Alternating current, electric motors, radio, radar, and wireless energy transmission are just a few of the high water marks in his career.

A short story I wrote 5 years ago.

Saturday, July 09, 2011

Microsoft, Oracle Target Android Manufacturers - HotHardware

The Sharks Are Circling: Microsoft, Oracle Target Android Manufacturers - HotHardware

Microsoft has demanded Samsung pay it $15 per Android device. The deal is similar to one the software giant reached with HTC last year; that handset manufacturer pays Microsoft $5 per Android product.

Oracle has allegedly asked manufacturers to pay $15-$20 to join an early adopters' program—but the database giant is known for playing hardball. The company's lawsuit, filed in August 2010, seeks damages totaling $2.6 billion and requests an injunction preventing further development or shipment of the Android operating system.

JavaScript is Assembly Language for the Web: Sematic Markup is Dead! Clean vs. Machine-coded HTML - Scott Hanselman

JavaScript is Assembly Language for the Web: Semantic Markup is Dead! Clean vs. Machine-coded HTML - Scott Hanselman

Podcast: Scott talks to Erik Meijer from Microsoft Research about the idea that JavaScript is an assembly language

This translation to JavaScript could be part of "big deal"
about "(native) HTML5 applications" in Windows 8.

It is about Tools, that help developers automate creating HTML5 apps.
I would not be surprised if such tools generate HTML from XAML, and JavaScript from C#...
That would be similar to GWT (Google Web Toolkit), that generates web apps from Java.

  • Erik is involved in project "Volta" that translates .NET IL to JavaScript
  • ScriptSharp is a custom language that translates to JavaScript, by another Microsoft person.
  • CoffeeScript is another custom language that translates to JavaScript
  • GWT translates Java or Google Closure to JavaScript
  • WebSharper is a commercial tool that translates F# to JavaScript

    Sample "modern" web page, Google+, that consists mostly from machine generated JavaScript
  • Thursday, July 07, 2011

    Ingo Rammer Builds Native HTML 5 Apps @ .NET Rocks!

    Podcast: Ingo Rammer Builds Native HTML 5 Apps @ .NET Rocks!

    A very enthusiastic overview of "native HTML5 applications", and why they are "the future" of app development, first mobile and then also desktop.
    Apparently, Windows 8 will also support this approach.

    Ingo is well known, many years ago he helped introduce .NET remoting in deep details...

    Described "Native HTML5 Apps" urgently need a better marketing name!
    Update: Microsoft Ditching the Term "Native HTML5"

    HTML5 is usually associated with applications delivered from standard web server, and just cached locally in the browser, and using local browser's APIs.

    "Native HTML5 apps" are a hybrid:
    they run inside of a web browser that is embedded into a "native" application.
    Native app is exposing additional JavaScript APIs to embedded browser.
    Application logic is in JavaScript.

    Distribution of "native web applications" is same as distribution of "native" mobile applications, by some kind of app store.

    The main reason for building "native web apps" today
    is reuse of the code between iOS, Android and sometimes web.
    The same could be done, and possibly more comfortable,
    by using MonoTouch / MonoDroid / Moonlight / Silverlight

    Ingo suggested Adobe AIR, that is Flash based that can run as a "native" app
    and has embedded WebKit based web browser: HTML5.
    AIR already can run on most of OSs!

    Interestingly enough, Flash/AIR was main motivation for creating Silverlight,
    and it would be very strange if Microsoft would not provide similar solution.
    A major issue currently is that Silverlight does not distribute embedded web browser, but it is using IE from Windows, so that is not portable...

    In a way, it comes down on power of the programming language,
    and it appears that JavaScript / ECMAscript is better than Java/C#!
    Not only because it has a portable runtime...

    A small "taste" of described applications is available today on every Windows 7 / Vista computer: "gadgets" are essentially zip file with XML, HTML, JavaScript, CSS and images, and have access to Windows COM objects. Trouble is, there are cases when this loose connection fails, and there is almost no recovery. I have seen a few computers where Calendar gadget just stopped working... Empty... No recovery...

    China's Patent Prowess - IEEE Spectrum

    China's Patent Prowess - IEEE Spectrum

    In the past 5 years, the number of Chinese international patent applications has tripled
    (and US patent applications are still leading, but on decline)

    Uncomfortable with Agile @ PragProg

    Uncomfortable with Agile @ PragProg

    From Andy Hunt, one of signers of original Agile Manifesto:

    "It’s been ten years since we coined the term agile. Are you finally comfortable with being agile?
    If you are comfortable, then that’s too bad, because it means you’re doing it wrong.

    A truly agile project team lives on the edge of chaos.

    Not slipping back into a comfortable, somnambulant stupor,
    and not pitching forward over the edge and into the dark abyss of chaos.
    Do too little and you stagnate, too much and you crash."

    Wednesday, July 06, 2011

    Can Android Be Microsoft's Next $1 Billion Business? - BusinessWeek

    Can Android Be Microsoft's Next $1 Billion Business? - BusinessWeek
    "Thanks to patent licensing agreements with Android phone manufacturers, Microsoft is on its way to making big money with Google's mobile operating system"

    Microsoft to Samsung: $15 Per Android Device @ PC Magazine

    Sunday, July 03, 2011

    ‪Building "Windows 8" - Video #1‬‏ @ YouTube

    ‪Building Windows 8 - Video #1‬‏ @ YouTube

    Apparently, Windows 8 apps will be built in HTML & JavaScript:
    they will be are Web based (desktop) apps.
    Many Windows developers are now very concerned: "why" change?

    While this change (addition) makes sense to me,
    it may force a choice for each new app: use Silverlight or html?

    Windows 8 will still support "classic" Windows apps.
    Microsoft is still "investing" in Silverlight,
    but its main "executive supporter", ScottGu, is now focused on Azure...
    That is a "pure" web server side, mostly advanced .NET based.

    My guess is that Microsoft is addressing each competitive challenge separately:
    * ChromeOS is "pure web" experience, so it needs "pure web" answer: Win8
    * Flash is web plugin and offline apps platfrom, so is Silverlight
    * iPhone is mostly using "native" apps, so WinPhone7 is the same

    Microsoft has done this many times before: change, to stay relevant.
    It may be hard, and it is still better than losing market...

    Web apps get the ultimate endorsement: Windows 8 @ CNET

    Previewing ‘Windows 8’
    by Julie Larson-Green, corporate vice president, Windows Experience.

    No Windows 8 posts on MSDN

    Windows 8 apps to be built in HTML & JavaScript

    For more info, wait for Microsoft BUILD conference (used to be PDC),
    13-16 Sep 2011 @ Anaheim, CA

    I have attended PDC 2003 that introduced Windows "Longhorn".
    It took 3 years and many changes to finally release as Vista,
    and then 2 years for Windows 7 to stabilize transformation from Windows XP.
    I hope this time change will be smoother and faster...

    C++ is "new" again

    More thoughts on what may be on tap for Microsoft's WinC++
    (WinC++, the successor to its Visual C++ tool) @ Mary Jo Foley

    The Register has a good interview with Microsoft’s chief C++ standards man, Herb Sutter.
    “One factor that’s helped C++ is its performance: as a native language, C++ talks to the CPU without going through an interpreter, unlike Java or even Microsoft’s .NET, so it’s generally considered fast – and performance is vital on devices such as tablets and smartphones.

    “According to Google, C++ is the fastest runtime language when compared to Java, Scala, and Go, although it does require more extensive tuning and more expertise to achieve such results.”

    Are ‘Mosh’ and ‘Jupiter’ Windows 8′s killer features?

    I was developing "desktop web apps" since 1999, in C++, Java and C#,
    and with recent improvements in HTML and JavaScript,
    and a few adjustments in "host interface" this is a very usable platform...

    Saturday, July 02, 2011

    Hands on with the HP TouchPad | Tablets

    Hands on with the HP TouchPad | Tablets | Macworld

    HP TouchPad is finally released.
    It looks "almost" like iPad,
    minus 100 000 apps, minus 2 hours of battery time,
    and plus some weight and 1/3 thicker...

    By the way, TouchPad, as well as WebOS that runs on it
    is created by Jon Rubinstein,
    same person who created original Apple iPod.
    But TouchPad is not iPad. It just looks similar.

    To "catch-up" with Apple's numerous apps,
    I would suggest HP to release WebOS "app runner" and SDK for Windows (and if possible Mac).
    Microsoft should have done this with Silverlight for WP7, and it is not too late for Windows 8 tablets.
    Same apps should be able to run on various platforms, desktop and mobile.
    Web is a good choice for this, and WebOS may be a good framework.

    Making similar HTML5 based framework should not be too hard either...
    And since it can be done, it will be done...
    Even web browser (core) is the same (WebKit)
    in iOS (iPhone, iPad), Android and WebOS.

    *PhoneGap is one such platfrom, for "mobile" only... and WebOS not supported yet...
    *Appcelerator Titanium is another, and it does support both Mobile and Desktop.

    Friday, July 01, 2011

    Real-Time Open Data Web Service for the Internet of Things - Pachube

    Real-Time Open Data Web Service for the Internet of Things - Pachube

    Enabling "Internet of things (devices)", the next frontier...

    Observe picture from previous blog item, with
    Morgan Stanley prediction of 10x increase of number of connected devices.
    Beyond "smart phones" and "tablets" (r)evolution,
    there are even more "sensors" that connect all kind of environment data.

    Managing, processing, distributing of those data is the next frontier.

    Podcast interview with Usman Haque from Pachube
    @ Technometria with Phil Windley, IT conversation