The document provides an overview of JavaScript including its history and influences, present uses, ubiquity, syntax, and debugging environments. It describes JavaScript's origins in 1995 and C-like syntax, discusses how it is used in browsers, engines, servers and toolkits. The summary explores JavaScript's object model and prototypal inheritance, and provides resources to learn more.
Introductory presentation by Gavin King (Red Hat) on the Ceylon Project, given at QCon Beijing on 9 April 2011. Original Source: http://www.qconbeijing.com/download/Gavin%20keynote.pdf
Server side Javascript programming is gaining popularity. The what,why and how of Javascript. A beginners guide into the must have skills for any new upcoming software developers.
Introductory presentation by Gavin King (Red Hat) on the Ceylon Project, given at QCon Beijing on 9 April 2011. Original Source: http://www.qconbeijing.com/download/Gavin%20keynote.pdf
Server side Javascript programming is gaining popularity. The what,why and how of Javascript. A beginners guide into the must have skills for any new upcoming software developers.
This afternoon I gave a very short introduction to computer programming at Trade School (tradeschool.ourgoods.org). I used JavaScript to illustrate the process of learning how to program, mainly because there's nothing to install and it has many practical uses.
The Game Of Life - Java‘s Siblings and Heirs are populating the Ecosystemjexp
In the last decade we have seen a very fortunate development. Away from the monoculture of big languages to the realm of polyglotism. We’ve rediscovered the virtue of using the language that is most fitting for the problem at hand. The biggest advantages of the existing language ecosystems are the runtime environments and libraries. Many new and old languages have set out to use those assets add add ways to succinctly write down the solutions for our problems. What is better suited to explore this Game Of Life that the Game of Life itself. I’ll show how you can apply the existing languages to solve this problem very differently.
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScriptWekoslav Stefanovski
The Web is all around us - and there's more of it every day. Soon we'll have a web-powered refrigerator and a web-enabled toaster. And where there's web there's JavaScript - with all its great and not so great features. Whether you like it or not, if you are a developer today, you are a JavaScript developer.
So there's a problem, because lots of people don't really like writing JavaScript, so there's a whole host of tools that will help us to avoid that.
TypeScript is a language that is not afraid of JavaScript, it embraces all the good things and adds a lot of its own goodness.
After three years of active development, it's getting to where it set out to be, and is becoming the thing we all need - a tool for high speed, high quality development of web-oriented code.
Presentation for Deep Learning NYC Meetup. Explaining how machine learning works, relevant terminology, and how to get started in it with Python and Keras.
Jazzed about Solr: People as a Search Problem - By Joshua Tubervillelucenerevolution
See conference video - http://www.lucidimagination.com/devzone/events/conferences/revolution/2011
Search oriented architectures are obvious approaches for web pages, emails, documents, and other
text based entities. Often with traditional structured data, text searching is “added on” to the
traditional Boolean queries in relational stores. When Jazzed was initiated we wanted search to be
front and center. When we evaluated Solr we realized we could take the opposite approach “add on”
Boolean components to textual searches. This hybrid query approach makes transitioning to flexible
ranking easy and straightforward.
This afternoon I gave a very short introduction to computer programming at Trade School (tradeschool.ourgoods.org). I used JavaScript to illustrate the process of learning how to program, mainly because there's nothing to install and it has many practical uses.
The Game Of Life - Java‘s Siblings and Heirs are populating the Ecosystemjexp
In the last decade we have seen a very fortunate development. Away from the monoculture of big languages to the realm of polyglotism. We’ve rediscovered the virtue of using the language that is most fitting for the problem at hand. The biggest advantages of the existing language ecosystems are the runtime environments and libraries. Many new and old languages have set out to use those assets add add ways to succinctly write down the solutions for our problems. What is better suited to explore this Game Of Life that the Game of Life itself. I’ll show how you can apply the existing languages to solve this problem very differently.
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScriptWekoslav Stefanovski
The Web is all around us - and there's more of it every day. Soon we'll have a web-powered refrigerator and a web-enabled toaster. And where there's web there's JavaScript - with all its great and not so great features. Whether you like it or not, if you are a developer today, you are a JavaScript developer.
So there's a problem, because lots of people don't really like writing JavaScript, so there's a whole host of tools that will help us to avoid that.
TypeScript is a language that is not afraid of JavaScript, it embraces all the good things and adds a lot of its own goodness.
After three years of active development, it's getting to where it set out to be, and is becoming the thing we all need - a tool for high speed, high quality development of web-oriented code.
Presentation for Deep Learning NYC Meetup. Explaining how machine learning works, relevant terminology, and how to get started in it with Python and Keras.
Jazzed about Solr: People as a Search Problem - By Joshua Tubervillelucenerevolution
See conference video - http://www.lucidimagination.com/devzone/events/conferences/revolution/2011
Search oriented architectures are obvious approaches for web pages, emails, documents, and other
text based entities. Often with traditional structured data, text searching is “added on” to the
traditional Boolean queries in relational stores. When Jazzed was initiated we wanted search to be
front and center. When we evaluated Solr we realized we could take the opposite approach “add on”
Boolean components to textual searches. This hybrid query approach makes transitioning to flexible
ranking easy and straightforward.
Oplægget blev holdt ved et seminar i InfinIT-interessegruppen Højniveausprog til Indlejrede Systemer den 2. oktober 2013. Læs mere om interessegruppen her: http://infinit.dk/dk/interessegrupper/hoejniveau_sprog_til_indlejrede_systemer/hoejniveau_sprog_til_indlejrede_systemer.htm
La idea de la charla es dar un comparación entre los diversos features de ambos lenguajes como:
* Lambdas/Closures
* Method references
* Default Methods / Traits
* Soporte de APIs de Java 8 en Groovy
I gave this talk at the code.talks 2015 conference in Hamburg, Germany: https://www.codetalks.de/2015/programm/there-is-no-javascript.
JavaScript is a truly bizarre language: at once interpreted and compiled, functional and mutative, prototypal and syntactically poor, chaotic and elegant. It is the lowest high-level language of the amorphous operating system known as the web. It has evolved rapidly, sidelining all competition and building up a huge ecosystem of libraries and tools and symbiotic users.
And yet, its very popularity is bringing about its demise, whether by the introduction of the low-level WebAssembly or innumerable higher-level languages or even the reimagined ECMAScript 6 and other descendants. In this talk, we will explore JavaScript's evolution from a mere amoeba in Brendan Eich's bubbling pool to a dinosaur in John Resig's slightly more recent Mesozoic lair and all the way to its inevitable disappearance into civilized ubiquity.
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
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
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
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
1. JavaScript
The Ubiquitous Language
Friday, June 24, 2011
2. What Is It?
How Can I Use It?
JavaScript
Why Should I Care?
How Does It Work?
Friday, June 24, 2011
3. What Is JavaScript?
A quick survey of what it is and isn't.
Friday, June 24, 2011
4. Influences
• Invented by Brendan Eich in 1995
• Initially no one took it seriously
• Resembles the earlier NewtonScript in many ways
• Designed to work well within a constrained
environment
• "Feels" a little like Python, but different, too
• C inspired syntax
Friday, June 24, 2011
5. What's In A Name?
• Mocha, LiveScript, &
EcmaScript
YES
• JScript & ActiveScript SORT OF
• JQuery NOT REALLY
• Java NO
• The "J" in both AJaX and JSON
Friday, June 24, 2011
6. Present Realities
• Not just for browsers.
• It's a full-featured, general-purpose language.
• It's a modern interpreted language.
• Good support for object-oriented paradigms.
• Also good support for functional programming.
• And even aspect-oriented or genetic programming.
Friday, June 24, 2011
7. Why JavaScript?
Why should I learn this thing anyway?
Friday, June 24, 2011
8. It's Ubiquitous
• Its rough start kept it from being a target, and it had
time to spread everywhere.
• Historically it is unmatched.
• It's on every mainstream browser.
• There are many stand-alone engines.
• There are a handful of server-side systems.
• It's even embedded in things like PDF and Flash.
Friday, June 24, 2011
9. The Browser Situation
• Fighting for the top spot:
• Chrome
• Safari
• Firefox
• Also quite good:
• Opera
• It exists:
• Microsoft Internet Explorer
Friday, June 24, 2011
10. The Open Engine Situation
• Also driven by competition.
• Three contenders for top spot:
• V8
• JavaScriptCore
• SpiderMonkey
• Other options are available:
• Rhino
• K7
Friday, June 24, 2011
11. The Server Situation
• Less competitive than browsers
and engines.
• All rely on the open engines.
• One big player:
• Node
• Others of note:
• Narwhal
• Flusspferd
Friday, June 24, 2011
12. The Toolkit Situation
• Many frameworks and toolkits
are built on top of JavaScript:
• Dojo
• JQuery
• Prototype
• MooTools
• YUI
• ExtJS
Friday, June 24, 2011
13. The Overall Situation
• Initially seen as a toy, it was left alone and it matured.
• Many modern implementations do JIT compilation.
• It's already quite fast and efficient.
• Several big companies have stakes in it.
• It's driven by competition and getting better & better.
• It's poised to become the most popular computer
language the world has yet seen.
Friday, June 24, 2011
14. What’s the Syntax Like?
What are the technical details of the language?
Friday, June 24, 2011
15. The Basics
• Operators, loops, and
conditionals similar to C
• But, variables are dynamically
typed
• "Optional" semicolons (never
omit them)
• "Optional" var keyword (never
omit it)
Friday, June 24, 2011
17. Arrays
• Used for holding ordered items.
• Items need not be of the same
type or even scalar.
• Indexing syntax works as
expected and is zero-based:
a[1]=1 for [0,1,true]
• A length property is
maintained: a.length is 3.
• Not for associative arrays.
Friday, June 24, 2011
18. Text
• Strings
• Similar to arrays
• Many built-in methods
• Literals: 'val' and "val"
• Regular Expressions
• Support most popular
expressions
• Literals: /pattern/flags
Friday, June 24, 2011
19. Objects
• Used for holding named items.
• Items need not be of the same
type or even scalar.
• Item keys don't need quotes.
• Support array indexing.
• Use for associative arrays.
• Predefined sentinel null is
distinct from {}.
Friday, June 24, 2011
20. Dates
• JavaScript provides a pre-
defined Date object.
• It holds a full timestamp, not
just a date.
• It supports a few different
constructor signatures.
• It features lots of methods to
work with individual parts.
Friday, June 24, 2011
21. Math
• The global Math object provides
many basic mathematical functions
and constants.
• Math.abs, Math.ceil,
Math.floor, Math.round,
Math.log, Math.exp, Math.max,
Math.min, Math.sin, Math.cos,
Math.tan, Math.sqrt,
Math.random, etc.
• Math.PI, Math.E, Math.SQRT2,
Math.LN2, Math.LN10, etc.
Friday, June 24, 2011
22. Functions
• Functions are full-class citizens in JavaScript.
• Functions can be passed into other functions.
• Functions can return functions.
• Partials, curries, closures, etc. are all good.
• Anonymous functions are fine.
• Functional programming, à la LISP, but without all
the parentheses.
Friday, June 24, 2011
24. Scope
• Scope is defined only by
function blocks.
• Closures can sometimes be
surprising to those not used to
them.
• Anonymous functions are often
used to control scope.
• Enclosing scopes are also
searched.
Friday, June 24, 2011
25. Objects Revisited
• The combination of first-class
functions and associative arrays
leads to "real" objects.
• Members may be public or
private.
• All JavaScript objects inherit
from a base Object.
• Object inheritance is a little
different from what may be
familiar...
Friday, June 24, 2011
26. Inheritance
• JavaScript uses differential
inheritance (a variation of
prototypal inheritance)
• There are no classes.
• No "protected" equivalent.
• Objects inherit from similar
objects and declare differences.
• Links to prototypes are
preserved.
Friday, June 24, 2011
27. How Does One Use
JavaScript?
What about debuggers and environments?
Friday, June 24, 2011
28. Different Environments,
Different Debuggers
• All the command-line examples in this presentation
were entered live into node.
• It can also be used for running scripts.
• Most modern browsers also have their own
environments for inspecting JavaScript and even
trying code live.
• These environments vary greatly in quality; in
particular, don't expect too much in the mobile world.
Friday, June 24, 2011
29. Firefox (Firebug)
The first really good offering.
Friday, June 24, 2011
30. Safari & Chrome
(Web Inspector)
Keeps pressure on Firefox & Firebug.
Friday, June 24, 2011