Ruby is a wonderful language for rapid development, it is easy to learn, we have wonderful frameworks, an active and dynamic community. But when it comes to concurrency Ruby is plagued with problems, controversies and urban legends. A lot of people would know about green threads in Ruby, GIL and its inherent limitations. But that it only one part of the big picture. Ruby offers much more than threads to helps us with concurrency.
This presentation explores other options of writing highly concurrent applications in Ruby and options available in it. We cover topics ranging from Actor like message passing concurrency in Ruby, dataflow concurrency of how we can coordinate across different threads, Event driven methods, coroutine based concurrency which never blocks ;) and finally Software Transactional Memory. We look at lots of code, some serious looking yet colorful performance graphs comparisons, and conditions at which each of these forms are concurrency are effective and ineffective.
"Première découverte de Swoole ?" - Comme chacun le sait PHP est le meilleur langage qui soit ;) Cependant, il a été créé pour un contexte web, c’est-à-dire des processus les plus courts et légers possibles. Swoole est une solution pour étendre les possibilités de notre langage favori.
"Première découverte de Swoole ?" - Comme chacun le sait PHP est le meilleur langage qui soit ;) Cependant, il a été créé pour un contexte web, c’est-à-dire des processus les plus courts et légers possibles. Swoole est une solution pour étendre les possibilités de notre langage favori.
How to make your ruby code faster with multithreadingSun-Li Beatteay
Often times, on the job or in interviews, you will be asked to write code that is fast and can handle a large amount of traffic or data. Developers have many tools at their disposal to create performant code and multi-threading is one of them. In Ruby, this can be easily achieved with the Thread class.
This talk will dive into the details of multithreading and concurrency/parallelism. I will show examples of when and how it can be used and common pitfalls to avoid. I will also finish with a demo that is inspired by a recent experience where I had to create a performant API for our user base at DigitalOcean.
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
Metascala is a tiny metacircular Java Virtual Machine (JVM) written in the Scala programming language. Metascala is barely 3000 lines of Scala, and is complete enough that it is able to interpret itself metacircularly. Being written in Scala and compiled to Java bytecode, the Metascala JVM requires a host JVM in order to run.
The goal of Metascala is to create a platform to experiment with the JVM: a 3000 line JVM written in Scala is probably much more approachable than the 1,000,000 lines of C/C++ which make up HotSpot, the standard implementation, and more amenable to implementing fun features like continuations, isolates or value classes. The 3000 lines of code gives you:
The bytecode interpreter, together with all the run-time data structures
A stack-machine to SSA register-machine bytecode translator
A custom heap, complete with a stop-the-world, copying garbage collector
Implementations of parts of the JVM's native interface
Although it is far from a complete implementation, Metascala already provides the ability to run untrusted bytecode securely (albeit slowly), since every operation which could potentially cause harm (including memory allocations and CPU usage) is virtualized and can be controlled. Ongoing work includes tightening of the security guarantees, improving compatibility and increasing performance.
ENJOYIN
A basic Introduction to Rust. Rust is a modern system programming language which offering different approach than other existing new modern system programming languages to deal with: memory safety without GC, abstraction without overhead, and concurrency without data races.
A main selling point of Rust is that it guarantees, at compile time, that your application will be safe from dereferencing null or dangling pointers (a.k.a segmentation fault). Rust also makes it difficult to leak memory, but it is not a guarantee. In this talk we will be focusing on the language features, that helps Rust to ensure memory safety without needing for a garbage collector
Rust is the new kid on the block. It's a system programming language that is blazingly fast and offers powerful high-level abstractions better known from dynamic languages like Ruby or Python. Rust offers memory safety without a Garbage Collector and makes low-level programming easier and more secure. I will give an introductory talk about Rust and show some of its nicest features.
HelsinkiJS - Clojurescript for Javascript DevelopersJuho Teperi
Web development is nowadays dominated by many compile to JS languages. ClojureScript is one of such languages. This talk will give overview of ClojureScript ecosystem.
Typically, Python software engineers don’t necessarily care about how the language handles memory. However, sometimes it’s very useful to understand what’s going on under the hood. In this talk, I’ll give you a brief overview of how Python manages memory and some useful tips and tricks that you may not already know.
My presentation may be the last. So I need to speak the development history.
I have been developed Vim plugins over 10 years. I talk about my plugins development history and current development thoughts.
A simple explanation of basic principles of Distributed Programming with NodeJS. The CAP Theorem is fully explained, with working code the you can try yourself!
How to make your ruby code faster with multithreadingSun-Li Beatteay
Often times, on the job or in interviews, you will be asked to write code that is fast and can handle a large amount of traffic or data. Developers have many tools at their disposal to create performant code and multi-threading is one of them. In Ruby, this can be easily achieved with the Thread class.
This talk will dive into the details of multithreading and concurrency/parallelism. I will show examples of when and how it can be used and common pitfalls to avoid. I will also finish with a demo that is inspired by a recent experience where I had to create a performant API for our user base at DigitalOcean.
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
Metascala is a tiny metacircular Java Virtual Machine (JVM) written in the Scala programming language. Metascala is barely 3000 lines of Scala, and is complete enough that it is able to interpret itself metacircularly. Being written in Scala and compiled to Java bytecode, the Metascala JVM requires a host JVM in order to run.
The goal of Metascala is to create a platform to experiment with the JVM: a 3000 line JVM written in Scala is probably much more approachable than the 1,000,000 lines of C/C++ which make up HotSpot, the standard implementation, and more amenable to implementing fun features like continuations, isolates or value classes. The 3000 lines of code gives you:
The bytecode interpreter, together with all the run-time data structures
A stack-machine to SSA register-machine bytecode translator
A custom heap, complete with a stop-the-world, copying garbage collector
Implementations of parts of the JVM's native interface
Although it is far from a complete implementation, Metascala already provides the ability to run untrusted bytecode securely (albeit slowly), since every operation which could potentially cause harm (including memory allocations and CPU usage) is virtualized and can be controlled. Ongoing work includes tightening of the security guarantees, improving compatibility and increasing performance.
ENJOYIN
A basic Introduction to Rust. Rust is a modern system programming language which offering different approach than other existing new modern system programming languages to deal with: memory safety without GC, abstraction without overhead, and concurrency without data races.
A main selling point of Rust is that it guarantees, at compile time, that your application will be safe from dereferencing null or dangling pointers (a.k.a segmentation fault). Rust also makes it difficult to leak memory, but it is not a guarantee. In this talk we will be focusing on the language features, that helps Rust to ensure memory safety without needing for a garbage collector
Rust is the new kid on the block. It's a system programming language that is blazingly fast and offers powerful high-level abstractions better known from dynamic languages like Ruby or Python. Rust offers memory safety without a Garbage Collector and makes low-level programming easier and more secure. I will give an introductory talk about Rust and show some of its nicest features.
HelsinkiJS - Clojurescript for Javascript DevelopersJuho Teperi
Web development is nowadays dominated by many compile to JS languages. ClojureScript is one of such languages. This talk will give overview of ClojureScript ecosystem.
Typically, Python software engineers don’t necessarily care about how the language handles memory. However, sometimes it’s very useful to understand what’s going on under the hood. In this talk, I’ll give you a brief overview of how Python manages memory and some useful tips and tricks that you may not already know.
My presentation may be the last. So I need to speak the development history.
I have been developed Vim plugins over 10 years. I talk about my plugins development history and current development thoughts.
A simple explanation of basic principles of Distributed Programming with NodeJS. The CAP Theorem is fully explained, with working code the you can try yourself!
Concurrent Programming with Ruby and Tuple Spacesluccastera
Ruby threads are limited due to the Global Interpreter Lock. Therefore, the best way to do parallel computing with Ruby is to use multiple processes but how do you get these processes to communicate?
This session will provide some strategies for handling multi-process communication in Ruby, with a focus on the use of TupleSpaces. A TupleSpace provides a repository of tuples that can be accessed concurrently to implement a Blackboard system. Ruby ships with a built-in implementation of a TupleSpace with the Rinda library.
During the session, Luc will demonstrate how to use Rinda and will highlight other libraries/projects that facilitate interprocess communication and parallel computing in Ruby.
Looming Marvelous - Virtual Threads in Java Javaland.pdfjexp
Nowadays we have 2 options for concurrency in Java:
* simple, synchronous, blocking code with limited scalability that tracks well linearly at runtime, or.
* complex, asynchronous libraries with high scalability that are harder to handle.
Project Loom aims to bring together the best aspects of these two approaches and make them available to developers.
In the talk, I'll briefly cover the history and challenges of concurrency in Java before we dive into Loom's approaches and do some behind-the-scenes implementation. To manage so many threads reasonably needs some structure - for this there are proposals for "Structured Concurrency" which we will also look at. Some examples and comparisons to test Loom will round up the talk.
Project Loom is included in Java 19 and 20 as a preview feature, it can already be tested how well it works with our applications and libraries.
Spoiler: Pretty good.
Performance optimization techniques for Java codeAttila Balazs
The presentation covers the the basics of performance optimizations for real-world Java code. It starts with a theoretical overview of the concepts followed by several live demos
showing how performance bottlenecks can be diagnosed and eliminated. The demos include some non-trivial multi-threaded examples
inspired by real-world applications.
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionJérôme Petazzoni
Docker, the Open Source container Engine, lets you build, ship and run, any app, anywhere.
This is the presentation which was shown in December 2014 for the last stop of the "Tour de France" in Bordeaux. It is slightly different from the presentation which was shown in the other cities (http://www.slideshare.net/jpetazzo/introduction-to-docker-december-2014-tour-de-france-edition), and includes a detailed history of dotCloud and Docker and a few other differences.
Special thanks to https://twitter.com/LilliJane and https://twitter.com/zirkome, who gave me the necessary motivation to put together this slightly different presentation, since they had already seen the other presentation in Paris :-)
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...Yandex
Lightweight virtualization", also called "OS-level virtualization", is not new. On Linux it evolved from VServer to OpenVZ, and, more recently, to Linux Containers (LXC). It is not Linux-specific; on FreeBSD it's called "Jails", while on Solaris it’s "Zones". Some of those have been available for a decade and are widely used to provide VPS (Virtual Private Servers), cheaper alternatives to virtual machines or physical servers. But containers have other purposes and are increasingly popular as the core components of public and private Platform-as-a-Service (PAAS), among others.
Just like a virtual machine, a Linux Container can run (almost) anywhere. But containers have many advantages over VMs: they are lightweight and easier to manage. After operating a large-scale PAAS for a few years, dotCloud realized that with those advantages, containers could become the perfect format for software delivery, since that is how dotCloud delivers from their build system to their hosts. To make it happen everywhere, dotCloud open-sourced Docker, the next generation of the containers engine powering its PAAS. Docker has been extremely successful so far, being adopted by many projects in various fields: PAAS, of course, but also continuous integration, testing, and more.
Internal presentation of Docker, Lightweight Virtualization, and linux Containers; at Spotify NYC offices, featuring engineers from Yandex, LinkedIn, Criteo, and NASA!
Guardian News and Media (GNM) is at the forefront of the digital
revolution. Its award winning network guardian.co.uk is the most
popular news website in the UK. The company recognized that
growing demands from users, advertisers and editorial staff were
beginning to strain the capability of is technology.
Partnering with ThoughtWorks, The Guardian developed a new
platform, taking advantage of innovative technology and adopting
new ways of working as part of the process.
Business Critical Insurance
Broker Management Solution
ThoughtWorks helped an innovative insurance industry solutions
provider to develop a highly complex broker management application
– agencyPlus. Built using Agile best practices across a distributed
65-person team, agencyPlus is an incredibly functionally rich, flexible
and scalable insurance broker solution.
Preparing Grameen’s Systems For Tomorrow
The Grameen Foundation wanted to ensure it had the optimal
reporting platform for its open source application system, Mifos,
which provides a wide range of processing services to microfinance
institutions globally. ThoughtWorks stepped in to help ensure that
Mifos had a reporting component that would allow maximum
customization, performance and scalability.
Empowering Dealers With A New Loan Origination System:
When this financial services client projected its lease and loan origination volumes to
double due to expansion into a new product line, it turned to ThoughtWorks. Utilizing
cutting-edge technology, ThoughtWorks created an origination system equipped to process
the higher volumes, improve transaction turnaround time and deliver new features to the dealer sales channel.
Ruby is a wonderful language for rapid development, it is easy to learn, we have wonderful frameworks, an active and dynamic community. But when it comes to concurrency Ruby is plagued with problems, controversies and urban legends. A lot of people would know about green threads in Ruby, GIL and its inherent limitations. But that it only one part of the big picture. Ruby offers much more than threads to helps us with concurrency.
This presentation explores other options of writing highly concurrent applications in Ruby and options available in it. We cover topics ranging from Actor like message passing concurrency in Ruby, dataflow concurrency of how we can coordinate across different threads, Event driven methods, coroutine based concurrency which never blocks ;) and finally Software Transactional Memory. We look at lots of code, some serious looking yet colorful performance graphs comparisons, and conditions at which each of these forms are concurrency are effective and ineffective.
Would you like to know how to build an application server from scratch? This talk would provide an insight to the thought process and the key decisions made while building WebROaR from grounds up using C & Ruby.
What enables this server to deliver high performance and also offer a rich bouquet of integrated features like Analytics, Exception Notifications etc? If gaining knowledge about design of a good software product interests you, do join us for this interactive session.
Ruby on Rails versus Django - A newbie Web Developer's Perspective -Shreyank...ThoughtWorks
As I have been developing Web Applications for just more than an year now, I can safely introduce myself as a Newbie Web Developer. A year ago, when I started out, my first choice when it came to building Web Apps was Ruby on Rails. The reason was the fascination. There was a steep learning curve from my Python background, but it was all worth it.
Today, working in the industry as a Web Programmer, I program applications in both Ruby on Rails and Django. And during my coffee-breaks, when I sit down and retrospect, I start comparing. And when I compare, I come up with advantages and disadvantages of both the web frameworks.
Both Ruby on Rails and Django are no doubt (in my opinion) the two best Web Frameworks in existence. Both have their own bits of Superiority and Inferiority when compared with the other. My talk aims to put these bits in front of the audience and have a little discussion on the areas of improvements.
Nick Sieger-Exploring Rails 3 Through Choices ThoughtWorks
One of the most eagerly anticipated aspects of the fast-approaching Rails 3 release is its inherent modularity, and how that modularity gives the application developer more choice. We'll start with a tour of some of the headlining differences between Rails 2 and 3, and then put Rails 3's internal architecture to the test by demonstrating how to plug in some non-standard standard components, including an example of how to wire in a Java library using JRuby.
Present and Future of Programming Languages - ola biniThoughtWorks
Programming languages are at the core of our profession. But we don't always give them as much credence as they deserve. The strength of Ruby lies in its heritage from a number of different languages, and a look at the history leading up to Ruby might reveal what lies in store for the future. At the moment a lot of attention is spent looking at programming languages and developers are realizing that your language is an important tool. I will talk a little bit about why languages matter, why you should know several, and what the future of languages might look like.
The ruby on rails i18n core api-Neeraj KumarThoughtWorks
Across the world, natural or regional languages differ in many ways, (e.g. in pluralization rules). Therefore, Internationalization became a complex problem and it is hard to provide tools for solving all problems at once. Sven Fuchs focused to provide an extensible framework and easy to use gem that is Ruby I18n (internationalization) gem.
The Ruby I18n gem is mainly designed for translating your application to a single custom language other than English or for providing multi-language support for your ruby on rails application. The pivotal point of the new I18n api in Rails is the I18n module which is provided as a gem and shipped with Rails (starting from Rails 2.2) in ActiveSupport’s vendor directory.
Therefore, during my presentation I will try to go over some of the advanced optional features and architecture of I18n gem. Besides, I will also try to cover begin with I18n gem, setup, benefits, the work flow, what's in? and what's not? Etc.
My presentation will be on the topic of MacRuby. MacRuby is relevent to Ruby developers because it allows us to dive into the world of Mac OS X development using Ruby 1.9. Unlike RubyCocoa, where we would need to use both Ruby and Objective-C, MacRuby's API allows us to just use Ruby.
I will go into a brief history of MacRuby and explain just why it is important to us as Ruby developers. I will then do some live coding of a quick desktop application using MacRuby. Attendees will be able to take away from the presentation a good understanding of MacRuby and the passion to develop something of their own using it.
Project Fedena and Why Ruby on Rails - ArvindArvind G SThoughtWorks
Fedena is an open source school management software based on Ruby on Rails framework. It is a web 2.0 web application being developed by Foradian Technologies. Fedena is currently in closed beta. Visit http://www.fedena.com/ or http://en.wikipedia.org/wiki/Fedena more info.
The first part is about the birth of fedena. And why we chose Ruby on Rails for its development. My team was not experienced in Ruby on Rails. Actually they had no experience on practical programming skills other than the textbook knowledge on C and C++ that they get from and Electronics and Communication degree. They are now experienced programmers in ROR and are actively involved in various opensource ROR projects.
The second part is about our experience on ROR and the advantages and disadvantages we felt while coding and deploying. The third part of the talk is about why we are giving fedena as opensource to the community. The business model of opensource software.
Glass fish rubyconf-india-2010-Arun gupta ThoughtWorks
GlassFish is an open source and production-quality application server with full enterprise support from Sun Microsystems. In addition to traditional Java EE applications, it allows applications developed using different Ruby frameworks to be easily deployed as well. The choice of application frameworks is also available for Groovy/Grails and Python/Django apps and can be easily extended further.
This talk will demonstrate how GlassFish provides an extensible framework that allow applications created using different Ruby frameworks can be easily deployed. The attendees will learn the different deployment models available in GlassFish through live coding examples and several customer use cases of Rails deployments on GlassFish. The talk will show how Rails, Sinatra, Merb and any Rack-based framework can be easily deployed on GlassFish. It demonstrates how popular Rails applications can be easily deployed on GlassFish without any modification, and shows how GlassFish Gem can be used as an effective alternative to WEBrick, Mongrel, and other traditional deployment models.
It also explains the inner workings of GlassFish so that developers understand what’s happening under the hood. It will explain how standard Java monitoring technologies like JMX can be used to monitor/manage these applications.
The session also demonstrates how NetBeans provides a comprehensive IDE for developing, running, and debugging a Rails application directly on GlassFish – all without using any Java code.
Storage and computation is getting cheaper AND easily accessible on demand in the cloud. We now collect and store some really large data sets Eg: user activity logs, genome sequencing, sensory data etc. Hadoop and the ecosystem of projects built around it present simple and easy to use tools for storing and analyzing such large data collections on commodity hardware.
Topics Covered
* The Hadoop architecture.
* Thinking in MapReduce.
* Run some sample MapReduce Jobs (using Hadoop Streaming).
* Introduce PigLatin, a easy to use data processing language.
Speaker Profile: Mahesh Reddy is an Entrepreneur, chasing dreams. Works on large scale crawl and extraction of structured data from the web. He is a graduate frm IIT Kanpur(2000-05) and previously worked at Yahoo! Labs as Research Engineer/Tech Lead on Search and Advertising products.
iPhone, the next generation mobile platform has revolutionized the way one uses phones as it's a combination of a phone, an iPod and an internet device. The iPhone is a richer platform for application delivery due to an exponential growth and wide spread usage.
The critical factor, for a successful mobile application is the end user experience: application usability, reliability, and performance which the iPhone delivers in style. There are thousands of applications created by hundreds of developers for the iPhone. This kind of innovation helps you start developing the next generation of innovative mobile applications now.
Topics Covered
* Current State of iPhone Development
* Fast Track to Objective C
* Fast Track to XCode and Interface Builder
* Getting Productive using OR-Framework, Testing, Serialization
Munjal Budhabhatti is a senior solution developer at ThoughtWorks. He possesses over 10 years of experience in designing large-scale enterprise applications and has implemented innovative solutions for some of the largest microfinance, insurance and financial organizations. He loves writing well-designed enterprise applications using Agile processes. His article on "Test-Driven Development and Continuous Integration for Mobile Applications" was recently published in the Microsoft Architecture Journal.
Simplicity, ease of use, clean syntax and clear semantics are the characteristics of a good DSL that enable the users to focus on the problem. It is non-trivial to define, develop and maintain a DSL, especially using traditional compiler techniques. The Ruby programming language solves this issue to a certain extent.
Topics Covered
* Fundamentals of DSLs.
* Introduction of Ruby features for writing DSLs.
* Writing a DSL - The speakers' experience, with examples.
* Challenges and Issues.
Speaker Profiles:
Harshal Hayatnagarkar is a researcher at Tata Research Development and Design Centre, Pune (a division of TCS) with many years of experience in writing large-scale trading systems, DSLs and high performance machine learning systems. Currently he is writing a DSL for information visualization using Ruby.
Rohan Kini: is a Senior Developer at ThoughtWorks. He has been working with Ruby since 2005 on one of the earliest Ruby projects in India. He specializes in development of large-scale, web-based applications and scripting languages.
Cloud Computing: A New Computing Paradigm
Welcome to an interactive Webinar on Cloud Computing which has brought about a new approach to developing, deploying and managing applications at scale. With its unique and efficient on-demand and elastic capabilities it can level the playing field for companies from start-ups to large corporations.
Speaker Profile: Viswanathan K (Vish) was most recently VP of Engineering and CIO at Yahoo! India R&D. He has over 20 years experience in the IT industry in Internet, Brokerage, Financial Services and Telecom verticals. About 14 years of his professional career was spent in the US working for large multinationals.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
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.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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
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.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
6. So what do we have in hand?
● Threads – The Java hangover
● Fibers – Red headed cousin of threads
● Actors – Stylish but effective
● Reactor – He will do all the work...
● Dataflow – The forgotten one..
● STM – Remember ATM
● The Nirvana
7. A folk definition of insanity is to do the
same thing over and over again and to
expect the results to be different. By this
definition, we in fact require that
programmers of multithreaded systems
be insane
- The Problem with Threads
Edward Lee
10. Fibers
● New kid in the block from Ruby 1.9
● Green threads with cooperatively
scheduler
● Can give up CPU control to other fiber
when needed.
● Based on Coroutines – Like python
generators but can yield to other
coroutines
● Think NeverBlock...
13. EventMachine
● Based on python Twisted
● Reactor sits in the middle
● IOC pattern – Not many get used to it
● Defer long running process
● Support for lot of protocols and very
active development
● Try my em-couchdb :)
(http://github.com/saivenkat/em-
couchdb)
15. Actors
● Message passing concurrency
● No first class support in Ruby
● Revactor is good but we had problems
with it
● If Jruby, lots of Java Actor framework
available like Jetlang.
● Jruby + Jetlang - http://bit.ly/ahXh6j
17. Software Transactional
Memory
● Similar to database transactions but
inmemory (ACIDXX)
● Unfortunately again no first class
support
● STM library by MentalGuy -
http://bit.ly/c7Mxah
● In Jruby harness clojure's infrastructure
– Ruby objects as refs.
http://bit.ly/d6vpuP
20. Coordination
● How do we coordinate independent
units of execution?
● Dataflow – Forgotten paradigm
● Other methods – May be a big heavy
weight suitable when multi processing
● Tuplespace, Queues (RabbitMq or
beanstalk)
22. Nirvana
● Polyglotism – Let the languages which
excel in concurrency do the job
● Make Ruby talk with Clojure, Erlang,
Haskell, node.js...
● Lots of ways. VM level support, external
infrastructure.
23. Sai Venkat
github.com/saivenkat
@sai_venkat
http://developer-in-test.blogspot.com
HariKrishnan
github.com/harikrishnan83
@harikrishnan83
http://harikrishnan83.wordpress.com
24. All images used are attributed to the
awesome guys who took them..
Please don't sue us :D