see https://docs.google.com/presentation/d/1qiHUXWhfyjId9OIOSqn1sceiAJs9kRUNLnNUl509HhI/pub?start=false&loop=false&delayms=5000 for higher quality original of this presentation given at EclipseCon Europe 2016 in Ludwigsburg Germany
This document provides an overview of tools and techniques for developing Node.js applications. It discusses platforms for creating, deploying, running, debugging, and collaborating on Node.js apps such as Cloud Foundry, Heroku, Git, and Cloud Azure. It also mentions languages tools for Node.js like JavaScript bindings to LibUV, standard libraries, and the V8 JavaScript engine. The document discusses challenges like asynchronous programming and provides solutions like workers and static program analysis. It emphasizes that tooling is especially important for JavaScript and recommends resources like treehugger.js for issues like callback hell.
Fine-tuning your development environment means more than just getting your editor set up just so -- it means finding and setting up a variety of tools to take care of the mundane housekeeping chores that you have to do -- so you have more time to program, of course! I'll share the benefits of a number of yak shaving expeditions, including using App::GitGot to batch manage _all_ your git repos, App::MiseEnPlace to automate getting things _just_ so in your working environment, and a few others as time allows.
Delivered at OpenWest 2016, 13 July 2016
A lot of people use Docker/rkt, but very often we do not have time to actually understand how they work. So today in half-hour I will show you in a nutshell how that works. My hope is that even after you know how to build a container engine, I can still convince you that the existing tools are worth spending $MM to create and use.
A quick overview of why to use and how to set up iPython notebooks for researchAdam Pah
A quick overview of why to use and how to set up iPython notebooks for research in the Amaral lab. Example notebook is a gist at:
http://nbviewer.ipython.org/gist/anonymous/f8e6d8985d2ea0e4bab1
asyncio - is young library for asynchronous network programming. Lack of information on proper use and writing code in asyncio as well as production war stories slows down asyncio adoption.
In this talk I'll cover my experience with asyncio in production, best practices for writing reliable and testable asynchronous code as well as bunch of asyncio tips and tricks. We will discuss how run asyncio application in standalone mode, execute blocking code in event loop and moreover how embed asyncio in your synchronous application.
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOPMykola Novik
The document discusses various approaches for dealing with blocking code within the asyncio event loop:
1. Check if a compatible asyncio library exists
2. Check if a REST API is available to avoid blocking
3. Check if there is a simple text or binary protocol that can be implemented without blocking
4. Check if there is an existing synchronous Python client that can be adapted
5. Use a thread pool executor to run blocking code in separate threads to avoid blocking the event loop
For filesystem and CPU intensive operations, the document recommends using a thread pool executor due to OS limitations on asynchronous filesystem access. The aiofiles library provides an asynchronous filesystem wrapper that uses threads in the background.
This document provides an overview of tools and techniques for developing Node.js applications. It discusses platforms for creating, deploying, running, debugging, and collaborating on Node.js apps such as Cloud Foundry, Heroku, Git, and Cloud Azure. It also mentions languages tools for Node.js like JavaScript bindings to LibUV, standard libraries, and the V8 JavaScript engine. The document discusses challenges like asynchronous programming and provides solutions like workers and static program analysis. It emphasizes that tooling is especially important for JavaScript and recommends resources like treehugger.js for issues like callback hell.
Fine-tuning your development environment means more than just getting your editor set up just so -- it means finding and setting up a variety of tools to take care of the mundane housekeeping chores that you have to do -- so you have more time to program, of course! I'll share the benefits of a number of yak shaving expeditions, including using App::GitGot to batch manage _all_ your git repos, App::MiseEnPlace to automate getting things _just_ so in your working environment, and a few others as time allows.
Delivered at OpenWest 2016, 13 July 2016
A lot of people use Docker/rkt, but very often we do not have time to actually understand how they work. So today in half-hour I will show you in a nutshell how that works. My hope is that even after you know how to build a container engine, I can still convince you that the existing tools are worth spending $MM to create and use.
A quick overview of why to use and how to set up iPython notebooks for researchAdam Pah
A quick overview of why to use and how to set up iPython notebooks for research in the Amaral lab. Example notebook is a gist at:
http://nbviewer.ipython.org/gist/anonymous/f8e6d8985d2ea0e4bab1
asyncio - is young library for asynchronous network programming. Lack of information on proper use and writing code in asyncio as well as production war stories slows down asyncio adoption.
In this talk I'll cover my experience with asyncio in production, best practices for writing reliable and testable asynchronous code as well as bunch of asyncio tips and tricks. We will discuss how run asyncio application in standalone mode, execute blocking code in event loop and moreover how embed asyncio in your synchronous application.
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOPMykola Novik
The document discusses various approaches for dealing with blocking code within the asyncio event loop:
1. Check if a compatible asyncio library exists
2. Check if a REST API is available to avoid blocking
3. Check if there is a simple text or binary protocol that can be implemented without blocking
4. Check if there is an existing synchronous Python client that can be adapted
5. Use a thread pool executor to run blocking code in separate threads to avoid blocking the event loop
For filesystem and CPU intensive operations, the document recommends using a thread pool executor due to OS limitations on asynchronous filesystem access. The aiofiles library provides an asynchronous filesystem wrapper that uses threads in the background.
The document discusses using JavaScript on Arduino boards for IoT projects. It describes the motivation for using JavaScript, common hardware and software used, and design patterns. Specifically, it outlines a robotic cat litter scooper project built with an Arduino board, sensors, actuators and controlled with JavaScript code. It discusses lessons learned around hardware integration and managing complexity.
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Conference
What's the first thing you should do when starting a new project...? Setup a good CI system! With Github Actions you can do it in a couple of seconds. You can easily setup a workflow to build your project, test it on different machines, and deploy the results. In this talk we're going to see how you can setup a simple Github Action for your repository and start enjoying it right after.
1) The document discusses how to write effective Burp extensions using Java and provides tips for debugging Java code for Burp extensions.
2) It recommends using an IDE for Java code completion, debugging, and refactoring and provides examples of debugging Burp extensions using Eclipse and IntelliJ IDEs.
3) The document demonstrates several Java features that can improve Burp extension code like lambda expressions and stream API as well as examples of building Burp extensions that handle CSRF tokens and GUI interfaces.
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be setup in the cloud. A private Docker registry as a service can be easily setup in the cloud. But what if you want to build a holistic CI/CD pipeline, and on the cloud of YOUR choice?
In this talk Baruch will take you through steps of setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Amazon, Azure, and Google Cloud (do you have setup that works on these?) will be used as an example although the recipes shown would be applicable to other cloud as well.
Swift is an exciting new language developed by Apple as a replacement for ObjectiveC. It has a modern clean syntax, strong inferential typing support, and uses automatic reference counting to streamline memory management and prevent numerous types of errors. Swift focuses on providing a "safe" compiled language but manages to have an easy-to-learn scripting language "feel".
The language was originally released in 2014, but after it was released as an Open Source project in late 2015, there has been an explosion of interest and work in the language. It's been ported to multiple non-MacOS platforms (e.g, Linux and Android) and extended to support server-side programming in addition to being able to target MacOS, iOS, watchOS, and tvOS.
This talk will present an overview of the development of Swift, review the basic syntax of the language, and discuss some of the philosophy behind its design. After attending this talk, you'll be poised to dive into Swift coding for yourself!
Delivered at OpenWest 2016, 15 July 2016
The document provides an overview of using p2 to facilitate agile software development. It discusses how p2 can be used to manage software update strategies, provision Eclipse, RCP and OSGi applications, and install and manage new features and configurations. The document also outlines topics to be covered, including the p2 architecture, building products with p2, and hands-on exercises for using p2.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be set up in the cloud. A private Docker registry as a service can be easily set up in the cloud. But what if you want to build a holistic CI/CD pipeline on the cloud of your choice?
Baruch Sadogursky walks you through setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Baruch uses Amazon, Azure, and Google Cloud as examples, although the recipes shown are applicable to other clouds as well.
Writing iOS apps in Javascript is not a new idea, anymore, at least since companies like Appcelerator (Titanium) built entire business models around corresponding frameworks.
And yet, Apple manages to open up two exciting new possibilities during the WWDC 2013: The release of the JavaScriptCore Framework as a public API on iOS and OS X, as well as the announcement of an Objective-C to Javascript Bridge.
I'd like to talk to you about my experiences with these new bridge-technologies, the new ways in which you can use them and finally present to you my own project; Node.app — a Node.js implementation for iOS.
Talk given at Devoxx Belgium 2018
Spring Boot is awesome. Docker is awesome. Together you can do great things. But, are you doing it the right way? We'll walk you through, in detail, the optimal way to structure Docker images for Spring Boot applications for iterative development. Structuring your Docker images correctly is really important for teams doing continuous integration and continuous delivery. Using Docker best practices, we'll show you the code and the technologies used to optimize Docker images for Spring Boot apps!
MIT researchers have developed highly efficient quadruped robots like the Cheetah that can run at speeds up to 6m/s. The Cheetah uses a proprioceptive actuation system with high torque density motors to achieve high force control bandwidth over 120Hz. Its parallelized control system with multicore CPUs and FPGAs allows control frequencies up to 4kHz. Design principles for efficient legged locomotion include energy regeneration, low transmission impedance, and low leg inertia. The researchers are continuing their work with robots like Cheetah 2 and Hermes.
Gatekeeper only verifies executables run through the open command or by double clicking, not those run through other means like using terminal. While experiments 2-4 seemed to bypass Gatekeeper, they were actually expected behavior. Gatekeeper's goal is to prevent execution of downloaded applications only when users double click them. In Catalina, Gatekeeper also verifies executables run through exec and performs malware checks on every execution, closing the previous bypass methods. Plist files can still be executed regardless of quarantine attributes, allowing for potential remote code execution. Bringing your own virtual machine is another avenue to achieve malware goals without host access.
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
Learn about DK 8 and Device I/O Library
Also, see the lab how to install from scratch Rasbian, JDK 8, Device I/O on a RaspberryPi.
See the code from github and build your own machine
Docker is a groundbreaking technology that will heavily influence how we will write software in the years to come: let's then have a look at:
* where it comes from (Linux Containers)
* how it works
* how to dockerize simple apps to easily deploy them on production
* how you can use Docker in local environments to simplify your development workflow
Do you like Vagrant, auto-scaling or 12-factor apps? Then get ready to be mindblown.
This document discusses best practices for implementing container image promotion pipelines. It recommends building images only once and promoting immutable artifacts between separated development, testing, staging and production environments. Specific strategies covered include using metadata tags or separate Docker repositories to isolate environments, virtual hosts to support multiple registries per host, and owning all dependencies to ensure consistency. The key is to build once and promote only tested, immutable images in a standardized process to different environments.
Workshop slides originally given at the WOPR Summit in Atlantic City. Use JavaScript parsers and generators like Shift combined with Puppeteer and Chrome to reverse engineer web applications
IPython is an interactive Python shell, it provides tools for interactive and parallel computing that are widely used in the scientific world. It can also benefit any other Python developer.
One bite and all your dreams will come true: Analyzing and Attacking Apple Ke...Priyanka Aash
"Though many security mechanisms are deployed in Apple's macOS and iOS systems, some old-fashioned or poor-quality kernel code still leaves the door widely open to attackers. Especially, as kernel's critical components, device drivers are frequently exploited to attack Apple systems. In fact, bug hunting in Apple kernel drivers is not easy since they are mostly closed-source and heavily relying on object-oriented programming. In this talk, we will share our experience of analyzing and attacking Apple kernel drivers. In specific, we will introduce a new tool called Ryuk. Ryuk employs static analysis techniques to discover bugs by itself or assist manual review.
In addition, we further combine static analysis with dynamic fuzzing for bug hunting in Apple drivers. In specific, we will introduce how we integrate Ryuk to the state-of-art Apple driver fuzzer, PassiveFuzzFrameworkOSX, for finding exploitable bugs.
Most importantly, we will illustrate Ryuk's power with several new vulnerabilities that are recently discovered by Ryuk. In specific, we will show how we exploit these vulnerabilities for privilege escalation on macOS 10.13.3 and 10.13.2. We will not only explain why these bugs occur and how we find them, but also demonstrate how we exploit them with innovative kernel exploitation techniques."
This document introduces openHAB, an open source home automation platform. OpenHAB allows users to integrate and automate smart devices from different manufacturers in a central interface. It uses a flexible architecture based on OSGi with bindings that connect to devices using various protocols. OpenHAB provides a runtime environment, designer tool, web and mobile UIs, and supports automating devices for comfort, security and energy savings. An online demo is available and the open source project has an active community of contributors.
The document discusses using JavaScript on Arduino boards for IoT projects. It describes the motivation for using JavaScript, common hardware and software used, and design patterns. Specifically, it outlines a robotic cat litter scooper project built with an Arduino board, sensors, actuators and controlled with JavaScript code. It discusses lessons learned around hardware integration and managing complexity.
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Conference
What's the first thing you should do when starting a new project...? Setup a good CI system! With Github Actions you can do it in a couple of seconds. You can easily setup a workflow to build your project, test it on different machines, and deploy the results. In this talk we're going to see how you can setup a simple Github Action for your repository and start enjoying it right after.
1) The document discusses how to write effective Burp extensions using Java and provides tips for debugging Java code for Burp extensions.
2) It recommends using an IDE for Java code completion, debugging, and refactoring and provides examples of debugging Burp extensions using Eclipse and IntelliJ IDEs.
3) The document demonstrates several Java features that can improve Burp extension code like lambda expressions and stream API as well as examples of building Burp extensions that handle CSRF tokens and GUI interfaces.
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be setup in the cloud. A private Docker registry as a service can be easily setup in the cloud. But what if you want to build a holistic CI/CD pipeline, and on the cloud of YOUR choice?
In this talk Baruch will take you through steps of setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Amazon, Azure, and Google Cloud (do you have setup that works on these?) will be used as an example although the recipes shown would be applicable to other cloud as well.
Swift is an exciting new language developed by Apple as a replacement for ObjectiveC. It has a modern clean syntax, strong inferential typing support, and uses automatic reference counting to streamline memory management and prevent numerous types of errors. Swift focuses on providing a "safe" compiled language but manages to have an easy-to-learn scripting language "feel".
The language was originally released in 2014, but after it was released as an Open Source project in late 2015, there has been an explosion of interest and work in the language. It's been ported to multiple non-MacOS platforms (e.g, Linux and Android) and extended to support server-side programming in addition to being able to target MacOS, iOS, watchOS, and tvOS.
This talk will present an overview of the development of Swift, review the basic syntax of the language, and discuss some of the philosophy behind its design. After attending this talk, you'll be poised to dive into Swift coding for yourself!
Delivered at OpenWest 2016, 15 July 2016
The document provides an overview of using p2 to facilitate agile software development. It discusses how p2 can be used to manage software update strategies, provision Eclipse, RCP and OSGi applications, and install and manage new features and configurations. The document also outlines topics to be covered, including the p2 architecture, building products with p2, and hands-on exercises for using p2.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be set up in the cloud. A private Docker registry as a service can be easily set up in the cloud. But what if you want to build a holistic CI/CD pipeline on the cloud of your choice?
Baruch Sadogursky walks you through setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Baruch uses Amazon, Azure, and Google Cloud as examples, although the recipes shown are applicable to other clouds as well.
Writing iOS apps in Javascript is not a new idea, anymore, at least since companies like Appcelerator (Titanium) built entire business models around corresponding frameworks.
And yet, Apple manages to open up two exciting new possibilities during the WWDC 2013: The release of the JavaScriptCore Framework as a public API on iOS and OS X, as well as the announcement of an Objective-C to Javascript Bridge.
I'd like to talk to you about my experiences with these new bridge-technologies, the new ways in which you can use them and finally present to you my own project; Node.app — a Node.js implementation for iOS.
Talk given at Devoxx Belgium 2018
Spring Boot is awesome. Docker is awesome. Together you can do great things. But, are you doing it the right way? We'll walk you through, in detail, the optimal way to structure Docker images for Spring Boot applications for iterative development. Structuring your Docker images correctly is really important for teams doing continuous integration and continuous delivery. Using Docker best practices, we'll show you the code and the technologies used to optimize Docker images for Spring Boot apps!
MIT researchers have developed highly efficient quadruped robots like the Cheetah that can run at speeds up to 6m/s. The Cheetah uses a proprioceptive actuation system with high torque density motors to achieve high force control bandwidth over 120Hz. Its parallelized control system with multicore CPUs and FPGAs allows control frequencies up to 4kHz. Design principles for efficient legged locomotion include energy regeneration, low transmission impedance, and low leg inertia. The researchers are continuing their work with robots like Cheetah 2 and Hermes.
Gatekeeper only verifies executables run through the open command or by double clicking, not those run through other means like using terminal. While experiments 2-4 seemed to bypass Gatekeeper, they were actually expected behavior. Gatekeeper's goal is to prevent execution of downloaded applications only when users double click them. In Catalina, Gatekeeper also verifies executables run through exec and performs malware checks on every execution, closing the previous bypass methods. Plist files can still be executed regardless of quarantine attributes, allowing for potential remote code execution. Bringing your own virtual machine is another avenue to achieve malware goals without host access.
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
Learn about DK 8 and Device I/O Library
Also, see the lab how to install from scratch Rasbian, JDK 8, Device I/O on a RaspberryPi.
See the code from github and build your own machine
Docker is a groundbreaking technology that will heavily influence how we will write software in the years to come: let's then have a look at:
* where it comes from (Linux Containers)
* how it works
* how to dockerize simple apps to easily deploy them on production
* how you can use Docker in local environments to simplify your development workflow
Do you like Vagrant, auto-scaling or 12-factor apps? Then get ready to be mindblown.
This document discusses best practices for implementing container image promotion pipelines. It recommends building images only once and promoting immutable artifacts between separated development, testing, staging and production environments. Specific strategies covered include using metadata tags or separate Docker repositories to isolate environments, virtual hosts to support multiple registries per host, and owning all dependencies to ensure consistency. The key is to build once and promote only tested, immutable images in a standardized process to different environments.
Workshop slides originally given at the WOPR Summit in Atlantic City. Use JavaScript parsers and generators like Shift combined with Puppeteer and Chrome to reverse engineer web applications
IPython is an interactive Python shell, it provides tools for interactive and parallel computing that are widely used in the scientific world. It can also benefit any other Python developer.
One bite and all your dreams will come true: Analyzing and Attacking Apple Ke...Priyanka Aash
"Though many security mechanisms are deployed in Apple's macOS and iOS systems, some old-fashioned or poor-quality kernel code still leaves the door widely open to attackers. Especially, as kernel's critical components, device drivers are frequently exploited to attack Apple systems. In fact, bug hunting in Apple kernel drivers is not easy since they are mostly closed-source and heavily relying on object-oriented programming. In this talk, we will share our experience of analyzing and attacking Apple kernel drivers. In specific, we will introduce a new tool called Ryuk. Ryuk employs static analysis techniques to discover bugs by itself or assist manual review.
In addition, we further combine static analysis with dynamic fuzzing for bug hunting in Apple drivers. In specific, we will introduce how we integrate Ryuk to the state-of-art Apple driver fuzzer, PassiveFuzzFrameworkOSX, for finding exploitable bugs.
Most importantly, we will illustrate Ryuk's power with several new vulnerabilities that are recently discovered by Ryuk. In specific, we will show how we exploit these vulnerabilities for privilege escalation on macOS 10.13.3 and 10.13.2. We will not only explain why these bugs occur and how we find them, but also demonstrate how we exploit them with innovative kernel exploitation techniques."
This document introduces openHAB, an open source home automation platform. OpenHAB allows users to integrate and automate smart devices from different manufacturers in a central interface. It uses a flexible architecture based on OSGi with bindings that connect to devices using various protocols. OpenHAB provides a runtime environment, designer tool, web and mobile UIs, and supports automating devices for comfort, security and energy savings. An online demo is available and the open source project has an active community of contributors.
This document discusses Eclipse@Home, an open source home automation project called openHAB. It provides a 3 sentence summary:
OpenHAB is an open source software for home automation that allows for control and automation of devices using rules and bindings to various protocols. It uses the Eclipse RCP framework and OSGi for a modular runtime and includes a configuration tool and bindings to devices like KNX, Bluetooth, and others. The presenter demonstrated openHAB which aims to provide a universal integration platform for home automation with features like email/xmpp notifications, text-to-speech, and a smartphone user interface.
17.11.2012 Codemotion Venezia.
La casa aperta: domotica Open Source dal'hardware al software.
In questo talk racconteremo l'esperienza di realizzazione di un impianto di domotica interamente basato su tecnologie Open Source. L'impianto realizzato comprende il controllo di un impianto di riscaldamento a zone di temperatura, luci, finestre motorizzate e un sistema di rilevazione di presenza. Racconteremo come siamo partiti dall'hardware realizzato con Arduino fino ad arrivare alla piattaforma software basata su OSGI (openhab).
OpenHAB is an open source home automation platform that allows users to control their home using OSGi. It integrates devices from different vendors in a hardware-agnostic way. The goals of OpenHAB are stability, easy development, and acting as a playground for latest Java and Eclipse technologies. OpenHAB uses an OSGi-based runtime, an Eclipse-based configuration tool, and embedded Jetty for REST APIs and mobile apps. It includes features like a rules engine, data logging, and integrations with devices, services, and mobile notifications.
Device Abstraction in OSGi Based Embedded Systems - Dimitar Valtchevmfrancis
OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule)
ABSTRACT
OSGi is gaining popularity as enabling technology for building embedded systems in residential, automotive and M2M markets. In all these contexts it is often necessary to communicate with IP and non-IP devices by using various protocols such as Zigbee, ZWave, KNX, EnOcean, etc. In order to provide a convenient programming model suitable for the realization of end-to-end services it is very important to apply an abstraction layer which unifies the work with devices supporting different protocols. A specification work covering this topic has been already started by OSGi Alliance in cooperation with organizations such as HGI, ETSI M2M, BBF and OneM2M.
This presentation comments the existing approaches for the realization of device abstraction in OSGi. Special attention is paid to the requirements making such an abstraction suitable for interactions with cloud based applications and services. A reference architecture based on the experience gained from numerous commercial projects is presented and explained.
SPEAKER BIO
Dr. Dimitar Valtchev is Chief Technology Officer of ProSyst Software. His main technical interests are in the fields of embedded systems, device management and distributed computing.
Recently Dimitar has been involved in numerous residential and automotive projects using the OSGi technology. He believes in the power of open systems/architectures and actively participates in the work of organizations such as HGI and OSGi Alliance.
Dimitar is a senior member of IEEE and holds MS in Electronics, MS in Computer Science and PhD in Electrical Engineers degrees from the Technical University of Sofia.
Kai Kreuzer presented openHAB, an open source home automation platform built using OSGi and Eclipse technologies. OpenHAB allows integrating devices from different vendors in a hardware-agnostic way. It uses an event bus architecture to connect device bindings like KNX, Bluetooth, and UPnP. OpenHAB provides an item registry, automation logic, user interfaces, and stateful services. The goal is to provide a stable, easy to develop and debug platform for home automation. Kai demonstrated an early version and outlined plans to release a binary build, add more bindings and features like charts.
Slides from my talk at DevFest Prague 2017 about few thoughts on a topic of "When a robot is smart enough" with examples how you can build one at home from Open Hardware components.
Ideas were demonstrated on a showcase of my #Probee smart robotic car build using #Arduino and #RaspberryPi.
All code is open source at https://github.com/Juicymo/iot-probee
Link to event: https://2017.devfest.cz/schedule/day1?sessionId=123
Talk was presented on 2017/11/04
#DevFestCZ #Probee
This document discusses using mruby for rapid IoT prototyping. It introduces mruby and how it can help address bottlenecks in prototyping like slow firmware transfer speeds. It describes the ESP32 microcontroller and how the mruby-esp32 project ports mruby to run on the ESP32, providing examples of using mruby with ESP32 peripherals like GPIO and I2C. It also mentions the mruby 1.4.0 release and the mruby/c implementation for very small memory devices.
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...Mark West
Is your project dragging you down? Are you stuck with the same old technologies? Are you bored with coding? If you answer “yes” to any of these questions, you may have lost your coding mojo—just like this session’s speaker did a few years back. Come hear how he learned new technologies and rediscovered his coding mojo by building an IoT/robotics prototype: a voice-controlled robot. Along the way, you’ll hear about HTML5 speech recognition, controlling hardware with Node.js and Johnny-Five, using WebSocket and MQTT for communication between components, and finally how you can easily combine the Raspberry Pi and Arduino platforms to gain ultimate power over your own projects.
How to build Open Hardware self-navigating car robotTomáš Jukin
The document describes how to build an open hardware robot using Arduino, Raspberry Pi, and hot glue. It discusses the components needed, including a Raspberry Pi, Arduino microcontroller, sensors, motors and more. It also covers the software architecture using a multi-agent system approach with agents for movement, steering, collision avoidance and more, implemented using Ruby and the Celluloid and agens frameworks on the Raspberry Pi.
World of C is evolving. New use cases are often with embedded or mobile systems. Software engineer should be aware of technology stack connected to open source technologies like Arduino for IoT.
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...jaxLondonConference
Presented at JAX London 2013
The Raspberry Pi has caused a huge wave of interest amongst developers, providing an ARM powered single board computer running a full Linux distro off an SD card and all for only $35! After an introduction to the Raspberry Pi and the ARM architecture, this session will look at how Java can be used on a device like this. Oracle have released an early access preview of JDK8 including JavaFX and a version of Java ME Embedded (3.3) tuned specifically for the Raspberry Pi.
The Raspberry Pi is a credit card-sized single-board computer that plugs into a monitor or TV. It has various ports including HDMI, USB, Ethernet and more. It uses a Broadcom chip and comes with 512MB of RAM. The Raspberry Pi was designed for education and has various operating systems it can run like Linux, RISC OS and Android. It is commonly used for programming, home theater systems, routers and robotics projects. While similar, the Arduino is a microcontroller board focused on inputs and outputs rather than being a standalone computer.
The document discusses nodebots, which are robots built and programmed using JavaScript and Node.js. It describes how microcontrollers can be used for robotics but are difficult to program in C++. Instead, Node.js allows controlling microcontrollers over USB from JavaScript code using libraries like Firmata and Johnny-Five. The document provides an overview of microcontrollers versus microprocessors and demonstrates communicating with an Arduino from Node.js to control servos and run demo robots. It encourages attendees to get involved with the local nodebots meetup group.
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
This document provides an overview of using a Raspberry Pi for Internet of Things projects. It discusses what IoT is and the varied skills needed as a polymath. It then covers differences between Arduino and Raspberry Pi, the history and components of Raspberry Pi, and how to install and configure Raspbian Linux. Finally, it demonstrates how to install WiringPi and WebIOPi for GPIO access and control, and provides an example lab to turn on and off a bulb.
Johnny-Five is a JavaScript framework for robotics that allows programming of robots and microcontrollers like Arduinos from JavaScript code. It uses Firmata, an open-source protocol, to communicate between Node.js scripts and microcontrollers over serial connections. Johnny-Five supports functions like digital reads/writes, analog reads, PWM, servo control, and more on boards like Arduino, Raspberry Pi, Intel Galileo and Tessel. The framework has a large community of developers contributing to its continued development and support for new hardware.
Exploring the Internet of Things Using RubyMike Hagedorn
The document discusses exploring the Internet of Things using Ruby. It covers using Ruby and USB to control a lamp, creating an IoT printer that prints tasks from a Mac, and building an IoT display to show tweets. It demonstrates connecting various devices like Arduino boards to the cloud and controlling them remotely through Ruby scripts and APIs.
The document discusses the Raspberry Pi, a small single-board computer developed in the UK to promote teaching computer science in schools. It provides details on the history and specifications of different Raspberry Pi models and lists several popular operating systems that can be installed on the Pi like Raspbian, Kali Linux, and Windows 10 IoT Core. Instructions are given for downloading operating system images and installing them on an SD card to use with a Raspberry Pi. Various potential applications of the Raspberry Pi in fields like robotics, home automation and weather balloons are also mentioned.
Raspberry Pi 2 + Windows 10 IoT Core + Node.jsAndri Yadi
I presented it during my talk in Bandung IoT Developer Day, Ep. 1 "Developing for IoT with Web Technologies". I talked about how we can develop app for Raspberry Pi with Windows 10 IoT Core, using Node.js.
Demo code: https://github.com/andriyadi/Win10IoT-AzureIotHub-SmartLamp/
IoT Tech Day Coding Mojo slides. Utrecht, April 2016Mark West
http://www.iottechday.nl/sessions/how-i-rediscovered-my-coding-mojo-by-building-an-iotrobotics-prototype/
Includes links to video demos.
"Come hear the story of how I learned new technologies and rediscovered my coding mojo by building an IoT/robotics prototype: a JavaScript powered, voice-controlled robot! Along the way you can expect to learn about HTML5 speech recognition, controlling hardware with Node.js and Johnny-Five, using WebSockets and MQTT for communication between components, and finally how you can combine the Raspberry Pi and Arduino platforms to gain ultimate power over your own projects!"
This document discusses building a Node.js powered robot using a Raspberry Pi, Arduino, sensors, actuators and Johnny-Five. The robot hardware includes a Raspberry Pi 2, camera, Arduino, servos and chassis. Johnny-Five is used to control the hardware from JavaScript. An MQTT message broker allows components to communicate. Speech recognition is also demonstrated using HTML5 for additional control capabilities.
Raspberry Pi model A. With the camera, it turns
out there is just enough headroom in the on-board
thermal resettable fuse to run directly off the serial
connector. If you use a model B, you will have to get
power elsewhere. A model A+ or B+ should work, but
we haven’t tried, yet
Arduino is an open-source hardware platform for building electronics projects. It provides a programmable circuit board and software to program it. Key features include an inexpensive ($30) and easy to use board, support for both digital and analog input/output, and a large user community. Arduino boards can be used to build interactive objects, sense and control the physical world, and communicate using various protocols. Examples of Arduino projects include robots, 3D displays, sensors, and more.
JavaScript is finding its way further and further out of the browser. Only a couple of years ago, if someone had said they wanted to build robots only using JS you'd think they were crazy. Having tried it at the time those naysayers were correct - it was a disaster.
Recently, particularly as a result of the nodebots project, JS Robotics has started to come of age and it's now possible to build simple robots using JavaScript for the majority of the stack - everything from control and sensing to motors to lights, AI and computer vision.
This talk will give an overview of what's currently possible, where the current gotchas are, how to get started and have some interactive elements that can be played with during or after the session.
Andrew is a creator & destroyer of things that combine mobile web, ubicomp and lots of data. Sometime programmer, interaction researcher & CTO @ JBA.
Be Responsive meetup / Melbourne Geek Night Crossover night
September 2014
Desktop Apps in a Javascript World - ElectronMarc MacLeod
This document discusses JavaScript desktop applications and compares different frameworks for building them, including Electron, Node-Webkit, and MacGap. It outlines key differences between web and desktop applications, such as access to the operating system and native functionality. The document provides an overview of features like the main and render processes in Electron, communicating between them, and options for storage, distribution, and other tasks in JavaScript desktop applications.
Similar to Meet the Eclipse SmartHome powered Mars Rover (20)
Never too young for Open Source - Red Hat summit in Boston 2017.5Michael Vorburger
The document discusses introducing children to open source and programming at a young age. It argues that open source allows kids to have fun making interactive stories, music, and games on computers. Open source provides the freedom for children to open, experiment with, learn from, and build upon what others have created. The document encourages spreading open source ways to children by teaching them programming through various online resources and organizing workshops with friends.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
https://github.com/vorburger/opendaylight-eclipse-setup
Watch https://www.youtube.com/watch?v=TU1zjytlwFE recording of this same presentation. Same slides are also available in better quality on https://docs.google.com/presentation/d/14yLzog3OhIlVsk7Clr0Tff1YayRcFnQCUZqxHMWxiNI/.
Watch https://www.youtube.com/watch?v=BLW8aOh6WeQ screencast video to see a step by step walk through for how to use what's introduced here.
Presentation given at the OpenDaylight Open Source Software Defined Networking Mini Summit on 2016.06-21 in Berlin at the Open Platform for NFV (OPNFV) summit, by Michael Vorburger.
2012 Mifos Update at Open World Forum: Ending Poverty One Line of Code at a TimeMichael Vorburger
The document describes Mifos, an open source platform for microfinance institutions. It provides statistics on global poverty and an overview of microfinance as an anti-poverty strategy. It then discusses Mifos features and statistics, its transition to an independent community-led project, and upcoming developments like Mifos X. It invites attendees to get involved through coding, testing or providing feedback.
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
The document discusses Odyssey Financial Technologies' use of Pragmatic Model Driven Development (MDD) using the openArchitectureWare framework. It positions their approach within the broader MDD/MDA landscape and describes openArchitectureWare and how it is used to generate code from models. Their Eclipse-based modeling tools are demonstrated, which utilize domain-specific languages to model different artifact types through a graphical interface.
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05Michael Vorburger
- Java Data Objects (JDO) is an API specification for object persistence that allows mapping between Java objects and relational databases. It has evolved from earlier object persistence technologies.
- The JDO API includes interfaces for the PersistenceManagerFactory and PersistenceManager to manage object persistence. Metadata and bytecode enhancement are used to integrate objects with the persistence implementation.
- JDO 2.0 introduced improvements like disconnected object graphs and standardized mapping descriptors. Future specifications like EJB 3.0 are also pursuing object persistence standards.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
When deliberating between CodeIgniter vs CakePHP for web development, consider their respective strengths and your project requirements. CodeIgniter, known for its simplicity and speed, offers a lightweight framework ideal for rapid development of small to medium-sized projects. It's praised for its straightforward configuration and extensive documentation, making it beginner-friendly. Conversely, CakePHP provides a more structured approach with built-in features like scaffolding, authentication, and ORM. It suits larger projects requiring robust security and scalability. Ultimately, the choice hinges on your project's scale, complexity, and your team's familiarity with the frameworks.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
6. EclipseCon France
1. won Rover kit - tx Gaël!
2. had to do something with it… ;-)
3. was looking for RPi brico. excuse
7. Hardware VS Soft.
We do know bugs as (Java)
software developers - but
we’re used to assuming that
our underlying HW “just
works” reliably.
When bricolage: “To explore
strange new worlds, to seek
out new …”
8. The FUN with real hardware!
First RPi from EC was broken (but only partially, so extra fun)
WiFi on RPv3 is NOK, interference from motor shield (but only if no monitor!)
GPIO PINs for motor & sound overlap (by default; soldering req. to remap)
SD cards get corrupted after unzip & power halt (generously sync)
11. Pi4j
Java library to talk to GPIO
pins on the Raspberry Pi
Control Motors, LEDs,
Buttons, etc.
12. Driver
Java library with “Turtle” like
APIs to control Rover’s motors:
Forward, Backward, speed
Turn left/right, in degrees
Offers 3 modes: Sync VS
Async (BG Thread) VS
Queueing
13. Test Drive
under rough conditions -
Rover had to withstand
blazing sunshine, three kids
and a dog.
14. Binding
Pretty easy to write a new
Eclipse SmartHome Binding for
a new (robot) “device” …
http://docs.openhab.org/devel
opers/development/bindings.h
tml
https://www.eclipse.org/smart
home/documentation/develop
ment/bindings/how-to.html