The document discusses four models of interaction between humans and machines: 1) Following pre-defined decision trees, 2) Search queries based on keyword intersections, 3) Neural networks using pattern recognition, and 4) "Neural-like" processing that treats data and functions as fused and stateful. It argues that today's methods like relational databases are brittle for natural language queries and that a neural-like approach may enable more flexible and precise answers by representing data and inputs in a neural-like way. The document also contains examples of Java code for integrating data and functions across different applications and systems.
- The document discusses performance problems that can arise from ORM use and how to identify them. It recommends examining database logs to see queries being executed. Different types of scans like sequential, index, and bitmap scans are explained. Techniques like select_related, prefetch_related, and using indexes are suggested to reduce queries. The EXPLAIN command is demonstrated to analyze query plans and identify optimizations.
The document discusses performance issues that can arise from ORM queries and provides techniques for identifying and resolving them. It explains that ORMs may execute unexpected queries or optimized queries, and recommends monitoring database logs to see what queries are running. It also demonstrates how to use EXPLAIN to analyze slow queries, and discusses using indexes, select_related, prefetch_related and other techniques to improve query performance.
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...Matt Harrison
Python makes data science easy. In this deck we walk through a complete example of creating and evaluating a predictive model using Decision Trees and Random Forests. All of the code is included in the slides.
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Matt Harrison
I gave this presentation at Code Camp. As a data scientist and backcountry skier, I was interested in looking at fatal avalanche data. This covers scraping the data, analysis with Python, pandas and IPython Notebook. The final result is an infographic
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
This document summarizes basic operations in Matlab and Python, including programming paradigms, object-oriented fundamentals, arrays/lists, cells/structures, functions, and loops. It provides examples of classes, objects, and inheritance in both languages. Examples are also given for arrays, lists, cells, structures, functions, and loops. The document outlines the key differences between Matlab and Python for arrays, lists, and cells/structures. It concludes with references used in preparing the content.
This document discusses Python and web frameworks. It begins with an introduction to Python and its advantages for web development. It then discusses several popular Python web frameworks including web.py, Flask, and Django. It also covers related topics like WSGI, templating with Jinja2, asynchronous programming, and deployment with virtualenv.
Python is a popular programming language that is easy to learn and intuitive. It is well-suited for data science tasks. TensorFlow is a library for machine learning. The document provides an introduction and overview of Python basics like variables, data types, operators, and control structures. It also covers TensorFlow and how it can be used for neural network applications.
- The document discusses performance problems that can arise from ORM use and how to identify them. It recommends examining database logs to see queries being executed. Different types of scans like sequential, index, and bitmap scans are explained. Techniques like select_related, prefetch_related, and using indexes are suggested to reduce queries. The EXPLAIN command is demonstrated to analyze query plans and identify optimizations.
The document discusses performance issues that can arise from ORM queries and provides techniques for identifying and resolving them. It explains that ORMs may execute unexpected queries or optimized queries, and recommends monitoring database logs to see what queries are running. It also demonstrates how to use EXPLAIN to analyze slow queries, and discusses using indexes, select_related, prefetch_related and other techniques to improve query performance.
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...Matt Harrison
Python makes data science easy. In this deck we walk through a complete example of creating and evaluating a predictive model using Decision Trees and Random Forests. All of the code is included in the slides.
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Matt Harrison
I gave this presentation at Code Camp. As a data scientist and backcountry skier, I was interested in looking at fatal avalanche data. This covers scraping the data, analysis with Python, pandas and IPython Notebook. The final result is an infographic
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
This document summarizes basic operations in Matlab and Python, including programming paradigms, object-oriented fundamentals, arrays/lists, cells/structures, functions, and loops. It provides examples of classes, objects, and inheritance in both languages. Examples are also given for arrays, lists, cells, structures, functions, and loops. The document outlines the key differences between Matlab and Python for arrays, lists, and cells/structures. It concludes with references used in preparing the content.
This document discusses Python and web frameworks. It begins with an introduction to Python and its advantages for web development. It then discusses several popular Python web frameworks including web.py, Flask, and Django. It also covers related topics like WSGI, templating with Jinja2, asynchronous programming, and deployment with virtualenv.
Python is a popular programming language that is easy to learn and intuitive. It is well-suited for data science tasks. TensorFlow is a library for machine learning. The document provides an introduction and overview of Python basics like variables, data types, operators, and control structures. It also covers TensorFlow and how it can be used for neural network applications.
The document discusses Python generators and how they can be used for iterating over lists, tuples, dictionaries, strings, files and custom iterable objects. It provides examples of using generators and the yield keyword to iterate over a countdown and generate values. The document also discusses two problems - analyzing log files using generators and finding files matching patterns using the os.walk generator.
Elegant Solutions For Everyday Python Problems - Nina ZakharenkoNina Zakharenko
The document discusses elegant Python code through the use of several Python concepts and techniques including magic methods, iterators, context managers, partial functions, and decorators. Magic methods allow objects to behave like built-in types through methods like __add__ and __iter__. Context managers provide a way to cleanly handle setup and teardown tasks using the with statement. Partial functions and decorators allow modifying and extending existing functions. Overall the document presents many examples of how to write clean, elegant Python code through leveraging language features.
This presentation was given online in July 2017 and will be given at the NY Java SIG later this year. It progressively builds on Java 8 concepts using puzzles and coding to give students confidence in their Java 8 stream/lambda skills. Handouts and code in https://github.com/boyarsky/java-8-streams-by-puzzles
This document provides an overview of the Python programming language, including its history, key features, syntax examples, and common uses. It also discusses how Python can be used under Linux and some potential issues.
This presentation covers Python most important data structures like Lists, Dictionaries, Sets and Tuples. Exception Handling and Random number generation using simple python module "random" also covered. Added simple python programs at the end of the presentation
Python Tricks That You Can't Live WithoutAudrey Roy
Audrey Roy gave a presentation on Python tricks for code readability and reuse at PyCon Philippines 2012. She discussed writing clean, understandable code by following PEP8 style guidelines and using linters. She also explained how to find and install reusable Python libraries from the standard library and PyPI, and how to write packages and modules to create reusable code.
Python 101++: Let's Get Down to Business!Paige Bailey
You've started the Codecademy and Coursera courses; you've thumbed through Zed Shaw's "Learn Python the Hard Way"; and now you're itching to see what Python can help you do. This is the workshop for you!
Here's the breakdown: we're going to be taking you on a whirlwind tour of Python's capabilities. By the end of the workshop, you should be able to easily follow any of the widely available Python courses on the internet, and have a grasp on some of the more complex aspects of the language.
Please don't forget to bring your personal laptop!
Audience: This course is aimed at those who already have some basic programming experience, either in Python or in another high level programming language (such as C/C++, Fortran, Java, Ruby, Perl, or Visual Basic). If you're an absolute beginner -- new to Python, and new to programming in general -- make sure to check out the "Python 101" workshop!
The document discusses various Python standard library modules. It introduces string formatting methods like format() and regular expressions. It also covers datetime and calendar modules for working with dates and times, collections for specialized container datatypes, and numeric and math modules. Functions like map(), filter() and modules like functools, itertools, os, sys are also mentioned. The document provides examples of using these modules.
Slides from Advaned Python lectures I gave recently in Haifa Linux club
Advanced python, Part 2:
- Slots vs Dictionaries
- Basic and Advanced Generators
- Async programming
Many people doesn't know about passwords stored in database...
What's the right and safe way to do?
OK! In this short presentation teaches about this.
The pgcrypto extension provides functions to ease hashing and salting passwords.
A Python script was used as example.
This document summarizes the basics of memory management in Python. It discusses key concepts like variables, objects, references, and reference counting. It explains how Python uses reference counting with generational garbage collection to manage memory and clean up unused objects. The document also covers potential issues with reference counting like cyclic references and threads, and how the global interpreter lock impacts multi-threading in Python.
Write better python code with these 10 tricks | by yong cui, ph.d. | aug, 202...amit kuraria
This document provides a summary of techniques for coding in a Pythonic way. It discusses negative indexing in Python to access elements from the end of a sequence, using the length of a container to check if it is empty, creating lists of strings using the split() method, using ternary expressions for conditional assignments, opening files using the with statement for automatic closing, chaining comparisons and using the in keyword to test for multiple equality conditions. The document provides examples of each technique and explains how they make for more concise and Pythonic code.
The goal of this presentation is to broaden your knowledge of Python, exploring some concepts and techniques you might have never heard about. I won't go into too much detail, the goal is only to inspire you to research those features and patterns.
This document provides an overview of Python fundamentals including basic concepts like data types, operators, flow control, functions and classes. It begins with an introduction to Python versions and environments. The outline covers topics like Hello World, common types and operators for numeric, string and container data types. It also discusses flow control structures like if/else, while loops and for loops. Finally, it briefly mentions functions, classes, exceptions and file I/O.
Here are the steps to solve this problem:
1. Convert both lists of numbers to sets:
set1 = {11, 2, 3, 4, 15, 6, 7, 8, 9, 10}
set2 = {15, 2, 3, 4, 15, 6}
2. Find the intersection of the two sets:
intersection = set1.intersection(set2)
3. The number of elements in the intersection is the number of similar elements:
similarity = len(intersection)
4. Print the result:
print(similarity)
The similarity between the two sets is 4, since they both contain the elements {2, 3, 4, 15}.
In which Richard will tell you about some things you should never (probably ever) do to or in Python. Warranties may be voided. The recording of this talk is online at http://www.youtube.com/watch?v=H2yfXnUb1S4
This document provides an overview of NumPy, the core library for scientific computing in Python. It discusses NumPy arrays, which provide a grid of values that are all of the same type and indexed by tuples of integers. NumPy arrays can be initialized from nested lists and accessed using square brackets. NumPy also provides functions to create arrays filled with zeros, ones, random values, or a constant. The document covers slicing NumPy arrays to extract subarrays, and integer array indexing to construct arbitrary arrays from another array's data. It demonstrates how slicing returns views into the original data, while integer indexing allows selecting elements in any order.
This document provides a summary of Python concepts including:
1. Python is an interpreted, object-oriented, and high-level programming language with features like being easy to read, productive, portable and having a big library.
2. Key Python concepts covered include variables, data types, objects, lists, dictionaries, tuples, control structures, functions and files.
3. The document uses examples and explanations to introduce Python building blocks like variables, data types, lists, dictionaries, control flow and functions. It also discusses how Python interacts with files.
This document provides an introduction to Python programming concepts such as variables, data types, strings, lists, dictionaries, conditionals, loops, functions and modules. It covers Python basics like formatting, naming conventions and comments. Key concepts are explained through examples, such as how to define and modify variables and different data structures, perform string operations, take user input, and define reusable functions. The document is intended to teach Python fundamentals to new programmers.
This document provides an overview of the Python programming language. It discusses what Python is, its key features like being multi-purpose, readable, and productive. It then demonstrates Hello World programs in Python, C++, Java, and PHP. The rest of the document covers Python concepts like operators, variables, strings, lists, conditions, loops, functions, object oriented programming, and design patterns like strategy, closure, generator, and decorator patterns.
Michel Bauwens's presentation at eComm 2008eComm2008
The document discusses peer-to-peer (P2P) as a third mode of production, governance, and property alongside centralized hierarchy and decentralized markets. P2P enables distributed autonomy through peer production, peer governance without centralized control, and peer property models like Creative Commons that enable open access. Lower costs of participation online allow non-capitalist models to emerge. P2P challenges traditional concepts of scarcity and abundance and could inform a new post-capitalist political economy based on real abundance and sharing of knowledge and resources.
The document discusses Python generators and how they can be used for iterating over lists, tuples, dictionaries, strings, files and custom iterable objects. It provides examples of using generators and the yield keyword to iterate over a countdown and generate values. The document also discusses two problems - analyzing log files using generators and finding files matching patterns using the os.walk generator.
Elegant Solutions For Everyday Python Problems - Nina ZakharenkoNina Zakharenko
The document discusses elegant Python code through the use of several Python concepts and techniques including magic methods, iterators, context managers, partial functions, and decorators. Magic methods allow objects to behave like built-in types through methods like __add__ and __iter__. Context managers provide a way to cleanly handle setup and teardown tasks using the with statement. Partial functions and decorators allow modifying and extending existing functions. Overall the document presents many examples of how to write clean, elegant Python code through leveraging language features.
This presentation was given online in July 2017 and will be given at the NY Java SIG later this year. It progressively builds on Java 8 concepts using puzzles and coding to give students confidence in their Java 8 stream/lambda skills. Handouts and code in https://github.com/boyarsky/java-8-streams-by-puzzles
This document provides an overview of the Python programming language, including its history, key features, syntax examples, and common uses. It also discusses how Python can be used under Linux and some potential issues.
This presentation covers Python most important data structures like Lists, Dictionaries, Sets and Tuples. Exception Handling and Random number generation using simple python module "random" also covered. Added simple python programs at the end of the presentation
Python Tricks That You Can't Live WithoutAudrey Roy
Audrey Roy gave a presentation on Python tricks for code readability and reuse at PyCon Philippines 2012. She discussed writing clean, understandable code by following PEP8 style guidelines and using linters. She also explained how to find and install reusable Python libraries from the standard library and PyPI, and how to write packages and modules to create reusable code.
Python 101++: Let's Get Down to Business!Paige Bailey
You've started the Codecademy and Coursera courses; you've thumbed through Zed Shaw's "Learn Python the Hard Way"; and now you're itching to see what Python can help you do. This is the workshop for you!
Here's the breakdown: we're going to be taking you on a whirlwind tour of Python's capabilities. By the end of the workshop, you should be able to easily follow any of the widely available Python courses on the internet, and have a grasp on some of the more complex aspects of the language.
Please don't forget to bring your personal laptop!
Audience: This course is aimed at those who already have some basic programming experience, either in Python or in another high level programming language (such as C/C++, Fortran, Java, Ruby, Perl, or Visual Basic). If you're an absolute beginner -- new to Python, and new to programming in general -- make sure to check out the "Python 101" workshop!
The document discusses various Python standard library modules. It introduces string formatting methods like format() and regular expressions. It also covers datetime and calendar modules for working with dates and times, collections for specialized container datatypes, and numeric and math modules. Functions like map(), filter() and modules like functools, itertools, os, sys are also mentioned. The document provides examples of using these modules.
Slides from Advaned Python lectures I gave recently in Haifa Linux club
Advanced python, Part 2:
- Slots vs Dictionaries
- Basic and Advanced Generators
- Async programming
Many people doesn't know about passwords stored in database...
What's the right and safe way to do?
OK! In this short presentation teaches about this.
The pgcrypto extension provides functions to ease hashing and salting passwords.
A Python script was used as example.
This document summarizes the basics of memory management in Python. It discusses key concepts like variables, objects, references, and reference counting. It explains how Python uses reference counting with generational garbage collection to manage memory and clean up unused objects. The document also covers potential issues with reference counting like cyclic references and threads, and how the global interpreter lock impacts multi-threading in Python.
Write better python code with these 10 tricks | by yong cui, ph.d. | aug, 202...amit kuraria
This document provides a summary of techniques for coding in a Pythonic way. It discusses negative indexing in Python to access elements from the end of a sequence, using the length of a container to check if it is empty, creating lists of strings using the split() method, using ternary expressions for conditional assignments, opening files using the with statement for automatic closing, chaining comparisons and using the in keyword to test for multiple equality conditions. The document provides examples of each technique and explains how they make for more concise and Pythonic code.
The goal of this presentation is to broaden your knowledge of Python, exploring some concepts and techniques you might have never heard about. I won't go into too much detail, the goal is only to inspire you to research those features and patterns.
This document provides an overview of Python fundamentals including basic concepts like data types, operators, flow control, functions and classes. It begins with an introduction to Python versions and environments. The outline covers topics like Hello World, common types and operators for numeric, string and container data types. It also discusses flow control structures like if/else, while loops and for loops. Finally, it briefly mentions functions, classes, exceptions and file I/O.
Here are the steps to solve this problem:
1. Convert both lists of numbers to sets:
set1 = {11, 2, 3, 4, 15, 6, 7, 8, 9, 10}
set2 = {15, 2, 3, 4, 15, 6}
2. Find the intersection of the two sets:
intersection = set1.intersection(set2)
3. The number of elements in the intersection is the number of similar elements:
similarity = len(intersection)
4. Print the result:
print(similarity)
The similarity between the two sets is 4, since they both contain the elements {2, 3, 4, 15}.
In which Richard will tell you about some things you should never (probably ever) do to or in Python. Warranties may be voided. The recording of this talk is online at http://www.youtube.com/watch?v=H2yfXnUb1S4
This document provides an overview of NumPy, the core library for scientific computing in Python. It discusses NumPy arrays, which provide a grid of values that are all of the same type and indexed by tuples of integers. NumPy arrays can be initialized from nested lists and accessed using square brackets. NumPy also provides functions to create arrays filled with zeros, ones, random values, or a constant. The document covers slicing NumPy arrays to extract subarrays, and integer array indexing to construct arbitrary arrays from another array's data. It demonstrates how slicing returns views into the original data, while integer indexing allows selecting elements in any order.
This document provides a summary of Python concepts including:
1. Python is an interpreted, object-oriented, and high-level programming language with features like being easy to read, productive, portable and having a big library.
2. Key Python concepts covered include variables, data types, objects, lists, dictionaries, tuples, control structures, functions and files.
3. The document uses examples and explanations to introduce Python building blocks like variables, data types, lists, dictionaries, control flow and functions. It also discusses how Python interacts with files.
This document provides an introduction to Python programming concepts such as variables, data types, strings, lists, dictionaries, conditionals, loops, functions and modules. It covers Python basics like formatting, naming conventions and comments. Key concepts are explained through examples, such as how to define and modify variables and different data structures, perform string operations, take user input, and define reusable functions. The document is intended to teach Python fundamentals to new programmers.
This document provides an overview of the Python programming language. It discusses what Python is, its key features like being multi-purpose, readable, and productive. It then demonstrates Hello World programs in Python, C++, Java, and PHP. The rest of the document covers Python concepts like operators, variables, strings, lists, conditions, loops, functions, object oriented programming, and design patterns like strategy, closure, generator, and decorator patterns.
Michel Bauwens's presentation at eComm 2008eComm2008
The document discusses peer-to-peer (P2P) as a third mode of production, governance, and property alongside centralized hierarchy and decentralized markets. P2P enables distributed autonomy through peer production, peer governance without centralized control, and peer property models like Creative Commons that enable open access. Lower costs of participation online allow non-capitalist models to emerge. P2P challenges traditional concepts of scarcity and abundance and could inform a new post-capitalist political economy based on real abundance and sharing of knowledge and resources.
Dilip Kenchammana's presentation at eComm 2008eComm2008
The document discusses how the traditional home phone is declining in use but the need for home communication is still present. It suggests the home phone will be reincarnated in new roles and form factors using new technologies like VoIP, touchscreens, and multimedia capabilities. These new home phones aim to be central hubs for calling, messaging, sharing photos and videos within families. The document predicts 2009 will be the year these new home phones are launched now that the necessary hardware and software are available.
O documento apresenta um teste de personalidade com 10 perguntas sobre hábitos e preferências pessoais. Ao final, o teste fornece uma descrição da personalidade com base na pontuação obtida, variando de dominante e egocêntrico para tímido e indeciso. O documento instrui o leitor a enviar o teste para amigos depois de preenchê-lo.
O documento apresenta um teste de personalidade com 10 perguntas sobre hábitos e preferências pessoais. Ao final, o teste fornece uma descrição da personalidade da pessoa baseada na soma dos pontos obtidos em cada resposta.
El documento habla brevemente sobre el narcotráfico. Menciona que los soldados luchan contra el narcotráfico diariamente y cómo el problema comenzó a nivel mundial en los años 70 debido a movimientos en contra del gobierno. También nombra a algunos narcotraficantes notorios de Colombia como Zarza, Wilber Varela apodado "El Jabón" y El Chapo.
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
We asked LinkedIn members worldwide about their levels of interest in the latest wave of technology: whether they’re using wearables, and whether they intend to buy self-driving cars and VR headsets as they become available. We asked them too about their attitudes to technology and to the growing role of Artificial Intelligence (AI) in the devices that they use. The answers were fascinating – and in many cases, surprising.
This SlideShare explores the full results of this study, including detailed market-by-market breakdowns of intention levels for each technology – and how attitudes change with age, location and seniority level. If you’re marketing a tech brand – or planning to use VR and wearables to reach a professional audience – then these are insights you won’t want to miss.
Apple's Swift has achieved the top place in Stack Overflow's "Most Loved" list of programming languages in its 2015 Developer Survey. Based on information gleaned from GitHub and Stack Overflow, analyst firm RedMonk has seen Swift's popularity ranking soar from 68 to 22 in an unprecedented 6 months.
The "Extreme Swift" event does not require advanced, or even any, knowledge of Swift. Learn about some of the more outrageous features of the language which help explain what the fuss is all about!
Never look at programming the same way again — even if you never end up writing a single line of Swift code in your life.
ASTs are an incredibly powerful tool for understanding and manipulating JavaScript. We'll explore this topic by looking at examples from ESLint, a pluggable static analysis tool, and Browserify, a client-side module bundler. Through these examples we'll see how ASTs can be great for analyzing and even for modifying your JavaScript. This talk should be interesting to anyone that regularly builds apps in JavaScript either on the client-side or on the server-side.
When distributed system fail, they usually do so in spectacular ways that often have disastrous effects on your systems and users. This baptism by fire is commonly how we learn how big data systems really work. This presentation looks at real-world examples of failures using Java big data technologies such as Hadoop, Spark, Cassandra, or Kafka.
Java is an object-oriented programming language created by James Gosling at Sun Microsystems in 1995. It is platform independent, meaning programs written in Java can run on any system that supports Java without needing to be recompiled. The document provides an overview of Java, including its history and development, basic concepts like classes and objects, and how to write simple Java programs. It also discusses Java's advantages like being simple, object-oriented, portable, multithreaded, and secure.
This document summarizes integrating the OpenNMS network monitoring platform with modern configuration management tools like Puppet. It discusses using Puppet to provision and automatically configure nodes in OpenNMS from Puppet's configuration data. The authors provide code for pulling node data from Puppet's REST API and generating an XML file for OpenNMS to import the nodes and their configuration. They also discuss opportunities to further improve the integration by developing a Java object model for Puppet's YAML output and filtering imports based on node attributes.
The document discusses creating an optimized algorithm in R. It covers:
1) Background on R and some popular R packages and interfaces.
2) Optimizing code performance by using parallel computing techniques like multiple cores and high performance computing clusters.
3) Steps for writing functions in R, creating R packages, and optimizing code performance.
Microsoft azure data fundamentals (dp 900) practice tests 2022SkillCertProExams
• For a full set of 450+ questions. Go to
https://skillcertpro.com/product/microsoft-azure-data-fundamentals-dp-900-exam-questions/
• SkillCertPro offers detailed explanations to each question which helps to understand the concepts better.
• It is recommended to score above 85% in SkillCertPro exams before attempting a real exam.
• SkillCertPro updates exam questions every 2 weeks.
• You will get life time access and life time free updates
• SkillCertPro assures 100% pass guarantee in first attempt.
Good practices for PrestaShop code security and optimizationPrestaShop
The document discusses various optimizations that can be made to improve the performance and security of a PrestaShop installation. It covers optimizations to server infrastructure, database queries, PHP code, and front-end performance. Key recommendations include using caching, minimizing database queries and regular expressions, compressing responses, and securing against common attacks like SQL injection. Measurements are suggested to identify bottlenecks before optimizing.
The document discusses data structures and algorithms. It defines data structures as organized ways of storing data to allow efficient processing. Algorithms manipulate data in data structures to perform operations like searching and sorting. Big-O notation is introduced to analyze algorithms' time complexity as the problem size increases. Common time complexities like O(1), O(log n), O(n), O(n log n), O(n^2), O(n^3) and O(2^n) are defined. An example algorithm to find the minimum element in an array is analyzed, showing it has O(n) time complexity. Selection sort is analyzed and shown to have O(n^2) time complexity.
The document discusses data structures and algorithms. It defines data structures as organized ways of storing data to allow efficient processing. Algorithms manipulate data in data structures to perform operations like searching and sorting. Big-O notation provides an asymptotic analysis of algorithms, estimating how their running time grows with input size. Common time complexities include constant O(1), linear O(n), quadratic O(n^2), and exponential O(2^n).
The document discusses data structures and algorithms. It defines data structures as organized ways of storing data to allow efficient processing. Algorithms manipulate data in data structures to perform operations like searching and sorting. Big-O notation provides an asymptotic analysis of algorithms, estimating how their running time grows with input size. Common time complexities include constant O(1), linear O(n), quadratic O(n^2), and exponential O(2^n).
The document proposes design changes and a new framework called Fantom that aims to create a simpler and more modern Java-like language by removing unnecessary syntax like semicolons, adding features like string interpolation and type inference, and providing a framework called Tales that embraces HTML, JavaScript, and SQL for building web applications in a simpler way compared to other frameworks. Fantom also focuses on better modularity, APIs, concurrency model with actors, and integration of static and dynamic typing features to achieve a very boring but productive language and framework for application development.
Letting In the Light: Using Solr as an External Search ComponentJay Luker
Letting In the Light: Using Solr as an External Search Component
* Jay Luker, IT Specialist, ADS, jluker@cfa.harvard.edu
* Benoit Thiell, software developer, ADS, bthiell@cfa.harvard.edu
Code4Lib 2011, Tuesday 8 February, 14:30 - 14:50
It’s well-established that Solr provides an excellent foundation for building a faceted search engine. But what if your application’s foundation has already been constructed? How do you add Solr as a federated, fulltext search component to an existing system that already provides a full set of well-crafted scoring and ranking mechanisms?
This talk will describe a work-in-progress project at the Smithsonian/NASA Astrophysics Data System to migrate its aging search platform to Invenio, an open-source institutional repository and digital library system originally developed at CERN, while at the same time incorporating Solr as an external component for both faceting and fulltext search.
In this presentation we'll start with a short introduction of Invenio and then move on to the good stuff: an in-depth exploration of our use of Solr. We'll explain the challenges that we faced, what we learned about some particular Solr internals, interesting paths we chose not to follow, and the solutions we finally developed, including the creation of custom Solr request handlers and query parser classes.
This presentation will be quite technical and will show a measure of horrible Java code. Benoit will probably run away during that part.
Beyond PHP - It's not (just) about the codeWim Godden
Most PHP developers focus on writing code. But creating Web applications is about much more than just wrting PHP. Take a step outside the PHP cocoon and into the big PHP ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
String Comparison Surprises: Did Postgres lose my data?Jeremy Schneider
Comparisons are fundamental to computing - and comparing strings is not nearly as straightforward as you might think. Come learn about the history, nuance and surprises of “putting words in order” that you never knew existed in computer science, and how that nuance impacts both general programming and SQL programming. Next, walk through a few actual scenarios and demonstrations using PostgreSQL as a user and administrator, which you can re-run yourself later for further study, including one way you could easily corrupt your self-managed PostgreSQL database if you aren't prepared. Finally we’ll dive into an explanation of the surprising behaviors we saw in PostgreSQL, and learn more about user and administrative features PostgreSQL provides related to localized string comparison.
This document summarizes the solutions to 7 challenges from the RootedCon CTF 2010 competition by the Plaid Parliament of Pwning security group. The challenges involved gaining administrator access, exploiting login forms, reading fortune files, following links to files, using SQL injections to view data, making an online purchase, and decrypting packed JavaScript. The solutions used techniques like cookie manipulation, file backups, SQL injections, LDAP injections, and JavaScript unpacking.
The document outlines the topics covered in an advanced Java programming course, including object-oriented programming concepts, Java programming fundamentals, GUI programming, networking, and server-side programming. It also provides examples of Java code demonstrating basic syntax, methods, classes, strings, and math functions.
This document discusses the evolution of systems performance analysis tools from closed source to open source environments.
In the early 2000s with Solaris 9, performance analysis was limited due to closed source tools that provided only high-level metrics. Opening the Solaris kernel code with OpenSolaris in 2005 allowed deeper insight through understanding undocumented metrics and dynamic tracing tools like DTrace. This filled observability gaps across the entire software stack.
Modern performance analysis leverages both traditional Unix tools and new dynamic tracing tools. With many high-resolution metrics available, the focus is on visualization and collecting metrics across cloud environments. Overall open source improved systems analysis by providing full source code access.
The document introduces Hierarchy, a new technology that adds hierarchical data structures to Java. It allows defining hierarchical data like XML and JSON in Java code. Hierarchy provides benefits like easier creation and use of hierarchical data, a dedicated data structure for it, and a way to define fields universally across different usages. The technology is still in development but shows potential to improve how hierarchical data is handled in Java applications and enable new architectural styles.
Similar to Rocky Nevin's presentation at eComm 2008 (20)
David Recordon's Presentation at eComm 2008eComm2008
This document discusses community and open standards processes. It notes that most standards are typically created by large organizations behind closed doors, but that community-driven processes like those used by the IETF and early Jabber/XMPP developers allow passionate individuals to solve problems through open collaboration over mailing lists, wikis and websites. The document lists five current projects related to open standards and identity on mobile and social web platforms that would welcome community participation and ideas.
This document discusses wild and crazy things that can be built with Asterisk and open source telephony, as presented by David Troy at Digium Asterisk World 2008. It shares Troy's likes and dislikes, influences including Thomas Jefferson and Walt Disney, and things that are needed less of such as IVRs, PBX appliances, and termination providers. Imagination is said to be more important than knowledge, though a little knowledge doesn't hurt.
Anders Carlius's presentation at eComm 2008eComm2008
The document discusses TerraNet's mesh networking technology for mobile phones that can connect without base stations. It notes a $240 billion per year market opportunity in providing low-cost mobile service to the 4 billion people currently unconnected. TerraNet's ad-hoc mesh networking phones using GSM can connect up to 7 hops away and provide voice and text services for disaster relief, remote areas, and developing markets at a lower cost than traditional cellular networks. The technology enables affordable mobile access for the billions currently unconnected and represents a huge untapped market opportunity.
Sean O\'Sullivan\'s presentation at eComm 2008eComm2008
1) The document discusses hands-free communication options for drivers and introduces Dial2Do as a service that allows users to access various apps and services like email, reminders, Twitter, and Jajah through voice commands over the phone.
2) Dial2Do works by having users call or say a keyword to a single number to then perform tasks like send an email, set a reminder, or make a Jajah call at low rates.
3) It is described as a hosted platform that handles voice recognition, call control and other backend functions to power its various voice-enabled services through integration with apps. Dial2Do is opening for beta testing in North
Norman Lewis\'s presentation at eComm 2008eComm2008
Young people are increasingly using digital technologies not just for communication but for self-expression. As devices continue to proliferate, the future will be about how people can connect and collaborate through networks, rather than focusing on owning individual devices. Shifting from "me" to "us" will be an important generational change.
Sheldon Renan's presentation at eComm 2008eComm2008
The document discusses the concept of "netness", which refers to the emerging state of ubiquitous connectivity where lives and systems are increasingly interconnected. As connectivity becomes more prevalent, networks transform into fields and lives become more entangled. This shift represents a fourth state of connectivity beyond being loosely, closely or embedded connected. When all things can connect, safety, capability and opportunity increase, making connectivity vital for optimizing products, business models and governance. Moving forward, further study of connectivity's value and focus on pervasive networks is needed.
Brough Turner\'s presentation at eComm 2008eComm2008
This document discusses options for communities to take control of their own internet connectivity through owning dark fiber networks. It presents examples from Sweden where communities have built their own fiber networks providing internet speeds up to 1 Gbps for $16/month. It also discusses examples from Quebec and Stockholm where municipalities have built dark fiber networks to entire cities. The document argues that taking local control of internet infrastructure through dark fiber networks can help communities bypass regulated monopolies and have more choices for high-speed connectivity.
Brian Capouch's presentation at eComm 2008eComm2008
This document discusses twelve-volt telephony and an open source wireless ISP called Peoples Wireless located in northwest Indiana. It notes that Peoples Wireless has been providing wireless internet service since 2002 across approximately 1500 square miles using an open source infrastructure. It also describes a group of seven old houses collectively over 1100 years old that were at risk of being abandoned but are now being preserved through a project called Save Old Houses.
Fabrizio Capobianco's presentation at eComm 2008eComm2008
This document discusses the concept of Mobile 2.0 and the openness that will drive it. Mobile 2.0 will be enabled by better, cheaper wireless networks and devices that allow advanced mobile services, applications and user-generated content. It will go beyond squeezing the web into mobile devices and involve locally stored apps and data that are updated over-the-air through push notifications. Open networks, open devices, open content and open source will be key to Mobile 2.0 by allowing any applications on any devices and freely shared content and software.
Shirish Andhare's presentation at eComm 2008eComm2008
The document discusses new opportunities for telecommunications companies to generate revenue through opening up their platforms and services to developers and new types of applications. It suggests that telecom companies could unlock over $1 trillion in value by shifting from closed business models to more open models that allow for multi-play services and by addressing challenges like understanding customer needs and overcoming reluctance to change. The presentation advocates for an approach of cooperation between telecom companies and startups to drive innovation in new user experiences and communication services.
MIR3 provides multi-modal communication services that allow messages to be delivered through a recipient's preferred method such as text, voice, email, or fax. It has over 80 employees and serves various industries including IT, emergency services, and education. MIR3's APIs allow third-party applications to integrate multi-modal communication capabilities without needing telecom expertise. Examples include applications for business continuity, community emergency response, and social networking.
The document discusses where voice technology fits within different applications and services. It notes examples like buyer verification, critical support conferencing, and weather alerts. It also lists 10 key areas for voice integration, such as writing, urgency, emotion, place, context, scale, integration, verticals, people, and enterprise. The document is a 2008 presentation about how voice can be applied within different sectors.
The document discusses lifestrea.ms, a digital platform that aims to be a user's digital nerve center by integrating their online identities, networks, and activities across different services into a single dashboard. It seeks to address issues with existing social networks like fragmented online identities and information being scattered across multiple accounts. Key features include a unified address book, tracking what's shared online about the user, monitoring friends' and groups' activities, and sharing updates across networks from one place while maintaining privacy controls. The goal is to serve users' real needs through features like communication, reputation building, and access to a mobile app.
Martin Geddes's presentation at eComm 2008eComm2008
The document discusses how telecom companies can adopt a two-sided business model like other industries such as container shipping and online platforms. It argues that telecom companies have valuable customer data and assets that could be leveraged to provide logistics and value-added services to both upstream business customers and downstream end users, opening up new revenue opportunities beyond traditional voice and data services. By creating open platforms and focusing on scale, packaging solutions, rewards, privacy, and reliability, telecom companies could tap into a potential $350 billion market for these two-sided services.
Nathan Eagle's presentation at eComm 2008eComm2008
The document discusses three main challenges for the mobile industry: sensing, scaling, and sustaining. For sensing, it discusses using data from phone calls and social networks to understand individual and group behavior. For scaling, it discusses analyzing large networks of hundreds of millions of users to understand aggregate behavior and diffusion. For sustaining, it discusses using mobile technologies in developing areas like Africa to support entrepreneurship, education, and community services through approaches that can work on basic phones.
Stanley Chia's presentation at eComm 2008eComm2008
The document discusses future trends in the mobile industry including:
1. Convergence of the telecom and IT industries towards a single standard for mobile broadband networks and devices.
2. The disruption caused by voice over IP technology and the trend towards full interconnectivity across communication systems.
3. The need to meet customer needs through open innovation, engaging with the internet community, and shaping devices and software for a mobile web experience.
4. Developing new applications and business models around near field communication technology using the SIM card as a secure element.
Phil Wolff's 's presentation at eComm 2008eComm2008
The document discusses the evolution of social networking and communication technologies from 1977 to 2008. It focuses on how programs like Skype have developed zones of interoperability that allow for relationship actions, account management, synchronization of profiles and contacts, discovery of people, and other social functions across different platforms. The emergence of these social stacks and their integration is changing how users interact online.
Jonathan Christensen's Panel Intro at eComm 2008eComm2008
This document discusses the lack of a widely adopted mobile VoIP platform. It notes that while platforms like Windows Mobile and Symbian have audio interfaces, they are inconsistent. WiFi devices and tablets also do not have broad adoption. The document questions if there are any solutions to this dilemma of not having a mobile VoIP platform that is open, powerful, connected, and widely used.
Bob Frankston's presentation at eComm 2008eComm2008
The document discusses the opportunities available by moving away from a telecom-centric view of connectivity and embracing an approach focused on networking and the sharing of infrastructure. Key points made include:
1) Networking is something we do and we can use any means available to innovate, unlike the telecom model which focuses on predefined networks and services.
2) Abundant connectivity is possible if we are not constrained by the past and recognize that bits have no intrinsic scarcity or value assigned by providers.
3) The telecom model aims to monetize networks and bits but this is inherently dysfunctional since the internet is based on abundance and costs are effectively zero.
4) We should focus
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Rocky Nevin's presentation at eComm 2008
1.
2. Before we communicate with a person we must communicate with the Machine ... improve!
3.
4.
5.
6. “ I know what I want, why can’t I just ask for it?”
7.
8.
9.
10. 1) Follow Trees: pre-defined pull-downs (most app’s) 2) Intersection of sets: e.g. search engines 3) Neural Networks: optimization, processing layers 4) ‘Neural-like’ processing: DataSea Four models of interaction
11.
12.
13.
14.
15. Today’s methods: Why so brittle? Relational Databases: - fast, but not highly connected Inferencing is hard! “ what is the beast’ s name ?” Table: Names Thing Name robot Gort cat Tally planet Earth ... ...
16. Table: Aliases Word Alias dog animal dog canine cat animal cat feline animal beast ... ... Today’s methods: Query Expansion What is the beast’s (?cat’s?) name? Relational Databases: - fast, but not highly connected Inferencing is hard! “ what is the beast’ s name ?” Table: Names Thing Name robot Gort cat Tally planet Earth ... ...
17.
18. “ I know what I want, why can’t I just ask for it?”
19. DataSea’s Query Expansion: automatic “ what is the beast’s name?” Tally, is Name Associative Memory ... Single Network
20. Today’s methods: Query Expansion What is the beast’s (cat’s?) name? Need to automatically: 1) Look further than one link 2) Treat 3 inferences in the same way as 1 3) Avoid ‘query-explosion’
21. Object Reusability, Data integration ... just connect them up! Fitting together ? Aaaaaimport java.io.*; import java.util.*; import java.io.*; import java.net.*; import Utils.Login; import Utils.Utils; import net.sf.asterisk.manager.*; import net.sf.asterisk.manager.event.*; import net.sf.asterisk.manager.action.*; import net.sf.asterisk.manager.impl.*; import net.sf.asterisk.manager.response.*; import net.sf.asterisk.fastagi.command.SetPriorityCommand; import net.sf.asterisk.fastagi.command.StreamFileCommand; public class MGR_Reminder { static int DELAY_SLEEP_SECS = 3; // Writing from server to ast2 goes about 40kB/sec, but to kvm ast is 500kB/sec // It's about 1MB per minute public static void main(String[] argv) { } static public void writeFileToAsterisk(String filebase, String msg_str) { try { String command=utils.DS_ROOT+"/Eclipse/Scripts/ds.genAudToAst.sh "+user_name+" "+playback_str+ " " + filebase+" "+msg_str; rt.exec(command); } catch (java.io.IOException e) { System.err.println("Runtime IOException: " + e.toString()); } } private DefaultManagerConnection getDefaultManagerConnection() { DefaultManagerConnection dmc; dmc = new DefaultManagerConnection(); dmc.setUsername("admin"); dmc.setPassword("rocky"); dmc.setHostname(Utils.ASTERISK_MANAGER); dmc.setHostname("ast"); // TODO !! Fix this!!!!!!!! if (dmc==null) { System.out.println("DefaultManagerConnection: FATAL ERROR null dmc"); } return dmc; } public void placeCall(String filebase, String str_number, String forwarding_number, String maxsecs1, String maxsecs2, String user_name) { try { this.loginAndOriginateCall(filebase, str_number, forwarding_number, maxsecs1, maxsecs2, user_name); } catch (Exception e) { System.out.println("ERROR IN MGR_Reminder main RUNNING OF mgr.testLogin"); e.printStackTrace(); } import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.DriverManager; public class calcRate { static public Connection mysql_connection=null; public calcRate() { } public Connection testConnection(String host, String db, String user, String pass) { String diag_str=""; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception ex) { System.err.println("ERROR in newInstance of Login Class.forName(com.mysql.jdbc.Driver.newInstance():"+ex); return((Connection) null); // Bail out } Connection conn; try { conn = DriverManager.getConnection("jdbc:mysql://"+host+"/"+ db +"?user="+user+"&password="+pass); } catch (SQLException ex) { diag_str +="ERROR testConnection SQLException: " + ex.getMessage()+""; System.err.println(diag_str); return((Connection)null); // Bail out } if (conn == null) return(conn); // OK } public double sqlCalcRate(String phone_number) { Statement stmt; int row_counter=0; int max_rows=100; String prefix=""; String rate=""; String destname=""; if (phone_number==null) return(-1); if (phone_number.length()<3) return(-1); if (0==phone_number.indexOf("1")) // This is a US/Canada number return(DEFAULT_PHONE_COST_US_CANADA); else if (0==phone_number.indexOf("011")) phone_number = phone_number.substring(3); // Trim off the 01 and use the rest else // We don't have an international code, so assume it's to the US/Canada return(DEFAULT_PHONE_COST_US_CANADA); Connection conn = mysql_connection; if (conn==null) { System.err.println("sqlCalcRate has null connections"); return(-2); } String query_str = "select Prefix, Rate, Rate from asteriskcdrdb.rates where Prefix like " +"'"+phone_number.substring(0, 2)+"%'" +" order by char_length(Prefix) desc"; System.err.println("Login.sqlCalcRate: " +" phone_number = "+phone_number+"" } ...
22. Object Reusability, Data integration ... just connect them up! Fitting together ? rather complex Aaaaaimport java.io.*; import java.util.*; import java.io.*; import java.net.*; import Utils.Login; import Utils.Utils; import net.sf.asterisk.manager.*; import net.sf.asterisk.manager.event.*; import net.sf.asterisk.manager.action.*; import net.sf.asterisk.manager.impl.*; import net.sf.asterisk.manager.response.*; import net.sf.asterisk.fastagi.command.SetPriorityCommand; import net.sf.asterisk.fastagi.command.StreamFileCommand; public class MGR_Reminder { static int DELAY_SLEEP_SECS = 3; // Writing from server to ast2 goes about 40kB/sec, but to kvm ast is 500kB/sec // It's about 1MB per minute public static void main(String[] argv) { } static public void writeFileToAsterisk(String filebase, String msg_str) { try { String command=utils.DS_ROOT+"/Eclipse/Scripts/ds.genAudToAst.sh "+user_name+" "+playback_str+ " " + filebase+" "+msg_str; rt.exec(command); } catch (java.io.IOException e) { System.err.println("Runtime IOException: " + e.toString()); } } private DefaultManagerConnection getDefaultManagerConnection() { DefaultManagerConnection dmc; dmc = new DefaultManagerConnection(); dmc.setUsername("admin"); dmc.setPassword("rocky"); dmc.setHostname(Utils.ASTERISK_MANAGER); dmc.setHostname("ast"); // TODO !! Fix this!!!!!!!! if (dmc==null) { System.out.println("DefaultManagerConnection: FATAL ERROR null dmc"); } return dmc; } public void placeCall(String filebase, String str_number, String forwarding_number, String maxsecs1, String maxsecs2, String user_name) { try { this.loginAndOriginateCall(filebase, str_number, forwarding_number, maxsecs1, maxsecs2, user_name); } catch (Exception e) { System.out.println("ERROR IN MGR_Reminder main RUNNING OF mgr.testLogin"); e.printStackTrace(); } import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.DriverManager; public class calcRate { static public Connection mysql_connection=null; public calcRate() { } public Connection testConnection(String host, String db, String user, String pass) { String diag_str=""; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception ex) { System.err.println("ERROR in newInstance of Login Class.forName(com.mysql.jdbc.Driver.newInstance():"+ex); return((Connection) null); // Bail out } Connection conn; try { conn = DriverManager.getConnection("jdbc:mysql://"+host+"/"+ db +"?user="+user+"&password="+pass); } catch (SQLException ex) { diag_str +="ERROR testConnection SQLException: " + ex.getMessage()+""; System.err.println(diag_str); return((Connection)null); // Bail out } if (conn == null) return(conn); // OK } public double sqlCalcRate(String phone_number) { Statement stmt; int row_counter=0; int max_rows=100; String prefix=""; String rate=""; String destname=""; if (phone_number==null) return(-1); if (phone_number.length()<3) return(-1); if (0==phone_number.indexOf("1")) // This is a US/Canada number return(DEFAULT_PHONE_COST_US_CANADA); else if (0==phone_number.indexOf("011")) phone_number = phone_number.substring(3); // Trim off the 01 and use the rest else // We don't have an international code, so assume it's to the US/Canada return(DEFAULT_PHONE_COST_US_CANADA); Connection conn = mysql_connection; if (conn==null) { System.err.println("sqlCalcRate has null connections"); return(-2); } String query_str = "select Prefix, Rate, Rate from asteriskcdrdb.rates where Prefix like " +"'"+phone_number.substring(0, 2)+"%'" +" order by char_length(Prefix) desc"; System.err.println("Login.sqlCalcRate: " +" phone_number = "+phone_number+"" } ...
23. Object Reusability, Data integration ... & Brain Transplants: just connect them up! Fitting together ? rather complex Aaaaaimport java.io.*; import java.util.*; import java.io.*; import java.net.*; import Utils.Login; import Utils.Utils; import net.sf.asterisk.manager.*; import net.sf.asterisk.manager.event.*; import net.sf.asterisk.manager.action.*; import net.sf.asterisk.manager.impl.*; import net.sf.asterisk.manager.response.*; import net.sf.asterisk.fastagi.command.SetPriorityCommand; import net.sf.asterisk.fastagi.command.StreamFileCommand; public class MGR_Reminder { static int DELAY_SLEEP_SECS = 3; // Writing from server to ast2 goes about 40kB/sec, but to kvm ast is 500kB/sec // It's about 1MB per minute public static void main(String[] argv) { } static public void writeFileToAsterisk(String filebase, String msg_str) { try { String command=utils.DS_ROOT+"/Eclipse/Scripts/ds.genAudToAst.sh "+user_name+" "+playback_str+ " " + filebase+" "+msg_str; rt.exec(command); } catch (java.io.IOException e) { System.err.println("Runtime IOException: " + e.toString()); } } private DefaultManagerConnection getDefaultManagerConnection() { DefaultManagerConnection dmc; dmc = new DefaultManagerConnection(); dmc.setUsername("admin"); dmc.setPassword("rocky"); dmc.setHostname(Utils.ASTERISK_MANAGER); dmc.setHostname("ast"); // TODO !! Fix this!!!!!!!! if (dmc==null) { System.out.println("DefaultManagerConnection: FATAL ERROR null dmc"); } return dmc; } public void placeCall(String filebase, String str_number, String forwarding_number, String maxsecs1, String maxsecs2, String user_name) { try { this.loginAndOriginateCall(filebase, str_number, forwarding_number, maxsecs1, maxsecs2, user_name); } catch (Exception e) { System.out.println("ERROR IN MGR_Reminder main RUNNING OF mgr.testLogin"); e.printStackTrace(); } import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.DriverManager; public class calcRate { static public Connection mysql_connection=null; public calcRate() { } public Connection testConnection(String host, String db, String user, String pass) { String diag_str=""; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception ex) { System.err.println("ERROR in newInstance of Login Class.forName(com.mysql.jdbc.Driver.newInstance():"+ex); return((Connection) null); // Bail out } Connection conn; try { conn = DriverManager.getConnection("jdbc:mysql://"+host+"/"+ db +"?user="+user+"&password="+pass); } catch (SQLException ex) { diag_str +="ERROR testConnection SQLException: " + ex.getMessage()+""; System.err.println(diag_str); return((Connection)null); // Bail out } if (conn == null) return(conn); // OK } public double sqlCalcRate(String phone_number) { Statement stmt; int row_counter=0; int max_rows=100; String prefix=""; String rate=""; String destname=""; if (phone_number==null) return(-1); if (phone_number.length()<3) return(-1); if (0==phone_number.indexOf("1")) // This is a US/Canada number return(DEFAULT_PHONE_COST_US_CANADA); else if (0==phone_number.indexOf("011")) phone_number = phone_number.substring(3); // Trim off the 01 and use the rest else // We don't have an international code, so assume it's to the US/Canada return(DEFAULT_PHONE_COST_US_CANADA); Connection conn = mysql_connection; if (conn==null) { System.err.println("sqlCalcRate has null connections"); return(-2); } String query_str = "select Prefix, Rate, Rate from asteriskcdrdb.rates where Prefix like " +"'"+phone_number.substring(0, 2)+"%'" +" order by char_length(Prefix) desc"; System.err.println("Login.sqlCalcRate: " +" phone_number = "+phone_number+"" } ...
25. Self-organizing => don’t need to know details Immune system, Protein ‘lock and key’ model Biology Fitting together ? complex … But biological systems are self organizing
26. Self-organizing: The Solution? Self-organizing data New Input Self- connecting Self-organizing => don’t need to know details
29. Self-organizing: The Solution? Self-organizing data and operations New Input Self- connecting Self-organizing => don’t need to know details
30. Self-organizing: The Solution? New Input Self- connecting Operation, Action Self-organizing => don’t need to know details Self-organizing data and functions
36. Multi-Source, Multi-modal : Inputs Voice Applications SQL-RDBMS XML/HTML MS Office: Excel/ Word/Outlook Computer PDA Voice & Text Notes Thesaurus Corporate Repositories Google: web and Desktop VoIP Outputs DataSea Assimilation
37.
38. Integrating with the Real World Upload Files AddressBook, SpreadSheets, Text, HTML Crawl Relational DataBase Customize GUI for application specific needs
39.
40. Point of View ... Data Modules Load Another User's Data, run a query: see the world from their Point of View
43. SF: DataSea; one step, richer response Finding accounts and contacts in Chicago 1) “show Chicago”
44.
45.
46. Broad Applicability Applications: - Salesforce.com (beta) - Personal Assistant - Corporate DB/Knowledge-base - Corporate web portal - Identity Sharing - Home Voice companion (prototyped) - Business Portal (design) - Intelligence community DataSea Assimilation
47. Broad Applicability Applications: - Salesforce.com (beta) - Personal Assistant - Corporate DB/Knowledge-base - Corporate web portal - Identity Sharing - Home Voice companion (prototyped) - Business Portal (design) - Intelligence community DataSea Assimilation
48. Broad Applicability Applications: - Salesforce.com (beta) - Personal Assistant - Corporate DB/Knowledge-base - Corporate web portal - Identity Sharing - Home Voice companion (prototyped) - Business Portal (design) - Intelligence community DataSea Assimilation
49. Evolution of Search and Actions Traditional systems Evolution (“Intelligence”) Procedural Neural-like Human DataSea
50. Trans-Application Fusion CRM data Corp’ DB App’ data DataSea Assimilates, ‘connects the dots’ In-house App CRM App DB App
51.
52. Contact Us CEO: Rocky Nevin [email_address] CFO: Linda Webster [email_address] SalesForce DataSea Plugin Pending SFDC Appexchange certification DataSea, Inc. www.DataSea.com
53. An eComm 2008 presentation – http://eCommMedia.com for more
Editor's Notes
RN, startup applying NNet-like processing to Information systems In graduate school I studied the connections of neurons in an insect. I wanted to entitle my dissertation “RoboCricket” but my advisor said no. While I appropriately acceded to his advice, that name seemed appropriate to me because they are like little robots: very, very good at what they do, and their information processing is different than that of the computers which I used to help analyze the little creatures’ morphology. I will talk about a different way to store and process info’, more like how we think. This helps us communicate with the machine And I’ll talk about self-organizing systems which give Data and Function Modules, and let us see the worl from the POV of others ... this is relevant to social networking apps.