Experience feedback on 10 monthes of happy mongodb usage at fotopedia.
You may also checkout: http://www.slideshare.net/octplane/mongodb-vs-mysql-a-devops-point-of-view
Apache Jackrabbit Oak - Scale your content repository to the cloudRobert Munteanu
Apache Jackrabbit Oak is a content repository which supports the most desired features from both SQL and NoSQL approaches. Some of its key features include ACLs, versioning, efficient blob storage, transactions, structured and unstructured content and multiple query languages.
This talk introduces Oak as a new implementation of the Content Repository API for Java, rewritten from scratch to ensure that it can scale out to support massive content repositories.
You will find out how you can start using Oak now to support use cases as varied as content management, document management, digital asset management or business rule management systems.
Web scraping with BeautifulSoup, LXML, RegEx and ScrapyLITTINRAJAN
Web Scraping Introduction. It will cover cover all the most available libraries and the way they can be handled to scrape our required data. Created by Littin Rajan
How to develop the Standard Libraries of Ruby?Hiroshi SHIBATA
I maintain the RubyGems, Bundler and the standard libraries of the Ruby language. So, I've been extract many of the standard libraries to default gems and GitHub at Ruby 3.0. But the some of libraries still remains in only Ruby repository. I will describe these situation.
Apache Jackrabbit Oak - Scale your content repository to the cloudRobert Munteanu
Apache Jackrabbit Oak is a content repository which supports the most desired features from both SQL and NoSQL approaches. Some of its key features include ACLs, versioning, efficient blob storage, transactions, structured and unstructured content and multiple query languages.
This talk introduces Oak as a new implementation of the Content Repository API for Java, rewritten from scratch to ensure that it can scale out to support massive content repositories.
You will find out how you can start using Oak now to support use cases as varied as content management, document management, digital asset management or business rule management systems.
Web scraping with BeautifulSoup, LXML, RegEx and ScrapyLITTINRAJAN
Web Scraping Introduction. It will cover cover all the most available libraries and the way they can be handled to scrape our required data. Created by Littin Rajan
How to develop the Standard Libraries of Ruby?Hiroshi SHIBATA
I maintain the RubyGems, Bundler and the standard libraries of the Ruby language. So, I've been extract many of the standard libraries to default gems and GitHub at Ruby 3.0. But the some of libraries still remains in only Ruby repository. I will describe these situation.
Productive web applications that run only on the frontendStefan Adolf
Why do we need servers or PaaS or Baas or any Serverless system to run applications anyway? The decentralized filesystem IPFS allows to connect any client (even plain browsers) to a huge swarm and share content between them, effectively avoiding censorship, server outages or reliance on any centralized system. This introductory talk contains some philosophical fundamentals, a very basic introduction to ipfs commands, a short demo on IPNS, a mention of automated deployments on fleek and a demo setup of a simple decentralized, public OrbitDB. All links inside the slide deck.
2 hour session where I cover what is Apache Camel, latest news on the upcoming Camel v3, and then the main topic of the talk is the new Camel K sub-project for running integrations natively on the cloud with kubernetes. The last part of the talk is about running Camel with GraalVM / Quarkus to archive native compiled binaries that has impressive startup and footprint.
VelocityConf EU 2013 - Turbocharge your mobile web apps by using offline Jan Jongboom
Presentation I gave on November 14, 2013 during VelocityConf EU 2013. Offline is awesome. Overview of packaged apps, appcache, service workers, caching AJAX requests, two-way data syncing, etc.
Productive web applications that run only on the frontendStefan Adolf
Why do we need servers or PaaS or Baas or any Serverless system to run applications anyway? The decentralized filesystem IPFS allows to connect any client (even plain browsers) to a huge swarm and share content between them, effectively avoiding censorship, server outages or reliance on any centralized system. This introductory talk contains some philosophical fundamentals, a very basic introduction to ipfs commands, a short demo on IPNS, a mention of automated deployments on fleek and a demo setup of a simple decentralized, public OrbitDB. All links inside the slide deck.
2 hour session where I cover what is Apache Camel, latest news on the upcoming Camel v3, and then the main topic of the talk is the new Camel K sub-project for running integrations natively on the cloud with kubernetes. The last part of the talk is about running Camel with GraalVM / Quarkus to archive native compiled binaries that has impressive startup and footprint.
VelocityConf EU 2013 - Turbocharge your mobile web apps by using offline Jan Jongboom
Presentation I gave on November 14, 2013 during VelocityConf EU 2013. Offline is awesome. Overview of packaged apps, appcache, service workers, caching AJAX requests, two-way data syncing, etc.
My talking points for the presentation on optimization of modern web applications. It is a huge topic, and I concentrated mostly on technical aspects of it.
My talk at ScaleConf 2017 in Cape Town on some tips and tactics for scaling WordPress, with reference to WordPress.com and the container-based VIP Go platform.
Video of my talk is here: https://www.youtube.com/watch?v=cs0DcY80spw
JavaScript news in December 2017 edition:
+ Kill Internet Explorer
+ Google Chrome 63 Released
+ How to Cancel Your Promise
+ Parcel
+ Turbo
+ Average Page Load Times for 2018
+ Vulnerable JavaScript Libraries
+ New theming API in Firefox
+ Bower is dead
+ Extension Tree Style Tab: Reborn
+ React v16.2.0
+ WebStorm 2017.3.1
+ The Best JavaScript and CSS Libraries for 2017
Ontopic's presentation on Storm-Crawler for ApacheCon North America 2015.
Storm-Crawler is a next-generation web crawler that discovers and processes content on the Web, in real-time with low latency. This open source (and Apache Licensed) project is built on the Apache Storm framework, which provides a great foundation for a distributed real-time web crawler.
Isomorphic JavaScript with Node, WebPack, and ReactTyler Peterson
Writing code that can run on the server and the client is becoming more and more attractive. Node made server-side JavaScript popular. Browserify and WebPack make porting code between client and server easy. React takes another step toward making UI code portable between server and browser.
PlayNode Conference 2012 (NodeConf 2012 in Korea) 에서 발표한 node.js 기반의 정적 페이지 블로그 엔진 하루프레스
하루프레스의 기능적인 특징, 철학 그리고 기술적인 특징을 통해 알아보는 개발 노하우에 대한 내용을 닮고 있습니다.
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
Slides of the talk about Angular, at the "Matinée Pour Comprendre" organized by Linagora the 22/03/17.
Discover what's new in Angular, why is it more than just a framework (platform) and how to manage your data with RxJs and Redux.
Slides of the presentation I gave at the Dutch Container Day (https://containerday.nl) about how containers were introduced at bol.com and what we're doing with them.
Client Side Performance for Back End Developers - Cambridge .NET User Group -...Bart Read
Updated version of my client side performance talk, which is based around Google's RAIL user-centric performance model. This is very much aimed towards back-end, or full stack developers more used to working behind the scenes, who may be less comfortable with JavaScript and other front-end performance concerns.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
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.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
3. Fotopedia
• Fotonauts, an American/French company
• Photo — Encyclopedia
• Heavily interconnected system : flickr,
facebook, wikipedia, picassa, twitter…
• MongoDB in production since last october
• main store lives in MySQL… for now
15. Hadoop HBase ?
• as we were already using Hadoop Map/
Reduce for preparation
• bulk load was just emerging at that time,
requiring to code against HBase private APIs,
generate the data in an ad-hoc binary
format, ...
17. Problem, rerephrased
Load ~12GB into any K/V store
in hours, not days
without wasting a week on development
and another week on setup
and several months on tuning
please ?
18. MongoDB attempt
• Transforming the tabular data into a JSON
form : about half an hour or code, 45 minutes
of hadoop parallel processing
• setup mongo server : 15 minutes
• mongoimport : 3 minutes to start it, 90 minutes
to run
• plug RoR app on mongo : minutes
• prototype was done in a day
19. Batch Synchronous
Download
~ 5.7GB gzip
Geo
Redirect
Backlink Ruby on Rails
Related
~12GB, 12M docs
20. Hot swap ?
• Indexing was locking everything.
• Just run two instances of MongoDB.
• One instance is servicing the web app
• One instance is asleep or loading data
• One third instance knows the status of the two
instances.
21. We loved:
• JSON import format
• efficiency of mongoimport
• simple and flexible installation
• just one cumbersome dependency
• easy to start (we use runit)
• easy to have several instances on one box
22. Second contact
• itʼs just all about graphes, anyway.
• wikilinks
• people following people
• related community albums
• and soon, interlanguage links
23.
24. all about graphes...
• ... and itʼs also all about cache.
• The application needs to “feel” faster, letʼs
cache more.
• The application needs to “feel” right, so letʼs
cache less.
• or — big sigh — invalidate.
25.
26. Page fragment caching
photo by Mykl Roventine on Flickr
Nginx SSI
photo by Aires Dos Santos
Varnish HTTP cache
RoR application photo by Leslie Chatfield on Flickr
27. Haiku ?
There are only two hard things
in Computer Science:
cache invalidation and naming things.
Phil Karlton
28. Naming things
• REST have been a strong design principle in
fotopedia since the early days, and the efforts
are paying.
30. Invalidating
• Rest allows us to invalidate by URL prefix.
• When the Paris album changes, we have to
invalidate /en/Paris.*
31. Varnish invalidation
• Varnish built-in regexp based invalidation is
not designed for intensive, fine grained
invalidation.
• We need to invalidate URLs individually.
34. Waw.
• This time we are actually using MongoDB as a
BTree. Impressive.
• The metacache has been running fine for
several months, and we want to go further.
35. Invalidate less
• We need to be more specific as to what we
invalidate.
• Today, if somebody votes on a photo in the
Paris album, we invalidate all /en/Paris prefix,
and most of it is unchanged.
• We will move towards a more clever
metacache.
36. Metacache reloaded
• Pub/Sub metacache
• Have the backend send a specific header to
be caught by the metacache-feeder, conaining
“subscribe” message.
• This header will be a JSON document, to be
pushed to the metacache.
• The purge commands will be mongo search
queries.
38. when somebody votes
{ url:/en/Paris.*, observe:photos }
when the summary changes
{ url:/en/Paris.*, observe:summary }
when the a new link is created
{ url:/en/Paris.*, observe:links }
{url:/en/Paris, observe:[summary,links]}
{url:/en/Paris/fragment/left_col, observe: [cover]}
{url:/en/Paris/photos.json?skip=0&number=20,
observe:[photos]}
{url:/en/Paris/photos.json?skip=0&number=20,
observe:[photos]}
39. Other uses cases
• Timeline activities storage: just one more BTree
usage.
• Moderation workflow data: tiny dataset, but more
complex queries, map/reduce.
• Suspended experimentation around log
collection and analysis
40. Current situation
• Mysql: main data store
• CouchDB: old timelines (+ chef)
• MongoDB: metacache, wikipedia, moderation,
new timelines
• Redis: raw data cache for counters, recent
activity (+ resque)
41. What about the main store ?
• albums are good fit for documents
• votes and score may be more tricky
• recent introduction of resque
42. In short
• Simple, fast.
• Hackable: in a language most can read.
• Clear roadmap.
• Very helpful and efficient team.
• Designed with application developer needs in
mind.