CommandBox is a CLI (command line interface) package manager and automation tool for ColdFusion developers. It provides features like a package manager, REPL (read-eval-print loop), integrated server, scaffolding for frameworks like ColdBox and ContentBox, and automation commands to integrate CFML development with tasks like unit testing and source control. CommandBox aims to improve the ColdFusion development workflow and enable new use cases like packaging and distributing CFML applications and libraries.
CommandBox is a ColdFusion command line interface (CLI) and package manager that allows developers to work more efficiently. It features a package manager for installing dependencies, a read-eval-print loop (REPL) for executing code, an integrated server for running apps, and automation capabilities through commands and recipes. CommandBox aims to improve how ColdFusion developers work by bringing the power of the command line and modern tooling to CFML.
This document discusses script extensions in TestComplete, which allow users to extend the functionality of the software. Script extensions can create custom record/design time actions, test operations, results operations, and script objects. Script objects are useful for encapsulating code into reusable libraries. Extensions help solve problems like maintaining modularized code across projects and providing building blocks for rapid test development. The document demonstrates how to create a script object extension.
The document introduces Architect, a module system for JavaScript applications. It discusses problems that arise when codebases grow large, such as duplicated modules, dependency errors, and long startup times. Architect addresses these by defining each piece of functionality as a plugin that can import other plugins. An application is defined as a set of plugins, allowing modularization and loose coupling between components. Plugins are configured through options and communicate through an event bus. This allows features to be swapped out easily for different implementations, improving testability and flexibility.
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUGOrtus Solutions, Corp
CommandBox is a command line interface (CLI) and package manager for ColdFusion (CFML) that allows developers to work more efficiently. It provides features like a package manager, integrated server, read-eval-print loop (REPL), and automation capabilities. CommandBox also integrates with ForgeBox, a public registry for CFML packages, allowing developers to publish and install packages from a central location. The presentation provided an overview of CommandBox's key features and how they help improve the ColdFusion development workflow.
At Hootsuite, we've been transitioning from a single monolithic PHP application to a set of scalable Scala-based microservices. To avoid excessive coupling between services, we've implemented an event system using Apache Kafka that allows events to be reliably produced + consumed asynchronously from services as well as data stores.
In this presentation, I talk about:
- Why we chose Kafka
- How we set up our Kafka clusters to be scalable, highly available, and multi-data-center aware.
- How we produce + consume events
- How we ensure that events can be understood by all parts of our system (Some that are implemented in other programming languages like PHP and Python) and how we handle evolving event payload data.
Stackato is a PaaS cloud platform from ActiveState that allows developers to easily deploy applications to the cloud. It supports multiple languages including Perl, Ruby, and JavaScript. The presentation demonstrated deploying simple Perl apps to Stackato using the Mojolicious framework. Key benefits of Stackato include minimal differences between development and production environments, one-click deployments, and allowing developers to manage infrastructure. ActiveState is very open and provides documentation, examples, and a community forum to support Stackato users.
Go - A Key Language in Enterprise Application Development?C4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2COBbRN.
Aarti Parikh goes over the Go language design and talks about why Go matters in the age of multicores and cloud-native computing. Filmed at qconsf.com.
Aarti Parikh is a software engineering manager with a decade of experience building teams and products for the Internet, IoT and now Fintech. Currently, she works at PayPal.
Markup languages and warp-speed documentationLois Patterson
The presentation discusses how software development has moved towards more frequent releases through DevOps practices. This requires documentation to also be updated quickly. Markup languages can help by allowing many contributors to collaborate easily on documentation. Specific markup languages mentioned include reStructuredText and Markdown, which can be processed by tools like Sphinx to generate documentation from plain text files. The presentation demonstrates how to use reStructuredText and emphasizes that markup languages, collaborative tools like GitHub, and automation are key to supporting modern rapid software development practices.
Lois Patterson: Markup Languages and Warp-Speed DocumentationJack Molisani
The presentation discusses how software development has moved towards more frequent releases through DevOps practices. This requires documentation to also be updated quickly. Markup languages can help by allowing many contributors to collaborate easily on documentation. Specific markup languages mentioned include reStructuredText and Markdown, which can be processed by tools like Sphinx to generate documentation from plain text files. The presentation demonstrates how to use reStructuredText and emphasizes that markup languages, collaborative tools like GitHub, and automation are key to supporting modern rapid software development practices.
Stackato is a Platform as a Service (PaaS) cloud computing product from ActiveState that allows developers to easily deploy applications and services written in languages like Perl, Ruby, and JavaScript to public and private clouds. The presenter evaluates Stackato based on their experience, demonstrating how to deploy a simple "Hello World" Perl application using Mojolicious and exploring Stackato's management console, application updating process, and built-in app store. They conclude that Stackato provides benefits like easy access to platforms and frameworks with minimal differences between development and production.
Social Connections 2015 CrossWorlds and DominoPaul Withers
This document discusses CrossWorlds, which allows developing generic web applications using the IBM Domino application server. CrossWorlds is a feature for IBM Websphere Liberty Profile that makes Liberty act like a Domino server to applications. It allows accessing Domino data and services via the OpenNTF Domino API from standard web applications. CrossWorlds provides advantages like Domino's security and data storage along with Liberty's speed and tooling. The OpenNTF Domino API also provides more flexible session handling and data access than traditional XPages development.
The lightning talks covered various Netflix OSS projects including S3mper, PigPen, STAASH, Dynomite, Aegisthus, Suro, Zeno, Lipstick on GCE, AnsWerS, and IBM. 41 projects were discussed and the need for a cohesive Netflix OSS platform was highlighted. Matt Bookman then gave a presentation on running Lipstick and Hadoop on Google Cloud Platform using Google Compute Engine and Cloud Storage. He demonstrated running Pig jobs on Compute Engine and discussed design considerations for cloud-based Hadoop deployments. Finally, Peter Sankauskas from @Answers4AWS discussed initial ideas around CloudFormation for Asgard and deploying various Netflix OSS
Serverless architectures let you build and deploy applications and services with infrastructure resources that require zero administration. In the past, you had to provision and scale servers to run your application code, install and operate distributed databases, and build and run custom software to handle API requests. Now, AWS provides a stack of scalable, fully-managed services that eliminates these operational complexities.
In this session, you will learn about the benefits of serverless architectures and the basics of the serverless stack AWS provides. We will also walk through how you can use serverless architectures for everything from data processing to mobile and web backends.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Jeremy Edberg, Co-Founder, CloudNative, & AWS Community Hero
This document discusses portable class libraries (PCLs), which allow sharing of code across platforms like Xamarin Android and iOS. PCLs use a single assembly that can target multiple platforms. They enable centralized code sharing and debugging across platforms. PCLs are a subset of the .NET framework and cannot reference platform-specific libraries. The document lists many Microsoft and third party libraries available as PCLs and provides examples of using PCLs with inversion of control containers. It encourages developers to create and use PCLs to easily share code across platforms.
CrossWorlds: Unleash the Power of Domino for Connections Development LetsConnect
Until now, the only way to surface your Customers’ Domino data in IBM Connections has been via XPages. But over the last year IBM Domino Developers, the Domino landscape and the Java web development landscape have undergone a significant change. See how to use the popular Vaadin framework to create a standard web application on IBM Websphere Liberty using IBM Domino as either a NoSQL or Graph database.
Future of Kotlin - How agile can language development be?Andrey Breslav
A successful project usually grows, and Kotlin is no exception. We are adding new targets (JavaScript and Native) and new computation models (coroutines). This talk is about our vision of the future of Kotlin as a language and a ecosystem.
We'll talk strategy: what we think our industry needs at large and how we are going to fit Kotlin into this picture. We'll talk tactics: how we deal with legacy and compatibility issues, and whether there will ever be Kotlin 2.0. We'll talk operations: can we do “continuous delivery” for language features? Or, more generally, how agile can language development be?
https://mixitconf.org/en/2017/the-future-of-kotlin-how-agile-can-language-development-be-
Hot to build continuously processing for 24/7 real-time data streaming platform?GetInData
You can read our blog post about it here: https://getindata.com/blog/how-to-build-continuously-processing-for-24-7-real-time-data-streaming-platform/
Hot to build continuously processing for 24/7 real-time data streaming platform?
The document discusses DevOps workflow with Docker on AWS. It describes using Docker to isolate application environments, increasing team productivity and decreasing development team size. Key elements include using Gitlab for source control and CI/CD, building Docker images via Gitlab runners, and deploying to Kubernetes clusters. The workflow allows writing applications once and running them anywhere and forever through continuous integration and delivery of Docker images to private container registries on AWS.
Similar to ITB2024 - Keynote Day 1 - Ortus Solutions.pdf (20)
Sami provided a beginner-friendly introduction to Amazon Web Services (AWS), covering essential terms, products, and services for cloud deployment. Participants explored AWS' latest Gen AI offerings, making it accessible for those starting their cloud journey or integrating AI into coding practices.
Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.
Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.
Discover BoxLang, the innovative JVM programming language developed by Ortus Solutions. Designed to harness the power of the Java Virtual Machine, BoxLang offers a modern approach to application development with robust performance and scalability. Join us as we explore the capabilities of BoxLang, its syntax, and how it enhances productivity in software development.
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...Ortus Solutions, Corp
Unlock the secrets of seamless ColdFusion error troubleshooting! Join us to explore the potent capabilities of Visual Studio Code (VS Code) and ColdFusion Builder (CF Builder) in debugging. This hands-on session guides you through practical techniques tailored for local setups, ensuring a smooth and efficient development experience.
CommandBox was highlighted as a powerful web hosting solution, perfect for developers and businesses alike. Featuring a built-in server and command-line interface, CommandBox simplified web application management. Developers could deploy multiple application instances simultaneously, optimizing development workflows. CommandBox's efficient deployment processes ensured reliable web hosting, seamlessly integrating into existing workflows for scalability and feature enhancements.
Join me for an insightful journey into task scheduling within the ColdBox framework. In this session, we explored how to effortlessly create and manage scheduled tasks directly in your code, enhancing control and efficiency in applications and modules. Attendees experienced a user-friendly dashboard for seamless task management and monitoring. Whether you're experienced with ColdBox or new to it, this session provided practical knowledge and tips to streamline your development workflow.
In this session, we explored how the cbfs module empowers developers to abstract and manage file systems seamlessly across their lifecycle. From local development to S3 deployment and customized media providers requiring authentication, cbfs offers flexible solutions. We discussed how cbfs simplifies file handling with enhanced workflow efficiency compared to native methods, along with practical tips to accelerate complex file operations in your projects.
In this session, we explored setting up Playwright, an end-to-end testing tool for simulating browser interactions and running TestBox tests. Participants learned to configure Playwright for applications, simulate user interactions to stress-test forms, and handle scenarios like taking screenshots, recording sessions, capturing Chrome dev tools traces, testing login failures, and managing broken JavaScript. The session also covered using Playwright with non-ColdBox sites, providing practical insights into enhancing testing capabilities.
Discover Passkeys, the next evolution in secure login methods that eliminate traditional password vulnerabilities. Learn about the CBSecurity Passkeys module's installation, configuration, and integration into your application to enhance security.
In this session, we discussed the critical need for comprehensive backups across all aspects of our industry—from code and databases to webservers, file servers, and network configurations. Emphasizing the importance of proactive measures, attendees were urged to ensure their backup systems were tested through restoration processes. The session underscored the risk of discovering backup issues only during crises, highlighting the necessity of verifying backup integrity through restoration tests.
Participants explored how visual and functional coherence strengthened brand identity and streamlined development in this session. They learned to maintain consistency across platforms and enhance user experiences using Design Systems. Ideal for brand designers, UI/UX designers, developers, and product managers who sought to optimize efficiency and ensure consistency across projects.
Explore the latest in ColdBox Debugger v4.2.0, featuring the Hyper Collector for HTTP/S request tracking, Lucee SQL Collector for query profiling, and Heap Dump Support for memory leak debugging. Enhancements like the revamped Request Dock and improved SQL/JSON formatting streamline debugging for optimal ColdBox application performance and stability. Ideal for developers familiar with ColdBox, this session focuses on leveraging advanced debugging tools to enhance development efficiency.
Thinking about freelancing? It's not just about coding solo and avoiding coworkers. Join me as I share insights from my 15-year freelance journey, covering everything from managing invoices to client communication styles. This session blends ColdFusion-specific tips with general freelance and consulting advice, with time for audience Q&A.
Content templates, CBFS, Redirects, and Coldbox 7, oh my! ContentBox 6 is the game-changing new release for the ContentBox CMS platform. In this session, we'll discuss all of the new goodness added in the release, as well as show the many ways in which your single or multi-site ContentBox instance just became more powerful and flexible.
Almost every application has tasks or jobs that are better suited to the background, and cbqmakes it easier and traceable to manage those jobs. cbq can scale from simple background tasks to a database to any message queue provider. Come learn how to get started with background tasks in your application.
Building on his 2021 ITB presentation, "Monitoring Solutions for CF and Lucee," Charlie now focuses on practical demonstrations of these tools. Discover key observations and metrics for troubleshooting, tuning, and receiving alerts. Gain insights into the evolution of these tools since the last talk, drawn from Charlie's extensive experience assisting users with server, container, and CommandBox environments.
we delve into the power of headless CMS—a versatile solution separating content creation from presentation. Explore its benefits: multi-channel delivery, accelerated time-to-market, content reusability, scalability, technology flexibility, and enhanced security. Discover how headless CMS transforms digital content management, empowering efficient and flexible content delivery across diverse platforms.
Learn to manage your web form's question flow with RuleBox in this session. Simplify complex conditional statements by structuring logic in a readable and testable Given-When-Then format. Discussion covers prototyping tips, writing test cases, integrating external data, and managing multiple form versions with a single set of rules. Ideal for ColdFusion web developers exploring TestBox and/or RuleBox, with a demo featuring ColdBox and cborm, though not required.
In this session, developers explored CBWIRE, a ColdBox module that simplifies modern, reactive CFML app development without JavaScript frameworks like Vue or React. Attendees learned its usage, benefits, and the new features introduced in CBWIRE version 4, designed based on community feedback. The session catered to developers familiar with ColdBox and CFML, offering practical insights and guidance for leveraging CBWIRE effectively in their projects.
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
Choose our Linux Web Hosting for a seamless and successful online presencerajancomputerfbd
Our Linux Web Hosting plans offer unbeatable performance, security, and scalability, ensuring your website runs smoothly and efficiently.
Visit- https://onliveserver.com/linux-web-hosting/
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsMydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
8. Eric Peterson
USA
Gavin Pickin
USA
Esme Acevedo
USA
Brad Wood
USA
Cristobal Escobar
Spain
Thank ITB Committee
Maria Jose Herrera
El Salvador
Jorge Reyes
Switzerland
Edgardo Cabezas
El Salvador
15. BoxLang is a modular dynamic language for the JVM, aiming to make your
development more productive, expressive, functional, and available
everywhere.
DYNAMIC : MODULAR : PRODUCTIVE
BETA
16. Goals & Vision
• A new evolution
• Be dynamic, modular, lightweight, and fast
• Be 100% interoperable with Java
• Be modern, functional, and
fl
uent
(Think mixing CFML, Node, Kotlin, Java, and
Clojure)
• Modularity at its core
• Take advantage of the modern JVM
• TDD: Fully tested source code
• Be able to support multiple runtimes
• Have multiple transpilers
CFML -> BoxLang,
Groovy -> BoxLang
X -> BoxLang
• IDE and Tools
• All of our libraries needed to run
• Compete in today’s language environments
21. Strict Dependency Graph
• Core to be small and focused
• Only add a third party if extremely necessary
• Rely on the JDK as much as possible
• Lower surface attack area
• Extremely small distribution
• Extend via Modules with their own dependencies
commons-io
Antlr
javaparser/asm
commons-lang
jackson-jr
slf4j
logback
Hikari
27. Scheduling & Task Framework
• Inspired by ColdBox
• Schedulers are portable,
fl
uent, and human
• Task & Completable Futures framework from the
JDK
• Access to any executor in Java
• Run schedules as cron jobs; no server is needed
• Write them in BoxLang or Java
32. Modern Dynamic Language
• Dynamically typed just like CFML, but we go further…
• JDK21+ Minimum
• JSR-223 Compliant
• No re
fl
ection, we use InvokeDynamic for everything
• DynamicObject: Any Object can be Dynamic!
• Type inference, auto-casting, type promotions
• Interface and superclass default method promotions
• Use all new JDK features and types
• Collection of Dynamic Casters and Helpers
34. Java Interop
• Interact with Java with no bridges
• It’s just part of the language; no more separation
• You can import, extend, implement, annotate, etc
• Execute BoxLang within Java and Java within BoxLang
• Concept of object resolvers: java, bx, custom
• New BoxLang Scripting: MyScript.bxs
• Components become Classes: MyClass.bx
• All bx/bxm/bxs are runnable via the OS
• Classes can have a main() convention
Java Interop
35. Pure Functions + Immutable Classes
• Support not only closures (=>) but pure functions (->)
• No side e
ff
ects, no carry-over contexts, pure speed
• Especially for asynchronous programming
• New Immutable classes:
• Arrays, Structs, and Queries
• Great for async safety, read-only snapshots, speed and
more.
37. Multi-Parsers : BoxLang + CFML + ???
• Our way to split with the old and bring in the new
• Transpile CFML into BoxLang
• BoxLang is a NEW clean slate
• Compat module for Adobe/Lucee
• Future > Groovy to BoxLang, ??? To BoxLang
• CFTranspiler CLI Tooling
• Feature Audit Tool
• Multi-Step Compiler
• BX -> Java -> ByteCode (DebugMode)
• Bx -> Bytecode (Almost done)
Choose your path wisely!
.cfc, .cfm
.bx, bxs, bxm
39. Event Driven Language
• Interceptors for the language, application, and request
• The best way to scale the language
• Listen to the entire or speci
fi
c language life-cycles
• Modules can listen/collaborate events
Event Channels
Event Producers
Event
Event
Event
Event Consumers
Event
Event
Event
41. Tested & Documented
• TDD/BDD at the core of the language
• 3000+ Tests Already
• Test not only Java but BoxLang inline
• Native BoxLang Assert constructs built-in
• Fully Documented
• Generated API Docs
• boxlang.ortusbooks.com
43. Tooling Overview
• BoxLang IDE
• Language Debugger & LSP
• Executable scripts within the IDE
• Run Scripts and Servers
• Converters
• Visualizers
• CLI Tools
• REPL
• BoxLang Unix Scripting
• Script, Module, and Schedule Runners
• Convert CFML to BoxLang
• BoxLang to Bytecode
• Package BoxLang apps & modules
44. Tooling - IDE
• Modern development
fl
ow
• Inline documentation
• Inline web server with debugging
• Run BL/CF code directly within VSCode
• Debugger
• Language Server
• Committed to ongoing support and development - new
features are on the way!
45. Tooling - Debugger
• Purpose built
• Integrates with VSCode via Microsoft’s DAP
• Can debug both the CLI runtime and web
server
• You’ll never use writeDump() again!
46. Tooling - Language Server
• Already powering the extension!
• The BoxLang runtime was built with the LSP in mind
• Full access to the BoxLang syntax parser/compiler
• Access to all BoxLang con
fi
guration, datasources,
mappings, etc…
• Extensible via BoxLang modules
• Foundational for modern language tools
• Intellisense
• static analysis
• More coming soon…
48. Tooling - Roadmap
• Near future
• Communication between the debugger and language server
• Static code analysis/type hinting
• Extension based CommandBox + BoxLang Server management
• Community engagement!
• +,++ version of debugger
• Language server plugins
50. Modular Needs
Modern Runtimes Have Various Needs!
( and CFML paradigms are outdated )
• Web Applications - HTTP Request/Response Data
• Tasks and Queues - Watchers, Event Handling, Async
• Lambda and CLI - fast start and blazing speeds!
• iOS/Android - Low resource footprint, event handling
• Web Assembly – Transpilation and Sandboxing
51. BoxLang Modules
• Inspired by ColdBox modules, NOT OSGI
• Core Runtime with lightest possible footprint
• Taps into the language life-cycle
• Write them in Java or BoxLang or Both!
• Executable as CLI packages
• Integrates with Maven/Gradle
52. BoxLang Modular By Design!
• Modular ecosystem, delivered by FORGEBOX
• Core modules for DBMS’, Alternate Runtimes ( e.g. Lambda ),
Mail, Encryption, CFML compatibility and more!
• Write your own functions, components ( tags ), schedulers, JDBC
Drivers, interceptions and more!
• Boundless potential for community contribution and
engagement!
• Foment third-party vendors
• FORGEBOX eCommerce Marketplace later this year
57. Wanna play?
• try.boxlang.io
• Internet playground for BoxLang
• First Production BoxLang application
• Powered by our AWS Lambda Runtime
• Skinnable
• Embeddable on any Site
• +/++ More Features Coming Soon
58. How did we build Try BoxLang in under 48 Hours?
• I will be presenting a Secret Session looking at how Try BoxLang
was built…
fi
nal session on Day 2
• Quick Rundown
• Monaco Editor (VSCode) Web Component
• But we had several architectural design decisions to make
• Should we spin up a docker container per request?
• Should we have 5, 10, 20 replicas on Docker Swarm?
• Do we pass the code to a Docker Image with the CLI running?
• Should we make an image with an API and return code from
the API?
59. AWS Lambda Runtime
• Every Try.BoxLang.io request can
fi
re up its very own Lamba request
• That means:
• We never have to worry about how many instances we have
• We never have to worry about queueing
• We never have to worry about bad actors accessing other people’s
fi
les
• We can easily update our Lambda runtime and all instances will be
running new code
• Scale up as big or as small as we want
60. What can you try?
• You can Try BoxLang code
• You can Try CF Code running in BoxLang
• You can see the evaluated results
• You can see the bu
ff
er output
• Copy Paste URLs to load code
61. Coming Soon!
• You will be able to see the Abstract Syntax Tree (AST) for your code
• You will be able to see the console/system output
• Ability to load code from GIST links
• +/++ Features
• Ability to Save to ForgeBox
• Create Projects like repli.it
• Install Modules
62. TryBoxLang in the BoxLang IDE
• We want to make trying BoxLang even more accessible, so we’re working
on integrating it into the VSCode BoxLang IDE as a Window.
• Select code sections and use the command palette or shortcuts to open it
in Try.BoxLang.io instead of copying and pasting.
• Select code sections and save to ForgeBox
• The adventure has just started…
65. • Open Beta Today!
• Final Release Fall 2024
• Need you to test and run!
• Limited Visionary Licenses
• One Price = Unlimited Licenses & Updates Forever
• For visionary companies/individuals that believe and
want to support the project
• sales@boxlang.io
• We are committed to the future
• It’s time for a revolution!
What’s Next!