SlideShare a Scribd company logo
1 of 13
RUBYISTS.EU
Stairway to the European Ruby Community Integration

          Julio Javier Cicchelli
Hi! I am Javier.
This is what we do.
Today... you are here!
???
That Europe.
?
RUBYISTS.EU!
Chosen Platform.
  RSpec


Webrat



                       REST   API
         DataMapper
Development Cycle.




  http://eggsonbread.com/2009/07/22/behavior-driven-development-in-a-nutshell/
Get Involved.



Get in Touch.
http://rubyists.eu

More Related Content

Recently uploaded

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Featured

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Rubyists.EU: Stairway To The European Ruby Community Integration

Editor's Notes

  1. The interactive presentation of the Rubyists.EU initiative comprises of two main parts: an ideational fragment and a technical section. The ideational element elaborates on the concept behind the Rubyists.EU project. It outlines the vision harbored by his initiative and it will describe its mission in the context of Ruby community development throughout Europe. The second part of this dynamic endeavor discusses the technical means used to infuse digital life into this initiative. It pinpoints how a the following heterogenous mixture can be pieced together with a tiny drop of Ruby glue: * Cucumber [http://cukes.info/] * DataMapper [http://datamapper.org/] * Git [http://git-scm.com/] * Google Maps API [http://code.google.com/apis/maps/] * HAML [http://haml-lang.com/] * Heroku [http://heroku.com/] * JQuery [http://jquery.com/] * JSON [http://json.org/] * PostgreSQL [http://www.postgresql.org/] * Rack [http://rack.rubyforge.org/] * RSpec [http://rspec.info/] * SASS [http://sass-lang.com/] * Selenium [http://selenium.rubyforge.org/] * Sinatra [http://www.sinatrarb.com/] * Webrat [http://wiki.github.com/brynary/webrat] It also explains how various social media platforms can be integrated into this living and breathing entity.
  2. I am Javier Cicchelli (@monsieur_rock). I am an experienced Software Engineer and a genuine technology artisan. I am a double national. I was born and raised in an Italian family in Buenos Aires, Argentina. I have spent the last 6 years of my life in Europe. I used to live in Paris, France. Then, I decided that I needed a little change of the scenery and I moved to Amsterdam, the Netherlands.
  3. I am one of the jukebox heroes of Rock & Code. Rock & Code is a brand new Software Company located in Amsterdam, The Netherlands. In its gist, it is an artisan Software shop aimed at providing durable Software and Web Solutions. Specialists with different academic backgrounds try to incorporate the elements of competitive edge, simplicity, and star power into all the products and services we provide.
  4. I would really like to thank you all for your interest in the Rubyists.EU initiative This exciting endeavor stemmed from a true paradox Nowadays the P.I. World appears to be a much smaller place in comparison to the world a decade ago (P.I. = Post-Internet) Nonetheless, lots of people cannot escape the confines of their environment and they tend to think local. Consequently they often do not see the forest of opportunities for the separate trees. This is more than unfortunate. That is the reason why I am going to talk about Ruby and Europe...
  5. No! Not this Europe!!! I was referring to the continent Europe! Yet, this slide looks kind of cool ;) Now, let’s get to the very heart of the matter and somehow try to comprehend the real significance of Europe. Once we cover that, we can discuss the correlation between Europe and the Ruby programming language, and then draw the relevant conclusions about the possible fusion of those two concepts into a single dynamic core.
  6. Now here it is. Europe, our continent. Do not worry, this presentation is not going to devolve into a geography lesson. Nonetheless, let us just get a couple of facts straight. Do you know that Europe’s territory is bigger than 10.000.000 km2 and it is populated by more than 730.000.000 people? One of the unique features of the European continent is its multifaceted mosaic of cultures and languages. You can literally trace the vestiges of time, you can see monuments of both antiquity and modernity. Another advantage is the fabulous infrastructure that facilitates the spread of both transportation and telecommunications. Little by little, the European borders have become extremely fluid. As consequence, people have started traveling through Europe more intensively. As a result of various events and phenomena, today we have the Europe we have. Yet, the big question is how all those geographical advantages can benefit the individual Rubyist developer in Amsterdam, in Berlin, in Paris, in Sofia, or in Moscow?
  7. After enumerating all the pros that the Old Continent offers, and after briefly analyzing the the social changes brought by the quick advancements in telecommunications, we can draw a slightly dark conclusion: despite all the resources we have at our disposal, we (the Rubyists) do not really know what really is going on with Ruby in Europe (for example, we do not know what the Hungarian Ruby group is up to) This is, evidently, a paradox. Although there are numerous Ruby/Rails User Groups scattered across Europe (incubating great ideas, possessing extensive knowledge and working on fabulous projects) very few of them are aware of one another’s presence. As a consequence, this lack of awareness may limits communications, cooperation and collaboration. Ultimately, the development and the adoption of the Ruby Language may be obstructed due to these obstacles.
  8. In order to fill in the Ruby void in Europe, we embarked on the sweeping Rubyists.EU endeavor. In its gist, this initiative is a free of charge communications platform, which aims at encouraging better communications among Rubyists in Europe. Its mission is to promote awareness, enhance assistance, and further boost cooperation and collaboration among Ruby/Rails individual hackers and User Groups in Europe. It essentially offers a joint adventure, which will bring substantial benefits to the ones who wish to share it. Who could possibly benefit? The answer is both Ruby/Rails User Groups and individual developers. If a group joins the Rubyists.EU initiative, its members can attach an extra layer of visibility to their Ruby/Rails community (and themselves). Enthusiastic hackers will have the opportunity to join new communities or even start their own. What are the advantages that the Rubyists.EU platform offers? Members can share details about their regular group meetups, bring interesting events and conferences to the attention of others, announce special presentations, make their groundbreaking Ruby advancements public, or simply publish the pioneering Ruby projects they are working on.
  9. Why are we doing this? We believe that every country in Europe has something to offer and to share with the rest. We would like to see if every country has a particular vision of Ruby and explore how that can contribute to and essentially facilitate the adoption and the development of the Ruby language in Europe.
  10. The technical specification of the Rubyists.eu platform is essentially a result of the perfect mix of several Open Source technologies. Before explaining the whole constitution of this platform, I would like to point out that our Testings are carried out by the combination of Cucumber [http://cukes.info/] + RSpec [http://rspec.info/]. Due to the Web nature of the project, I am also employing Webrat [http://wiki.github.com/brynary/webrat]. Because of the significant amount of the Javascript code that I am utilizing, I incorporated the Selenium framework [http://selenium.rubyforge.org/]. The core of this platform is composed of Sinatra + Rack. Sinatra [http://www.sinatrarb.com] is a light-weight DSL utilizes for quickly creating web applications in Ruby. It keeps a minimal feature set for developers and is an excellent tool for creating small to mid-sized web applications. It is based on Rack [http://rack.rubyforge.org/], which as everyone probably knows, is a Ruby library that provides an interface between web servers supporting Ruby and Ruby web frameworks. Much of the underlying infrastructure is handled by Rack.  The selected database is PostgreSQL [http://www.postgresql.org/] . This Open Source ORDBMS (Object-Relational Database Management System) was chosen because of its robustness, its features, and (mainly) because it is the default database system supported by Heroku. The connection and the operations between the Sinatra-powered core and the database are established by DataMapper [http://datamapper.org/]. This is an object-relational mapping library for Ruby. DataMapper has a number of good features. It is independent and it does not tie in with any particular framework.  It is designed to be fast and efficient. One of its pros is that it often delays interaction with the data store and it initiates it only when it is required. Our platform utilizes a User Interface based on the Google Maps platform. Google provides HTML and Javascript API [http://code.google.com/apis/maps/], which allow developers to easily transform a simple map into a completely interactive application. In addition, we’re using JQuery [http://jquery.com/] library to simplify and simultaneously AJAXify our Javascript code on the client. The AJAX functionality uses JSON (JavaScript Object Notation) [http://json.org/] to marshall objects for both synchronous and asynchronous transport. The Google Maps standard UI is embedded in the generated HTML structure, defined and generated by HAML [http://haml-lang.com/]. HAML is both a simple markup language for templating HTML on a web page and a compiler of HAML-to-HTML and vice versa. Following the same principle, the SASS [http://sass-lang.com/] defines and generates the CSS representation of the website. The main purpose of developing the front-end this way, is to separate the HTML structure, the CSS representation, and the Javascript functionality unobstructedly. As a direct consequence of the Sinatra core, this platform already provides a RESTful API that allows our platform to interact with any existent client. This would allow developers and Ruby/Rails User Groups to integrate its functionality to their own websites, projects, applications, etc. Last, but not least, this framework is deployed by Heroku [http://heroku.com/]. For those who still have no clue about Heroku, it is a Ruby-specific cloud-computing platform that provides specialized Ruby hosting services for developers. It allows Ruby developers to almost instantly deploy web applications on the Internet. Heroku supports Rack-based web applications so deploying our Sinatra applications on Heroku is a piece of cake. While Heroku charges for hosting, it also provides a free basic tier account. It should be remarked that this platform requires the intensive use of Git [http://git-scm.com/], a powerful decentralized SCM (Source Control Management) system, in order to deploy applications. Currently this platform is isolated from the rest of the available systems out there but we envision integrating it with the existing communication platforms such as Twitter, Facebook, Google, LinkedIn, and even Freenode in order to facilitate and ensure the transparent communications among Rubyists in Europe.
  11. In order to develop our features, we’re using the BDD (Behavior Driven Development) approach. For those of you who are still unfamiliar with the BBD, the latter is an approach, which emphasizes on the domain language and the interactions occurring in the Software Development process. It implies outside-in development: it starts with User Interface definition and it ends with a functional piece of code. Therefore, you have to design scenarios for the features you want to develop and then, you simply have to follow the BDD process: For each scenario describing a feature Run the scenario – it fails (go red) Define the first step – go red Write down the application code getting the step to pass – go green Refactor the code and repeat steps 4 & 5 for each step until… The scenario passes – go green Refactor the application code Once you are done, you can move on to the next feature. :) These scenarios guide developers throughout the entire development process. They force people to focus on writing down the test and the application code required, and only they are developers allowed to move on to the next step. Developers are satisfied every time they pass a step successfully because they know for sure, which of the features they have been developing function properly.
  12. The Rock & Code team has worked intensively to make this initiative happen but we weren’t alone. Some of the members of the Amsterdam.rb [http://amsterdam-rb.org/] were among the first to know about this project and they decided to assist us with it. I would like to thank Fernando Vezzosi, Wes Oldenbeuving and Wijnand Wiersma from Amsterdam.rb for their initial feedback and contribution. Since this is an initiative for the whole European Ruby community, everybody is welcome to join in and even collaborate with ideas, suggestions, comments, constructive criticism and/or code. You can get involved in this initiative by following and/or forking the source code from our repository on Github [http://github.com/rock-n-code/rubyists.eu]. You can get in touch and/or make comments, suggestions for new features or propositions to improve the existing ones by joining our Google Group and subscribing to our mailing list [http://groups.google.com/group/rubyists-eu]. You can follow us on Twitter [http://twitter.com/rubyists_eu], join our Facebook page [http://www.facebook.com/pages/Europe/RubyistsEU/188196555796], and join the Rubyists.EU group on LinkedIn [http://www.linkedin.com/groups?gid=2400973]. Furthermore, you can also chat with other Rubyists on our IRC channel on Freenode: #rubyists.eu [irc://irc.freenode.net/rubyists.eu]. We would love to hear from you and we would really appreciate it if you to tell us what do you think about this initiative. We’re looking forward to discussing all the aspect of the Rubyists.EU initiative with you!
  13. We believe that this interactive environment could greatly impact and even change the lives of all Ruby enthusiasts in Europe. This initiative harbors the main goal that in time, by forging long lasting bonds, European Rubyists could foster a sense of belonging to something bigger than their local Ruby communities. Hopefully, in the long run, Rubyists.EU could help eliminate the obstacles that prevent the smooth adoption of the Ruby language and it would contribute to the development of a robust Ruby community in Europe.