- Cloud9 is a fast-growing startup with 30 employees and 2 offices that creates the best JavaScript IDE. Their core product is an online IDE called Cloud9 that uses Node.js and has many features like collaboration, VIM mode, and offline support.
- Cloud9 supports language engineering in the cloud through its plugin architecture and use of language services. These services provide features like syntax checking, code completion through an asynchronous interface.
- Cloud9 aims to expand language support and analyses through open-sourcing components, using their language foundation that provides language services in a technology-agnostic way, and building an extension store.
Using Aspects for Language Portability (SCAM 2010)lennartkats
Software platforms such as the Java Virtual Machine or the CLR .NET virtual machine have their own ecosystem of a core programming language or instruction set, libraries, and developer community. Programming languages can target multiple software platforms to increase interoperability or to boost performance. Introducing a new compiler backend for a language is the first step towards targeting a new platform, translating the language to the platform\'s language or instruction set. Programs written in modern languages generally make extensive use of APIs, based on the runtime system of the software platform, introducing additional portability concerns. They may use APIs that are implemented by platform-specific libraries. Libraries may perform platform-specific operations, make direct native calls, or make assumptions about performance characteristics of operations or about the file system. This paper proposes to use aspect weaving to invasively adapt programs and libraries to address such portability concerns, and identifies four classes of aspects for this purpose. We evaluate this approach through a case study where we retarget the Stratego program transformation language towards the Java Virtual Machine.
The Spoofax Language Workbench (SPLASH 2010)lennartkats
Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. It provides a comprehensive environment that integrates syntax definition, program transformation, code generation, and declarative specification of IDE components.
Remix Your Language Tooling (JSConf.eu 2012)lennartkats
JavaScript has a vivid ecosystem of a passionate developer community, libraries, and tools. New frameworks keep pushing the boundaries what you can do with it, and the language family is rapidly expanding with new cousins; TypeScript being the latest. We’re building language tooling to provide an integrated experience with static error checks, code completion, API documentation, and so on. But how can we keep up with this changing environment? Let’s talk about effectively building language tools.
Using Aspects for Language Portability (SCAM 2010)lennartkats
Software platforms such as the Java Virtual Machine or the CLR .NET virtual machine have their own ecosystem of a core programming language or instruction set, libraries, and developer community. Programming languages can target multiple software platforms to increase interoperability or to boost performance. Introducing a new compiler backend for a language is the first step towards targeting a new platform, translating the language to the platform\'s language or instruction set. Programs written in modern languages generally make extensive use of APIs, based on the runtime system of the software platform, introducing additional portability concerns. They may use APIs that are implemented by platform-specific libraries. Libraries may perform platform-specific operations, make direct native calls, or make assumptions about performance characteristics of operations or about the file system. This paper proposes to use aspect weaving to invasively adapt programs and libraries to address such portability concerns, and identifies four classes of aspects for this purpose. We evaluate this approach through a case study where we retarget the Stratego program transformation language towards the Java Virtual Machine.
The Spoofax Language Workbench (SPLASH 2010)lennartkats
Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. It provides a comprehensive environment that integrates syntax definition, program transformation, code generation, and declarative specification of IDE components.
Remix Your Language Tooling (JSConf.eu 2012)lennartkats
JavaScript has a vivid ecosystem of a passionate developer community, libraries, and tools. New frameworks keep pushing the boundaries what you can do with it, and the language family is rapidly expanding with new cousins; TypeScript being the latest. We’re building language tooling to provide an integrated experience with static error checks, code completion, API documentation, and so on. But how can we keep up with this changing environment? Let’s talk about effectively building language tools.
Go is a new systems programming language from Google. Go has many interesting features such as 'communication channels' that makes it suitable for use in multi-core machines, and network programming. With Ken Thompson (of Unix fame) as one of its designers, Go has elegant and minimal design that is appealing to most programmers. This talk gives a technical introduction to Go that is of interest to anyone working in system software.
[Presentation I have in 2010 - I haven't updated it with recent changes to the Go language]
The core idea of PyPy is to produce a flexible and fast implementation of the Python programming language. The talk will cover the interpreter, translator and jit parts of the code and their relationships and the fundamental ways in which PyPy differs from other virtual machine implementations.
History
- Name derived from Gopher
- Created by Google Engineers
- A language for the multi core processor
- Search for Faster, Compiled and ease of Programming
A small presentation of the LIL programming language. Please note that the URLs presented there are not valid anymore. Use http://runtimelegend.com/rep/lil instead of the GitHub URL.
C is the base to all kind of Programming Languages. Simply the enhancement of C language is C++. C++ is a general-purpose object-oriented programming (OOPS) language and Java is a general purpose, high-level programming language. Here I Provide a complete difference between C, C++ and JAVA in a simplified manner.
This presentation was given to the Dallas Spring User Group http://www.springdallasug.org/ for educational purposes and made available as a non-profit contribution to the learning community.
Madrid JUG Conferences, Apr 2013.
Development of mobile applications has became complex, and Companies need teams with specialists in very different platforms. With GWT + Apache Cordova, you can develop reliable applications using a unique code base written in java.
Go is a new systems programming language from Google. Go has many interesting features such as 'communication channels' that makes it suitable for use in multi-core machines, and network programming. With Ken Thompson (of Unix fame) as one of its designers, Go has elegant and minimal design that is appealing to most programmers. This talk gives a technical introduction to Go that is of interest to anyone working in system software.
[Presentation I have in 2010 - I haven't updated it with recent changes to the Go language]
The core idea of PyPy is to produce a flexible and fast implementation of the Python programming language. The talk will cover the interpreter, translator and jit parts of the code and their relationships and the fundamental ways in which PyPy differs from other virtual machine implementations.
History
- Name derived from Gopher
- Created by Google Engineers
- A language for the multi core processor
- Search for Faster, Compiled and ease of Programming
A small presentation of the LIL programming language. Please note that the URLs presented there are not valid anymore. Use http://runtimelegend.com/rep/lil instead of the GitHub URL.
C is the base to all kind of Programming Languages. Simply the enhancement of C language is C++. C++ is a general-purpose object-oriented programming (OOPS) language and Java is a general purpose, high-level programming language. Here I Provide a complete difference between C, C++ and JAVA in a simplified manner.
This presentation was given to the Dallas Spring User Group http://www.springdallasug.org/ for educational purposes and made available as a non-profit contribution to the learning community.
Madrid JUG Conferences, Apr 2013.
Development of mobile applications has became complex, and Companies need teams with specialists in very different platforms. With GWT + Apache Cordova, you can develop reliable applications using a unique code base written in java.
Glympse Cross Compiling technology provides the ability to translate C++ code into Java and C#. The technology is heavily used at Glympse in a variety of client and server components.
Here you can see how easy it is to do development to Mac using free tools and frameworks provided by Microsoft.
What is all About? - Fast website development using .Net Core, Visual Studio Code; from the installation to continuos deployment on Azure.
A slide deck presenting the highlights of the NetBeans IDE 7 release, including each of its minor releases, 7.1, 7.1.1, 7.2, 7.2.1, 7.3, 7.3.1, and 7.4, in the context of the IDE's complete feature set.
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx75waytechnologies
Did you know that tech giants like Amazon, Netflix, Tumblr, PayPal, and Reddit use Node.js? Quite fascinating stats, right? No surprise, Node.js has gained wide popularity in the realms of technology. But why is all this Node.js buzz? To be honest, Node.js is popular because it uses JavaScript, which is the only choice to develop web apps in the browser. Not only this, but this technology also supports microservices architecture, which is powerful and suitable for organizations of any distinct size.
With 61,000+ stars on GitHub, 7.49K votes on StackShare, and 2450 contributors, there is no shadow of a doubt that Node.js is the fastest-growing open-source project every developer is interested in learning.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
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.
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
45. Language Foundation
All language services are functional and
described by a single function
The Spoofax Language Workbench, OOPSLA 2009
46. Language Foundation
All language services are technology-agnostic
findNode(), getPos()
Accelerating the creation of customized, language-Specific IDEs
in Eclipse, Charles et al., OOPSLA 2009
47. Language Foundation
All language services asynchronous
WebWorkers or Client/Server I/O
48. Language Foundation
Concise specification using generic traversals
Stratego/XT 0.17. A language and toolset for program
transformation, Bravenboer et al., SCP 2008
59. Community Reachout
• Open source, GitHub
• R&D
• Graduate students
• Education
• Third-party extensions
60. Conclusion
Open-source
OpenShift
Advanced language analysis expanding to
server and other languages
Lennart C. L. Kats
@lennartcl http://lennart.cl
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
What I brought to the table\nIDE compulsory\n
intimate connection between the two\nboth from user and developer perspective\n
Language workbenches combine interactive definition and use of DSLs\n
Scenario: scoping rules!\n
Scenario: scoping rules!\n
\n
After four years, I completed my PhD and went on to do a 2 year postdoc\n