This document provides an overview of scripting with VBScript, including the anatomy of a VBScript, error handling, reading from and writing to files, reading command line results, querying WMI and Active Directory, and building GUIs with HTA. It discusses variables, constants, objects, functions, and subroutines as the main elements of a VBScript. It also provides examples of reading from and writing to files, executing commands and reading the output, and querying WMI classes. Finally, it mentions tools like Microsoft Scriptomatic and WMIGen that can help generate VBScript code.
The document discusses Node.js including:
1. An introduction to Node.js as an asynchronous event-driven JavaScript runtime for building scalable network applications.
2. Common internal Node.js modules like HTTP, File System, and Crypto.
3. Differences between JavaScript on Node.js and Java on JRE.
4. A sample HTTP server using the internal HTTP module to respond with "Hello World".
jQuery with javascript training by Technnovation LabsPrasad Shende
At TLabs, we respect the demand of time & love to go along with it. Acknowledging the trends we serve neatly designed syllabus that explores jQuery covering the thorough fundamentals of JavaScript. Having a basic knowledge of JavaScript will go a long way in understanding, structuring, and debugging your code. After the completion of this course, you will be able to create plug-ins on top of the JavaScript library to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and web applications as well.
Node.js is a platform built on Google's V8 JavaScript engine that allows for non-blocking and event-driven web servers. It is well-suited for building real-time applications using techniques like Comet that require persistent connections to clients. The speaker demonstrates how to implement a basic chat application using WebSockets with node.js that maintains open connections to allow real-time messaging between users. Node.js's asynchronous and non-blocking model makes it a natural fit for Comet-style programming compared to traditional threaded server models.
Node.js and MongoDB are a good fit as MongoDB provides a high-fidelity data store for Node.js applications. To get started quickly, use Nave to manage Node.js versions, npm to manage packages, Express as a web framework, Mongoose as an ODM, and EJS for templating. Key steps include setting up Bootstrap, adding authentication with Mongoose-Auth, and defining schemas like a Link schema for data.
Things you should know about Node.js. An open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications.
Demo files: https://github.com/bedis-elacheche/node-workshop-12.16
Javascript basics for automation testingVikas Thange
This document provides an overview of basic JavaScript examples and concepts. It covers topics such as writing JavaScript code, variables, conditional statements, functions, loops, events, and error handling. For each topic, it provides short code snippets to demonstrate the concept. It concludes by referencing W3Schools as a resource and thanking the reader.
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
The document discusses Node.js including:
1. An introduction to Node.js as an asynchronous event-driven JavaScript runtime for building scalable network applications.
2. Common internal Node.js modules like HTTP, File System, and Crypto.
3. Differences between JavaScript on Node.js and Java on JRE.
4. A sample HTTP server using the internal HTTP module to respond with "Hello World".
jQuery with javascript training by Technnovation LabsPrasad Shende
At TLabs, we respect the demand of time & love to go along with it. Acknowledging the trends we serve neatly designed syllabus that explores jQuery covering the thorough fundamentals of JavaScript. Having a basic knowledge of JavaScript will go a long way in understanding, structuring, and debugging your code. After the completion of this course, you will be able to create plug-ins on top of the JavaScript library to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and web applications as well.
Node.js is a platform built on Google's V8 JavaScript engine that allows for non-blocking and event-driven web servers. It is well-suited for building real-time applications using techniques like Comet that require persistent connections to clients. The speaker demonstrates how to implement a basic chat application using WebSockets with node.js that maintains open connections to allow real-time messaging between users. Node.js's asynchronous and non-blocking model makes it a natural fit for Comet-style programming compared to traditional threaded server models.
Node.js and MongoDB are a good fit as MongoDB provides a high-fidelity data store for Node.js applications. To get started quickly, use Nave to manage Node.js versions, npm to manage packages, Express as a web framework, Mongoose as an ODM, and EJS for templating. Key steps include setting up Bootstrap, adding authentication with Mongoose-Auth, and defining schemas like a Link schema for data.
Things you should know about Node.js. An open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications.
Demo files: https://github.com/bedis-elacheche/node-workshop-12.16
Javascript basics for automation testingVikas Thange
This document provides an overview of basic JavaScript examples and concepts. It covers topics such as writing JavaScript code, variables, conditional statements, functions, loops, events, and error handling. For each topic, it provides short code snippets to demonstrate the concept. It concludes by referencing W3Schools as a resource and thanking the reader.
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
Building a real life application in node jsfakedarren
This document provides an overview of building a real-life application in Node.js. It discusses selecting a database like MongoDB, using Express for routing and templating, and Mongoose for modeling and interacting with the database. Key components covered include setting up routing, views, and static assets in Express, performing CRUD operations in MongoDB via Mongoose, and using templating engines like Jade or EJS. The overall goal is to build a basic content management system to demonstrate integrating these technologies.
This document discusses best practices for handling errors and callbacks in Node.js applications. It covers techniques like error delegation, exception handling, error-first callbacks, avoiding nested callbacks, and using control flow libraries. It also discusses deployment strategies like using screen, restarting crashed processes, and innovating with platforms like Joyent, Nodejitsu and Heroku.
This presentation will give you a brief background to JavaScript, what it is and where it comes from. Then it will walk you through general pitfalls, best practices and more advanced topics such as object-orientation, scope and closures.
Node.js is an asynchronous and event-driven JavaScript runtime built on Google's V8 engine. It allows building scalable network applications easily and uses an event loop model with a single thread to handle non-blocking I/O. Asynchronous I/O is used to avoid blocking operations and keep the single thread available. Node.js has a large module ecosystem and is commonly used for real-time web applications and scalable backend services.
Love it or hate it, JavaScript is playing an increasingly important role in the next generation of web and mobile apps. As code continues to move from the server to the client, JavaScript is being used to do more than simple HTML manipulation. Be prepared for this transition and make sure the JavaScript you write is optimized and ready to perform on desktops and devices! In this session, you will learn ten practical tips that you can use today to write faster, more maintainable, memory friendly JavaScript.
This document provides an overview of Subversion (SVN), a version control system. It discusses why developers should use version control, defines what SVN is, and how it works with a centralized repository. Key aspects covered include checking out and updating code, adding/deleting files, resolving conflicts, and committing changes. The document also outlines SVN's repository structure of trunk, branches, and tags. In the end, it provides best practices for using SVN effectively.
- The original vision of the World Wide Web was as a hyperlinked document retrieval system, not for presentation, sessions, or interactivity. If it had stayed true to this vision, modern sites like Yahoo would not exist.
- Browser wars in the 1990s led to proprietary technologies that frustrated developers. The introduction of JavaScript in 1995 allowed for dynamic and interactive web pages.
- By the 2000s, Microsoft's Internet Explorer dominated the browser market, bringing some stability through standards like DOM and DHTML. However, cross-browser differences still posed challenges for developers.
This document provides an introduction to Node.js, a framework for building scalable server-side applications with asynchronous JavaScript. It discusses what Node.js is, how it uses non-blocking I/O and events to avoid wasting CPU cycles, and how external Node modules help create a full JavaScript stack. Examples are given of using Node modules like Express for building RESTful APIs and Socket.IO for implementing real-time features like chat. Best practices, limitations, debugging techniques and references are also covered.
Node.js is an asynchronous event-driven JavaScript runtime that aims to provide an easy way to build scalable network programs. It uses an event loop model that keeps slow operations from blocking other operations by executing callbacks asynchronously. This allows Node.js programs to handle multiple connections concurrently without creating new threads. Common uses of Node.js include building web servers, real-time applications, crawlers, and process monitoring tools. The document provides examples of using modules like HTTP, TCP, DNS, and file system modules to demonstrate Node.js's asynchronous and non-blocking I/O model.
These are the slides to a talk I gave at Pittsburgh techFest 2012. The topic was an overview of the Node.js framework, and how you can use it to build amazing things.
* See more of my work at http://www.codehenge.net
Tornado is a Python web framework and asynchronous networking library. It is non-blocking and scalable, using epoll and other low-level I/O modules. Tornado includes modules for HTTP handling, templates, authentication, and more. It was originally developed at FriendFeed and later open sourced by Facebook. Example usages include a simple "Hello World" app, handling requests and responses, using cookies and secure cookies, internationalization, and asynchronous database requests.
Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model for excellent performance handling many internet connections simultaneously. It is implemented on Google's V8 JavaScript engine and uses non-blocking I/O to avoid wasting CPU resources waiting for operations to complete. Example code demonstrates how Node.js can create an HTTP server or handle other network protocols without threads blocking like in traditional servers.
A million connections and beyond - Node.js at scaleTom Croucher
This document discusses benchmarks and performance testing of Node.js. It notes that while Node.js can handle over 1 million connections, benchmarks are not that important as other factors like productivity. It explores how to meaningfully measure Node.js performance, compares Node.js to other frameworks like Erlang and Tornado, and argues that benchmarks should reflect real-world use cases rather than simplistic "hello world" tests. The document questions overreliance on benchmarks and emphasizes picking the right tool based on the task.
An interesting presentation for learning the language from very basic. It provides very good insight to the language. JavaScript is the only prerequisite. It comes with a lot of examples that helps to learn the basics very quickly. Here is the SkyDrive download link http://sdrv.ms/16T7whf
GORM is one of the keys for the success of Grails, but for a Grails beginner some concepts may be a bit confusing. Even for a long time developer there can be some missconceptions due to the abstractions layers of the framework.
In this talk I’ll try to cover some of the basics of GORM, Hibernate and how to interact with transactions and sessions. I’ll show some of the problems that I had starting with the Grails framework and how I think they are best solved.
Some other topics that I’ll go over are the interaction with GPars, and the differences between “session” and “transaction”.
This document provides an overview of Node.js, including common uses, a simple "Hello World" example server, how Node.js is an event-driven platform rather than just a web server, its single-threaded asynchronous architecture based on an event loop, prerequisites for programming in Node.js like understanding callbacks and closures, its module system and use of npm, challenges of asynchronous programming, common patterns and antipatterns, and difficulties of debugging and monitoring Node.js applications.
This document discusses JavaScript module patterns, which help organize and limit the scope of code in projects. It covers different patterns for creating objects and modules, including using constructors, prototypes, the revealing module pattern, CommonJS, and AMD. The basic module pattern allows defining private and public members to encapsulate data and functions. Later patterns like CommonJS and AMD build on this to support asynchronous loading and use in different environments like the browser and Node.js.
This document discusses JavaScript looping statements. It describes for, for...in, for...of, while, and do...while loops. For loops run statements a specified number of times or iterate over properties of an object. While and do-while loops run code while/until a condition is false. Examples are provided for each loop type to demonstrate their syntax and usage.
The document provides an introduction to using version control with Git and GitHub, explaining how to set up accounts and repositories, make commits to track changes to files, and collaborate with others. It also covers basic JavaScript concepts like variables, data types, functions, and scope, demonstrating how to declare variables, define functions, and link external JavaScript files. Instructions for assignments ask the reader to create an HTML page linking an external JavaScript file with functions and variables, and style it with an external CSS file using CSS3 features.
1) This document provides 30 tips for using XPages in 60 minutes.
2) The tips cover general programming, debugging, user interface design, using XPages in the Notes client, and working with Dojo.
3) Example tips include using scoped variables to store data, calling Java classes from XPages, turning on debugging to view error messages, using themes for global configuration, and enabling Dojo parseOnLoad to initialize widgets.
Building a real life application in node jsfakedarren
This document provides an overview of building a real-life application in Node.js. It discusses selecting a database like MongoDB, using Express for routing and templating, and Mongoose for modeling and interacting with the database. Key components covered include setting up routing, views, and static assets in Express, performing CRUD operations in MongoDB via Mongoose, and using templating engines like Jade or EJS. The overall goal is to build a basic content management system to demonstrate integrating these technologies.
This document discusses best practices for handling errors and callbacks in Node.js applications. It covers techniques like error delegation, exception handling, error-first callbacks, avoiding nested callbacks, and using control flow libraries. It also discusses deployment strategies like using screen, restarting crashed processes, and innovating with platforms like Joyent, Nodejitsu and Heroku.
This presentation will give you a brief background to JavaScript, what it is and where it comes from. Then it will walk you through general pitfalls, best practices and more advanced topics such as object-orientation, scope and closures.
Node.js is an asynchronous and event-driven JavaScript runtime built on Google's V8 engine. It allows building scalable network applications easily and uses an event loop model with a single thread to handle non-blocking I/O. Asynchronous I/O is used to avoid blocking operations and keep the single thread available. Node.js has a large module ecosystem and is commonly used for real-time web applications and scalable backend services.
Love it or hate it, JavaScript is playing an increasingly important role in the next generation of web and mobile apps. As code continues to move from the server to the client, JavaScript is being used to do more than simple HTML manipulation. Be prepared for this transition and make sure the JavaScript you write is optimized and ready to perform on desktops and devices! In this session, you will learn ten practical tips that you can use today to write faster, more maintainable, memory friendly JavaScript.
This document provides an overview of Subversion (SVN), a version control system. It discusses why developers should use version control, defines what SVN is, and how it works with a centralized repository. Key aspects covered include checking out and updating code, adding/deleting files, resolving conflicts, and committing changes. The document also outlines SVN's repository structure of trunk, branches, and tags. In the end, it provides best practices for using SVN effectively.
- The original vision of the World Wide Web was as a hyperlinked document retrieval system, not for presentation, sessions, or interactivity. If it had stayed true to this vision, modern sites like Yahoo would not exist.
- Browser wars in the 1990s led to proprietary technologies that frustrated developers. The introduction of JavaScript in 1995 allowed for dynamic and interactive web pages.
- By the 2000s, Microsoft's Internet Explorer dominated the browser market, bringing some stability through standards like DOM and DHTML. However, cross-browser differences still posed challenges for developers.
This document provides an introduction to Node.js, a framework for building scalable server-side applications with asynchronous JavaScript. It discusses what Node.js is, how it uses non-blocking I/O and events to avoid wasting CPU cycles, and how external Node modules help create a full JavaScript stack. Examples are given of using Node modules like Express for building RESTful APIs and Socket.IO for implementing real-time features like chat. Best practices, limitations, debugging techniques and references are also covered.
Node.js is an asynchronous event-driven JavaScript runtime that aims to provide an easy way to build scalable network programs. It uses an event loop model that keeps slow operations from blocking other operations by executing callbacks asynchronously. This allows Node.js programs to handle multiple connections concurrently without creating new threads. Common uses of Node.js include building web servers, real-time applications, crawlers, and process monitoring tools. The document provides examples of using modules like HTTP, TCP, DNS, and file system modules to demonstrate Node.js's asynchronous and non-blocking I/O model.
These are the slides to a talk I gave at Pittsburgh techFest 2012. The topic was an overview of the Node.js framework, and how you can use it to build amazing things.
* See more of my work at http://www.codehenge.net
Tornado is a Python web framework and asynchronous networking library. It is non-blocking and scalable, using epoll and other low-level I/O modules. Tornado includes modules for HTTP handling, templates, authentication, and more. It was originally developed at FriendFeed and later open sourced by Facebook. Example usages include a simple "Hello World" app, handling requests and responses, using cookies and secure cookies, internationalization, and asynchronous database requests.
Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model for excellent performance handling many internet connections simultaneously. It is implemented on Google's V8 JavaScript engine and uses non-blocking I/O to avoid wasting CPU resources waiting for operations to complete. Example code demonstrates how Node.js can create an HTTP server or handle other network protocols without threads blocking like in traditional servers.
A million connections and beyond - Node.js at scaleTom Croucher
This document discusses benchmarks and performance testing of Node.js. It notes that while Node.js can handle over 1 million connections, benchmarks are not that important as other factors like productivity. It explores how to meaningfully measure Node.js performance, compares Node.js to other frameworks like Erlang and Tornado, and argues that benchmarks should reflect real-world use cases rather than simplistic "hello world" tests. The document questions overreliance on benchmarks and emphasizes picking the right tool based on the task.
An interesting presentation for learning the language from very basic. It provides very good insight to the language. JavaScript is the only prerequisite. It comes with a lot of examples that helps to learn the basics very quickly. Here is the SkyDrive download link http://sdrv.ms/16T7whf
GORM is one of the keys for the success of Grails, but for a Grails beginner some concepts may be a bit confusing. Even for a long time developer there can be some missconceptions due to the abstractions layers of the framework.
In this talk I’ll try to cover some of the basics of GORM, Hibernate and how to interact with transactions and sessions. I’ll show some of the problems that I had starting with the Grails framework and how I think they are best solved.
Some other topics that I’ll go over are the interaction with GPars, and the differences between “session” and “transaction”.
This document provides an overview of Node.js, including common uses, a simple "Hello World" example server, how Node.js is an event-driven platform rather than just a web server, its single-threaded asynchronous architecture based on an event loop, prerequisites for programming in Node.js like understanding callbacks and closures, its module system and use of npm, challenges of asynchronous programming, common patterns and antipatterns, and difficulties of debugging and monitoring Node.js applications.
This document discusses JavaScript module patterns, which help organize and limit the scope of code in projects. It covers different patterns for creating objects and modules, including using constructors, prototypes, the revealing module pattern, CommonJS, and AMD. The basic module pattern allows defining private and public members to encapsulate data and functions. Later patterns like CommonJS and AMD build on this to support asynchronous loading and use in different environments like the browser and Node.js.
This document discusses JavaScript looping statements. It describes for, for...in, for...of, while, and do...while loops. For loops run statements a specified number of times or iterate over properties of an object. While and do-while loops run code while/until a condition is false. Examples are provided for each loop type to demonstrate their syntax and usage.
The document provides an introduction to using version control with Git and GitHub, explaining how to set up accounts and repositories, make commits to track changes to files, and collaborate with others. It also covers basic JavaScript concepts like variables, data types, functions, and scope, demonstrating how to declare variables, define functions, and link external JavaScript files. Instructions for assignments ask the reader to create an HTML page linking an external JavaScript file with functions and variables, and style it with an external CSS file using CSS3 features.
1) This document provides 30 tips for using XPages in 60 minutes.
2) The tips cover general programming, debugging, user interface design, using XPages in the Notes client, and working with Dojo.
3) Example tips include using scoped variables to store data, calling Java classes from XPages, turning on debugging to view error messages, using themes for global configuration, and enabling Dojo parseOnLoad to initialize widgets.
The document provides an overview of key Java concepts including classes, objects, variables, methods, encapsulation, inheritance, polymorphism, constructors, memory management, exceptions, I/O streams, threads, collections, serialization and more. It also includes examples of practical applications and code snippets to demonstrate various Java features.
The document provides an overview of VBScript, including how it works when inserted into HTML documents, how to format VBScript code within HTML tags, and where to place VBScript code within an HTML document. It also discusses VBScript variables like declaring, assigning values to, and creating array variables. Finally, it covers VBScript procedures like Sub and Function procedures.
The document outlines an advanced workshop on the EnScript programming language, covering topics such as language core concepts, syntax, object model, memory management, APIs, debugging, dialogs, handling evidence, external automation, conditions, reflection, and multithreading. The workshop agenda includes language fundamentals, basic APIs, debugging the execution environment, creating dialogs, handling evidence, external communication, conditions and reflection, and multithreading. Stewart also presents three fundamental laws of EnScript regarding data structures, memory management of NodeClass objects, and the relationship between EnScript classes and EnCase views.
The document provides an overview of JavaScript, covering what it is, its basics, functions, objects, prototypes, scope, asynchronous JavaScript, JSON, debugging tools, performance, events, error handling, and the future of JavaScript. It discusses that JavaScript is an object-oriented scripting language used in web pages that is not tied to specific browsers but makes use of the DOM, BOM, and ECMAScript standards. It also summarizes some of JavaScript's core features like functions, objects, prototypes, and more.
1. The document provides an introduction to the Node.js course, covering topics like JavaScript basics, Node.js fundamentals, Express.js, debugging, and more.
2. Key concepts discussed include how the Node.js runtime works, using core modules, asynchronous programming with callbacks and promises, and the module system.
3. Express.js is introduced as a popular web framework that handles requests and responses, routing, and other complex server tasks so developers can focus on business logic. Debugging tools are also covered.
This document summarizes a JavaScript workshop that covers the fundamentals of JavaScript including:
- JavaScript is loosely typed, uses mutable objects, and is a functional language. Functions are objects that have access to variables in their scope using closures.
- The workshop includes exercises to create karate fighter objects that perform moves, and a fight function to simulate matches until a winner emerges after 3 rounds.
- The second part covers using JavaScript in the browser by manipulating the DOM through finding elements, attaching event handlers, and editing HTML. Exercises demonstrate outputting to the console, updating a paragraph on button click, and adding items to a list from user input.
The Ring programming language version 1.2 book - Part 5 of 84Mahmoud Samir Fayed
Ring 1.2 includes many new features and improvements, including:
1. New functions like PtrCmp() for comparing C pointers and RingVM_FunctionsList() to return a list of Ring functions.
2. Better existing functions like find() and type() updated to support C pointers.
3. An improved Ring Notepad that saves line numbers and prompts to save changes.
4. Enhancements to RingQt like disabling events and getting event information.
5. A new Objects library for RingQt applications to manage GUI objects and events.
6. An expanded RingLibCurl library for powerful LibCurl integration.
7. Support for calling methods from object attributes with
A presentation for the Reactive Programming Enthusiasts Denver meet-up.
http://www.meetup.com/Reactive-Programming-Enthusiasts-Denver/
How Reactive Mongo helps utilize your hardware better and achieve a non-blocking application from the bottom up.
React Native allows developers to build mobile apps using React with native platform capabilities. It uses native components instead of web views, making apps feel and perform like native ones. The document discusses what React Native is, how to set up a development environment, build a basic app, add libraries, handle common errors, and React Native fundamentals like components, styles, layout, events, and touch handling.
The document discusses JavaScript, describing it as:
- Created in 1995 by Netscape and based on the ECMAScript standard.
- A dynamic, weakly typed, object-oriented programming language that is often misunderstood.
- Used for client-side scripting of webpages as well as server-side and application scripting.
- Commonly disliked due to past bad practices, implementations, and browser differences, but these issues are improving over time.
Modern JavaScript Development @ DotNetToscanaMatteo Baglini
This document provides an overview of modern JavaScript development. It discusses the origins and evolution of JavaScript, its core programming concepts like functions, scope, objects and prototypes. It also covers popular patterns for object oriented programming, inheritance, and organizing code into modules in JavaScript. Testing strategies for JavaScript are presented, along with recommendations for books to continue learning JavaScript.
The document provides information about reading and writing text files in .NET using streams. It discusses the StreamReader and StreamWriter classes for reading and writing text files respectively. It also covers handling exceptions that can occur during input/output operations like file not found errors. Examples are given to demonstrate reading a text file line by line, writing numbers to a file, and fixing timing offsets in movie subtitle files.
Understanding Framework Architecture using Eclipseanshunjain
Talk on Framework architectures given at SAP Labs India for Eclipse Day India 2011 - Code attached Here: https://sites.google.com/site/anshunjain/eclipse-presentations
This document discusses why every tester should learn Ruby. It notes that testers often use scripting languages like VBScript, SQABasic, RobotJ, and VU to automate tests, but that Ruby is a better alternative being a simple yet powerful object-oriented and dynamic programming language. Ruby has a high testing culture in its community and is used for test automation with frameworks like Selenium and Watir for web testing, JRuby for GUI testing with Java libraries, and can interface with databases using Ruby-PLSQL-Spec for testing Oracle PL/SQL code. The document provides examples of test scripts in Ruby and argues that Ruby allows tests to serve as executable specifications.
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...bobmcwhirter
- Bob McWhirter is the project lead of TorqueBox and a JBoss Fellow.
- TorqueBox allows Ruby web applications to run on the JBoss Application Server using JRuby.
- It provides tight integration with JBoss and allows Ruby applications to take advantage of features like messaging, jobs, and services that are traditionally Java-based.
The document describes the Xopus JavaScript application framework. The framework aims to address problems with structuring JavaScript programs by introducing object-oriented paradigms like modules, classes, and dependencies. It allows writing JavaScript code in an extended subset with OO features, compiles it to flattened code, and supports unit testing and other program analysis tools. The framework provides a consistent way to structure programs into packages and make dependencies explicit without runtime overhead.
Javascript is actually called ECMAScript. The document provides an overview of JavaScript including how it interacts with the DOM in the browser, using JavaScript in web pages, syntax, control structures like loops and conditionals, objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, libraries like jQuery, and resources for learning more. The global scope in JavaScript is discussed and the importance of using var is emphasized to avoid polluting the global namespace.
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
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.
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.
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.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
3. …seen a VBScript (or other) before and have used
one in your network
…downloaded one from the Spiceworks Script
Center
…dabbled in VBScripting but don’t know where to
go next
…wanted to get a little more from your current
scripting skills
Assumptions
4. • Anatomy of a VBScript (5 major elements)
• Error Handling
• Copying, Reading from, Writing to a file
• Reading command-line results
• Getting WMI and Active Directory Information
• Building a GUI for your scripts
Recipe for a great script
5. “Do you ever find yourself typing the same set of
commands over and over to get a certain task done?
Do you ever find yourself clicking the same set of
buttons in the same sequence in the same wizard just
to complete some chore - and then have to repeat the
same process for, say, multiple computers or multiple
user accounts?”
6. • Create or change user/computer accounts
• Reset passwords
• Upload or download files via FTP
• Temp file/folder cleanups
• Execute SQL backups
• Get information about user/computer objects
• Watch print queues
• Email a user
• Install software
• .etc
Scripting. Why?
7. …allow for error handling
…know how to debug
…comment/document code
…declare variables (best practice)
…make your scripts as scaleable and generic as
possible
…be able to “Frankenscript”TM
Remember, there are lots of ways of doing the
same thing with code. Do what makes sense to you
Admin Scripting Skills
8.
9. • VBScript requires no additional software to be
installed on older servers and workstations.
• VBScript is a runtime scripting language
loosely based off of VBA and VB
• You can build a GUI for your VBScripts using
HTA (Javascripts too)
• VBScript runs with less overhead, but it is not
as powerful or intuitive as PowerShell
Why VBScript?
10. • Variables – a “container” where you can store values
temporarily
• Constant – a variable used like an alias (non-changing value)
• Objects – a subset of predefined code which can allow access
to system level functions. You can use a variable to reference
an object by using ‘Set’
– Properties – read/writable attributes of a particular object
– Methods – actions that can be performed with an object
• Functions – reusable code that can return a value via the
calling command
• Subroutines – reusable code that can be executed to perform
a special task
VBScripts run as a .vbs or .vbe file http://goo.gl/KJ5op
Anatomy
11. There are two .exe’s which can run as the
scripting host:
• Wscript.exe: outputs messages to separate windows as
messages occur.
• Cscript.exe: outputs messages to the command-line
interface in succession.
Depending on how you are implementing your scripts, you
may choose to run one instead of the other.
Example: cscript.exe demo.vbs
12. Any time you wish to work with files, environment variables, Active
Object method and property
Directory, WMI, the Windows Shell, etc. you will need to “create” the
corresponding object in your code.
Dim objFSO, objFIle
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(“c:windowswindowsupdate.log”)
wscript.echo objFile.DateLastModified
Demo
Anatomy
13. Variable/Constant a permanent valuesrepopulated during
Variables are temporarywith
Constants are variables containers that may be which cannot be reset
script execution with different values.
programmatically.
Dim strDescription
strDescription = “testing 1, 2, 3."
Const SpiceworldDescription = “awesome”
strDescription = “I think Spiceworld is hella ” _
& SpiceworldDescription
wscript.echo strDescription
Wscript.echo “That was “ & SpiceworldDescription
Demo
Anatomy
14. Functions are used for returning values back directly to the code which
Function
called them.
Here, we are passing a variable to a
Dim strFileName function (a file path)…
wscript.echo funGetLastModified(“c:windowswindowsupdate.log”)
Function funGetLastModified(strFilename)
Dim objFSO, objFIle
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
funGetLastModified = objFile.DateLastModified …which is returned back
End function to wscript.echo here.
Demo
Anatomy
15. Subroutine
Dim strFileDate
Call subGetLastModified(“c:windowswindowsupdate.log”)
wscript.echo strFileDate
Sub subGetLastModifed(strFilename)
Dim objFSO, objFIle
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
strFileDate = objFile.DateLastModified
End Sub
Demo
Subroutines are well suited for self-contained processes that don’t need to return values back to the
originating code. Use it to work with items, files, etc. that remain somewhat independent from the
rest of the script, such as displaying error messages.
Anatomy
16. • Typos/fat-fingering
• Invalid use of variable data
• Syntax problems
• Logic problems
• Etc.
How do we get around these problems?
17.
18. • You should always expect your scripts to encounter
errors
• Anything encountered which isn’t expected is
considered an “error” to the scripting engine
• In these cases, you’ll want to force the script to
resume past errors and continue onward.
Use:
On Error Resume Next
19. Option Explicit
Dim Scott, objPerson
Dim Scott, objPerson
Set objPerson = CreateObject(“Scripting.PersonObject")
Set Scott = objPerson.MindControl(“Scott Brosnan")
objPerson = CreateObject(“Scripting.PersonObject")
On error resume next
Set Scott
Scott.walk=“through door”
objPerson.MindControl(“Scott Brosnan")
Scott.sing “Star Spangled Banner.wav”
Scott.walk “through front door”
Scott.echo “All done!”
Scott.sing “Star Spangled Banner.wav”
Scott.echo “All done!”
Mind control
20.
21.
22. Option Explicit
dim objFSO
set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "c:temptest.txt", "c:temptemp1"
MsgBox "Script finished."
If “test.txt” doesn’t exist on the computer running this script, the scripting host will produce
an error and terminate.
23. Now that your script can make it past its first error…
Let’s use this to our advantage by utilizing the ‘err’ object. It has a couple important
properties:
Err.number = provides numerical error
Err.description = sometimes provides more descriptive detail about error
On error resume next
„other code goes here
If err.number <> 0 then
Msgbox err.number & “ – “ & err.description
End If
24.
25. Reading from a text file via vbscript
goes a bit like this:
1. Use the filesystem object to open a text file
2. Either read the entire contents of the file into a
variable, or move through each line to process
that line individually
3. Call a function or subroutine to do something
with the information in that variable
26. Option Explicit
Const ForReading = 1
Dim objFSO, sourcefile
Set objFSO = CreateObject("Scripting.FileSystemObject")
On error resume next
Set sourcefile = objFSO.OpenTextFile("c:tempcomputers.txt",ForReading)
Do Until sourcefile.AtEndOfStream = True
wscript.echo sourcefile.readline
Loop
Set objFSO = nothing
In order to read from a text file, we need to state that we are going to
use a constant and the filesystem object.
Next, we are going to open the file using the filesystem object (known
as objFSO) by using the ‘OpenTextFile’ method.
If we are going to process each line, we will need to tell the script how
to handle it until the file reaches the end (using the AtEndOfStream
method).
27.
28. Option Explicit
Const ForWriting = 2
Dim objFSO, logfile
Set objFSO = CreateObject("Scripting.FileSystemObject")
On error resume next
Set Logfile = objFSO.OpenTextFile("c:templogfile.log", ForWriting, True)
Logfile.writeline("This is an entry in my logfile")
Logfile.close
Set objFSO = nothing
In order to write to a text file, we need to specify we are going to use
a constant and the filesystem object. Note the ‘ForWriting’ constant
(instead of ‘ForReading’).
Again, we are going to open the file using the filesystem object
(known as objFSO) and use the ‘OpenTextFile’ method.
The FileSystemobject grants us a ‘writeline’ method, enabling you to
write text directly to a file.
29.
30. Option Explicit
Dim WshShell, objExecResults
Set WshShell = CreateObject("WScript.Shell")
Set objExecResults = WshShell.Exec("ping.exe 127.0.0.1")
wscript.echo objExecResults.StdOut.ReadAll
To read the output of a command line, we need to invoke the
‘wscript.shell’ object. This object allows us to execute a program
using the ‘exec’ method.
We are going to place the output of the execute method into
‘objExecResults.’
In order to see our output in a readable format, we’ll use the ‘ReadAll’
method to read the contents of objExecResults into a variable or
directly to the screen.
34. • WMI computer as the implementation of Web-based
Think of theis Microsoft’sdatabase, and the WMI classes at tables.
You Enterprise various WMI classes(WBEM) querying a SQL
will query the Management as if you were
• Every
database modern Windows computer has a localized
WMI repository
• Spiceworks gets a lot of its data from the WMI
repository
• WMI class examples:
Win32_logicaldisk, Win32_bios, Win32_Computer
System
• You can quickly query local or remote repositories
with VBScript, Powershell or Batch (etc.) scripts
35. To figure out how to query WMI via
VBScript (or other languages), you’ll need:
• Microsoft Scriptomatic 2.0
-or-
• WMIGen by Rob van der Woude
These are tools which can allow you
to generate specific code to import
into your own scripts.
40. Option Explicit
Dim objWMIService, strComputer, colItems
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootCIMV2")
On error resume next
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL")
For Each objItem In colItems
WScript.Echo "BootDevice: " & objItem.BootDevice
WScript.Echo "Caption: " & objItem.Caption
WScript.Echo "Service Pack: " & objItem.ServicePackMajorVersion
Next
Instead of creating an object, we are getting an object, since this is
already active. In this case, we are getting an object from the
rootCIMV2 namespace…
Next we are going to place the results of a WQL query into the
colItems (collection) object.
This particular script will return the local or remote computer’s boot
device, OS name and service pack level.
41. Option Explicit
Dim objWMIService, strComputer, colItems
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootCIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL")
For Each objItem In colItems
WScript.Echo "Caption: " & objItem.Caption
Wscript.echo "Size: " & objItem.Size
Next
Here, we are querying the Win32_DiskDrive class…
Since the results are placed into a collection (colItems), then we must
loop through it, even if there might be only one item in the collection.
42. Option Explicit
Dim strComputer, objWMIService, colItems, strIPAddress
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootCIMV2")
on error resume next
Set colItems = objWMIService.ExecQuery("SELECT * FROM
Win32_NetworkAdapterConfiguration", "WQL")
For Each objItem In colItems
WScript.Echo "Description: " & objItem.Description
strIPAddress = Join(objItem.IPAddress, ",")
WScript.Echo "IPAddress: " & strIPAddress
Next
Notice the ‘Join’ function. Some adapters have more than one IP
address.
43.
44. • Active Directory is a database of fields and
values, think of a user/computer object as a
record
• When querying AD, you should utilize filters to
make your query more efficient
• You need to specify the attributes you wish to
report against
(pwdLastset, samAccountName,DN)
• You should try to isolate your queries to the OU
structure where your results are located
45. Tools you will need
• Get AD Object Attributes VBScript http://goo.gl/csLFD
• ADExplorer (SysInternals) – find your attributes
• ADUC MMC – build your filter
46. The strFilter variable allows you to build your Active Directory filter. You
The strAttributes variable should be populated with the fields you would
can use the Microsoft ADUC to build this query and paste into this
like the script to report back. Things like user name, computer
variable.
name, account creation date, etc. can be returned…
47.
48.
49. There are MANY ways to get
Active Directory data from
your network.
Do what works for you…
50.
51. • HTA (HyperText Application) is
essentially a web page with full system
privileges - think of HTML + VBScript
• If you can write HTML, you can make an
HTA
• Great for single-task functions (reset a
password)
56. Tool Link (Case-sensitive)
Microsoft Scriptomatic v2.0 http://goo.gl/eL98u
Microsoft HTA-Helpomatic http://goo.gl/cCvDM
Rob van der Woude’s WMIGen http://goo.gl/jBNkv
PSPad Editor http://www.pspad.com
Notepad++ Editor http://notepad-plus-plus.org/
SysInternals’ ADExplorer http://goo.gl/hzX48
Resource Link (Case-sensitive)
Microsoft VBScript reference http://goo.gl/uDiFd
WScript Host object reference http://goo.gl/uJHWn
Get AD Object Attributes Script http://goo.gl/csLFD
Microsoft Script Center http://goo.gl/9BcyD
All built-in VBScript Functions http://goo.gl/iXza8
Editor's Notes
This template can be used as a starter file for presenting training materials in a group setting.SectionsRight-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.NotesUse the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)Coordinated colors Pay particular attention to the graphs, charts, and text boxes.Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.Graphics, tables, and graphsKeep it simple: If possible, use consistent, non-distracting styles and colors.Label all graphs and tables.
I’m a network administrator who hates doing the same thing over and over again (if I can help it)In the trenches for about 17 yearsI’ve been using Spiceworks since 2007, I run a blog called “confessions of a freeware junkie” and did a review back when Spiceworks was just a baby at version 1.1I work for Rockford Orthopedic Associates, a premier orthopedic clinic in the Northern IL region, about 45 minutes away from ChicagoOur environment is made up of 380 workstations with 30 servers consisting of XP, 7, Server 2k3 and 2k8I’ve submitted 28 scripts to the Spiceworks community, some of them small, some of them pretty complex, but all helpful, or at least I hope!I don’t know everything about scripting
In addition to all these things, you should have a good grasp on things like documenting and commenting on your code.The overall goal of this presentation is for you to take it with you and use it as a reference of sorts to go over some fundamental ways you can enhance or create your own administration scripts.-leader point: Let’s talk about the innards of a VBScript
This is just a very short list of things you can do with scripting. You are really only limited by your scripting skills and your imagination.
Declare variables: If you don’t declare the variables at the top of your scripts, any mistyped variables later on in the code will tell the scripting host to go ahead and create a new dynamic variable (even though it is misspelled). Using ‘Option Explicit’ will help you keep your variables in line. I can’t express to you how important it is to document your code. If you come back to it months or even years later, you’ll thank yourself for taking the time to put something in there that will save the future you a major headache!
Exensible – you can use ActiveX(!) controls with VBScript.
You should know about these 5 major elements within VBScript to build a decent administration script – there are more…Errors, Events, Keywords (Empty – determines if a variable is initialized, False which equals 0, Nothing – which releases an object from a variable, Null, True which equals 1) Operators (Arithmetic, Comparison – less than, equal than greater than or equal to, Concatenation, etc.)Statements (Do…Loop, Exit, Randomize, Select Case, On Error)CONSTANTS – these cannot be assigned dynamically. This improves the readability of your code.There are two kinds of functions – ones that you build for your specific purposes, and others like ‘msgbox’, ‘createobject’, ‘Time’, ‘Now’, ‘replace’ or ‘cstring’ that you can reference at any time without defining them.
If you were running a script in a purely automated sense, i.e. a scheduled task, you may want to run it in the console, so a script won’t “hang” waiting for input if using the wscript engine.Since we are talking about scripts that hang, let’s discuss some error handling before we go too much further.
The advantage to constants is that these values cannot be changed inadvertently throughout your code. Currency exchange rate would be a good example of a constant.VBScript has a number of built-in, or intrinsic constants, like for example, ‘vbSunday’ will always = 1, ‘vbCrLf’ will always = a carriage return-linefeed combination, vbTab will equal a horizontal tab.
When you create a function within VBScript, the scripting host will automatically create and initialize a variable of the same name
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
Story of Scott walking through a door and crashing into door when it isn’t open.
On error resume next will not handle invalid code syntax. The Scripting engine evaluates the code prior to it running to see if it has a proper syntax.You might actually want to use a combination of on error resume next and on error goto 0. For example, you might have a bit of code that absolutely requires that it works before processing another section of code. Of course, if you have really good error handling built in here, you might not even need on error goto 0.
We’re going to go through a simple copy script and see how error handling could help it, and then transition to a few useful tasks to make your scripts more useful, like reading from a file, writing to a file, and reading command-line results before we get into WMI and Active Directory database queries.
Since we will experience an unhandled error (meaning we didn’t tell the script to resume past errors), we will never see the msgbox pop up as the script ended prematurely.Place “On error resume next” above the line of code you expect will run into troubles.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
Typically, you would insert the ‘on error resume next’ code snippet above the line that you expect will run into an error.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
You create a WshShell object whenever you want to run a program locally, manipulate the contents of the registry, create a shortcut, or access a system folder. The WshShellobject provides the Environment collection. This collection allows you to handle environmental variables (such as WINDIR, PATH, or PROMPT).
You’ll need ADExplorer (or another LDAP browser) to take a first-hand look at the Active Directory objects so you know what you are looking for.You can use the ADUC MMC to find out how to build an AD filter.Going through the intricacies of how to to fully query AD from scratch is a bit out of scope for this session, but I will show you how you can use the script.Break out to show Object Attribute script.
You’ll need ADExplorer (or another LDAP browser) to take a first-hand look at the Active Directory objects so you know what you are looking for.You can use the ADUC MMC to find out how to build an AD filter.Going through the intricacies of how to to fully query AD from scratch is a bit out of scope for this session, but I will show you how you can use the script.Rob van der Woude’s WMI gen is a little more thorough in that it can output WMI script code for 14 different languages.Break out to show Object Attribute script.
You’ll need ADExplorer (or another LDAP browser) to take a first-hand look at the Active Directory objects so you know what you are looking for.You can use the ADUC MMC to find out how to build an AD filter.Going through the intricacies of how to to fully query AD from scratch is a bit out of scope for this session, but I will show you how you can use the script.Break out to show Object Attribute script.
Notice the join function – this is where having a tool like Scriptomatic can come in very handy. Without the tool, you might be spending a lot of time looking up how to get each address instead of referring once to the application.
You’ll need ADExplorer (or another LDAP browser) to take a first-hand look at the Active Directory objects so you know what you are looking for.You can use the ADUC MMC to find out how to build an AD filter.Going through the intricacies of how to to fully query AD from scratch is a bit out of scope for this session, but I will show you how you can use the script.Break out to show Object Attribute script.
You’ll need ADExplorer (or another LDAP browser) to take a first-hand look at the Active Directory objects so you know what you are looking for.You can use the ADUC MMC to find out how to build an AD filter.Going through the intricacies of how to to fully query AD from scratch is a bit out of scope for this session, but I will show you how you can use the script.Break out to show Object Attribute script.
Here is a snippet of the script that can pull
Remember how I said you could use the ADUC MMC to help you with your filters? Here’s a way. If you can filter it in your ADUC, you can use those same filters in your AD Object attribute script!
Here you can see the four main variables of the object attribute script that you may want to tweak (there are others, but these are not important to change now). Focus on the bottom two attributes. Here you can add filters to your AD query.
Hyper-Text applications are rendered by IE, so if IE isn’t working, very likely, neither will your HTA’s. With that said, the Windows XP add/remove program is an HTA.HTA is a much better method of letting users enter parameters for scripts, rather than simple inputboxes.
This will create a basic white page with no fields or elements contained within it. Note the <script> section. This is where you can place your custom script code. If you give your HTML elements ID’s, you can reference these with your code.
I’ll show you quickly how we can build a very simple HTA using the script from before (get a file version)
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.