Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...Manoel Lemos
Apresentação do pessoal da WebCo Internet (BlogBlogs e Brasigo) no Rails Summit Latin America 2008. Manoel Lemos, Ronaldo Ferraz e Nando Vieira falam de desafios reais vividos por empreendimentos Web 2.0. Desde o início do BlogBlogs até a formação da WebCo.
Sometimes your fastest queries can cause the most problems. I will take you beyond the slow query optimization and instead zero in on the performance impacts surrounding the quantity of your datastore hits. Using real world examples dealing with datastores such as Elasticsearch, MySQL, and Redis, I will demonstrate how many fast queries can wreak just as much havoc as a few big slow ones. With each example I will make use of the simple tools available in Ruby to decrease and eliminate the need for these fast and seemingly innocuous datastore hits.
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...Manoel Lemos
Apresentação que fiz no iMasters InterCon 2013 sobre Open Hardware, Cloud Computing e 3D Printing. Veja como estes fernômenos estão no centro de uma nova revolução industrial. E conheça o Fazedores.com, meu novo projeto pessoal focado no Movimento Maker no Brasil.
Tendências em Aplicações Sociais para 2009Manoel Lemos
Apresentação que fiz no Campus Party 2009 sobre algumas tendências em aplicações sociais (social media) para o ano de 2009. Esta apresentação foi parte da programação do Campus Blog.
RioInfo 2007 - Tecnologias Centradas no UsuárioManoel Lemos
Palestra realizada no evento Rio Info 2007 no seminário sobre Tecnologias Centradas no Usuário. A palestra aborda o fenômeno da Web 2.0 sob a ótica de sua complexidade, velocidade e da colaboração em massa.
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...Manoel Lemos
Palestra para a Semana Web Abril de 2009. Foco em tendências em aplicações sociais, mas com uma introdução interessante sobre alguns conceitos fortes e importantes para se entender a rede e seu poder de alterar as coisas.
Rails Summit 2008 : Histórias de Guerra - Enfrentando problemas reais em apli...Manoel Lemos
Apresentação do pessoal da WebCo Internet (BlogBlogs e Brasigo) no Rails Summit Latin America 2008. Manoel Lemos, Ronaldo Ferraz e Nando Vieira falam de desafios reais vividos por empreendimentos Web 2.0. Desde o início do BlogBlogs até a formação da WebCo.
Sometimes your fastest queries can cause the most problems. I will take you beyond the slow query optimization and instead zero in on the performance impacts surrounding the quantity of your datastore hits. Using real world examples dealing with datastores such as Elasticsearch, MySQL, and Redis, I will demonstrate how many fast queries can wreak just as much havoc as a few big slow ones. With each example I will make use of the simple tools available in Ruby to decrease and eliminate the need for these fast and seemingly innocuous datastore hits.
Open Hardware, The Cloud, 3D Printing : Movimento Maker e Uma Nova Revolução ...Manoel Lemos
Apresentação que fiz no iMasters InterCon 2013 sobre Open Hardware, Cloud Computing e 3D Printing. Veja como estes fernômenos estão no centro de uma nova revolução industrial. E conheça o Fazedores.com, meu novo projeto pessoal focado no Movimento Maker no Brasil.
Tendências em Aplicações Sociais para 2009Manoel Lemos
Apresentação que fiz no Campus Party 2009 sobre algumas tendências em aplicações sociais (social media) para o ano de 2009. Esta apresentação foi parte da programação do Campus Blog.
RioInfo 2007 - Tecnologias Centradas no UsuárioManoel Lemos
Palestra realizada no evento Rio Info 2007 no seminário sobre Tecnologias Centradas no Usuário. A palestra aborda o fenômeno da Web 2.0 sob a ótica de sua complexidade, velocidade e da colaboração em massa.
Semana Web Abril 2009 : Tendencias Em Aplicacoes Sociais (e alguns conceitos ...Manoel Lemos
Palestra para a Semana Web Abril de 2009. Foco em tendências em aplicações sociais, mas com uma introdução interessante sobre alguns conceitos fortes e importantes para se entender a rede e seu poder de alterar as coisas.
Curso Abril de Jornalismo 2010 : Manoel LemosManoel Lemos
Minha palestra no Curso Abril de Jornalismo 2010 (CAJ27). Um aventure por vários temas ligados à Internet: : Twitter, Apagão, Web em Tempo Real e Linguística Computacional.
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao factsManoel Lemos
Palestra que preparei para o Results On Day de Social Media (em novembro). A palestra aborda várias tendências em Social Apps e inclui uma prévia de um estudo que estou preparando sobre o fluxo de informações no Twitter durante o evento do apagão do dia 10 de Novembro de 2009.
Perspectives from a Publisher - Digital Migration: the good, the bad & the newManoel Lemos
Presentation I did at the Festival of Media LatAm 2012 in Miami. In the presentation I talk about the challenges faced by traditional media companies in their journey towards a digital future.
A brief provocation about Product Management for startups. Understand the importance and the complexity of this fundamental role in your company.
Um breve provocação sobre Gerenciamento de Produtos para startups. Entenda a importância e a complexidade desta atividade fundamental para sua empresa.
Apresentação feita no RD Summit 2015 em Florianópolis, SC.
A importância dos blogs para as empresasManoel Lemos
Presentation about Blogs and its importance for the companies (corporate blogs) done on the World Web Expo Forum in São Paulo, Brazil in March, 18th 2008.
The State of The Maker Movement in Brazil - SXSW 2015Manoel Lemos
Presentation I did at SXSW 2015 about The State of The Maker Movement in Brazil. Understand why the maker movement can be huge in Brazil, what is dragging us down and the great news on the ecosystem. Know some of the key players in the local maker scene and join the crew!
Aventuras com Open Hardware e Internet das Coisas - 7Masters iMastersManoel Lemos
Apresentação que fiz no 7Masters do iMasters sobre Open Hardware. Nela conto um pouco do que estou fazendo com hardware livre em projetos que misturam medidores de consumo de energia elétrica, bonecos interativos e internet das coisas.
Tecnologia, Mudanças e Oportunidades - DEMO MaceióManoel Lemos
Apresentação que fiz no DEMO Maceió sobre como as mudanças tecnológicas que estamos vivendo mudarão drasticamente a sociedade e criarão inúmeras oportunidades para empreendedores. Coisas como Robótica, Internet das Coisas, Big Data, Inteligência Artifical e Fabricação Digital trarão uma nova e gigantesca onda de transformação e inovação.
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...Manoel Lemos
Apresentação que fiz no Arduino Day 2014 em São Paulo falando sobre Open Hardware e mostrando como construir um medidor de consumo de energia elétrica com Arduino.
Open Hardware na Prática - Construindo um Medidor de Consumo de Energia Conec...Manoel Lemos
Apresentação que fiz na Campus Party Brasil 2014 falando sobre Open Hardware e mostrando como construir um medidor de consumo de energia elétrica com Arduino.
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...Manoel Lemos
Aula sobre canais digitais que fiz para o curso de Comunicação Digital da ESPM em 05 de Agosto de 2008. Nela falo de 4 idéias que ajudam a entender um pouco do fenômeno da Internet e das Mídias Sociais.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Curso Abril de Jornalismo 2010 : Manoel LemosManoel Lemos
Minha palestra no Curso Abril de Jornalismo 2010 (CAJ27). Um aventure por vários temas ligados à Internet: : Twitter, Apagão, Web em Tempo Real e Linguística Computacional.
Tendências em Aplicações Sociais : ResultsOn Day 2009 - inclui #apagao factsManoel Lemos
Palestra que preparei para o Results On Day de Social Media (em novembro). A palestra aborda várias tendências em Social Apps e inclui uma prévia de um estudo que estou preparando sobre o fluxo de informações no Twitter durante o evento do apagão do dia 10 de Novembro de 2009.
Perspectives from a Publisher - Digital Migration: the good, the bad & the newManoel Lemos
Presentation I did at the Festival of Media LatAm 2012 in Miami. In the presentation I talk about the challenges faced by traditional media companies in their journey towards a digital future.
A brief provocation about Product Management for startups. Understand the importance and the complexity of this fundamental role in your company.
Um breve provocação sobre Gerenciamento de Produtos para startups. Entenda a importância e a complexidade desta atividade fundamental para sua empresa.
Apresentação feita no RD Summit 2015 em Florianópolis, SC.
A importância dos blogs para as empresasManoel Lemos
Presentation about Blogs and its importance for the companies (corporate blogs) done on the World Web Expo Forum in São Paulo, Brazil in March, 18th 2008.
The State of The Maker Movement in Brazil - SXSW 2015Manoel Lemos
Presentation I did at SXSW 2015 about The State of The Maker Movement in Brazil. Understand why the maker movement can be huge in Brazil, what is dragging us down and the great news on the ecosystem. Know some of the key players in the local maker scene and join the crew!
Aventuras com Open Hardware e Internet das Coisas - 7Masters iMastersManoel Lemos
Apresentação que fiz no 7Masters do iMasters sobre Open Hardware. Nela conto um pouco do que estou fazendo com hardware livre em projetos que misturam medidores de consumo de energia elétrica, bonecos interativos e internet das coisas.
Tecnologia, Mudanças e Oportunidades - DEMO MaceióManoel Lemos
Apresentação que fiz no DEMO Maceió sobre como as mudanças tecnológicas que estamos vivendo mudarão drasticamente a sociedade e criarão inúmeras oportunidades para empreendedores. Coisas como Robótica, Internet das Coisas, Big Data, Inteligência Artifical e Fabricação Digital trarão uma nova e gigantesca onda de transformação e inovação.
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...Manoel Lemos
Apresentação que fiz no Arduino Day 2014 em São Paulo falando sobre Open Hardware e mostrando como construir um medidor de consumo de energia elétrica com Arduino.
Open Hardware na Prática - Construindo um Medidor de Consumo de Energia Conec...Manoel Lemos
Apresentação que fiz na Campus Party Brasil 2014 falando sobre Open Hardware e mostrando como construir um medidor de consumo de energia elétrica com Arduino.
Armas de Ruptura em Massa : Entendendo o fenômeno da Web 2.0 e das Mídias Soc...Manoel Lemos
Aula sobre canais digitais que fiz para o curso de Comunicação Digital da ESPM em 05 de Agosto de 2008. Nela falo de 4 idéias que ajudam a entender um pouco do fenômeno da Internet e das Mídias Sociais.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
5. BlogBlogs Status
Business Numbers Traffic Numbers
115.000 users 7.5M PageViews / month
200.000 blogs 3.5M Uniques / month
2.500.000 posts Top 5000 Alexa Global
250 users / day Top 120 Alexa Brasil
150 blogs / day 50M Widget
Impressions / month
7.000 posts / day
6. Scaling is a process
complicated and painful!
Its impossible to predict with accuracy
There are hidden bottlenecks
Sometimes you need to step back
Sometimes you need to re-factor everything
There are no “silver-bullets”
Complexity will grow with you
7. Growth never happens in a
single dimension
Traffic : more users, more transactions, more downloads...
Size : database, memory, bandwidth...
Complexity : algorithms, architecture, infrastructure...
Organization : team, communication, processes...
Business : models, partners, suppliers...
Mostly the issues grow faster than linearly!!!
58. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
ActiveDNA (REST)
DNA DNA DNA
Credentials Profile Avatars
(PHP) (PHP) (PHP)
ActiveDNA (REST)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
59. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
ActiveDNA (REST)
DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph
(PHP) (PHP) (PHP) (C++) (Python)
ActiveDNA (REST)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
60. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
ActiveDNA (REST)
DNA DNA DNA DNA DNA DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph Messaging Messaging Messaging Messaging Messaging
(PHP) (PHP) (PHP) (C++) (Python) (Erlang) (Erlang) (Erlang) (Erlang) (Erlang)
ActiveDNA (REST)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
61. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
ActiveDNA (REST)
load balancing
DNA DNA DNA DNA DNA DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph Messaging Messaging Messaging Messaging Messaging
(PHP) (PHP) (PHP) (C++) (Python) (Erlang) (Erlang) (Erlang) (Erlang) (Erlang)
ActiveDNA (REST)
load balancing
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
62. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
ActiveDNA (REST)
load balancing
DNA DNA DNA DNA DNA DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph Messaging Messaging Messaging Messaging Messaging
(PHP) (PHP) (PHP) (C++) (Python) (Erlang) (Erlang) (Erlang) (Erlang) (Erlang)
ActiveDNA (REST)
load balancing
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
63. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
ActiveDNA (REST)
load balancing
DNA DNA DNA DNA DNA DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph Messaging Messaging Messaging Messaging Messaging
(PHP) (PHP) (PHP) (C++) (Python) (Erlang) (Erlang) (Erlang) (Erlang) (Erlang)
ActiveDNA (REST)
load balancing
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
64. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
humm...
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
PHP... ActiveDNA (REST)
WTF??!! load balancing
DNA DNA DNA DNA DNA DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph Messaging Messaging Messaging Messaging Messaging
Credentials
(PHP) (PHP) (PHP) (C++) (Python) (Erlang) (Erlang) (Erlang) (Erlang) (Erlang)
(PHP)
ActiveDNA (REST)
load balancing
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
65. load balancing load balancing
mongrels mongrels mongrels sinatra mongrels mongrels mongrels mongrels
humm...
mongrels mongrels mongrels mongrels mongrels mongrels mongrels mongrels
PHP... ActiveDNA (REST)
WTF??!! load balancing
DNA DNA DNA DNA DNA DNA DNA DNA DNA DNA
Credentials Profile Avatars Scoring SocialGraph Messaging Messaging Messaging Messaging Messaging
(PHP) (PHP) (PHP) (C++) (Python) (Erlang) (Erlang) (Erlang) (Erlang) (Erlang)
ActiveDNA (REST)
load balancing
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
mysql mysql mysql
(master) (slave) (slave)
Indexer Indexer
Robot Robot
memcached memcached memcached
(Search) (Search)
66. Active DNA
The problem : time-to-market & development time
The solution : ready-for-use SWAT DNA components
The layer : Active DNA, a lightweight, RESTful, SWAT
DNA client API translating REST calls into fully realized
Ruby objects
Pros
Complete abstraction of the component’s complexity.
It’s just Ruby, very small learning curve for devs.
67. Active DNA
Application
REST API
SWAT DNA Component
68. Active DNA
Application
REST API
SWAT DNA Component
69. Active DNA
Application
REST Client
REST API
SWAT DNA Component
70. Active DNA
Application
Query Runner
REST Client
REST API
SWAT DNA Component
71. Active DNA
Application
Query Runner Query Translator
REST Client
REST API
SWAT DNA Component
72. Active DNA
Application
Component Layer
Query Runner Query Translator
REST Client
REST API
SWAT DNA Component
73. class ActiveDNA::ProfileEntry < ActiveDNA::Base
uses :profile
key :key, :suffix => :entry
depends_on :profile_id
attributes :type, :group, :level, :value => :json, :is_unique => :boolean
validates_presence_of :value, :message => quot;The value must be informedquot;
validates_presence_of :profile_id, :message => quot;Profile must be informedquot;
validates_presence_of :group, :message => quot;The group must be informedquot;
validates_inclusion_of :type,
:in => %w(boolean email float general guid integer url),
:message => quot;The type must be informedquot;
end
74. class RegistrationController < ApplicationController
def create_credential(profile_id)
returning credential = ActiveDNA::Credential.new do
credential.credential_identifier = self.identifier
credential.credential_type = self.identifier_type ||
IDENTIFIER_TYPE_EMAIL
credential.credential_status = quot;enabledquot;
credential.user_id = Profile.find(:first, :conditions => { :profile_id
=> profile_id }).user_id
credential.password = self.password if self.identifier_type ==
IDENTIFIER_TYPE_EMAIL
credential.save!
end
end
end
75. Technical Learnings
GIT
Distributed version control that works
No branches on SVN to dozens of branches on Git
Fine-grained control of revisions
Fewer conflicts
A branch per story
83. Test all the f**king time!!!
TDD/BDD is a muscle, you need to exercise it
Without coverage, there is no understanding
Knowledge socialization
Continuous integration
84. Continuous Integration
Dedicated integration environment with automated
integration and tests execution with the most up to
dated code base.
Automated Reporting
Test Cases Results
Tests Coverage
104. Looking Forward
Queues are the new black : starling & others
Asynchronous is the newer black : workling & others
Erlang + Cloud = massive continuous computing space
Distributed objects : Distributed search
Predictive caching
Algorithms & Computer Science : latent semantics,
vector space model, etc
105. Three Lines on Scrum
Fastest way to go to nowhere
Scrum without a present Product Owner
Slowest way to go to somewhere
Scrum without a dedicated Scrum Master
Embrace it fully with the best team.