Slides from my talk at the Junction (Jan 24, 2013)
Single-core performance has hit a ceiling, and building web-scale multi-core applications using imperative programming models is nightmarishly difficult. Parallel programming creates a new set of challenges, best practices and design patterns. Scala is designed to enable building scalable systems, elegantly blending functional and object oriented paradigms into an expressive and concise language, while retaining interoperability with Java. Scala is the fastest growing JVM programming language, being rapidly adopted by leading companies such as Twitter, LinkedIn and FourSquare.
This presentation provides a comprehensive overview of the language, which managed to increase type safety while feeling more dynamic, being more concise and improving readability at the same time. We will see how Scala simplifies real life problems by empowering the developer with powerful functional programming primitives, without giving up on the object oriented paradigm. The overview includes tools for multi-core programming in Scala, the type system, collection framework and domain-specific languages. We’ll explore the power of compile-time meta-programming, which is made possible by the newly released Scala 2.10, and get a glimpse into what to expect from 2.11 in 2014.
We will also see how Scala helps overcome the inherent limitations of Java, such as type erasure, array covariance and boxing overhead.
Multiple examples emphasize how Scala pushes the JVM harder than any other mainstream language through the infinite number of boilerplate busters, increased type safety and productivity boosters from a Java developer’s perspective.
Introduction to Ruby On Rails Killer wannabe: Elixir - a functional concurrent, distributed language compiled to Erlang VM. Presentation from #wrug on 30th of June.
Slides from my talk at the Junction (Jan 24, 2013)
Single-core performance has hit a ceiling, and building web-scale multi-core applications using imperative programming models is nightmarishly difficult. Parallel programming creates a new set of challenges, best practices and design patterns. Scala is designed to enable building scalable systems, elegantly blending functional and object oriented paradigms into an expressive and concise language, while retaining interoperability with Java. Scala is the fastest growing JVM programming language, being rapidly adopted by leading companies such as Twitter, LinkedIn and FourSquare.
This presentation provides a comprehensive overview of the language, which managed to increase type safety while feeling more dynamic, being more concise and improving readability at the same time. We will see how Scala simplifies real life problems by empowering the developer with powerful functional programming primitives, without giving up on the object oriented paradigm. The overview includes tools for multi-core programming in Scala, the type system, collection framework and domain-specific languages. We’ll explore the power of compile-time meta-programming, which is made possible by the newly released Scala 2.10, and get a glimpse into what to expect from 2.11 in 2014.
We will also see how Scala helps overcome the inherent limitations of Java, such as type erasure, array covariance and boxing overhead.
Multiple examples emphasize how Scala pushes the JVM harder than any other mainstream language through the infinite number of boilerplate busters, increased type safety and productivity boosters from a Java developer’s perspective.
Introduction to Ruby On Rails Killer wannabe: Elixir - a functional concurrent, distributed language compiled to Erlang VM. Presentation from #wrug on 30th of June.
Introduction to Matlab Programming by Rayid Mojumder.
Download the code files from my Github repo:
https://github.com/rayid-mojumder/matlab-programming.git
Windowing functions session for Slovak SQL Pass & BIAndrej Zafka
I wil show how to understand OVER() and PARTITION BY in TSQL, examples and benefits of windowing functions – managing heavy aggregations, de-duplicating data, running totals, paging and data islands. See what is behind “set theory” of windowing functions.
Ceylon is a new programming language for the JVM which was recently released on http://ceylon-lang.org with Eclipse based tooling available from day one.
This talk will introduce you to the goals and some of the features of the language while showing the features of the Eclipse based IDE.
Ceylon is a programming language for writing large programs in a team environment. The language is elegant, highly readable, extremely typesafe, and makes it easy to get things done. And it's easy to learn for programmers who are familiar with mainstream languages used in business computing. Ceylon has a full-featured Eclipse-based development environment, allowing developers to take best advantage of the powerful static type system. Programs written in Ceylon execute on the JVM.
Slides as they were used at EclipseCon 2012
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/ILvHbv.
Brendan Eich surveys interesting developments in the Web platform, analysing emergent trends, and making some predictions. Filmed at qconsf.com.
Brendan Eich is CTO and SVP of Engineering for Mozilla, and widely recognized for his enduring contributions to the Internet revolution. In 1995, Eich invented JavaScript (ECMAScript), the Internet’s most widely used programming language. He co-founded the mozilla.org project in 1998, serving as chief architect, and has been a board member of the Mozilla Foundation since its inception in 2003.
Building Domain-Specific Decision ModelsJacob Feldman
In this presentation at the DecisionCAMP-2014 (http://www.decision-camp.com) I shared real-world experience of building various domain-specific decisions and business rules using a general-purpose BRDMS “OpenRules”. Our approach to a “business DSL” is based on development of domain-specific templates for decisions and business rules that utilize business concepts and decision variables for a particular domain (business glossary). My presentation shows how to convert domain-specific Java APIs to business-oriented decision modeling constructs. It describes 3 real-world use cases.
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...Codemotion
In times where a jungle of JavaScript frameworks wants to solve every conceivable problem in web app development, Elm offers a different approach. Elm is a functional language that compiles to JavaScript. It has a user-friendly compiler, a sound type system, built-in immutability and lots of other features that come in handy when developing large, hopefully bug-free, single-page apps. While having fun in the process! In this talk you'll see how Elm works and learn how to use it to build a web app. More importantly, you'll learn the pros and cons of using it over a JavaScript-based solution.
Introduction to Matlab Programming by Rayid Mojumder.
Download the code files from my Github repo:
https://github.com/rayid-mojumder/matlab-programming.git
Windowing functions session for Slovak SQL Pass & BIAndrej Zafka
I wil show how to understand OVER() and PARTITION BY in TSQL, examples and benefits of windowing functions – managing heavy aggregations, de-duplicating data, running totals, paging and data islands. See what is behind “set theory” of windowing functions.
Ceylon is a new programming language for the JVM which was recently released on http://ceylon-lang.org with Eclipse based tooling available from day one.
This talk will introduce you to the goals and some of the features of the language while showing the features of the Eclipse based IDE.
Ceylon is a programming language for writing large programs in a team environment. The language is elegant, highly readable, extremely typesafe, and makes it easy to get things done. And it's easy to learn for programmers who are familiar with mainstream languages used in business computing. Ceylon has a full-featured Eclipse-based development environment, allowing developers to take best advantage of the powerful static type system. Programs written in Ceylon execute on the JVM.
Slides as they were used at EclipseCon 2012
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/ILvHbv.
Brendan Eich surveys interesting developments in the Web platform, analysing emergent trends, and making some predictions. Filmed at qconsf.com.
Brendan Eich is CTO and SVP of Engineering for Mozilla, and widely recognized for his enduring contributions to the Internet revolution. In 1995, Eich invented JavaScript (ECMAScript), the Internet’s most widely used programming language. He co-founded the mozilla.org project in 1998, serving as chief architect, and has been a board member of the Mozilla Foundation since its inception in 2003.
Building Domain-Specific Decision ModelsJacob Feldman
In this presentation at the DecisionCAMP-2014 (http://www.decision-camp.com) I shared real-world experience of building various domain-specific decisions and business rules using a general-purpose BRDMS “OpenRules”. Our approach to a “business DSL” is based on development of domain-specific templates for decisions and business rules that utilize business concepts and decision variables for a particular domain (business glossary). My presentation shows how to convert domain-specific Java APIs to business-oriented decision modeling constructs. It describes 3 real-world use cases.
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...Codemotion
In times where a jungle of JavaScript frameworks wants to solve every conceivable problem in web app development, Elm offers a different approach. Elm is a functional language that compiles to JavaScript. It has a user-friendly compiler, a sound type system, built-in immutability and lots of other features that come in handy when developing large, hopefully bug-free, single-page apps. While having fun in the process! In this talk you'll see how Elm works and learn how to use it to build a web app. More importantly, you'll learn the pros and cons of using it over a JavaScript-based solution.
Presentation of lab the project for EESTEC Summer School 2012 by group n.7 - Red Cells
Team members:
Gallas Simone
Milos Pivic
Vasiliki Tzanaki
Giulia Modugno
Marco Pilato
Alice Salamon
Presentation of lab the project for EESTEC Summer School 2012 by group n.8 - The Tridentinas
Team members:
Ivana Stojnic
Soukaina Ichou Legdani
Elisabetta Puppini
Lucia Surace
Omar Zacchigna
Samuel Iuri
Presentation of lab the project for EESTEC Summer School 2012 by group n.6 - Createam
Team members:
Elia Calligaris
Giacomo Stefano Cappellaro
Thanasis Vratimos
Elena Pockay
Chiara Selenati
Presentation of the lab project for EESTEC Summer School 2012 by group n.1 - Grande
Team members:
Lorenzo Gasparini
Aleksandra Andonovska
Federico Morsut
Christina Semertzidou
Luca dalle Vedove
EESTEC Summer School 2012 - Group 10 - vampire huntersEESTEC LC Trieste
Presentation of the lab project for EESTEC Summer School 2012 by group n.10 - Vampire Hunters
Team members:
Daniel Mihai
Marco Ghersinich
Sasa Spiler
Nicola Furlan
Laura Bartoli
Davor Kirbis
Presentation of the lab project for EESTEC Summer School 2012 by group n.9 - Kuma
Team members:
Dimitris Zarkadas
Zeljko Kraljevic
Francesca Pelusi
Alex Dagri
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
1. JavaScript
EESTEC Summer School 2012
&
jQuery
Matic Jesenovec,
Chairman of EESTEC LC Ljubljana & Web Developer at Abakus Plus
1
2. Introduction
EESTEC Summer School 2012
• THE scripting language of the Web
• It copies many names from Java, otherwise they are unrelated
• Add functionality, validate forms, communicate with the
server, provide better UX
• Runs on client side
• Web page should always be functional also without JS
• Today you can sometimes also use HTML5 and CSS3
2
3. Embeding & linking JS in HTML files
EESTEC Summer School 2012
• <script language="javascript" type= "text/javascript">
// some code
</script>
• <script language="javascript" src="script.js">
• <noscript>
This page looks way cooler with JavaScript
</noscript>
3
4. Comments
EESTEC Summer School 2012
• // one line comment
• /*
multiple
lines
comment
*/
4
5. Variables
EESTEC Summer School 2012
• Locations where you store information
• The name of your variable can contain any letter or number
• Within a function you can add var, to create local variable
• You can change the value of a variable at anytime
• JS is loosely typed – you don‘t need to tell which type of
information you will assign to a variable
• Exceptions: Array and Date
• x = 3;
• s = "This is a string";
• emptyArray = new array(); 5
• something = TRUE;
6. Variables: Datatypes
EESTEC Summer School 2012
• String – "Something"
• Number – 42
• Boolean – TRUE, FALSE
• Object
• Array – new Array(1, 2, 3);
• Date – new Date(1990, 2, 6);
• ...
• Null
• Undefined
6
7. Datatypes: Arrays
EESTEC Summer School 2012
• There are 1 types of people in the world. Those who start
counting at 0 and those who start counting at 1.
vehicles = new Array("car", "truck", "van");
vehicles[0] // car
vehicles[3] = "bicycle";
vehicles[vehicles.length-1]
anotherArray= ["First", "Second", "Last"];
7
8. Conditional statements
EESTEC Summer School 2012
• The ability to do one thing if something is true and do another
thing if it is false
x = 5;
if(x == 10)
{
document.writelin("X equals 10");
}
else
{
document.writelin("X doesn‘t equal 10");
}
8
9. Conditionals: Switch
EESTEC Summer School 2012
fruits = new Array("Banana", "Apple", "Strawberry");
for(fruit in fruits){
switch(fruit){
case "Banana ":
document.writelin("Yellow!");
break;
case "Strawberry ":
document.writelin("Red!");
break;
default:
document.writelin("Unknown!");
} 9
}
10. Operators
EESTEC Summer School 2012
• + (Addition): Used to add numeric values or combine 2 strings
of text
• - (Subtraction): Used to subtract values
• * (Multiplication): Used to multiply values
• / (Division): Used to divide values
• % (Modulus): Used to return the remainder of a division of
two numbers.
• Example: 15 % 7 = 1
• ++ (Increment): Shorthand way to add one to a value.
• Example: number++;
• -- (Decrement): Shorthand way to subtract one from a value
10
11. Operators: Comparison
EESTEC Summer School 2012
• x == y: x equals y
• x < y: x is less than y
• x > y: x is greater than y
• x <= y: x is less than or equal to y
• x >= y: x is greater than or equal to y
• x != y: x is not equal to y
11
12. Operators: Logical
EESTEC Summer School 2012
• && (AND): used to check if both values are true
• Example: if ( x < y && a > b )
• || (OR): used to check if at least one of the values is true
• ! (NOT): used to check if values are not equal to the variable it
is being used on
• Example: if(!x)
12
13. Operators: Usefull tricks
EESTEC Summer School 2012
• x += y; Adds x and y, then stores that value in the variable x
• x -= y; Subtracts y from x, then stores that value in the variable
x
• x = (y < 5) ? 10 : 15; Shorthand way to test and then assign a
value based on the test.
• If y<5 then x = 10, else x = 15
13
14. Loops
EESTEC Summer School 2012
• Perform a repetitive action over and over until some condition
is met
14
15. Loops: For
EESTEC Summer School 2012
• for (initial expression; condition to be met; edit the value of
expression)
{
javascript code…
}
for (var i = 1; i < 10; i++)
{
document.writelin(i);
}
15
16. Loops: While
EESTEC Summer School 2012
• while (condition)
{
code…
iterator
}
var i = 1;
while (i < 10)
{
document.writelin(i);
i++;
}
16
17. Loops: Do-While
EESTEC Summer School 2012
• do {
code…
}
while (i < 10)
var i = 1;
do{
document.writelin(i);
i++;
}
while(i < 10)
17
18. Loops: For-In
EESTEC Summer School 2012
• for (var objectVariable in objectItself)
{
code…
}
var theUniverse = array("Mercury", "Venus", "Earth", "Mars");
for(var planet in theUniverse)
{
document.writelin(planet);
}
18
19. Functions
EESTEC Summer School 2012
• Groupings of statements that you can type once and then use
over and over again.
• function nameOfFunction(parameter1, parameter2)
{
javascript code…
return value;
}
19
20. Functions: Example
EESTEC Summer School 2012
function addThese(numberOne, numberTwo)
{
var total = numberOne + numberTwo;
return total;
}
firstNumber = 3;
secondNumber = 2;
addition = addThese(firstNumber, secondNumber);
20
22. The Document Object Model
EESTEC Summer School 2012
• DOM defines logical structure of HTML (XML) documents
• It enables you to build, modify, navigate and add or delete
HTML elements and content
• The DOM itself is language-independent
22
23. Event handlers
EESTEC Summer School 2012
• JavaScript code that is not added inside the <script> tags, but
rather, inside HTML tags.
• They execute JS when something happens
• onClick
• onMouseOver
• onMouseOut
• onUnload
• onLoad (only for <body> and <img>)
<a href="http://eestec.net" onClick="alert('hello!')">EESTEC</a> 23
24. Firebug debugging
EESTEC Summer School 2012
• www.getfirebug.com
• Find all included JS files easily
• It shows errors that accure during the execution
• Set a breakpoint and pause execution at any point
• Continue one line at a time
• Observe variable values
• Console to execute JS on the run
• console.log(„text“);
24
26. Introduction
EESTEC Summer School 2012
• jQuery is a JavaScript Library that simplifies HTML document
traversing, event handling, animating, and Ajax interactions.
• Download it from jquery.com and include it in your web page
• $(document).ready(function(){
// Your code here
});
26
27. Selectors
EESTEC Summer School 2012
• Used for matching a set of elements in a document.
• * (all)
• .class
• #id
• :contains()
• :empty
$(".myClass").css("color","red");
27
28. Traversing
EESTEC Summer School 2012
• In addition to selectors, these methods help you select
elements.
• children()
• each()
• first()
• parent()
$("div").add("p");
$('li').each(function(index) {
console.log(index + ': ' + $(this).text()); 28
});
29. Attributes
EESTEC Summer School 2012
• Methods, used to get and set DOM attributes of elements.
• addClass()
• attr()
• hasClass()
• removeClass()
• html()
• val()
$("#button").removeClass("enabled").addClass("disabled");
29
30. Manipulation
EESTEC Summer School 2012
• Methods for manipulating the DOM. Changing attributes,
setting style properties, modifying elements,...
• append()
• css()
• remove()
• width()
• empty()
$( this ).css( "width","+=200" );
30
31. CSS
EESTEC Summer School 2012
• Methods, used to get and set CSS-related properties of
elements.
• css()
• position()
• addClass()
• hasClass()
p = $("p:first");
position = p.position();
31
32. Events
EESTEC Summer School 2012
• Methods, used to register behavior to take effect when the
user interacts with the browser.
• bind(eventType [, eventData], handler(eventObject))
• click(eventData], handler(eventObject))
• keypress([eventData], handler(eventObject))
• hover(handler(eventObject))
• ...
$('#clickMe').bind('click', function() {
console.log ('User clicked me!'); 32
});