Facebook has announced to open source its C++ library named folly and made it available via Github.
Library is C++11 Components and is claimed to be highly usable and fast. In fact, their introduction page particularly focuses on the performance part of the library. Folly has been tested with gcc 4.6 on 64 bit installations.
I just downloaded the library for a quick look and it should be interesting to peek into the code.
You can also have a look here: https://github.com/facebook/folly/blob/master/folly/docs/Overview.md
As we see the convergence of technologies through web, I think plain text is going to play a crucial role in delivering a standard cross platform solution for communication. It has already taken the center stage in form of XML. Debate on simplicity (or human side of technology) and performance will, I think, have a positive shift towards the former (people love faster development and simpler use more these days I think.. Rubyist view)
why plain text?
pragmatic programmers answer it with bullets – insurance against obsolescence, leverage (lot of tools available for talking to plain text) and easier testing. and I as always agree.
The concern is there although. Concern is that in addition to being human readable, the text should be human understandable as well. Using names which are semantically correct and contextually relevant is going to act as a substantial catalyst in helping dealing with these plain text files (whether it is a database or configuration file or data-transfer format).
Being always biased towards keeping configuration and databases (good old unix way) I am going to take care of this as a specification in almost all (not everything is driven by me!) development I do. You should also do the same so that your database outlasts your application!
I’m pretty much sure that you must have heard (and talked) a lot about how the next big thing (after desktop.. and Micro$oft’s humongous success in that arena) would be taking desktop applications to web (and many of you would be in a queue to purchase Google shares for too-too-too-much price) and there are tangible examples to quote, for example, Google docs (formerly Writely, acquired by Google), Google Spreadsheets, Google Presentation etcetera.
No, no. Don’t think that I mistyped the title. It’s alright.
What am I upto?
A pathbreaking technology from Adobe, AIR (Adobe Integrated Runtime) is all about taking Rich Internet Applications (RIA) to Desktops i.e. having a desktop application which will communicate with web and deliver rich content right there. Adobe website says:
Adobe® AIR™ lets developers use their existing web development skills in HTML, AJAX, Flash and Flex to build and deploy rich Internet applications to the desktop.
This is a cross platform technology and an application written for MS Windows will work with Linux platform. No migration (read porting) required. Don’t see any released development support for Linux though. I will keep posted.
What do you need to get started?
I’ve started with AIR application development and am hooked to it (as I’m to most technologies I try out), you should also get your hands wet once with it and I’m sure you gonna love it. (Affiliation: I’m employed with Adobe Systems).
AIR Showcase. Adobe Labs. Adobe Flex