You can find the video presentation here: http://youtu.be/VhVjCnF-Y0M
Ron Ravid and Grégoire Sage cover the Overlay technique and how to load parts of code from resources.
Day 2 - Video 4
#PDR15 Creating Pebble Apps for Aplite, Basalt, and ChalkPebble Technology
Curious about how to design apps that look great on Pebble Classic, Pebble Time, and Pebble Time Round? Confused about how to structure and implement code for multi-platform apps using the Pebble SDK? Kevin Conley (Embedded Developer) will cover these topics as well as share several tips, tricks, and tools for creating amazing apps that run on all Pebble devices.
Lets push those pixels to their limits as Matthew Hungerford (Developer Experience Engineer) talks about graphics effects leveraging Pebble APIs and community libraries to create exceptional watchfaces and apps.
Learn how to take advantage of the Pebble build system by creating customized wscripts that let you concatenate JS files, automatically run linters, and internationalize your apps with Cherie Williams (Developer Evangelist).
This document discusses tools for binding C/C++ code to Python. It begins with an overview of ctypes and CFFI for pure C bindings, and how CPython implements bindings internally. It then covers popular binding tools like SWIG, Cython, and Pybind11. For SWIG, a simple example is shown generating bindings for a C++ class. Later, a more detailed example is demonstrated using Pybind11 to bind the Minuit2 optimization library to Python.
This document provides best practices for using CMake, including:
- Set the cmake_minimum_required version to ensure modern features while maintaining backward compatibility.
- Use targets to define executables and libraries, their properties, and dependencies.
- Fetch remote dependencies at configure time using FetchContent or integrate with package managers like Conan.
- Import library targets rather than reimplementing Find modules when possible.
- Treat CUDA as a first-class language in CMake projects.
The document discusses plans for the boost-histogram and hist Python libraries. Boost-histogram is a multidimensional histogram library inspired by ROOT that provides flexibility through many axis and storage types. Hist will provide plotting and analysis functionality by interfacing with libraries like mpl-hep. Future plans include improved indexing, slicing, and NumPy conversions for boost-histogram as well as statistical functions, serialization, and integration with fitters for hist.
#PDR15 Creating Pebble Apps for Aplite, Basalt, and ChalkPebble Technology
Curious about how to design apps that look great on Pebble Classic, Pebble Time, and Pebble Time Round? Confused about how to structure and implement code for multi-platform apps using the Pebble SDK? Kevin Conley (Embedded Developer) will cover these topics as well as share several tips, tricks, and tools for creating amazing apps that run on all Pebble devices.
Lets push those pixels to their limits as Matthew Hungerford (Developer Experience Engineer) talks about graphics effects leveraging Pebble APIs and community libraries to create exceptional watchfaces and apps.
Learn how to take advantage of the Pebble build system by creating customized wscripts that let you concatenate JS files, automatically run linters, and internationalize your apps with Cherie Williams (Developer Evangelist).
This document discusses tools for binding C/C++ code to Python. It begins with an overview of ctypes and CFFI for pure C bindings, and how CPython implements bindings internally. It then covers popular binding tools like SWIG, Cython, and Pybind11. For SWIG, a simple example is shown generating bindings for a C++ class. Later, a more detailed example is demonstrated using Pybind11 to bind the Minuit2 optimization library to Python.
This document provides best practices for using CMake, including:
- Set the cmake_minimum_required version to ensure modern features while maintaining backward compatibility.
- Use targets to define executables and libraries, their properties, and dependencies.
- Fetch remote dependencies at configure time using FetchContent or integrate with package managers like Conan.
- Import library targets rather than reimplementing Find modules when possible.
- Treat CUDA as a first-class language in CMake projects.
The document discusses plans for the boost-histogram and hist Python libraries. Boost-histogram is a multidimensional histogram library inspired by ROOT that provides flexibility through many axis and storage types. Hist will provide plotting and analysis functionality by interfacing with libraries like mpl-hep. Future plans include improved indexing, slicing, and NumPy conversions for boost-histogram as well as statistical functions, serialization, and integration with fitters for hist.
Bolt C++ Standard Template Libary for HSA by Ben Sanders, AMDHSA Foundation
The document introduces Bolt, a C++ template library for heterogeneous system architecture (HSA) that aims to improve developer productivity for GPU programming. Bolt provides optimized library routines for common GPU operations using open standards like OpenCL and C++ AMP. It resembles the familiar C++ Standard Template Library. Bolt allows programming GPUs as easily as CPUs, handles workload distribution across devices, and provides a single source code base for both CPU and GPU. Examples show how Bolt can be used with C++ AMP and OpenCL, including passing user-defined functors. An exemplary video enhancement application demonstrates Bolt's use in a commercial product.
The Power of Rails 2.3 Engines & TemplatesTse-Ching Ho
The document discusses new features in Rails 2.3 including engines, templates, and commands for generating applications from templates. It provides examples of creating plugins and applications using engines and templates. Key areas covered include combining multiple templates, writing templates for common tasks like scaffold generation, and addressing issues with using engines and templates together. Demo examples of pre-built templates and engines for authentication and authorization are also mentioned.
The document discusses the new features of Python 3.8, which was recently released. Some key updates include positional-only arguments, the walrus operator for variable assignment, improved static typing support, and performance enhancements. The document also notes additional developer changes and provides resources for obtaining Python 3.8.
Scalding is a Scala library built on top of Cascading that simplifies the process of defining MapReduce programs. It uses a functional programming approach where data flows are represented as chained transformations on TypedPipes, similar to operations on Scala iterators. This avoids some limitations of the traditional Hadoop MapReduce model by allowing for more flexible multi-step jobs and features like joins. The Scalding TypeSafe API also provides compile-time type safety compared to Cascading's runtime type checking.
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOAltinity Ltd
1. ClickHouse uses a MergeTree storage engine that stores data in compressed columnar format and partitions data into parts for efficient querying.
2. Query performance can be optimized by increasing threads, reducing data reads through filtering, restructuring queries, and changing the data layout such as partitioning strategy and primary key ordering.
3. Significant performance gains are possible by optimizing the data layout, such as keeping an optimal number of partitions, using encodings to reduce data size, and skip indexes to avoid unnecessary I/O. Proper indexes and encodings can greatly accelerate queries.
W świecie mikrousługowym architektura Lambda zadomowiła się już na dobre. Tak przetwarzania streamingowe, jak i batchowe buduje wiele firm. Na rynku (o ile o rynku można mówić w kontekście open source) istnieje wiele frameworków, każdy jednak ma pewne cechy, które — zwłaszcza przy dużych projektach — utrudniają pracę. Jedne służą do przetwarzania real-time, drugie lepiej spisują się w workloadach batchowych. Niektóre z nich zaś można uznać za „rock-solid” tylko jeśli uruchamiamy je na Hadoopie. Nie brak tych problemów jest jednak główną zaletą Beama. A co nią jest? Dowiecie się na prezentacji! Poruszymy takie kwestie jak model przetwarzania, use-case’y, w których Beam się sprawdza, a także środowiska uruchomieniowe. Zobaczycie też, jak uruchamiać joby Apache Beam na Google Cloud Platform.
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiInfluxData
When a large group of people change their habits, it can be tricky for infrastructures! Working from home and spending time indoor today means attending video calls and streaming movies and tv shows. This leads to increased internet traffic that can create congestion on the network infrastructure. So how do you get real-time visibility into your ISP connection? In this meetup, Mirko presents his setup based on a time series database and Raspberry Pi to better understand his ISP connection quality and speed — including upload and download speeds. Join us to discover how he does it using Telegraf, InfluxDB Cloud, Astro Pi, Telegram and Grafana! Finally, proof that your ISP connection is (or is not) as fast as it promises.
Apache beam — promyk nadziei data engineera na Toruń JUG 28.03.2018Piotr Wikiel
W świecie mikrousługowym architektura Lambda zadomowiła się już na dobre. Tak przetwarzania streamingowe, jak i batchowe buduje wiele firm. Na rynku (o ile o rynku można mówić w kontekście open source) istnieje wiele frameworków, każdy jednak ma pewne cechy, które — zwłaszcza przy dużych projektach — utrudniają pracę. Jedne służą do przetwarzania real-time, drugie lepiej spisują się w workloadach batchowych. Niektóre z nich zaś można uznać za „rock-solid” tylko jeśli uruchamiamy je na Hadoopie. Nie brak tych problemów jest jednak główną zaletą Beama. A co nią jest? Dowiecie się na prezentacji! Poruszymy takie kwestie jak model przetwarzania, use-case’y, w których Beam się sprawdza, a także środowiska uruchomieniowe. Zobaczycie też, jak uruchamiać joby Apache Beam na Google Cloud Platform.
Spark 4th Meetup Londond - Building a Product with Sparksamthemonad
This document discusses common technical problems encountered when building products with Spark and provides solutions. It covers Spark exceptions like out of memory errors and shuffle file problems. It recommends increasing partitions and memory configurations. The document also discusses optimizing Spark code using functional programming principles like strong and weak pipelining, and leveraging monoid structures to reduce shuffling. Overall it provides tips to debug issues, optimize performance, and productize Spark applications.
CHEP 2018: A Python upgrade to the GooFit package for parallel fittingHenry Schreiner
A Python upgrade to the GooFit package for parallel fitting
9 Jul 2018, 15:30
15m
Hall 3 (National Palace of Culture)
presentation Track 5 – Software development T5 - Software development
Speaker
Henry Fredrick Schreiner (University of Cincinnati (US))
Description
The GooFit highly parallel fitting package for GPUs and CPUs has been substantially upgraded in the past year. Python bindings have been added to allow simple access to the fitting configuration, setup, and execution. A Python tool to write custom GooFit code given a (compact and elegant) MINT3/AmpGen amplitude description allows the corresponding C++ code to be written quickly and correctly. New PDFs have been added. The most recent release was built on top of the December 2017 2.0 release that added easier builds, new platforms, and a more robust and efficient underlying function evaluation engine.
Developing and Deploying Apps with the Postgres FDWJonathan Katz
This document summarizes Jonathan Katz's experience building a foreign data wrapper (FDW) between two PostgreSQL databases to enable an API for his company VenueBook. He created separate "app" and "api" databases, with the api database using FDWs to access tables in the app database. This allowed inserting and querying data across databases. However, he encountered permission errors and had to grant various privileges on the remote database to make it work properly, demonstrating the importance of permissions management with FDWs.
Fun with click house window functions webinar slides 2021-08-19Altinity Ltd
Window functions allow computations across rows in a result set. They enable calculations like cumulative sums, moving averages, and ranking within partitions of the data. Some key capabilities of window functions include computing aggregates over a window or frame of rows, ranking rows within partitions, and accessing values of preceding and following rows. Window functions add powerful analytical capabilities to standard SQL queries.
By Kristoffer Benjaminsson, CTO, Easy.
This talk presents the telemetry system used in Battlefield Heroes and how it helps the team make technical decisions in order to provide the best service possible. We will show real life examples of how telemetry helped improve matchmaking, reduce latency for players and help find false alarms from the cheat detection system. We will also discuss how telemetry can be used in development for catching bugs and support game designers in their work.
1. The document discusses migrating from OpenGL to Vulkan, providing analogies comparing the APIs to fixed-function toys, programmable LEGO kits, and raw materials pine wood derby kits.
2. It outlines scenarios that are likely and unlikely to benefit from Vulkan, such as applications with parallelizable CPU-bound graphics work.
3. Key differences between OpenGL and Vulkan are explained, such as Vulkan requiring explicit management of graphics resources, synchronization, and command buffer queuing. The document emphasizes that transitioning to Vulkan truly rethinks the entire graphics rendering approach.
Intro to some diagram auto-generation tools. For more info and sample files, head over to http://www.mbarsinai.com/blog/2014/01/12/draw-more-work-less/.
These are slides from the Dec 17 SF Bay Area Julia Users meeting [1]. Ehsan Totoni presented the ParallelAccelerator Julia package, a compiler that performs aggressive analysis and optimization on top of the Julia compiler. Ehsan is a Research Scientist at Intel Labs working on the High Performance Scripting project.
[1] http://www.meetup.com/Bay-Area-Julia-Users/events/226531171/
This document summarizes a presentation about proposed and potential future enhancements to foreign data wrappers in PostgreSQL. Some key points discussed include: inheritance support for foreign tables was committed for version 9.5; join push-down and update push-down were proposed but returned for further work; and future ideas proposed aggregate push-down, more aggressive join push-down, sort push-down, and 2PC support. Many technical challenges around semantics, implementation, and optimization were also discussed.
High Performance Analytics Toolkit (HPAT) is a Julia-based framework for big data analytics on clusters that is both easy to use and extremely fast; it is orders of magnitude faster than alternatives like Apache Spark.
HPAT automatically parallelizes analytics tasks written in Julia and generates efficient MPI/C++ code.
This document provides instructions for conducting a buffer overflow attack on a vulnerable C program to alter its execution flow. It explains how functions are called and stored on the stack, and how overflowing a buffer can overwrite the return address to point to attacker-chosen code. The document demonstrates compiling a sample program, running it under a debugger to find addresses, and using a Python script to send an overly long input exploiting the buffer overflow to execute a secret function.
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”Databricks
NEC has developed a new vector processor called SX-Aurora TSUBASA to accelerate machine learning and data analytics workloads. They developed a middleware framework called Frovedis that provides Spark-like functionality and is optimized for SX-Aurora TSUBASA. Frovedis achieved 10-100x speedups on machine learning algorithms and SQL-like queries compared to Spark on CPUs. NEC has also opened a lab called VEDAC for external users to access SX-Aurora TSUBASA systems running Frovedis.
Bolt C++ Standard Template Libary for HSA by Ben Sanders, AMDHSA Foundation
The document introduces Bolt, a C++ template library for heterogeneous system architecture (HSA) that aims to improve developer productivity for GPU programming. Bolt provides optimized library routines for common GPU operations using open standards like OpenCL and C++ AMP. It resembles the familiar C++ Standard Template Library. Bolt allows programming GPUs as easily as CPUs, handles workload distribution across devices, and provides a single source code base for both CPU and GPU. Examples show how Bolt can be used with C++ AMP and OpenCL, including passing user-defined functors. An exemplary video enhancement application demonstrates Bolt's use in a commercial product.
The Power of Rails 2.3 Engines & TemplatesTse-Ching Ho
The document discusses new features in Rails 2.3 including engines, templates, and commands for generating applications from templates. It provides examples of creating plugins and applications using engines and templates. Key areas covered include combining multiple templates, writing templates for common tasks like scaffold generation, and addressing issues with using engines and templates together. Demo examples of pre-built templates and engines for authentication and authorization are also mentioned.
The document discusses the new features of Python 3.8, which was recently released. Some key updates include positional-only arguments, the walrus operator for variable assignment, improved static typing support, and performance enhancements. The document also notes additional developer changes and provides resources for obtaining Python 3.8.
Scalding is a Scala library built on top of Cascading that simplifies the process of defining MapReduce programs. It uses a functional programming approach where data flows are represented as chained transformations on TypedPipes, similar to operations on Scala iterators. This avoids some limitations of the traditional Hadoop MapReduce model by allowing for more flexible multi-step jobs and features like joins. The Scalding TypeSafe API also provides compile-time type safety compared to Cascading's runtime type checking.
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOAltinity Ltd
1. ClickHouse uses a MergeTree storage engine that stores data in compressed columnar format and partitions data into parts for efficient querying.
2. Query performance can be optimized by increasing threads, reducing data reads through filtering, restructuring queries, and changing the data layout such as partitioning strategy and primary key ordering.
3. Significant performance gains are possible by optimizing the data layout, such as keeping an optimal number of partitions, using encodings to reduce data size, and skip indexes to avoid unnecessary I/O. Proper indexes and encodings can greatly accelerate queries.
W świecie mikrousługowym architektura Lambda zadomowiła się już na dobre. Tak przetwarzania streamingowe, jak i batchowe buduje wiele firm. Na rynku (o ile o rynku można mówić w kontekście open source) istnieje wiele frameworków, każdy jednak ma pewne cechy, które — zwłaszcza przy dużych projektach — utrudniają pracę. Jedne służą do przetwarzania real-time, drugie lepiej spisują się w workloadach batchowych. Niektóre z nich zaś można uznać za „rock-solid” tylko jeśli uruchamiamy je na Hadoopie. Nie brak tych problemów jest jednak główną zaletą Beama. A co nią jest? Dowiecie się na prezentacji! Poruszymy takie kwestie jak model przetwarzania, use-case’y, w których Beam się sprawdza, a także środowiska uruchomieniowe. Zobaczycie też, jak uruchamiać joby Apache Beam na Google Cloud Platform.
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiInfluxData
When a large group of people change their habits, it can be tricky for infrastructures! Working from home and spending time indoor today means attending video calls and streaming movies and tv shows. This leads to increased internet traffic that can create congestion on the network infrastructure. So how do you get real-time visibility into your ISP connection? In this meetup, Mirko presents his setup based on a time series database and Raspberry Pi to better understand his ISP connection quality and speed — including upload and download speeds. Join us to discover how he does it using Telegraf, InfluxDB Cloud, Astro Pi, Telegram and Grafana! Finally, proof that your ISP connection is (or is not) as fast as it promises.
Apache beam — promyk nadziei data engineera na Toruń JUG 28.03.2018Piotr Wikiel
W świecie mikrousługowym architektura Lambda zadomowiła się już na dobre. Tak przetwarzania streamingowe, jak i batchowe buduje wiele firm. Na rynku (o ile o rynku można mówić w kontekście open source) istnieje wiele frameworków, każdy jednak ma pewne cechy, które — zwłaszcza przy dużych projektach — utrudniają pracę. Jedne służą do przetwarzania real-time, drugie lepiej spisują się w workloadach batchowych. Niektóre z nich zaś można uznać za „rock-solid” tylko jeśli uruchamiamy je na Hadoopie. Nie brak tych problemów jest jednak główną zaletą Beama. A co nią jest? Dowiecie się na prezentacji! Poruszymy takie kwestie jak model przetwarzania, use-case’y, w których Beam się sprawdza, a także środowiska uruchomieniowe. Zobaczycie też, jak uruchamiać joby Apache Beam na Google Cloud Platform.
Spark 4th Meetup Londond - Building a Product with Sparksamthemonad
This document discusses common technical problems encountered when building products with Spark and provides solutions. It covers Spark exceptions like out of memory errors and shuffle file problems. It recommends increasing partitions and memory configurations. The document also discusses optimizing Spark code using functional programming principles like strong and weak pipelining, and leveraging monoid structures to reduce shuffling. Overall it provides tips to debug issues, optimize performance, and productize Spark applications.
CHEP 2018: A Python upgrade to the GooFit package for parallel fittingHenry Schreiner
A Python upgrade to the GooFit package for parallel fitting
9 Jul 2018, 15:30
15m
Hall 3 (National Palace of Culture)
presentation Track 5 – Software development T5 - Software development
Speaker
Henry Fredrick Schreiner (University of Cincinnati (US))
Description
The GooFit highly parallel fitting package for GPUs and CPUs has been substantially upgraded in the past year. Python bindings have been added to allow simple access to the fitting configuration, setup, and execution. A Python tool to write custom GooFit code given a (compact and elegant) MINT3/AmpGen amplitude description allows the corresponding C++ code to be written quickly and correctly. New PDFs have been added. The most recent release was built on top of the December 2017 2.0 release that added easier builds, new platforms, and a more robust and efficient underlying function evaluation engine.
Developing and Deploying Apps with the Postgres FDWJonathan Katz
This document summarizes Jonathan Katz's experience building a foreign data wrapper (FDW) between two PostgreSQL databases to enable an API for his company VenueBook. He created separate "app" and "api" databases, with the api database using FDWs to access tables in the app database. This allowed inserting and querying data across databases. However, he encountered permission errors and had to grant various privileges on the remote database to make it work properly, demonstrating the importance of permissions management with FDWs.
Fun with click house window functions webinar slides 2021-08-19Altinity Ltd
Window functions allow computations across rows in a result set. They enable calculations like cumulative sums, moving averages, and ranking within partitions of the data. Some key capabilities of window functions include computing aggregates over a window or frame of rows, ranking rows within partitions, and accessing values of preceding and following rows. Window functions add powerful analytical capabilities to standard SQL queries.
By Kristoffer Benjaminsson, CTO, Easy.
This talk presents the telemetry system used in Battlefield Heroes and how it helps the team make technical decisions in order to provide the best service possible. We will show real life examples of how telemetry helped improve matchmaking, reduce latency for players and help find false alarms from the cheat detection system. We will also discuss how telemetry can be used in development for catching bugs and support game designers in their work.
1. The document discusses migrating from OpenGL to Vulkan, providing analogies comparing the APIs to fixed-function toys, programmable LEGO kits, and raw materials pine wood derby kits.
2. It outlines scenarios that are likely and unlikely to benefit from Vulkan, such as applications with parallelizable CPU-bound graphics work.
3. Key differences between OpenGL and Vulkan are explained, such as Vulkan requiring explicit management of graphics resources, synchronization, and command buffer queuing. The document emphasizes that transitioning to Vulkan truly rethinks the entire graphics rendering approach.
Intro to some diagram auto-generation tools. For more info and sample files, head over to http://www.mbarsinai.com/blog/2014/01/12/draw-more-work-less/.
These are slides from the Dec 17 SF Bay Area Julia Users meeting [1]. Ehsan Totoni presented the ParallelAccelerator Julia package, a compiler that performs aggressive analysis and optimization on top of the Julia compiler. Ehsan is a Research Scientist at Intel Labs working on the High Performance Scripting project.
[1] http://www.meetup.com/Bay-Area-Julia-Users/events/226531171/
This document summarizes a presentation about proposed and potential future enhancements to foreign data wrappers in PostgreSQL. Some key points discussed include: inheritance support for foreign tables was committed for version 9.5; join push-down and update push-down were proposed but returned for further work; and future ideas proposed aggregate push-down, more aggressive join push-down, sort push-down, and 2PC support. Many technical challenges around semantics, implementation, and optimization were also discussed.
High Performance Analytics Toolkit (HPAT) is a Julia-based framework for big data analytics on clusters that is both easy to use and extremely fast; it is orders of magnitude faster than alternatives like Apache Spark.
HPAT automatically parallelizes analytics tasks written in Julia and generates efficient MPI/C++ code.
This document provides instructions for conducting a buffer overflow attack on a vulnerable C program to alter its execution flow. It explains how functions are called and stored on the stack, and how overflowing a buffer can overwrite the return address to point to attacker-chosen code. The document demonstrates compiling a sample program, running it under a debugger to find addresses, and using a Python script to send an overly long input exploiting the buffer overflow to execute a secret function.
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”Databricks
NEC has developed a new vector processor called SX-Aurora TSUBASA to accelerate machine learning and data analytics workloads. They developed a middleware framework called Frovedis that provides Spark-like functionality and is optimized for SX-Aurora TSUBASA. Frovedis achieved 10-100x speedups on machine learning algorithms and SQL-like queries compared to Spark on CPUs. NEC has also opened a lab called VEDAC for external users to access SX-Aurora TSUBASA systems running Frovedis.
Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having your CI tests running in the background while you work on new features? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily.
Slides that were presented during the webrtc Qt Cmake tutorial at IIT-RTC in October 2017 in Chicago. The slides are not yet complete, and will be updated later.
Here is a recursive C function that solves the Tower of Hanoi problem:
#include <stdio.h>
void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod)
{
if (n == 0)
return;
towerOfHanoi(n-1, from_rod, aux_rod, to_rod);
printf("Move disk %d from rod %c to rod %c\n", n, from_rod, to_rod);
towerOfHanoi(n-1, aux_rod, to_rod, from_rod);
}
int main()
{
int
(1) c sharp introduction_basics_dot_netNico Ludwig
This document provides an introduction to parsing an update log using different programming languages, including C#, Visual Basic, C++/CLI, F#, and others. It describes the problem of parsing a software update log file to retrieve the latest updates for different applications. It then shows sample code solutions in each language and provides brief descriptions and context about each language.
Track A-Compilation guiding and adjusting - IBMchiportal
The document summarizes the Embedded Reconfigurable Architecture (ERA) project. The ERA project aims to develop an adaptive platform that can dynamically adjust hardware resources to meet changing performance and power needs. Key components include reconfigurable processing elements, memory hierarchies, and networks. The project involves 10 partners across academia and industry. Work focuses on compilers, operating systems, hardware scheduling, and exploiting tradeoffs between performance and power consumption.
This document provides release notes and supplementary information for Delphi 7. It notes that some components have been deprecated and recommends newer alternatives. It also describes changes made to string handling functions, warnings added by the compiler, and issues fixed in streaming of subcomponents. Finally, it provides notes on various other topics like Apache, UDDI, Windows XP input, and databases.
DCEU 18: Developing with Docker ContainersDocker, Inc.
Laura Frank Tacho - Director of Engineering, CloudBees
Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily, and walk away with two actionable steps you can take to start using Docker containers for development.
This document discusses firmware development for ARM processors. It covers the toolchain used, including RealView compilers and linkers. It discusses the embedded development process from simple "hello world" programs to standalone applications. Key topics covered include retargeting the C library, memory mapping, scatter loading, and ordering code and data through linker directives.
Create useful data center health visualizations with Dell iDRAC Telemetry Ref...Principled Technologies
Dell EMC™ has recently released Telemetry Reference tools for the Integrated Dell Remote Access Controller (iDRAC). The Telemetry Reference toolset enables data center engineers to ingest and structure telemetry data streams for visualization with Elastic Stack software. This report serves as a how-to guide for setting up and configuring these components within your own environment.
Telegraf is a plugin-driven server agent for collecting & reporting metrics and there are many plugins already written to source data from a variety of services and systems. However, there may be instances where you need to write your own plugin to source data from your particular systems. In this session, Noah will provide you with the steps on how to write your own Telelgraf plugin. This will require an understanding of the Go programming language.
Accelerated .NET Memory Dump Analysis training public slidesDmitry Vostokov
This document provides an overview and training materials for analyzing .NET memory dumps. The training goals are to review fundamentals, learn how to analyze process dumps, learn necessary WinDbg commands in context, and cover CLR 4 on x86 and x64. The training covers fundamentals of memory spaces, user/managed space, types/assemblies/modules, process threads, and provides examples of stack traces and commands. It also outlines practice exercises analyzing different memory dumps to diagnose issues like exceptions, deadlocks, leaks and corruption.
Directive-based approach to Heterogeneous ComputingRuymán Reyes
The document discusses a directive-based approach to heterogeneous computing. It describes how applications used in HPC centers commonly use MPI and OpenMP programming models. It also discusses how complexity arises from mixing different Fortran dialects and the need for faster ways to migrate code to new architectures like accelerators without rewriting the code. The document proposes using directives to enhance legacy code for heterogeneous systems in a portable way.
C is a general-purpose programming language widely used to develop operating systems and compilers. It was developed in the early 1970s at Bell Labs by Dennis Ritchie. Some key reasons for C's popularity include its efficiency, ability to access low-level hardware, and ability to be compiled on a variety of computers. C source code files use a .c extension and must be compiled into an executable binary file before running. Common uses of C include operating systems, language compilers, databases, and network drivers.
This document discusses developing low-memory-footprint programs for iSeries. It explains that programs use memory when activated from disk by a loader. It then covers understanding program activation and the memory equation that determines usage. Key factors that influence memory usage are the object size, static storage, and dependencies of main and service programs. The document provides tips for optimizing static storage usage such as reducing variable declarations and using dynamic memory allocation when possible.
The document provides an agenda for a seasoned developers track workshop. The agenda includes sessions on InfluxDB query language (IFQL), writing Telegraf plugins, using InfluxDB for open tracing, advanced Kapacitor techniques, setting up InfluxData for IoT, and database orchestration. There will also be breakfast, lunch, breaks and pizza/beer.
Declare Your Language: What is a Compiler?Eelco Visser
The document provides an overview of the course on compiler construction, including information on the course organization, website, assignments, and deadlines, as well as introducing the concept of what a compiler is and the different types of compilers. It also discusses how linguistic abstractions can be used to build domain-specific languages and language workbenches that support the design and implementation of programming languages through the use of declarative meta-languages.
.NET is designed to solve problems that have plagued programmers in the past like incompatibilities between programming languages and technologies. It provides a common language runtime and type system that allows different languages to work together. The .NET Framework handles many common programming tasks like serialization automatically through metadata and provides a large class library for common functions.
Similar to Overlay Technique | Pebble Developer Retreat 2014 (20)
The document provides tips for creating an effective app store page, including choosing an attention-grabbing name and banner, using screenshots that demonstrate the app's functionality, and writing a concise description that explains how the app solves problems for users. It emphasizes using the name, banner, screenshots and description to attract clicks by showing prospective users what the app does through visuals and clear explanatory text.
This session will cover everything needed to get started with smartstraps, from the hardware connection to APIs on the watch to the Arduino smartstrap library with Brian Gomberg (Embedded Developer). We will have limited hardware for people build with and take home!
Jack Chai presented insights from Pebble's analytics on how developers can increase sustained usage of their apps. He showed that apps using Timeline pins on the Pebble watch had significantly higher usage rates than those not using pins. Case studies found apps on the Basalt platform had much higher usage when incorporating pins compared to the same apps on Aplite, which lacks pins. Developers were encouraged to utilize the new analytics in the developer portal and incorporate Timeline pins to directly deliver information to users and reduce button clicks and battery drain.
Learn all about timeline on Pebble. Specifically when to use it and when not to use it. See some of the best use cases for timeline and find out why timeline gives your app a competitive advantage with Jon Barlow (Developer Advocate).
Find out what has changed since PebbleKit iOS 2.0 and learn how to upgrade your projects. Discover how to take advantage of the new features of the new PebbleKit iOS with Marcel Jackwerth (iOS Developer).
The document discusses Pebble's voice dictation API. It provides an overview of how the dictation works, including capturing audio with the microphone, encoding it with Speex, and sending it to a recognizer. It also covers the dictation API basics, UI flow, an example demo app, best practices, and development tools. The API allows apps to integrate voice input and transcription directly on the watch.
This document discusses design guidelines for Pebble smartwatches, including using sufficient color contrast for text, reducing curves and angles to improve anti-aliasing, animating transitions between elements, and formatting text to fit the small screen while maintaining readability. It also provides examples of watch face layouts, text flows, and interaction patterns.
The document summarizes the agenda and logistics for Pebble's 2015 Developer Retreat. The retreat will include sessions on developing apps for Pebble's various watch models, using new APIs, and best practices. There will be keynote presentations from Pebble's CEO and Director of Apps, as well as workshops, coding sessions, and social events. Developers will get hands-on experience with Pebble's upcoming software update and can provide feedback to the company.
This document provides an overview and introduction to overlays and libraries for the Pebble smartwatch platform. It discusses the benefits of sharing code through libraries, how overlays allow combining multiple components, and examples of existing and upcoming projects that utilize overlays and libraries. The presenters provide contact information and links to GitHub repositories for following up on implementation details and working examples.
The document discusses connecting Pebble smartwatches to external devices and APIs. It provides examples of prototyping an app to get weather data from an API and display it, controlling Hue lights by calling a REST API, and creating a "PebbleBot" to control servos over BLE. The document emphasizes identifying available APIs, prototyping interactions, and connecting Pebble to other devices and services.
You can find the video recording here: http://youtu.be/iG8Gnf5CD9s
This talk given by Steve Caldwell, CEO/CTO of Strap, focused on how to add analytics to your Pebble app.
Day 2 - Video 3
You can find the video recording here: http://youtu.be/TS0FPfgxAso
Stuart Harrell, software engineer at Pebble, gives a talk about battery life and how to preserve it. This talk explains the effect of different system functions on battery life and discusses solutions to common battery life problems with apps.
Day 2 - Video 1
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014Pebble Technology
Thomas Sarlandie, Head Developer Evangelist at Pebble, welcomes everyone to the second ever Developer Retreat and goes through a detailed agenda of the next 4 days including some interesting facts about Pebble development over the past year.
Also featured:
New stuff in 2.6 - Background Workers
Coming up in 2.7 - Wakeup API
Day 1 - Video 2
You can find the video recording here: https://www.youtube.com/watch?v=8tOhdUXcSkw
Heiko Behrens and Matthew Hungerford talk about advanced programming techniques for Pebble. This talk focused on size to optimize pebble apps for code size, heap space, and advice on use of floating point.
The Mandelbrot demo and XKCD app were featured.
Day 1 - Video 3A
You can find the video recording here: https://www.youtube.com/watch?v=lYoHh19RNy4
Heiko Behrens and Matthew Hungerford present advanced programming techniques for Pebble. This presentation focused on graphics techniques including run-time dithering, offline dithering, pixel manipulations, and frame-buffer drawing.
This talk featured the amiga boing ball dithering demo.
Day 1 - Video 3B
This document provides an introduction to wearable development with Pebble. It discusses Pebble's history and features. It demonstrates how to build a simple clock app using the SimplyJS framework and how to build a basic "Hello World" app using the native C SDK. It also overview's Pebble's APIs and resources for developing apps that run on the Pebble smartwatch platform.
Pebble SDK 2.0 is a brand new SDK for the Pebble smartwatch with support for JavaScript enabled apps, accelerometer, persistent storage, new tools, etc.
You can also watch the video announcement:
http://www.youtube.com/watch?v=uoVX2ibCFXw&feature=youtu.be
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
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.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
"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.
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.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
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.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
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
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
2. What's an overlay ?
In a general computing sense, overlaying means
"replacement of a block of stored instructions or
data with another."
Overlaying is a programming method that allows
programs to be larger than the computer's main
memory.
http://www.wikiwand.com/en/Overlay
Overlays technique 2
4. Our Build Proc es s
1.Generate an initial LD script
2.First build of the app
3.Calculate the size of the overlay sections
4.Generate final LD script
5.Second build of the app
6.Extract overlays sections from the elf to
external resource file
7.Trim elf file to remove overlays section
8.Very final build
Overlays technique 4
5. Generate the initial LD s c ript
Overlay configuration
Selecting files (from sources or libraries) for every
overlay section
Overlays technique 5
1 / 8
7. F irs t build of the app
Overlays technique 7
pebble build
The overlays sections are mapped at a
default hard-coded position
2 / 8
8. Calc ulate the overlay s ec tion
s ize
arm-none-eabi-readelf -S build/pebble-app.elf
Maximum overlay section size = 0x1D00
Overlays technique 8
3 / 8
9. Generate final LD s c ript
Maximum overlay Size of main app section size
= 0x1D00 + 0x2600
Overlays technique 9
4 / 8
10. Generate final LD s c ript
Overlay Table
Overlays technique 10
4 / 8
11. S ec ond build of the app
Overlays technique 11
pebble build
Every section will be mapped in its correct
position thanks to the final LD script
5 / 8
12. E xtrac t overlays from elf
Extract the compiled code in the overlay
sections to one unique resource binary
file.
Overlays technique 12
6 / 8
13. T hird and final build of the app
Overlays technique 13
pebble build
Pack the previously generated binary
resource in the app
7 / 8
14. Trim the elf file
Remove the extracted overlay compiled
code from the elf file to reduce its size
(optional)
Overlays technique 14
8 / 8
16. How to load an overlay ?
Overlays technique 16
17. How to load an overlay ?
Overlays technique 17
18. Pos s ible applic ations
If your app can be divided in
independant parts,
more parts can be added.
Example:
Heap Usage for App <Pebblets>: Total Size <3632B> Used <2928B> Still allocated <40B>
Only 700 bytes remaining...
Any application that not all of its
parts are active simultaneously
Overlays technique 18
19. Adjus ting c ode for overlay
● Change any string array from form of c ons t c har* days [] to
c ons t c har days [][12] (one-two bytes bigger than length of your
longest string.)
● If you use GPath, move your GPath data to external file with setup
function
● menu_layer_set_callbacks. Instead of defining
'MenuLayerCallbacks menu_callbacks' and giving it to that
function as parameter, put it directly inside the 3rd parameter of
menu_layer_set_callbacks like:
(MenuL ayerC allbac ks ){ .get_num_rows = get_num_rows ,
.draw_row = draw_row, .s elec t_c lic k = s elec t_c lic k });
● vibes_enqueue_custom_pattern. Move your custom pattern to
external non-overlay file.
Overlays technique 19
21. Try it
Some apps in the appstore :
- F inally (12 watchfaces in one)
- PPOSDemo (concept for a point of sale
demo) with source code, & detailed readme
- Pebble Demos (all the SDK demos +
compass in one app) with source code
* check the links to source code on GitHub
Overlays technique 21