How Hypothesis Testing Killed the “Best Practise”

I’ve always felt a little uncomfortable when people use terms like “best practises” or “industry standards”, and this post is about a real world example of why everyone should be cautious of such claims.

Originally posted on Medium: How Hypothesis Testing Killed the “Best Practise”

The Google Sitebricks Web Framework

sitebricks“Sitebricks is a new web application development framework from Google that is built on top of Google Guice, and focuses on early error detection, low-footprint code, and fast development. InfoQ had a Q&A with the creator and Google Wave Core Engineer Dhanji Prasanna.”

Full article on: http://www.infoq.com/news/2009/09/google-sitebricks

Location-Aware Browsing to become Mainstream

“With the W3C working on a specification that defines an API for providing scripted access to geographical location information, Mozilla recently announced built-in Geolocation support for Firefox 3.5. This is aligned with an earlier announcement from Opera that also adds support for Geolocation in their browser. Will this make geographically aware applications ubiquitous?”


Read the full story: Location-Aware Browsing to become Mainstream?

fb_duck

Evolution of JavaScript Frameworks for HTML 5

“HTML 5 is the fifth major revision of the core language of the World Wide Web and although the specification is ongoing work, parts of HTML 5 are already implemented in browsers like Safari 4 beta.

In addition to specifying markup, HTML 5 exposes several new scripting APIs for:

  • 2D drawing
  • Media
  • Browser history
  • Cross-document messaging
  • Drag & drop
  • Client-side persistent storage
  • Server-sent events
  • and more…

InfoQ recently conducted a virtual panel via email regarding how the JavaScript frameworks will evolve in order to take advantage of these new APIs. The panel featured representatives from some of the most widely deployed projects that deal with client-side JavaScript:

  • Dylan Schiemann, CEO of SitePen and co-creator of Dojo
  • Matt Sweeney & Eric Miraglia, YUI engineering team
  • Andrew Dupont, core developer of Prototype
  • Thomas Fuchs, creator of script.aculo.us, and core developer of Prototype and Ruby on Rails
  • David Walsh, core developer for MooTools
  • Scott Blum and Joel Webber, co-creators of GWT

Read the article: Evolution of JavaScript Frameworks for HTML 5


duck

Crowdsourcing JavaScript Integration Testing

hands“John Resig creator of the jQuery JavaScript library, has released Test Swarm, a platform for distributed continuous integration testing for client-side JavaScript. Frustrated with traditional JavaScript testing environments that don’t scale, John’s new project which is currently is private alpha, aims to provide a systems for outsourcing browser related testing to large groups of people or communities.”

Read the full article here: http://www.infoq.com/news/2009/03/test-swarm

Browser Wars Reignite with Opera announcing Caracan and Apple releasing Safari 4 Beta

rhinos_fighting“With the Web becoming the default development platform, we are witnessing major innovations in browser technology. In the spirit of time, Opera has announced plans for “the fastest JavaScript engine on the market” code named Carakan and Apple has released Safari 4 in public beta with several new features and improvements.”

Read the ful article here: http://www.infoq.com/news/2009/02/caracan_safari4

Speaking at the DSL Developers Conference 2009

dsldevconIt’s my pleasure to announce that I’ll be speaking at at DSL Developers Conference, in April 16-17, 2009, at the Microsoft Campus in Redmond.

Summary

What 2 days of practical, applied DSL sessions from industry experts and practitioners
When April 16th, 2pm-6pm (registration at 1pm), April 17th, 9am-6pm
Where Microsoft Research Building 99, Room 1919
14820 NE 36th Street
Redmond, WA 98052
USA

The topics are very interesting and the list of speakers is impressive:

When What Who
Thursday, April 16th
12:00pm Registration
12:45pm Welcome Chris Sells
1:00pm Keynote Martin Fowler
2:00pm M DSLs: Deep Dive Paul Vick
3:00pm Domain Specific Languages for automated testing of equity order management systems and trading machines Tom Rodgers
4:00pm DSLs in the Horn Package Manager Paul Cowan
5:00pm How to implement DSLs with Groovy Guillaume Laforge
6:00pm Reception (food and beverages)
6:45pm DSL Panel All speakers
Friday, April 17th
7:30am Breakfast
9:00am Textual DSLs and Code Generation with Eclipse Tools Markus Voelter
10:00am JavaScript DSLs for the Client Side Dionysios G. Synodinos
11:00am Functional vs. Dynamic DSLs: The Smackdown Ted Neward, Bradford Cross
11:45am Lunch
1:00pm Embedding DSLs in Newspeak: EBNF, Hopscotch and NewShell Gilad Bracha
2:00pm RUMBA: RUby Managed Business data for Applications Umit Yalcinalp, Tilman Giese
3:00pm A DSL for Cool Effects in Adobe Pixel Bender Bob Archer, Chuck Rose
4:00pm Language Oriented Programming in F# Chance Coble
5:00pm TBD TBD

Web-based IDEs to become mainstream? (oh yeah!)

free-beer“Last week Mozilla released Bespin, a web-based framework for code editing and only a few days later Boris Bokowski and Simon Kaegi implemented an Eclipse-based Bespin server using headless Eclipse plug-ins. With the presentation of a web-based workbench at EclipseCon and the release of products like the Heroku web-based IDE for RoR apps, it seems that web-based IDEs might soon become mainstream.”

Read the full article here: http://www.infoq.com/news/2009/02/web-based-ide

Re: The 140 character webapp challenge

Reading a friends blog post, I found out about a challenge for making a web app in 140 characters or less.

In Wikipedia you read:

In software engineering, a web application or webapp is an application that is accessed via web browser over a network such as the Internet or an intranet. It is also a computer software application that is coded in a browser-supported language (such as HTML, JavaScript, Java, etc.) and reliant on a common web browser to render the application executable.

So this is what I could come up with: just paste the following piece of code (140 characters) in a file with a .html extension, open it with a browser and you have a crude number guessing game:

<script>function
x(){if(confirm("odd?")&&((Math.floor(Math.random()*10))%2))alert(":)");else
alert(":(");if(confirm("rpt?"))x()}x()</script>

The browser calculates a random integer and asks you if it is an odd numbers. If your answer is correct it returns a smiley (or a frown if you’ve guessed wrong). Finally it asks you if you want to repeat the game and if you choose “ok” the whole thing starts over again.

You can save many characters by omitting the loop. Also you can save 10 whole characters by having the browser randomly choose “1” or “0” and asks you to guess between them.

<script>function x(){if(confirm(“1?”)&&(Math.round(Math.random())))alert(“:)”);else alert(“:(“);if(confirm(“rpt?”))x()}x()</script>

What do Sir Tony Hoare, Joe Armstrong, Martin Fowler, Steve Freeman, Michael T. Nygard & Rod Johnson have in common?

The third annual QCon London conference is coming back to the UK March 11-13, 2009. QCon is an Enterprise Software Development conference for team leads, archtiects, and project management. Some of this year’s speakers include:

  • Sir Tony Hoare – Inventor of Quicksort, Turing Award Winner
  • Joe Armstrong – Father of Erlang
  • Martin Fowler – Loud Mouth on Object Design
  • Steve Freeman – Agile Software Development Pioneer
  • Michael T. Nygard – Author of “Release IT”
  • Rod Johnson – Creator of Spring
  • Dion Hinchcliffe – Web 2.0 and Social Media Industry Expert
  • Eric Evans – Mr. Domain Driven Design

The track themes for QCon London & track hosts are as follows:

Architectures in Financial Applications – Hosted by Cleve Gibbon and Alexis Richardson

The latest innovations as well as time-proven best practices that architects of banking & finance systems need to know.

Emerging languages in the enterprise – Hosted by Ola Bini

. In this track we will look at some of the languages and how they are used in the enterprise, what benefits they give and what to look out for.

Real World SOA – Hosted by Stefan Tilkov

Whether based on SOAP/WSDL-style Web services or alternative approaches such as RESTful HTTP, we will talk about the good, the bad & and the ugly.

Turning on a sixpence – technical skills for Agile development – Hosted by Steve Freeman

This track is about the technical essentials you need to know to make Agile software development reliable and sustainable.

Web as a platform – Hosted by Geir Magnusson

Benefits and liabilities of web programming and recent case studies.

Agile Organisational patterns – Hosted by Linda Rising

What’s the optimal way of working together – Social aspects of software dev teams, organizational alignment, compensation,self-organization, decision making, vision.

Architectures you Always Wondered About– Hosted by InfoQ’s Chief Editor, Floyd Marinescu

The BBC, Guardian.co.uk, and others.

Domain-Driven Design & Development – Hosted by Eric Evans

This track will take you through the foundations of DDD, and how they are applicable and actually applied in projects.

Functional and Concurrent Programming – Hosted by Erik Meijer

The track presents a series of examples of actual use of functional programming languages and actor/concurrent languages and discuss how it affects our way to comprehend distributed, asynchronous software systems.

Java.Next – Key Technologies Shaping the Future of Java – Hosted by Scott Delap

Technologies pushing the limits of Java on the server, desktop, and places in between.

Architecture for the Architect – Hosted by Dan North

Industry leaders share their experiences in designing architectures and being good architects.

Domain Specific Languages – Hosted by Neal Ford

This track covers a wide range of business areas and technical implementations.

Historically bad ideas – Hosted by Floyd Marinescu & Aino Corry

Null References? Corba? This track will feature technology directions that were once discussed almost like silver bullets but which later proved to be bad ideas or short-lived fads.

Next Generation Web on .NET – Hosted by Beat Schwegler

Learn how to develop state of the art Web Applications using technologies such as ASP.NET, Silverlight 2.0, Deep Zoom and Windows Presentation Foundation (WPF).

Systems that never stop – Hosted by Michael Nygard

How do you develop, test, update, maintain, and reason about systems without borders?

The previous QCon was well received, below are some comments from bloggers who attended our last QCon:

  • Erik Johnson – QCon London was a top-notch event and among the great presentations, two things I learned stand out …
  • Nik Silver – every hour of the three days of the conference there were insights and guidance that could be tucked away, and reused later to save hours, days or weeks of time elsewhere.
  • Matthew Ford – … I’ve just spent the last week at QCon and I’ve just about fully recovered (it was pretty intense)…
  • Ola Bini – I had a great time and I look forward to being back the next time. I can definitely recommend QCon as one of the best conferences around in this industry.
  • Steve Vinoski – I just returned home from QCon London, and its excellence exceeded my expectations. As usual, the quality of speakers QCon attracts is outstanding, and they cover a very wide variety of topics.
  • Antonio Goncalves – I only had two days at the conference and I have to say, QCon is different from what I’m used to. The audience looked more experienced (or older if you want) and the quality of the presentations was really high
  • Mark Edgington – In short fantastic. I left the conference armed with lots of ideas and inspiration and a handful of excellent contacts.
  • Danilo Sato – I was really impressed with the quality of the conference, from tracks, to sessions, and speakers. QCon is one of the best technical conferences I’ve participated and I recommend it for anyone interested in enterprise software development. I’m looking forward to attending again next year.

See also past QCon/JAOO talks available online on InfoQ:

Registration for the 3 day conference is £1,170 if you register before February 22nd, a savings of £130!

http://snitch.name – The Social White Pages

snitch.name was originally a tool I developed because I was tired of having to search in various place to find information about someone I met. It hasn’t been designed to be fancy, but solves a real world problem until the people that build social services decide on some profile searching APIs. Until that time comes snitch.name is the best tool for searching for people’s profiles on social services.

logo4

I’ll try to incorporate more user requested features, so drop me a line if you’d like to have a new search provider added or have some new functionality in mind.

Plugin

You can search with snitch.name directly from your browser’s search box using the OpenSearch specification! This is the box that sits right from your address bar. Both IE7 and Firefox support it

FAQ

Do I need an account on these social sites?

In most cases these sites reveal little or no information to users that don’t have an account so it would be wise to get an account. It is free anyway 🙂

Why can’t I just use Google?

There are several advantages over a plain Google search! Some of them are:

  1. There are several social sites that are not indexed by Google at all or in a very limited way. As has Tim O’Reilly agreed on: “Social sites like Facebook/Flickr grow  exponentially without being indexed by Google”.
  2. Depending on your privileges to the various social sites, you’ll always get the maximum information that you are allowed to get. For example if you are in someone’s network in Facebook you’ll get more information in snitch.name than you would get directly from a Google search.
  3. Google will not necessarily give higher ranking to results that are “people profiles”, so you get a whole bunch of results from mailing lists, forums, etc. that might have little value to you.
  4. With snitch.name you get all the results expanded in your page so you can print them all at once and have them available
    when you are away from your computer.

Why everything loads inside the browser?

This way you access the social sites using your own credential and get authorized for the maximum amount of information you are allowed to. Many social sites don’t have public/open APIs (eg. LinkedIn) and even the ones that do have would need you to authenticate again. This could be very impractical. With snitch.name the cookies you have stored in your browser already do all the work to authenticate you.

Is it better than other people-search-services?

Try yourself to see how superior snitch.name is!

snitchname_the-social-white-pages_beta4

Many thanks to Christos Stathis, Fotis Stamatlopoulos, Kostas Troulos & Panagiotis Astithas, for their early feedback.

Java 7 Roadmap Updated: Reactions

“During Devoxx Mark Reinhold, Chief Engineer for Java SE, gave a presentation about the latest directions for Java 7, alongside a release date in early 2010. Although Mark described his presentation as a provisional plan and not binding, there have been many reactions from the community, especially regarding the omission of Closures.”

Read the full article here: http://www.infoq.com/news/2009/01/java7-updated

Servlet 3.0 Public Review Sparks a Debate

“JSR-315 has produced a Public Review (PR) of the Servlet 3.0 specification, accompanied by a reference implementation in the GlassFish trunk. This release has resulted in a debate around the choices that the Expert Group (EG) has taken for the next generation Servlet APIs and the whole of the Java EE 6 platform.”

Read the full article here: http://www.infoq.com/news/2008/12/servlet3_debate


peace

HTML 5 Web Sockets vs. Comet and Ajax

“Though Comet and Ajax can both deliver end-user experiences that provide desktop-like functionality and low user-perceived latency, only Web Sockets lives up to the promise of providing a native means to accurately and efficiently stream events to and from the browser with negligible latency. It is by far the most comprehensive solution for delivering real-time information over the Web. Not only does it provide full asynchronous duplex streaming communication with a single TCP/IP connection, but also benefits from few HTTP headers and more importantly allows the same message format to be used by both the browser and the origin service.”

Read the full article here: http://www.infoq.com/news/2008/12/websockets-vs-comet-ajax

nakos