This document outlines an iOS development lecture on practical iOS development topics including using maps and location services, system dialogs for contacts, photos, email and SMS, social networks APIs, threading with NSThread, GCD and NSOperation, and best practices for singletons. Key classes and methods are described for adding maps, determining user location, geocoding, contacts pickers, photo pickers, mail/SMS composers, Twitter and Facebook SDKs, threads, operations, and thread-safe singletons.
Slides for the 1st lecture on mobile development (dedicated to iOS) at the Faculty of Mathematics and Physics at the Charles University in Prague.
Course page: http://www.inmite.eu/en/talks/mff-2012
The Bundle system is one of the greatest and most powerful features of Symfony2. Bundles contain all the files related to a single feature of your application: controllers, entities, event listeners, form types, Twig templates, etc. But how much of that actually needs to be inside a bundle?
In this talk we’ll take a bundle, containing all those different types of classes, configuration files and templates, and strip it down to the bare necessities. And I promise that after moving many files out of the bundle, everything still works.
While looking for ways to move things out of the bundle, I will discuss some of the more advanced features of bundle design, like prepending configuration, compiler passes and Doctrine mapping drivers. We will end with a very lean bundle, surrounded by a few highly reusable, maximally decoupled libraries.
The Bundle system is one of the greatest and most powerful features of Symfony2. Bundles contain all the files related to a single feature of your application: controllers, entities, event listeners, form types, Twig templates, etc. But how much of that actually needs to be inside a bundle?
In this talk we’ll take a bundle, containing all those different types of classes, configuration files and templates, and strip it down to the bare necessities. And I promise that after moving many files out of the bundle, everything still works.
While looking for ways to move things out of the bundle, I will discuss some of the more advanced features of bundle design, like prepending configuration, compiler passes and Doctrine mapping drivers. We will end with a very lean bundle, surrounded by a few highly reusable, maximally decoupled libraries.
Slides for the 1st lecture on mobile development (dedicated to iOS) at the Faculty of Mathematics and Physics at the Charles University in Prague.
Course page: http://www.inmite.eu/en/talks/mff-2012
The Bundle system is one of the greatest and most powerful features of Symfony2. Bundles contain all the files related to a single feature of your application: controllers, entities, event listeners, form types, Twig templates, etc. But how much of that actually needs to be inside a bundle?
In this talk we’ll take a bundle, containing all those different types of classes, configuration files and templates, and strip it down to the bare necessities. And I promise that after moving many files out of the bundle, everything still works.
While looking for ways to move things out of the bundle, I will discuss some of the more advanced features of bundle design, like prepending configuration, compiler passes and Doctrine mapping drivers. We will end with a very lean bundle, surrounded by a few highly reusable, maximally decoupled libraries.
The Bundle system is one of the greatest and most powerful features of Symfony2. Bundles contain all the files related to a single feature of your application: controllers, entities, event listeners, form types, Twig templates, etc. But how much of that actually needs to be inside a bundle?
In this talk we’ll take a bundle, containing all those different types of classes, configuration files and templates, and strip it down to the bare necessities. And I promise that after moving many files out of the bundle, everything still works.
While looking for ways to move things out of the bundle, I will discuss some of the more advanced features of bundle design, like prepending configuration, compiler passes and Doctrine mapping drivers. We will end with a very lean bundle, surrounded by a few highly reusable, maximally decoupled libraries.
Symfony 2.0 is a major step forward for the symfony project. This new version introduces new concepts and new components, and make the framework even more decoupled and flexible than before. As an added bonus, the framework is also more lightweight and much faster. This session will give you a feeling of the power of Symfony 2.0 by introducing the main new components of the framework.
REST/JSON/CoreData Example Code - A TourCarl Brown
This is a talk given by Carl Brown at the 2/28/2013 CocoaCoders meeting in Austin (actually Round Rock) TX.
It describes github/carlbrown/SeismicJSON - an MIT-licensed project Carl wrote to illustrate REST JSON CoreData and NSOperations based loosely on the functionality of Apple's old SeismicXML Sample Code.
ERRest - Designing a good REST serviceWO Community
Learn how to design your REST service with the correct HTTP verbs and codes. We also talk on how to manage optimistic locking and caching for your REST services.
PHP unserialization vulnerabilities: What are we missing?Sam Thomas
Video at: https://www.youtube.com/watch?v=PqsudKzs79c
An introduction to PHP unserialization vulnerabilities, with some practical tips on methodology. Based around three new exploits for old vulnerabilities (CVE-2011-4962, CVE-2013-1453, CVE-2013-4338).
Threads, Queues, and More: Async Programming in iOSTechWell
To keep your iOS app running butter-smooth at 60 frames per second, Apple recommends doing as many tasks as possible asynchronously or “off the main thread.” Joe Keeley introduces you to some basic concepts of asynchronous programming in iOS. He discusses what threads and queues are, how they are related, and the special significance of the main queue to iOS. Look at what options are available in the iOS SDK to work asynchronously, including NSOperationQueues and Grand Central Dispatch. Take an in depth look at how to implement some common use cases for those options in Swift. Joe pays special attention to networking, one of the most common asynchronous use cases. Spend some time discussing common asynchronous programming pitfalls—and how to avoid them. Leave this session ready to try out asynchronous programming in your iOS app.
Big Data Day LA 2015 - Mongoose v/s Waterline: Battle of the ORM by Tim Fulme...Data Con LA
Mongo is swiftly becoming the default, general purpose database du jour. In green field Node.JS systems, Mongo is almost the default persistence mechanism. At the same time, going completely schema-less raises it's own issues.
Enter the NoSQL ORM solution. By encoding schema information in easily changeable JavaScript definitions, Node.JS systems can get the benefits of both worlds. High velocity change throughput, with just enough guardrails to keep things on the tracks.
Mongoose has traditionally been the go-to ORM package, providing lightweight schema definitions on top of Mongo. Waterline has recently come out of the Sails.JS project with some interesting innovations. In this presentation we compare and contrast the two packages through a few typical ORM use cases.
ORMs
Object Relational Mapping
Convert data between two different type systems
In memory representation of domain objects (better abstractions of reality)
Why??
Structure / Modularity(The M in MVC, Object Representation / Relational Mapping)
Agnostic Database Integration (configs)
Boilerplate Reduction (Spaghetti, Complex Queries, DRY)
Providing hooks Tx lifecycle (Before/After)
Easier data validation (Maintaining Data integrity)
Sensible Defaults (Better naming, Connascence/Cognizance etc)
RAW SQL strings have a high chance of compiling with semantic errors and @ runtime.
Go's Philosophy..
As it Affects ORMs
Duality (Class / Type)
Non existence of a type hierarchy
Struct embedding (Composition)
Plumbing not encouraged
they don't have to announce their relationships
Video Link: https://skillsmatter.com/skillscasts/6162-orms-with-golang
Slides della sessione su Automatic Reference Counting, tenuta da Giuseppe Arici alla WhyMCA 2012.
http://www.whymca.org/intervento/automatic-reference-counting
Everybody is talking about ES6, but is anyone out there using it in production? Mango recently started adopting ES6 features that make our front-end code easier to write and maintain.
In this talk, I will explain why we decided to use ES6, how we started to use it in production (using npm, browserify and babel) and I'll explain what problems we found along the way and how we solved them.
Links:
https://getmango.com
https://getmango.com/blog/writing-es6-modules-with-6to5/
http://kangax.github.io/compat-table/
https://github.com/zloirock/core-js
https://github.com/mango/emitter
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
http://benmccormick.org/2015/04/07/es6-classes-and-backbone-js/
From the user’s perspective Android and iOS are not too dissimilar. One is cheaper than the other and pretty much everyone makes their apps for both types of phones. However, from the security testing perspective things are very different. Android is open and has lots of standard mechanisms to assist with testing. On the other hand, iOS is closed and requires lots of non standard methods for black box testing. The caveat is, of course, unless you own and control the build of the application but, that not completely black box. If you do then you can use any number of tools: Appium, Apple UI Automation, etc.
This talk will cover reasons for why we constrain ourselves to this type of testing as well as various tools and techniques for instrumenting iOS apps to do UI automation. Specifically, we are constrained to no source code and no way to make a special build. The jailbreak community has developed many of these building blocks that if used in concert can provide for a powerful testing automation framework. This talk will also demonstrate a reference implementation of an extensible tool that brings all the primitives together to automate the testing of iOS application.
Přednáška pokrývá úvod do mírně pokročilých oblastí vývoje pro iOS.
- vícevláknové programování
- práce s XML a JSON na iOS
- datová persistence
- MapKit a Core Location
- Systémové dialogy
- URL schémata
Symfony 2.0 is a major step forward for the symfony project. This new version introduces new concepts and new components, and make the framework even more decoupled and flexible than before. As an added bonus, the framework is also more lightweight and much faster. This session will give you a feeling of the power of Symfony 2.0 by introducing the main new components of the framework.
REST/JSON/CoreData Example Code - A TourCarl Brown
This is a talk given by Carl Brown at the 2/28/2013 CocoaCoders meeting in Austin (actually Round Rock) TX.
It describes github/carlbrown/SeismicJSON - an MIT-licensed project Carl wrote to illustrate REST JSON CoreData and NSOperations based loosely on the functionality of Apple's old SeismicXML Sample Code.
ERRest - Designing a good REST serviceWO Community
Learn how to design your REST service with the correct HTTP verbs and codes. We also talk on how to manage optimistic locking and caching for your REST services.
PHP unserialization vulnerabilities: What are we missing?Sam Thomas
Video at: https://www.youtube.com/watch?v=PqsudKzs79c
An introduction to PHP unserialization vulnerabilities, with some practical tips on methodology. Based around three new exploits for old vulnerabilities (CVE-2011-4962, CVE-2013-1453, CVE-2013-4338).
Threads, Queues, and More: Async Programming in iOSTechWell
To keep your iOS app running butter-smooth at 60 frames per second, Apple recommends doing as many tasks as possible asynchronously or “off the main thread.” Joe Keeley introduces you to some basic concepts of asynchronous programming in iOS. He discusses what threads and queues are, how they are related, and the special significance of the main queue to iOS. Look at what options are available in the iOS SDK to work asynchronously, including NSOperationQueues and Grand Central Dispatch. Take an in depth look at how to implement some common use cases for those options in Swift. Joe pays special attention to networking, one of the most common asynchronous use cases. Spend some time discussing common asynchronous programming pitfalls—and how to avoid them. Leave this session ready to try out asynchronous programming in your iOS app.
Big Data Day LA 2015 - Mongoose v/s Waterline: Battle of the ORM by Tim Fulme...Data Con LA
Mongo is swiftly becoming the default, general purpose database du jour. In green field Node.JS systems, Mongo is almost the default persistence mechanism. At the same time, going completely schema-less raises it's own issues.
Enter the NoSQL ORM solution. By encoding schema information in easily changeable JavaScript definitions, Node.JS systems can get the benefits of both worlds. High velocity change throughput, with just enough guardrails to keep things on the tracks.
Mongoose has traditionally been the go-to ORM package, providing lightweight schema definitions on top of Mongo. Waterline has recently come out of the Sails.JS project with some interesting innovations. In this presentation we compare and contrast the two packages through a few typical ORM use cases.
ORMs
Object Relational Mapping
Convert data between two different type systems
In memory representation of domain objects (better abstractions of reality)
Why??
Structure / Modularity(The M in MVC, Object Representation / Relational Mapping)
Agnostic Database Integration (configs)
Boilerplate Reduction (Spaghetti, Complex Queries, DRY)
Providing hooks Tx lifecycle (Before/After)
Easier data validation (Maintaining Data integrity)
Sensible Defaults (Better naming, Connascence/Cognizance etc)
RAW SQL strings have a high chance of compiling with semantic errors and @ runtime.
Go's Philosophy..
As it Affects ORMs
Duality (Class / Type)
Non existence of a type hierarchy
Struct embedding (Composition)
Plumbing not encouraged
they don't have to announce their relationships
Video Link: https://skillsmatter.com/skillscasts/6162-orms-with-golang
Slides della sessione su Automatic Reference Counting, tenuta da Giuseppe Arici alla WhyMCA 2012.
http://www.whymca.org/intervento/automatic-reference-counting
Everybody is talking about ES6, but is anyone out there using it in production? Mango recently started adopting ES6 features that make our front-end code easier to write and maintain.
In this talk, I will explain why we decided to use ES6, how we started to use it in production (using npm, browserify and babel) and I'll explain what problems we found along the way and how we solved them.
Links:
https://getmango.com
https://getmango.com/blog/writing-es6-modules-with-6to5/
http://kangax.github.io/compat-table/
https://github.com/zloirock/core-js
https://github.com/mango/emitter
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
http://benmccormick.org/2015/04/07/es6-classes-and-backbone-js/
From the user’s perspective Android and iOS are not too dissimilar. One is cheaper than the other and pretty much everyone makes their apps for both types of phones. However, from the security testing perspective things are very different. Android is open and has lots of standard mechanisms to assist with testing. On the other hand, iOS is closed and requires lots of non standard methods for black box testing. The caveat is, of course, unless you own and control the build of the application but, that not completely black box. If you do then you can use any number of tools: Appium, Apple UI Automation, etc.
This talk will cover reasons for why we constrain ourselves to this type of testing as well as various tools and techniques for instrumenting iOS apps to do UI automation. Specifically, we are constrained to no source code and no way to make a special build. The jailbreak community has developed many of these building blocks that if used in concert can provide for a powerful testing automation framework. This talk will also demonstrate a reference implementation of an extensible tool that brings all the primitives together to automate the testing of iOS application.
Přednáška pokrývá úvod do mírně pokročilých oblastí vývoje pro iOS.
- vícevláknové programování
- práce s XML a JSON na iOS
- datová persistence
- MapKit a Core Location
- Systémové dialogy
- URL schémata
New Media Inspiration 2015 - Invisible technologies and context inside and ar...Petr Dvorak
Context-aware applications will change the way people interact with mobile devices. Technologies such as iBeacon or wearable devices will help mobile to improve user experience by delivering relevant content and actions in the best moment.
As most people are aware, there has been an expansion in mobile banking applications in recent years. The Czech Republic is no exception to this, as nearly all banks have developed a mobile application for their modern mobile operating systems. Although different banks solve their security concepts in different ways, it is possible to discuss typical situations and problems that inevitably appear while designing mobile banking applications.
Lime - Push notifications. The big way.Petr Dvorak
How to properly implement mobile push notifications and how to scale them big? What technologies and infrastructure is needed? Check out these slides from #mDevTalk by Avast, Etnetera and Ackee to find out.
Look past the square braces and the damned header files and Objective-C -- the essential language of iOS development -- really isn't that different from other object-oriented languages. Classes, single-inheritance, polymorphism, implementation hiding... check, check, check, and check. So it's really not that difficult for old Java / Python / Ruby / C++ dogs to learn new tricks once they install Xcode, right?
To be a competent Obj-C programmer, not that hard.
To be a great Obj-C programmer... now that's another story.
In this session, we will look at traits that are unique to Objective-C, the tricks that bring out the expressiveness and power of the language. We'll also look at how to write idiomatic code that will be easily understood and maintained by other Objective-C developers. We'll look at how Automatic Reference Counting resembles but is really nothing like Garbage Collection, how properties put plain old instance variables to shame, how we loosely couple classes with delegates and notification, how blocks help us un-block our code by simplifying asynchronicity, and more.
Slides from my talk "Node.js Patterns for Discerning Developers" given at Pittsburgh TechFest 2013. This talk detailed common design pattern for Node.js, as well as common anti-patterns to avoid.
Czech Banks are Under Attack, Clients Lose Money.Petr Dvorak
On September 24, 2018, the clients of three major Czech banks received a major hit by a mobile malware and have money from their bank accounts stolen. What happened with the QRecorder malware? (updated version)
Innovations on Banking - Digital Banking Security in the Age of Open BankingPetr Dvorak
With PSD2, 3rd party providers are given an access to bank accounts and even have an ability to initiate payments. As a result, banks need to revise their approach to digital channel security and invest in new categories of security solutions. During the talk, we will present an overview of existing security components for digital banking that will help you harden your system security and comply with SCA under PSD2.
mDevCamp 2016 - Zingly, or how to design multi-banking appPetr Dvorak
What problems do you need to deal with when designing an app for multiple banks? How do you solve a security of such apps? And how about a user interface design and application structure? What technologies are under the hood? And what does Zingly bring to you?
Webinář je k dispozici ke shlédnutí zde: https://www.youtube.com/watch?v=M4e34Zs6AKM
Jak by mělo vypadat ideální bankovní API? Zeptali jsme se vývojářů na základě zadání z bank a výsledky dotazníku pro vás zpracovali.
Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikacíPetr Dvorak
O bezpečnosti mobilního bankovnictví se toho již řeklo mnoho. Je ale možné tyto poznatky přenést na multi-banking aplikace (aplikace, které umí spravovat více bank současně)? Na přednášce ukážu, jaké nové a dosud neřešené problémy multi-banking aplikace (a otevřená bankovní API) přináší například v oblasti autentizace či ochrany osobních dat, ale hlavně to, jak takové aplikace udělat bezpečně a současně pohodlně z pohledu koncového uživatele.
Záznam webináře: https://www.youtube.com/watch?v=Fh-cOjgpT3Q
U nás je otevřené bankovní API novinkou. Ale jak je to ve světě? Kde už otevřená bankovní API dávno fungují a jak vypadají? Dozvíte se v dalším bleskovém webináři...
PSD2 a bankovní API: Top 5 mýtů, které dnes slyšítePetr Dvorak
Záznam webináře: https://www.youtube.com/watch?v=RKgbUgIl6kE
PSD2 a otevřená bankovní API začala být žhavým tématem. Jaké jsou nejčastější informační šumy a které nesprávné interpretace toho, co se děje, ještě uslyšíte? Dozvíte se v tomto bleskovém webináři.
Představení Zingly API Serveru a popis integracePetr Dvorak
Záznam webináře: https://www.youtube.com/watch?v=u6c-fYGAMQc
PSD2 a veřejné bankovní API? Banka této legislativě může vyhovět během pár dní s téměř nulovými náklady pomocí open-source Zingly API Serveru. Jak Zingly API Server funguje a jak složité je ho nasadit? Dozvíte se v tomto webináři.
Lime - PowerAuth 2.0 and mobile QRToken introductionPetr Dvorak
PowerAuth 2.0 is an open-source solution for authentication, end-to-end encryption and secure storage for mobile banking. QRToken is a mobile token built on top of the PowerAuth 2.0 cryptography protocol.
Zingly - Dopad multi-bankingu a otevřených bankovních API do obchodního fungo...Petr Dvorak
Videozáznam webináře je dostupný zde: https://www.youtube.com/watch?v=ASQl8fMYAP8
Proč banky nezkrachují poté, co vystaví otevřená bankovní API? Jaký bude mít dopad legislativa PSD2 na fungování současných bankovních kanálů? Jaký je obchodní model a kdo je cílová skupina aplikace Zingly? Proč by si měl uživatel instalovat multi-banking aplikaci?
Co musí banka udělat pro zapojení do Zingly?Petr Dvorak
Záznam webináře je k dispozici zde: https://www.youtube.com/watch?v=3v02Zd_W0PM
Co musí banka udělat pro to, aby se mohla zapojit do multi-bankingu Zingly? Ukážeme, že to není tak složité, a že náklady na nasazení potřebné infrastruktury nepřesahují několik jednotek dní práce.
Bezpečnost Zingly a detaily protokolu PowerAuth 2.0Petr Dvorak
Záznam webináře: https://www.youtube.com/watch?v=dwkjgkJBz6I
Proč je Zingly bezpečnější, než klasické mobilní či internetové bankovnictví? Co je to PowerAuth 2.0 a jak funguje pod pokličkou? Dozvíte se, včetně kryptografických detailů, které jste snad ani vědět nechtěli...
Zingly is a multi-banking app for European banking - think of it as a Venmo for the Europe. An easy to use mobile app makes payments simpler than ever before, regardless of a bank you have.
Zingly uses a super secure open-source PowerAuth 2.0 protocol for authentication and transaction signing, so that user money is extra safe.
Fashiontech 2015 - iBeacon: Co to je a k čemu je to dobré?Petr Dvorak
Technologie iBeacon přináší zcela nové příležitosti tvůrcům aplikací pro chytrá zařízení. Umožňuje totiž, aby tyto aplikace lépe porozumněly situaci, ve které se nachází jejich uživatel, a podle toho jednaly. Aplikace tak mohou zobrazovat kontextově relevantní obsah a aktivně na něj uživatele upozornit jakmile se ocitne v místě, kde to dává největší smysl. Přímočaré využití tak iBeacon nachází například v “proximity marketingu” nebo při sběru cenných dat o pohybu zákazníků v rámci prodejny, či třeba jen v automatizaci a zrychlení činností, které si aplikace může dovodit z okolního kontextu.
Webinář: Co je to iBeacon a proč by vás to mělo zajímat?Petr Dvorak
Ukážu vám, co je to iBeacon a jak jej vaše společnost může využít pro různé účely, ať se jedná o propagaci značky nebo o zjednodušení života vašich klientů.
Dozvíte se například:
- Co je to iBeacon a jak funguje
- Jak je iBeacon podporován na straně mobilních zařízení
- Jaké existují alternativy k iBeacon
- Případové studie použití iBeacon ze zahraničí
- Jak můžete s iBeacon bez nutnosti vysokých nákladů začít vy
Podíl chytrých mobilních telefonů v ČR v první polovině roku 2015 byl necelých 45%, rozdělení platforem pro jednotlivé operátory vyznívá jasně - Android vede s drtivými 81,6% následovaný iOS s 11,2% a Windows Phone s 5,5%.
Virtual beacons are a budget friendly alternative to physical beacons, such as iBeacon or Eddystone beacons. They work using the location services on mobile or wearable devices - virtual beacon is tied to a GPS coordinate with given range, which is less accurate than with physical beacons (approx. 200m).
mDevCamp 2015 - iBeacon aneb jak ochytřit vaše aplikace o kontext uživatelePetr Dvorak
Technologie iBeacon přináší zcela nové příležitosti tvůrcům aplikací pro iOS. Umožňuje totiž to, aby mobilní aplikace lépe rozumněly kontextu, ve kterém se nachází jejich uživatel. Aplikace tak mohou zobrazovat více relevantní obsah nebo urychlit akce, které v dané situaci dávají největší smysl. Na přednášce si ukážeme, jak se s technologií iBeacon programuje na platformě iOS, podíváme se na vychytávky v Estimote SDK pro iOS, a představíme si platformu Lime pro rychlou tvorbu context-aware aplikací.
iCON DEV - iBeacon, aneb jak ochytřit vaše aplikace o kontext uživatelePetr Dvorak
Technologie iBeacon přináší zcela nové příležitosti tvůrcům aplikací pro iOS. Umožňuje totiž to, aby mobilní aplikace lépe rozumněly kontextu, ve kterém se nachází jejich uživatel.
Aplikace tak mohou zobrazovat kontextově relevantní obsah nebo urychlit akce, které v dané situaci dávají největší smysl. Na přednášce si ukážeme, jak se s technologií iBeacon programuje na platformě iOS, podíváme se na vychytávky v Estimote SDK pro iOS, a představíme si platformu Lime pro rychlou tvorbu context-aware aplikací.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
10. MKMapView
• UIView subclass
• Based on adding “annotations”
• = model classes
• Support for user’s location
• Customizable maps & annotations
• Delegate-based API
11. MKAnnotation
• Protocol that enables model class for
showing up on maps
• coordinate, title, subtitle
• MKPlacemark
• conforms to MKAnnotation
• country, state, city, address
12. MKAnnotationView
• View related to a particular
MKAnnotation instance
• Reused in the map view
• MKPinAnnotationView
• The classic “iOS map pin”
• Three colors
13. Core Location
• Access to GPS module
• Configurable precision (vs. time)
• Significant Location Changes
• May run on background
14. CLLocationManager
• Provides callbacks for location and
heading
• Delegate based
• Check for availability and state of the
location services before using
15. CLGeocoder
• Allows geocoding and reverse
geocoding
• Does not use Google API
• ... doesn’t work perfectly outside the USA
• Block based
18. System dialogs
• Allow performing usual tasks in
a consistent manner
• Complete process handling
• Delegate based
19. Address Book
• Creating and searching contacts
• Allows manual access via C API
• ABAddressBookCreate
• ABAddressBookCopyArrayOfAllPeople
• ABAddressBookSave
• Contains predefined dialogs
22. ABNewPersonViewController
• System dialog for creating a contact
• May be pre-initialized
ABPersonViewController
• System dialog for displaying a contact
• Optional editing
23. UIImagePickerController
• System dialog for picking a photo
• Uses “sourceType” flag to determine
source
• camera, library, saved photos
• Check for camera before touching it
• Delegate based
25. MFMessageComposeViewController
• System dialog for composing an
SMS message
• No MMS / attachments
• May be pre-filled with message body
and recipients (string array)
• + (BOOL) canSendText;
27. Twitter API
• Native Twitter support
since iOS 5
• Uses Twitter app for
authentication
• Twitter uses OAuth 1.0a
under the hood =>
secure, hard to
implement
28. TWTweetComposeViewController
• System dialog for composing an
Tweet
• Text, Images, URLs
• add methods return NO if length exceeds 140 chars
• Block based
• TWTweetComposeViewControllerCompletionHandler
• + (BOOL) canSendTweet;
29. Facebook iOS SDK
• Facebook publishes official iOS SDK
• https://github.com/facebook/facebook-ios-sdk
• Requires Facebook application (web)
• Uses official Facebook app for
authentication
• Alternatively: web authentication, embedded FB authentication dialog
• Uses URL scheme handling
34. GCD
• Working with NSThread is difficult
• GCD makes an abstraction above
threads
• C API, functions/macros starting with
“dispatch_” prefix
35. Dispatch Queue
• Queue of blocks to be performed
• FIFO, synchronized
• Reference-counted
• dispatch_queue_create ➞ dispatch_release
• One queue per use-case
38. NSOperation
• Abstraction above “operation”
• Meant to be subclassed
• main - code to be executed
• start - start the operation
• cancel - set the cancel flag
• Operation priority
• Dependencies
• [op1 addDependency:op2];
41. NSOperationQueue
• NSOperations are not meant to be
run directly
• NSOperationQueue runs the
operations correctly
• Configurable number of concurrent
operations