My presentation at the Bocoup Loft (Boston, 2010-08-11). A fun diversion to illustrate some of the similarities and differences between jQuery and dojo. Also, a sneak peek of a few features of cujo.js (a web app platform that provides an MVC framework on top of dojo). The code samples and demos are not included in this version. I'm working on a version with more code!
Kreeo : Enterprise Social Collaboration PlatformSumeet Anand
Kreeo, is an unique Data-aware and flexible/customizable collaboration platform, that helps enhance workforce productivity by over 20% and simplifies compliance and knowledge retention for enterprises. It takes less than a week to configure the platform to suit the specific needs of the business and rollout, with options to host it on premise or from cloud.
Kreeo provides the unique ability to unify structured datasets and unstructured content under one hood and enable intelligence and collaboration on same. It enables creation of unique custom collaboration/digital solutions as well and takes very little time to deliver.
My presentation at the Bocoup Loft (Boston, 2010-08-11). A fun diversion to illustrate some of the similarities and differences between jQuery and dojo. Also, a sneak peek of a few features of cujo.js (a web app platform that provides an MVC framework on top of dojo). The code samples and demos are not included in this version. I'm working on a version with more code!
Kreeo : Enterprise Social Collaboration PlatformSumeet Anand
Kreeo, is an unique Data-aware and flexible/customizable collaboration platform, that helps enhance workforce productivity by over 20% and simplifies compliance and knowledge retention for enterprises. It takes less than a week to configure the platform to suit the specific needs of the business and rollout, with options to host it on premise or from cloud.
Kreeo provides the unique ability to unify structured datasets and unstructured content under one hood and enable intelligence and collaboration on same. It enables creation of unique custom collaboration/digital solutions as well and takes very little time to deliver.
Presentazione ubiquitous computing - Scrittura e tecnologia - 10 dicembre 201...Giuseppe Benevento
Presentazione del 10 dicembre 2010 per l'insegnamento di Ubiquitous Computing del corso di laurea magistrale in Teoria e Tecnologia della Comunicazione dell'Università degli Studi di Milano Bicocca in cui si mostrano alcune tecnologie per la scrittura. In particolare si parla di penna digitale, carta isometrica e inchiostro digitale (e-ink).
Cliccando su alcune immagini si rimanda automaticamente a pagine web e video esplicativi delle tecnologie presentate
Jason Huggins' (founder/CTO Sauce Labs), presentation to the JavaScript Chicago Meetup on January 28, 2010. Node.js: "The first non-browser version of JavaScript you'll want to use for every-day scripting and creating servers"
To quote Eric Meyer, "Semantic Frameworks are a game-changer." Meta CSS frameworks like SASS, lessCSS, and xCSS are revolutionizing the way we write and manage modern, semantic CSS. With features such as variables, mixins, nested rules and operations, these meta frameworks brings us closer to writing our CSS in an unobtrusive way. They incorporate CSS frameworks such as Blueprint, Grid960, and YUI and bring together the best of grid design, CSS reset techniques and browser hacks in an unobtrusive and semantic way. Ultimately, these meta frameworks allow us to develop truly semantic websites that are not only maintainable and fun to develop. This talk with discuss CSS systems, meta frameworks, and best practices for writing unobtrusive semantic code.
Jython 2.7 and techniques for integrating with Java - Frank Wierzbickifwierzbicki
Jython 2.7 is scheduled to release by July 15. Frank will talk about the new features for Jython 2.7 and plans for Jython 3.x. He will also spend some time talking about techniques for integrating Jython with Java. Jython 2.7 release is sponsored by Adconion
Every developer dreams about big red button to do everything he needs. MOP (Metaobject protocol) in Groovy is a way to get close to that dream. There is a presentation of meta programming concepts in Groovy and what benefits you can get from it.
In Getting your Grails on we will discuss the pros and cons of working in the Grails Framework. We will also cover the basic tools needed to get started in Grails development like the Groovy Grails Tool Suite and setting up your first environment to deploying your code. I will also cover some of the stumbling blocks for me as I have learned Grails after working in Java ten plus years. Yes you can teach an old dog new tricks!
Presentazione ubiquitous computing - Scrittura e tecnologia - 10 dicembre 201...Giuseppe Benevento
Presentazione del 10 dicembre 2010 per l'insegnamento di Ubiquitous Computing del corso di laurea magistrale in Teoria e Tecnologia della Comunicazione dell'Università degli Studi di Milano Bicocca in cui si mostrano alcune tecnologie per la scrittura. In particolare si parla di penna digitale, carta isometrica e inchiostro digitale (e-ink).
Cliccando su alcune immagini si rimanda automaticamente a pagine web e video esplicativi delle tecnologie presentate
Jason Huggins' (founder/CTO Sauce Labs), presentation to the JavaScript Chicago Meetup on January 28, 2010. Node.js: "The first non-browser version of JavaScript you'll want to use for every-day scripting and creating servers"
To quote Eric Meyer, "Semantic Frameworks are a game-changer." Meta CSS frameworks like SASS, lessCSS, and xCSS are revolutionizing the way we write and manage modern, semantic CSS. With features such as variables, mixins, nested rules and operations, these meta frameworks brings us closer to writing our CSS in an unobtrusive way. They incorporate CSS frameworks such as Blueprint, Grid960, and YUI and bring together the best of grid design, CSS reset techniques and browser hacks in an unobtrusive and semantic way. Ultimately, these meta frameworks allow us to develop truly semantic websites that are not only maintainable and fun to develop. This talk with discuss CSS systems, meta frameworks, and best practices for writing unobtrusive semantic code.
Jython 2.7 and techniques for integrating with Java - Frank Wierzbickifwierzbicki
Jython 2.7 is scheduled to release by July 15. Frank will talk about the new features for Jython 2.7 and plans for Jython 3.x. He will also spend some time talking about techniques for integrating Jython with Java. Jython 2.7 release is sponsored by Adconion
Every developer dreams about big red button to do everything he needs. MOP (Metaobject protocol) in Groovy is a way to get close to that dream. There is a presentation of meta programming concepts in Groovy and what benefits you can get from it.
In Getting your Grails on we will discuss the pros and cons of working in the Grails Framework. We will also cover the basic tools needed to get started in Grails development like the Groovy Grails Tool Suite and setting up your first environment to deploying your code. I will also cover some of the stumbling blocks for me as I have learned Grails after working in Java ten plus years. Yes you can teach an old dog new tricks!
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.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
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.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
By Design, not by Accident - Agile Venture Bolzano 2024
Groovy Introduction at Javaforum 2010
1. for Developers
by Leonard Axelsson (@xlson)
1
Thursday, June 17, 2010
2. SweGUG
Leonard Axelsson
• Groovy user since 2006
• Co-Founder of SweGUG
–Swedish Groovy User Group
• Speaker at GTUG, Agical Geeknight, JFokus,
SweGUG
• Developer/Consultant at Qbranch Stockholm
2
Thursday, June 17, 2010
3. SweGUG
Agenda
• Overview and obligatory Hello World
• Syntax Overview
• Tips and Trix
3
Thursday, June 17, 2010
4. SweGUG
Groovy Overview
• Originated in 2003
• Under the Apache License
• Grammar derived from Java 1.5
4
Thursday, June 17, 2010
5. SweGUG
Groovy Overview
• Dynamic language
–Inspired by Python, Ruby and Smalltalk
• Object Oriented
• Easy to learn for Java devs
–Supports Java style code out of the box
• Scriptable
• Embeddable
5
Thursday, June 17, 2010
6. SweGUG
Dynamic Language
• No compile-time checking
– int i = “Hello” throws exception at runtime
• Ducktyping
– def keyword allows you to care about what the object
does, not what it is
• Supports custom DSLs
new DateDSL().last.day.in.december( 2009 )
6
Thursday, June 17, 2010
7. SweGUG
Gotchas
• == uses equals()
–not object identity
–is() used for identity comparission
• return keyword is optional
• Methods and classes are public by default
• All exceptions are unchecked exceptions
• There are no primitives
7
Thursday, June 17, 2010
8. SweGUG
The obligatory Hello World
8
Thursday, June 17, 2010
9. SweGUG
How many in here know Groovy?
9
Thursday, June 17, 2010
10. SweGUG
Groovy can be coded the “Java”
way. So basically all of you!
10
Thursday, June 17, 2010
11. SweGUG
HelloWorld.java
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
11
Thursday, June 17, 2010
12. SweGUG
HelloWorld.groovy
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
12
Thursday, June 17, 2010
13. SweGUG
Removing ...
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
13
Thursday, June 17, 2010
14. SweGUG
Removing ...
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!")
}
}
14
Thursday, June 17, 2010
15. SweGUG
Removing ...
class HelloWorld {
public static void main(String[] args) {
println("Hello World!")
}
}
15
Thursday, June 17, 2010
17. SweGUG
This is it
println "Hello World!"
17
Thursday, June 17, 2010
18. SweGUG
Feature Overview
• Properties
–dynamic getters and setters
• Closures
–reusable blocks of code
• Meta Object Protocol
–rewrite behaviour at runtime
• Many additions to the JDK
18
Thursday, June 17, 2010
23. SweGUG
Plain Old Groovy Objects
23
Thursday, June 17, 2010
24. SweGUG
POGO’s
• Properties
–getters and setters are created automatically
• Named Parameters
–clarifies intent
class Person {
String name
String lastname
}
def anders = new Person(name: 'Anders', lastname: 'Andersson')
assert anders.getName() == 'Anders'
// Anders gets married and changes his lastname
anders.setLastname("Sundstedt")
assert anders.lastname == "Sundstedt"
24
Thursday, June 17, 2010
25. SweGUG
POGO’s
• Getters and setters can be overridden
class Person {
def name
def lastname
String setLastname(String lastname) {
this.lastname = lastname.reverse()
}
}
def anders = new Person(name: 'Anders', lastname: 'Andersson')
// Anders does a strange change of his lastname
anders.lastname = "Sundstedt"
assert anders.lastname == "tdetsdnuS"
25
Thursday, June 17, 2010
26. SweGUG
Built in syntax for lists and maps
26
Thursday, June 17, 2010
27. SweGUG
Lists
List syntax:
def names = ['Leonard', 'Anna', 'Anders']
assert names instanceof List
assert names.size() == 3
assert names[0] == 'Leonard'
27
Thursday, June 17, 2010
29. SweGUG
each, find and findAll
class Person {
String name
String lastname
boolean male
}
def ages = [new Person(name: 'Bo', lastname: 'Olsson', male: true),
new Person(name: 'Gunn', lastname: 'Bertilsson', male: false),
new Person(name: 'Britt', lastname: 'Olsson', male: false)]
// Print all names
ages.each { println "$it.name $it.lastname" }
// Find one male
assert ages.find{ person -> person.male }.name == 'Bo'
// or find all females
assert ages.findAll{ Person p -> !p.male }.size() == 2
29
Thursday, June 17, 2010
30. SweGUG
Power Asserts
• New in Groovy 1.7
// Will throw an assertion error
def getNum() { 5 }
assert (1 + 100) == num + 77
Output:
Assertion failed:
assert (1 + 100) == num + 77
| | | |
101 | 5 82
false
at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:378)
at ...
30
Thursday, June 17, 2010
31. SweGUG
Method not found?
• Better feedback in Groovy 1.7
// Will throw a MissingMethodException (no beginsWith method)
def carType = "BMW M3"
if(carType.beginsWith('Volvo')) {
println "It's a Volvo!"
}
Output:
groovy.lang.MissingMethodException: No signature of method: java.lang.String.beginsWith() is applicable for argument types:
(java.lang.String) values: [Volvo]
Possible solutions: endsWith(java.lang.String), startsWith(java.lang.String)
at ...
31
Thursday, June 17, 2010
32. SweGUG
@Grab and grape
• Dependency management using Apache Ivy
–Uses Maven Central
• grape commandline tool
–Adds dependencies to Groovys global classpath
• @Grab annotation
–Great for scripting
32
Thursday, June 17, 2010
33. SweGUG
@Grab and GPars
@Grab(group='org.codehaus.gpars', module='gpars', version='0.10')
import groovyx.gpars.GParsExecutorsPool
def importProcessingData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ,18, 19, 20]
time('Parallel execution') {
GParsExecutorsPool.withPool {
importProcessingData.eachParallel { data ->
// Insert arbitrary heavy operation here
sleep 200
}
}
}
time('Linear execution') {
importProcessingData.each {
// Insert arbitrary heavy operation here
sleep 200
}
}
Output (executed on dual-‐core machine):
Parallel execution desc, 1449 ms.{
def time(String took: task)
Linear execution took: 4006 Date().time
def startTime = new ms.
def result = task()
def executionTime = new Date().time - startTime
println "$desc took: $executionTime ms."
result
}
33
Thursday, June 17, 2010