Saturday, April 11, 2015

Apache Spark platform

I've not been here on the blog for a while :-( ; many things to do, many things to learn, ...
In these two years, many things have deeply changed (BigData, IoT, API oriented architecture, machine learning, docker ...) and some have been confirmed (typescript, go, ...).

Two years ago, the emerging BigData technology was the Hadoop ecosystem with plenty of technologies working quite anarchycally together (hdfs, hsqldb, cassandra, hive, pig, storm, and so on...). It was very hard for a beginner to dive into such all those techniques and make the right choices.

Few months ago a new Apache project started : the Spark project, or better the Spark platform... The main goal was firstly to enhance the performances of BigData by using a memory oriented approach... But when we look deeper  into Spark, we discover that Spark has been designed from the beginning as a complete problematics oriented platform, i.e. dealing with all the main problematics we expect to encounter such as :
- standardized access to "tabular" database through Spark SQL (replacing consequently Hive, PIG, SQL,...) , and to graph database through GraphX
- ETL-like approach for pipelining data processes through Spark Stream
- standardized access to machine learning algorithms(MLLIB)  by using morover a "R" dataframe-like api
- efficient access to big data processing in memory
-  compatibility with existing Haddop ecosystem
- native access through valuable programming languages (Java, Scala, Python) but also through api to R, and others
- quite simple installation and "prise en main"

Spark is still in infancy (but already in 1.3 version) and evolving ; nevertheless, the apache project is mature for production, and very challenging. There is no concurrent solution up to now which offers to developpers a single entry-point to so many techniques covering the whole landscape of data processing.








Saturday, December 21, 2013

Data Intelligence Review

Just a little post to indicate I've just launched a paper.li curation site about competitive intelligence in the BigData field I've called Data Intelligence Review.




Wednesday, May 22, 2013

GWT roadmap

There were several nice sessions ar Google I/O, and especially for my own interest Go, cloud and GWT.

There was more especially a session about the future of GWT, done by Daniel Kurka, Ray Cromwell.

You may find the video here.

To summurize, we can say that GWT future is ensured from now, and having two talks at Google I/O two years after Google left officially the project is a good news.

Here are the key points which have been discussed :
  • Openness: complete move to open source
    • gwt steering commitee members allowed as direct commiters
    • public continuous integration server / buildbot
    • full mavenization
    • regular, public steering committee meetings
  • Simplicity
    • disentangle dependencies, make gwt more modular
    • reduce need for .gwt.xml files
    • delete deprecated code
  • Speed
    • increase compile speed by 50%
    • improve speed of SuperDevMode refresh
    • continue to improve compiled code size
    • improved code splitter
    • tune js output for modern js vms
    • better reporting and profiling tools to spot performances problems
  • Interoperability
    • java <-> javascript calls even easier to use
    • improve support and integration with closure compiler
    • support hybrid apps, compiling gwt code and external js together
    • java 7 and 8 support (for lambda for instance)
  • Mobility : is considered as more an more important
    •  support modern mobile web browser
    • mobile optimized widgets
    • application life cycle and offline
    • packaged apps
  • Reliability
    • close 100 of our top bugs
    • improve speed and reliability of GWT unit testing
    • deprecate older browser (ie 6-8)
  • Embeddability
There is also a new website for the project : gwtproject.org where documentation is better classified and presentation more pleasant.

The new versions are planned for Q4 2013 (2.6) and Q2 2014 (3.0).

The question now is why am i still interested into the future of GWT, while I investigate into for instance Typescript and others? Just because until now it is still the best set of framework and tools to develop for the web IMO, excepting three things : compiling slowness, js interoperability, no lambda...  But the good news is that, after a survey on gwt made by vaadin, important decisions have been made to overpass these drawbacks... So, if companies involved into gwt still invest into this technology, we could see in a near future a very good universal framework for both classic and mobile web apps development.


Sunday, February 3, 2013

Typescript : useful entry points

The typescript community is not very widespread until now, but some interesting initiatives make the growing of this community easier... Here are few entry points to search and find features you need :
With this, you may start to build something interesting with TypeScript ; personnaly, we started to use it on a project, and I like the language a lot for the flexibility it offers to me, while giving me software engineering means for building robust and maintenable code.

I think the next step  is to offer the community with a good development framework written in typescript, for typescript developpers... This client-side framework would be able to ensure the following :
  • MVC-like features
  • history management
  • efficient ajax capabilties
  • i18n 
  • event notifications between view
  • security
  • good development patterns
  • and so on...
It should be simple to understand, easy to use, easy to configurate, and so on...
Interested in?

update : an very interesting bunch of articles about the single-page web application development ; clear and concise
http://singlepageappbook.com

Saturday, January 12, 2013

Typescript, a software engineering issue

Software engineering is the art of doing well applications for computers. We use many means for achieving such a goal : tools, methodologies, formalisms, languages, management tricks, well educated developers, and so on... We could have the best language in the world, without the other means described above, it would have not to be chosen to develop industrial-oriented software.

I'v been convinced of this since many years, and I applied this principle first to Smalltalk in 90' when I chose Java instead of my beloved Smalltalk. Smalltalk was great, well defined, flexible, even beneficing of great development tools... but it was a nightmare to deploy, to make collobaroration effective , to make short, to enable big teams to work together...except by using quite expensive tools like Visualage for Smalltalk for instance... Java at once were supported by a big community, eclipse and its plugins enable to easily connect to a source control management tool, or to interface with UML tools, and so on... It was 15 years ago...

About Javascript, i followed such a thinking path when I chose GWT to develop webapps in 2006 ; javascript is wonderful language, very flexible as Smalltalk can also be, having a great inventive community behind it, ... But it was a nightmare for ensuring code quality, perenity of the code, portability, readability, bad development tools, etc... GWT was then a good answer to all this drawbacks, and may still a good choice (if the future of the technology is made clearer by the consortium being in charge of ensuring its future).

The coming of typescript 4 months ago may change this if everything is well controled. Typescript offers the software engineering touch to javascript which was missing...without withdrawing any of its strenghts, especially the flexibility and the plasticity of the language. And with the advent of HTM5, and the true portability of the language across browsers, we may think it is the right moment to switch to javascript, and especially typescript for developping webapps...

Of course it will be needed to consolidate the software engineering stuff, but if we look after the framework part (which consists in brief to take into account security, form validation, database access, communication with server, UI design, history management, i18n management, and so on...) we could propose the following for start :
  • rest
  • http://resthub.org/backbone-stack.html
  • http://foundation.zurb.com/
  • http://domo-js.com
  • http://typescriptlang.org
  • https://github.com/borisyankov/DefinitelyTyped
  • http://linqjs.codeplex.com/
With this package we can do a lot on the client side ; I let you the choice of the backend stuff (but in stateless mode) ; java, dotNet, Go, even node.js...

Have fun...
 

Saturday, December 8, 2012

Amber (formerly JTalk)

Amber is a smalltalk engine and ide generating javascript for web development purpose... The IDE is embedded into the browser itself and the compiler is written in javascript upon jquery.

Its is a very nice language and I miss Smalltalk a lot (I stopped to write applications in Smalltalk 10 years ago) and after looked after many languages for the web, many translators for javascript, and so on, Smalltalk remains me how this language is pure, simple, well thought from the ground, and still in advance in concepts... IDEs in a browser exist in this language for many years (Seaside), and other frameworks are children of Smalltalk too (for instance Eclipse and eclipse orion today).
So why not thinking of Smalltalk again? I let you discover it by taking a glance to Amber.

What would we want more in Amber from now? Some tools we could find in Cloud9 for instance, ie configuration management, ... , or a connection with phonegap by integrating phonagap api inside the smalltalk browser, and eventually some components and a huge community behind Amber...

Thanks Nicolas Petton for this great tool.


Saturday, November 10, 2012

TypeScript

One month ago, Microsoft presented TypeScript, an open source project under the rules of arts, mimicking even what Google does while  presentating the language or even in naming the web site.

I've followed Dart since its beginning, and of course I've had to take a glance to this new language... When i discovered GWT 6 years ago, i was appealed by this framework, and the underlying concepts... I've adopted it at once... It was not the same feeling when I discovered Dart...and it is still not the case, I don't know why...maybe a little bit ;)

When i've seen Typescript, the experience I had with GWT was coming back to me... I'm pretty sure the choices made by Microsoft (it is hard for me to say that ...) were the good ones...while waiting for an hypothetic great enhancement of the javascript standard.

Why is it the good choice? For pragmatic reasons indeed ; we are flooded by technologies everywhere, frameworks, languages, libraries, and so on... but we still have 24h per day... When we develop an application, we have to focus on the business first... and to use a rich ecosystem to spend less time in tehcnical problems... For web development, GWT was based uppon the java ecosystem, typescript will be on the javascript ecosystem...while Dart is making its own ecosystem, and it'll take time. The only reason today i see to use Dart would be if Google decided to use dart as replacement of Java/dalvik on android devices (it will be maybe the case).  I give me time to have a more defintive advice about it... Things may change...

To go back to TypeScript, i've right now only a good feeling... I'll have to experiment a lot it to have a better advice about it... But I already see hwo I could use it easily with bootstrap, jquerymobile, jquery, and so on...

We also may envisage to port some nice dart libraries into typescript as Dart is also open source. I also would like to have an eclipse plugin or IntelliJ idea for Dart, because I've some repulsion about visualstudio...

I eager to see how TypeScript will be approved or not by the community.