This document discusses how software platform decisions reflect the values of their communities. It outlines many values that platforms may aspire to, such as debuggability, robustness, and stability. However, it notes that platforms must balance these values, and different communities will prioritize certain "core values" over others. The document traces how Joyent's values diverged from those of the node.js community, particularly around priorities like compatibility versus robustness. It argues that values should be clearly defined and notes the challenges that arise when a platform's and organization's values do not align.
Strategie de test à agile tour bordeauxNicolas Fédou
Une stratégie de tests, on sait tous que c’est nécessaire, mais sans forcément savoir à quoi ça ressemble.
Une stratégie de tests est la façon de s’organiser pour montrer qu’une application est de qualité suffisante pour aller en production. Il ne s’agit donc pas d’un inventaire de tests manuels ou automatisés, mais d’un raisonnement avec des choix et des renoncements.
Dans cette présentation nous verrons comment une stratégie de tests vise à optimiser la confiance et les preuves de qualité dans le cadre du développement d’un produit agile.
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...OCTO Technology
Par Christophe Breheret-Girardin (Coach Craft & Formateur @OCTO Technology)
Afin de pallier les problèmes des architectures N-tiers, plusieurs alternatives ont émergé après les années 2000, dont l’architecture Hexagonale et la Clean architecture. Seulement, elles ne sont pas toujours bien comprises : pour expliquer l'une, certains utilisent parfois les termes de l'autre ; d’autres se basent sur des croyances plutôt que sur les publications d'origine. Et si nous comparions ces deux architectures pour lever le doute une fois pour toutes ?
Vidéo Youtube : https://www.youtube.com/watch?v=2Bz_nfx-xTo&list=PLBD8R108T9T4D3mcLiDpT67f9ERg1Hm2r&index=41
Compte-rendu : https://blog.octo.com/architecture-hexagonale-clean-architecture-bonnet-blanc-blanc-bonnet-compte-rendu-du-talk-de-christophe-breheret-girardin-du-comptoir-x-la-duck-conf-2023/
Code Security with GitHub Advanced SecurityLuis Fraile
Move the security to the left during development can have a lot of challenges, as well as some pitfalls. With the tools of GitHub Advanced Security like, Dependabot, Secret Scanning or CodeQL we can start, step by step, security practices to the very first step in our developments.
Strategie de test à agile tour bordeauxNicolas Fédou
Une stratégie de tests, on sait tous que c’est nécessaire, mais sans forcément savoir à quoi ça ressemble.
Une stratégie de tests est la façon de s’organiser pour montrer qu’une application est de qualité suffisante pour aller en production. Il ne s’agit donc pas d’un inventaire de tests manuels ou automatisés, mais d’un raisonnement avec des choix et des renoncements.
Dans cette présentation nous verrons comment une stratégie de tests vise à optimiser la confiance et les preuves de qualité dans le cadre du développement d’un produit agile.
Le Comptoir OCTO - Architecture Hexagonale & Clean architecture : bonnet blan...OCTO Technology
Par Christophe Breheret-Girardin (Coach Craft & Formateur @OCTO Technology)
Afin de pallier les problèmes des architectures N-tiers, plusieurs alternatives ont émergé après les années 2000, dont l’architecture Hexagonale et la Clean architecture. Seulement, elles ne sont pas toujours bien comprises : pour expliquer l'une, certains utilisent parfois les termes de l'autre ; d’autres se basent sur des croyances plutôt que sur les publications d'origine. Et si nous comparions ces deux architectures pour lever le doute une fois pour toutes ?
Vidéo Youtube : https://www.youtube.com/watch?v=2Bz_nfx-xTo&list=PLBD8R108T9T4D3mcLiDpT67f9ERg1Hm2r&index=41
Compte-rendu : https://blog.octo.com/architecture-hexagonale-clean-architecture-bonnet-blanc-blanc-bonnet-compte-rendu-du-talk-de-christophe-breheret-girardin-du-comptoir-x-la-duck-conf-2023/
Code Security with GitHub Advanced SecurityLuis Fraile
Move the security to the left during development can have a lot of challenges, as well as some pitfalls. With the tools of GitHub Advanced Security like, Dependabot, Secret Scanning or CodeQL we can start, step by step, security practices to the very first step in our developments.
Unit Testing contains Concept of Unit Testing, Static Unit Testing, Dynamic Unit Testing, steps for Static Unit Testing, Test Driver, Stub, selection of Data for Unit Testing, etc...
This is the latest version of the State of the DevSecOps presentation, which was given by Stefan Streichsbier, founder of guardrails.io, as the keynote for the Singapore Computer Society - DevSecOps Seminar in Singapore on the 13th January 2020.
Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses **
This Edureka PPT on Top 50 Software Testing Interview Question and Answers will help you to prepare yourself for Software Testing Interviews. It covers questions for beginners, intermediate and experienced professionals.
Below topics are covered in this PPT:
Market Trends in Software Testing
What is Software testing
Top 50 interview questions
1. Beginners level questions
2. Intermediate level questions
3. Advance level questions
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Talk given at ISC2 Secure SDLC event in Austin, TX
The release velocity for our applications is increasing, often leaving security testing behind. In some cases, the security team ends up being the bottleneck. That's bad. In an idyllic world, security testing would happen earlier in the development lifecycle, but lets do one better. Lets do security testing on every code change. Using automation tooling and DevOps practices, this talk will help you tune security testing to your release cadence and more importantly help you deliver more rugged software.
Continuous Integration vs Continuous Delivery vs Continuous Deployment I hope you now get the difference between Continuous Integration, Continuous Delivery and Continuous Deployment. As i mentioned above, these are really an important practices which needs to be implemented to get all the benefits of DevOps.
Its a long journey to understand SCM and utilising all its benefits. Hope you enjoyed our today’s article as well ……
From Technical Debt to Technical HealthDeclan Whelan
Everyone agrees that technical debt is a burden on software innovation that we would rather avoid, and certainly clean up whenever possible. However, in most organizations, people don't prevent technical debt nearly as much as they should, and they don't ever get the time to clean it up. Why, then, if there are clear incentives to deal with technical debt, is it a rampant problem?
In this session, we will focus on how to deal with technical debt on several levels, including the individual developer, the team, the software value stream, and the larger organization. While technical debt may manifest itself in a developer's IDE, the problem starts long before the developer decides to copy and paste some code, or creates an overly-complex and under-documented class. The pressures on teams and individuals to take on more debt than they should come from many sources. Therefore, the solutions to the technical debt problem must extend beyond the team.
WHITE BOX & BLACK BOXTESTING IN DATABASESalman Memon
White box & black box are software testing methods.
Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Verification : is the process to make sure the product satisfies the conditions imposed at the start of the development phase. In other words, to make sure the product behaves the way we want it to.
http://phpexecutor.com
Platform values, Rust, and the implications for system softwarebcantrill
Talk given at Scale By The Bay 2018. Video is at https://www.youtube.com/watch?v=2wZ1pCpJUIM. If you are interested in this talk, you might also be interested in my talk on Platform as a Reflection of Values from Node Summit 2017: https://www.slideshare.net/bcantrill/platform-as-reflection-of-values-joyent-nodejs-and-beyond
DevOps Friendly Doc Publishing for APIs & MicroservicesSonatype
Mandy Whaley, CISCO
Microservices create an explosion of internal and external APIs. These APIs need great docs. Many organizations end up with a jungle of wiki pages, swagger docs and api consoles, and maybe just a few secret documents trapped in chat room somewhere… Keeping docs updated and in sync with code can be a challenge.
We’ve been working on a project at Cisco DevNet to help solve this problem for engineering teams across Cisco. The goal is to create a forward looking developer and API doc publishing pipeline that:
Has a developer friendly editing flow
Accepts many API spec formats (Swagger, RAML, etc)
Supports long form documentation in markdown
Is CI/CD pipeline friendly so that code and docs stay in sync
Flexible enough to be used by a wide scope of teams and technologies
We have many interesting lessons learned about tooling and how to solve documentation challenges for internal and external facing APIs. We have found that solving this doc publishing flow is a key component of a building modern infrastructure. This is most definitely a culture + tech + ops + dev story, we look forward to sharing with the DevOps Days community.
Unit Testing contains Concept of Unit Testing, Static Unit Testing, Dynamic Unit Testing, steps for Static Unit Testing, Test Driver, Stub, selection of Data for Unit Testing, etc...
This is the latest version of the State of the DevSecOps presentation, which was given by Stefan Streichsbier, founder of guardrails.io, as the keynote for the Singapore Computer Society - DevSecOps Seminar in Singapore on the 13th January 2020.
Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses **
This Edureka PPT on Top 50 Software Testing Interview Question and Answers will help you to prepare yourself for Software Testing Interviews. It covers questions for beginners, intermediate and experienced professionals.
Below topics are covered in this PPT:
Market Trends in Software Testing
What is Software testing
Top 50 interview questions
1. Beginners level questions
2. Intermediate level questions
3. Advance level questions
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Talk given at ISC2 Secure SDLC event in Austin, TX
The release velocity for our applications is increasing, often leaving security testing behind. In some cases, the security team ends up being the bottleneck. That's bad. In an idyllic world, security testing would happen earlier in the development lifecycle, but lets do one better. Lets do security testing on every code change. Using automation tooling and DevOps practices, this talk will help you tune security testing to your release cadence and more importantly help you deliver more rugged software.
Continuous Integration vs Continuous Delivery vs Continuous Deployment I hope you now get the difference between Continuous Integration, Continuous Delivery and Continuous Deployment. As i mentioned above, these are really an important practices which needs to be implemented to get all the benefits of DevOps.
Its a long journey to understand SCM and utilising all its benefits. Hope you enjoyed our today’s article as well ……
From Technical Debt to Technical HealthDeclan Whelan
Everyone agrees that technical debt is a burden on software innovation that we would rather avoid, and certainly clean up whenever possible. However, in most organizations, people don't prevent technical debt nearly as much as they should, and they don't ever get the time to clean it up. Why, then, if there are clear incentives to deal with technical debt, is it a rampant problem?
In this session, we will focus on how to deal with technical debt on several levels, including the individual developer, the team, the software value stream, and the larger organization. While technical debt may manifest itself in a developer's IDE, the problem starts long before the developer decides to copy and paste some code, or creates an overly-complex and under-documented class. The pressures on teams and individuals to take on more debt than they should come from many sources. Therefore, the solutions to the technical debt problem must extend beyond the team.
WHITE BOX & BLACK BOXTESTING IN DATABASESalman Memon
White box & black box are software testing methods.
Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Verification : is the process to make sure the product satisfies the conditions imposed at the start of the development phase. In other words, to make sure the product behaves the way we want it to.
http://phpexecutor.com
Platform values, Rust, and the implications for system softwarebcantrill
Talk given at Scale By The Bay 2018. Video is at https://www.youtube.com/watch?v=2wZ1pCpJUIM. If you are interested in this talk, you might also be interested in my talk on Platform as a Reflection of Values from Node Summit 2017: https://www.slideshare.net/bcantrill/platform-as-reflection-of-values-joyent-nodejs-and-beyond
DevOps Friendly Doc Publishing for APIs & MicroservicesSonatype
Mandy Whaley, CISCO
Microservices create an explosion of internal and external APIs. These APIs need great docs. Many organizations end up with a jungle of wiki pages, swagger docs and api consoles, and maybe just a few secret documents trapped in chat room somewhere… Keeping docs updated and in sync with code can be a challenge.
We’ve been working on a project at Cisco DevNet to help solve this problem for engineering teams across Cisco. The goal is to create a forward looking developer and API doc publishing pipeline that:
Has a developer friendly editing flow
Accepts many API spec formats (Swagger, RAML, etc)
Supports long form documentation in markdown
Is CI/CD pipeline friendly so that code and docs stay in sync
Flexible enough to be used by a wide scope of teams and technologies
We have many interesting lessons learned about tooling and how to solve documentation challenges for internal and external facing APIs. We have found that solving this doc publishing flow is a key component of a building modern infrastructure. This is most definitely a culture + tech + ops + dev story, we look forward to sharing with the DevOps Days community.
A design system can vastly improve your team's productivity, but most of all, it leads to better products! The challenge lies in creating a mature system and leading its adoption across the company successfully. Let's talk about how we learned to meet the needs of different designers and developers on different products, on different tech stacks, on different platforms. Attendees will go home with tips they can use to improve design systems of any stage.
Evolving Architecture and Organization - Lessons from Google and eBayRandy Shoup
Keynote at DevOpsDays Cuba
Successful Internet companies are built on a foundation of excellent culture, efficient organization, and solid technology. As a company needs to scale, all of these parts of the foundation need to grow and scale with it. This session covers modern best practices at innovative companies in Silicon Valley for scaling culture, organization, and technology. Driven primarily by the presenter's experience ranging from small Valley startups to Google and eBay, it discusses:
* Organizing small, fast-moving engineering teams
* Building a scalable system out of smaller microservices
* Maintaining a culture of ownership and collaboration
* Developing effective engineering processes of continuous integration and continuous delivery
Java EE microservices architecture - evolving the monolithMarkus Eisele
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But some enterprises are now looking to bridge that gap by building microservices-based architectures on top of Java EE.
In this webcast, Red Hat Developer Advocate Markus Eisele explores the possibilities for enterprises that want to move ahead with this architecture. However, the issue is complex: Java EE wasn't built with the distributed application approach in mind, but rather as one monolithic server runtime or cluster hosting many different applications. If you're part of an enterprise development team investigating the use of microservices with Java EE, this webcast will guide you to answers for getting started.
*** DevSecOps: The Evolution of DevOps ***
Have you ever asked yourself the following questions:
What does DevSecOps means?
How is this different from DevOps?
What can we learn from the DevOps movement?
Presentation by James Betteley who shares his experience of shaping DevOps and what he foresees will happen with DevSecOps.
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"Daniel Bryant
Last year we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important but equally you must understand specific deployment technologies. How to exploit them and how they effect the design of applications. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same.
Presented at JAXLondon 2015 with Steve Poole
You want JSON? You finally have JSON support within SQL Server! The much-asked-for, long-awaited feature is finally here! In this session, Davide will show how the JSON support works within SQL Server, what are the pros and cons, the capabilities and the limitations, and will also take a look at performance of JSON vs. an equivalent relational(ish) solution to solve the common “unknown-schema-upfront” and “I-wanna-be-flexible” problems.
2019-10-15 - the future of cloud-native Java - Bert ErtmanApeldoorn JUG
Java is an open language. Every developer or organization can contribute to its open source components (libraries & frameworks) and even to the language specifications itself. This way, the community helps to improve the language continuously. While this gives developers a lot of freedom, it makes it hard to standardize. The software architecture of a Java application starts with its runtime (that is the combination of frameworks, specifications and application server). For years, monolitic JEE applications were hosted on heavy application servers. But is this platform the best option for fast, flexible and controlled delivery of business value embedded in cloud native-applications running on both IAAS-platforms and CAAS-containers? In this session Java-champion Bert Ertman will give his view.
Bert Ertman:
Fellow, and VP Technology at Luminis. Besides assignments at customers, he is responsible for stimulating innovation, knowledge sharing, coaching, technology choices and presales activities. A frequent speaker on Java, Cloud, and software architecture all over the world. Book author, and serial conference organizer. Bert Ertman was awarded the coveted title of Java Champion in 2008, and is a JavaOne RockStar speaker and twofold Duke’s Choice award winner.
Java is an open language. Every developer or organization can contribute to its open source components (libraries & frameworks) and even to the language specifications itself. This way, the community helps to improve the language continuously. While this gives developers a lot of freedom, it makes it hard to standardize. The software architecture of a Java application starts with its runtime (that is the combination of frameworks, specifications and application server). For years, monolitic JEE applications were hosted on heavy application servers. But is this platform the best option for fast, flexible and controlled delivery of business value embedded in cloud native-applications running on both IAAS-platforms and CAAS-containers? In this session Java-champion Bert Ertman will give his view.
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...GoDataDriven
The typical organizational model is that teams are in constant flux, are created for work, are only responsible for the change and are not empowered, or lack trust, to run products. A high performance organization model allows teams to take full responsibility for cost, compliance and security, and lets them own their own incidents. This improves quality, change failure rates, lower costs and leads to more happy employees. DevOps is about creating with the end in mind, cross-functional autonomous teams and end-tn-end responsibility. You build it, you run it. You break it, you fix it. This means you want to automate everything in a CI/CD pipeline. Roll-forward, don't roll-back. DevOps principles play an important role in a data-driven maturity model. Continuous prototyping and a data mindset and skills for everybody. In a Data Science Workflow combining input data and deriving the model features usually requires the most of the work, and lots of iterations before its done. Implement features one-by-one. So, start with a baseline model and compare this against more complex models, to see if additional complexity is worth the performance gain. The result of a data scientist is a trained model. Such a model contains 4 components: input data, derived features, chosen model type and hyperparameters. A trained model is always the combination of data and the code. So where do you run this trained model? Model management is versioning code but not the data. A model management server stores hyperparameters, performance metrics, metadata, trained models. IN a data science pipeline, we have two components for deployment: the application and the trained model. So we split the pipeline into parts: a build pipeline, a train pipeline and a deploy pipeline. A complete pipeline mapped to azure components would look largely like this: An Azure DevOps Build pipeline, an Azure ML Training pipeline and an Azure DevOps Release pipeline.
Talk given at the OCP Open System Firmware engineering workshop on 5/17/22. Talk was recorded; video at https://www.youtube.com/watch?v=eNI0wFgBNmY#t=7044s
Hardware/software Co-design: The Coming Golden Agebcantrill
Talk I gave as a keynote at RailsConf 2021. There is no Rails in the talk, though; this is all about the revolutions in open source firmware and hardware that are changing the way we build systems. Video to come!
Tockilator: Deducing Tock execution flows from Ibex Verilator tracesbcantrill
Talk given on March 20, 2020 at Oxidize 1K, a virtual conference that went from first idea to 300+ person conference in a week during the COVID-19 pandemic.
My Papers We Love talk in San Francisco on October 12, 2017 on "ARC: A self-tuning, low overhead replacement cache." Video at https://www.youtube.com/watch?v=F8sZRBdmqc0
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Understanding Nidhi Software Pricing: A Quick Guide 🌟
Choosing the right software is vital for Nidhi companies to streamline operations. Our latest presentation covers Nidhi software pricing, key factors, costs, and negotiation tips.
📊 What You’ll Learn:
Key factors influencing Nidhi software price
Understanding the true cost beyond the initial price
Tips for negotiating the best deal
Affordable and customizable pricing options with Vector Nidhi Software
🔗 Learn more at: www.vectornidhisoftware.com/software-for-nidhi-company/
#NidhiSoftwarePrice #NidhiSoftware #VectorNidhi
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Globus Compute wth IRI Workflows - GlobusWorld 2024
Platform as reflection of values: Joyent, node.js, and beyond
1. Platform as a reflection of values
Joyent, node.js, and beyond
CTO
bryan@joyent.com
Bryan Cantrill
@bcantrill
2. Platform and values
• Software platform decisions are big, important decisions with
lasting consequences
• One doesn’t merely select component infrastructure for where it
is, but also where it’s going — and what it represents
• In the post-open source world of software infrastructure, this is
reflected and guided by a community’s values
• Beyond right tool for the job, it is the right values for the job…
• …and then the right software for the values
4. Platform core values
• All of these values are important — but they are in tension
• Platforms aspire to balance all of them — but for every platform
some small subset represents its core values
• These core values attract a like-minded community — and
become self-reinforcing…
14. Growing core values
• While the core values can mutate over time, it usually isn’t with
the same people; core values often track people
• Ideally, a community is able to grow its core values by attracting
and welcoming people with those new values
• In 2010, there was reason for optimism for node.js, as it was
enjoying an influx of technologists bearing the scars from failed
experiments in Twisted Python, Event Machine, C, etc.
16. Growing core values: Debuggability
• As we at Joyent built our own production infrastructure on
node.js, we began to need to assert some of our own values…
• It started with debuggability as we added:
• DTrace probes in node.js core (2010)
• DTrace probes in arbitrary node.js (2011)
• MDB support (postmortem!) for node.js with mdb_v8 (2011)
• DTrace ustack() helper for node.js (2011)
17. Growing core values: Rigor
• As we hit performance problems in production, we made heavy
use of the DTrace ustack() helper for profiling
• The need for rigor in understanding this output inspired us to
invent flame graphs (2012) to visualize node.js stacks:
18. Growing core values: Maintainability
• As we had more and more services in node.js, we found the
need for a unified logging library…
• We developed Bunyan in 2012, reflecting not only our values of
maintainability but also debuggability (DTrace probes built in!)
• Bunyan also reflects our value of stability: we needed
abstractions that we could build upon!
19. Growing core values: Robustness
• We found that the de facto modules in several critical areas
didn’t entirely reflect our own values — especially around
robustness and debuggability
• For building REST-based services we developed Restify (2011),
with an emphasis on RFC compliance and debuggability
• For constructing robust asynchronous pipelines, we developed
vasync (2012), with a focus on error handling and debuggability
20. Growing core values: Robustness
• An early problem — and one with many dynamic languages —
is increasing memory usage over time
• It’s easy to errantly hold a reference to an entire object graph!
• We added “::findjsobjects” to mdb_v8 (2012) and have used to
find many thorny production problems
• We later added the ability to iterate over all functions with
“::jsfunctions” (!) — and then the ability to actually print the
variables in a closure with “::jsclosure” (!!)
21. Growing core values: Stability
• We maintained quite a few binary add-ons — and immediately
saw the need for stability in the interface
• Stability does not mean intransigence or stasis!
• Stability means developing the right abstractions that can
survive future change on both sides of the interface boundary
• C++ can make this difficult task much more challenging…
• We developed v8plus (2012), a C interface for add-ons that we
continue to use in lieu of NAN (or N-API)
22. Growing core values: Resiliency
• Our experience trying to incorporate resiliency in our node.js-
based systems led us to taxonomize node.js errors
• The resulting document quickly became authoritative; searching
“node.js error handling” + “I’m feeling lucky” still yields it:
23. The challenge of changing values
• Just because we believed in production-oriented values like
debuggability, robustness, and stability doesn’t mean these
values were widely shared!
• Values aren’t necessarily contagious!
• The node.js community broadly identified more closely with
growth-oriented values like approachability, expressiveness,
and velocity
• By 2014, these values were increasingly coming into conflict,
and a fracture was (in retrospect) inevitable…
26. Farewell to TJ
• TJ Holowaychuk was the most prolific node module contributor;
if nothing else, probably wrote more node.js than anyone else
• TJ wasn’t the first; there had been foreshocks:
27. The challenge of large communities
• The departures highlight a challenge with larger communities…
• When communities are large, values can easily conflict or
become diluted
• Smaller communities identify more strongly with their values —
but larger communities are more likely to fracture over them
• Sometimes this is a fork, but more often, people just leave
• Sometimes the values change because people leave, but more
often people leave because the values change (or fail to!)
28. Divergent values
• We erred in either not recognizing or not articulating that the
io.js fork in late 2014 represented divergent values
• Even to the degree that we recognized it and articulated it, not
clear that it mattered: the problem was the divergence itself
• The problem was even more basic at root: we held aspirations
for the values of node.js that it didn’t hold for itself
• The values of node.js are (and probably have long been) the
values of JavaScript itself…
30. node.js
• The values for JavaScript/node.js and our values didn’t align —
and it was clear that they weren’t going to
• We transitioned node.js to a foundation in 2015
• But many in the community putatively believed in our values (or
wanted to), so we remained engaged
• This hasn’t been easy, and one issue in particular highlights the
challenge in accommodating divergent values…
31. Promises
• Promises are a different way of asynchronous programming,
dating back to Argus, a CLU derivative from the mid-1980s:
• node.js was originally implemented in terms of promises, but
removed them entirely in February 2010 (0.2!)
32. Promises
• Because of their use in broader JavaScript, demand grew to
reintroduce promise support in node.js…
• But JavaScript promises conflate operational errors with
programmatic errors in that they both become exceptions
• Unlike thrown exceptions absent promises, we cannot know if a
thrown exception in a promise is going to be later caught or not
• This makes it challenging to abort a process on, say, a type
error with enough information to debug it post-mortem
• Promises make writing robust software more difficult
33. Promises
• Promises embody the divergence of values in modern node.js:
approachability, compatibility and expressiveness in tension
with robustness, debuggability, and simplicity
• If node.js must do whatever JavaScript does in the name of
compatibility, is node.js permitted its own values?
• This conundrum was on vivid display in the util.promisify() PR:
https://github.com/nodejs/node/pull/12442
36. Promises
• This is not an issue of someone being right or wrong!
• These are two different value systems — both admirable and
reasonable — coming into conflict
• This issue was put to a vote: 9 in favor, 1 against, 4 abstained
• But elections do not resolve differences in values
• Democracy does not necessarily imply leadership!
37. The challenge for Joyent
• We at Joyent are resigned to the divergence in values
• This doesn’t mean we’re abandoning node.js…
• …but it does mean that we are actively considering other
platforms when making future software platform decisions
• In the coming year(s), you will certainly see us in the Go
community — and perhaps Rust or others
• These communities aren’t necessarily a perfect reflection of our
values either — but we feel better prepared for any divergence
38. The challenge for node.js
• node.js should define what its values are — and aren’t
• Growth may be an objective, but growth is not a value!
• Claptrap around values that node.js doesn’t in fact have only
plants the seeds of disappointment and discord
• node.js should be upfront that compatibility with JavaScript will
trump robustness, debuggability, stability, etc.
• We remain hopeful that node.js will be a big enough tent to not
run so counter to our values that we abandon it entirely!
39. Platform as a reflection of values
• When picking a platform, values matter
• Get consensus on values before selecting a platform!
• With values in hand, the challenge becomes: how does one
determine the values of a community?
• How a community deals with an open issue reflects much on its
values around robustness, thoroughness, rigor, etc.
• It’s a balance between your values and that of a community…
• …that may require you to create your own platform and attract
your own community bound by like values!