Building a Single Page Application using Ember.js ... for fun and profitBen Limmer
Denver Startup Week 2015 Talk. The talk is split into two sections: conceptual reasons you might choose a framework like EmberJS where convention over configuration is preferred, and a live coding demo where we build a simple EmberJS application for our up-and-coming business, Bluth's Banana Stand.
Your visitors interact with content, not with your website. Content consistency is crucial to a successful user experience. Re-publishing is one option but it’s an inside-out action that relies on the authority controlling where the information goes. An API frees your data and the responsibility to where it is published and accessed. Mobile is a major consumer for your API but not every API is setup to handle the mass of requests coming from those devices. Learn how to mobile devices consume API’s with limited or low bandwidth and how to to tailor your API to be as efficient and effective as possible.
http://environmentsforhumans.com/2012/doteduguru-summit/
The next web will be about flow, this flow will be user generated pipelines through applications and services. Unlike before these Pipelines will be definable, non-proprietary and shareable by anyone
Building a Single Page Application using Ember.js ... for fun and profitBen Limmer
Denver Startup Week 2015 Talk. The talk is split into two sections: conceptual reasons you might choose a framework like EmberJS where convention over configuration is preferred, and a live coding demo where we build a simple EmberJS application for our up-and-coming business, Bluth's Banana Stand.
Your visitors interact with content, not with your website. Content consistency is crucial to a successful user experience. Re-publishing is one option but it’s an inside-out action that relies on the authority controlling where the information goes. An API frees your data and the responsibility to where it is published and accessed. Mobile is a major consumer for your API but not every API is setup to handle the mass of requests coming from those devices. Learn how to mobile devices consume API’s with limited or low bandwidth and how to to tailor your API to be as efficient and effective as possible.
http://environmentsforhumans.com/2012/doteduguru-summit/
The next web will be about flow, this flow will be user generated pipelines through applications and services. Unlike before these Pipelines will be definable, non-proprietary and shareable by anyone
Talk delivered in New York, Sep 19, 2016 during an O'Reilly meetup before Velocity Conference about Web Performance and Images, including HTTP Client Hints and new Image Formats
With third party clients connecting to your service you may find that the assumptions or opinions of a typical rails application are not robust enough. We'll run through some key considerations when building an API that will be consumed by a mobile app.
UPDATE: This slide deck is superseded by http://www.slideshare.net/samsalisbury/mesos-at-opentable-talk-20151111
From talk I did at the London Mesos user group, October 23rd 014.
Migrating existing monolith to serverless in 8 stepsYan Cui
Refactoring a monolith to serverless can be intimidating, but there are discrete steps that you can take to simplify the process. In this talk, AWS Serverless Hero Yan Cui outlines 8 steps to successfully refactor your monolith and highlight key decision points such as language and tooling choices.
Teaming up WordPress API with Backbone.js in TitaniumJeroen van Dijk
WordPress is an absolutely powerful platform to publish content, but up till now it lacked the ability to publish and read content using a proper restful API. That is about to change. The new WP-API plugin is slated to be part of the WordPress core creating an easy access layer from a decoupled frontend.
And a mobile app is of course such a decoupled frontend!
This talk will show you how to leverage the power of the WordPress API to build an app in Appcelerator Titanium which uses Backbone.js as it's way of syncing. We'll go through the WP API basics, custom post types, proper API logic and offline strategies for your first app. Connecting the dots into Backbone.js is then a piece of cake!
HTML5 or Android for Mobile Development?Reto Meier
Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly popular. We will present both perspectives and offer some suggestions for making the most of each platform.
Explore internals of Angular.js. Understand the design principles of Angular and how those same ideas can be extended to write testable and maintainable Angular code.
Looking in from the outside, serverless seems so simple! And yet, many companies are struggling on their journey to serverless. In this webinar, AWS Serverless Hero Yan Cui highlights a number of common mistakes companies are making when they adopt serverless so you can avoid them.
Talk delivered in New York, Sep 19, 2016 during an O'Reilly meetup before Velocity Conference about Web Performance and Images, including HTTP Client Hints and new Image Formats
With third party clients connecting to your service you may find that the assumptions or opinions of a typical rails application are not robust enough. We'll run through some key considerations when building an API that will be consumed by a mobile app.
UPDATE: This slide deck is superseded by http://www.slideshare.net/samsalisbury/mesos-at-opentable-talk-20151111
From talk I did at the London Mesos user group, October 23rd 014.
Migrating existing monolith to serverless in 8 stepsYan Cui
Refactoring a monolith to serverless can be intimidating, but there are discrete steps that you can take to simplify the process. In this talk, AWS Serverless Hero Yan Cui outlines 8 steps to successfully refactor your monolith and highlight key decision points such as language and tooling choices.
Teaming up WordPress API with Backbone.js in TitaniumJeroen van Dijk
WordPress is an absolutely powerful platform to publish content, but up till now it lacked the ability to publish and read content using a proper restful API. That is about to change. The new WP-API plugin is slated to be part of the WordPress core creating an easy access layer from a decoupled frontend.
And a mobile app is of course such a decoupled frontend!
This talk will show you how to leverage the power of the WordPress API to build an app in Appcelerator Titanium which uses Backbone.js as it's way of syncing. We'll go through the WP API basics, custom post types, proper API logic and offline strategies for your first app. Connecting the dots into Backbone.js is then a piece of cake!
HTML5 or Android for Mobile Development?Reto Meier
Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly popular. We will present both perspectives and offer some suggestions for making the most of each platform.
Explore internals of Angular.js. Understand the design principles of Angular and how those same ideas can be extended to write testable and maintainable Angular code.
Looking in from the outside, serverless seems so simple! And yet, many companies are struggling on their journey to serverless. In this webinar, AWS Serverless Hero Yan Cui highlights a number of common mistakes companies are making when they adopt serverless so you can avoid them.
IoT: from zero to hero for web developers - GDG DevFest Nantes 2016Jan Jongboom
Presentation I gave at GDG DevFest in Nantes about physical web, Web Bluetooth, mbed, embedded development and running the JerryScript VM on mbed devices.
Run your JavaScript app for years on a coin cell - JSConf.asia 2016Jan Jongboom
Jan Jongboom - Run your JS app for years on a coin cell. Presentation given during JSConf.asia 2016 in Singapore about mbed, JerryScript, IoT, Johnny Five and JavaScript.
Progressive Web Apps - Overview & Getting StartedGaurav Behere
A brief intro to progressive web apps & conventional ways of performance optimization on web.
The presentation was given as part of a tech talk, thus the readers are suggested to read through the reference links as well.
Session slides from Future Insights Live, Vegas 2015:
https://futureinsightslive.com/las-vegas-2015/
Modular front-end applications that can grow and evolve over time. Many front-end JS toolkits are optimized for building the first version of the app quickly. But for an app that powers a business, you have to think past initial launch. Your app will likely outlive the attention span of those who first wrote it. So, how do we pick tools and architectures that can be modified, maintained, and upgraded over time by a team of people?
A progressive web app (PWA) delivers an app-like experience through your mobile phone’s browser but has the same flexibility and gestures as a native application. Because they are powered by mobile browsers, they are not particular to any one device, meaning developers no longer need to write separate code for Android and Apple devices.
Slides from a talk our iOS Product Manager, Nadav Wizman, gave at Advanced iOS Engineering event at The Junction (@thejunction32).
Read the blog post: http://blog.onavo.com/?p=443
VelocityConf EU 2013 - Turbocharge your mobile web apps by using offline Jan Jongboom
Presentation I gave on November 14, 2013 during VelocityConf EU 2013. Offline is awesome. Overview of packaged apps, appcache, service workers, caching AJAX requests, two-way data syncing, etc.
The Ember.js Framework - Everything You Need To KnowAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Yehuda Katz
Founder of Tilde
Front Dev 1
The Ember.js Framework - Everything You Need To Know
Progressive Web Applications - The Next Gen Web TechnologiesGeekNightHyderabad
In a world where majority of the population is not actively connected to the Internet, how usable are the regular web applications? What are the technologies which would help us develop apps to include all these users? To answer this need and also to bring about a great user experience, we have Progressive Web Applications (PWAs) emerging.
The talk would cover what gaps in the traditional web apps and native apps led to the emergence of PWAs. What are PWAs and the underlying technologies for making a web app progressive. It also covers what are the challenges involved in developing PWAs.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceJan Jongboom
LoRaWAN devices are typically simple, they grab some sensor data and deliver it back to the network. By adding some embedded machine learning we can make them a lot more intelligent!
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Jan Jongboom
We collect more sensor data than ever, but throw most of it away due to cost, bandwidth or power constraints. In this presentation we'll look at embedded machine learning, pushing intelligence directly to the sensor edge. Given during the CENSIS Tech Summit 2019 in Glasgow, Scotland.
Adding intelligence to your LoRaWAN devices - The Things Conference on tourJan Jongboom
Want to get started? Check the tutorial here: https://www.edgeimpulse.com/blog/adding-machine-learning-to-your-lorawan-device/
Talk about machine learning for IoT devices (TinyML), and everything that it entails. From signal processing to neural networks to classic ML algorithms. Presented in Reading, UK and Hyderabad, India during The Things Conference on Tour.
Machine learning on 1 square centimeter - Emerce Next 2019Jan Jongboom
Machine Learning is widely applied, but the models operate on digital data and run in big data centers. But there's more to the world. This is my presentation from Emerce Next 2019 about pushing ML to the smallest of devices.
Fundamentals of IoT - Data Science Africa 2019Jan Jongboom
As data scientists your job is to create order in the data chaos. But where does this data come from? Real-world data does not magically appear cleanly in your Matlab scripts. This is a talk about the fundamentals of IoT, and how to retrieve data from the real world using sensors and devices. Given during Data Science Africa 2019 in Addis Ababa.
Recording: https://www.youtube.com/watch?v=DxTetwYsXvo&index=1&list=PLiVCejcvpsevQ_I9oDIK6eIgau45fWje2
The Mbed Simulator allows you to cross-compile Mbed OS 5 applications and run them on your computer.
LoRaWAN is great, but it requires so much hardware. As I live on a plane I want something better. Presentation about simulating LoRaWAN devices. Here's a video of the simulator: https://www.youtube.com/watch?v=C1S8knMlX7w
Firmware Updates over LoRaWAN - The Things Conference 2019Jan Jongboom
IoT deployments last for ten years, but that's a long time. Requirements change, vulnerabilities are found, and standards evolve. You'll need a firmware update solution.
Talk during The Things Conference 2019.
Faster Device Development - GSMA @ CES 2019Jan Jongboom
Presentation about interesting open source developments that can be used in conjunction with LTE Cat-M1 and NB-IoT. Presentation from the GSMA IoT workshop at CES 2019.
# Internet Security: Safeguarding Your Digital World
In the contemporary digital age, the internet is a cornerstone of our daily lives. It connects us to vast amounts of information, provides platforms for communication, enables commerce, and offers endless entertainment. However, with these conveniences come significant security challenges. Internet security is essential to protect our digital identities, sensitive data, and overall online experience. This comprehensive guide explores the multifaceted world of internet security, providing insights into its importance, common threats, and effective strategies to safeguard your digital world.
## Understanding Internet Security
Internet security encompasses the measures and protocols used to protect information, devices, and networks from unauthorized access, attacks, and damage. It involves a wide range of practices designed to safeguard data confidentiality, integrity, and availability. Effective internet security is crucial for individuals, businesses, and governments alike, as cyber threats continue to evolve in complexity and scale.
### Key Components of Internet Security
1. **Confidentiality**: Ensuring that information is accessible only to those authorized to access it.
2. **Integrity**: Protecting information from being altered or tampered with by unauthorized parties.
3. **Availability**: Ensuring that authorized users have reliable access to information and resources when needed.
## Common Internet Security Threats
Cyber threats are numerous and constantly evolving. Understanding these threats is the first step in protecting against them. Some of the most common internet security threats include:
### Malware
Malware, or malicious software, is designed to harm, exploit, or otherwise compromise a device, network, or service. Common types of malware include:
- **Viruses**: Programs that attach themselves to legitimate software and replicate, spreading to other programs and files.
- **Worms**: Standalone malware that replicates itself to spread to other computers.
- **Trojan Horses**: Malicious software disguised as legitimate software.
- **Ransomware**: Malware that encrypts a user's files and demands a ransom for the decryption key.
- **Spyware**: Software that secretly monitors and collects user information.
### Phishing
Phishing is a social engineering attack that aims to steal sensitive information such as usernames, passwords, and credit card details. Attackers often masquerade as trusted entities in email or other communication channels, tricking victims into providing their information.
### Man-in-the-Middle (MitM) Attacks
MitM attacks occur when an attacker intercepts and potentially alters communication between two parties without their knowledge. This can lead to the unauthorized acquisition of sensitive information.
### Denial-of-Service (DoS) and Distributed Denial-of-Service (DDoS) Attacks
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
11. Currency converter BYR -> EUR. Price of a beer.
- It’s a website. Resources are on a server.
- Data comes from Yahoo
12. Currency converter BYR -> EUR. Price of a beer.
- It’s a website. Resources are on a server.
- Data comes from Yahoo
13. Currency converter BYR -> EUR. Price of a beer.
- It’s a website. Resources are on a server.
- Data comes from Yahoo
14. When no internet connection -> breaks. Oh noes. We want to fix it.
15. The shell
App content
Let me introduce some basic concepts here. An application consists of two parts:
1. The shell
2. App Content
16. The shell
• All assets
• Distribution through:
• App store
• Publish on web server
• Changes are costly
The shell are all assets that make up your application. Code files, the user interface, images. It's the
part that you would distribute through an app store, or the application that you put up on a web
server. The shell hardly changes, and if you want to make a change it's a costly one. You would need to
re-release your product.
17. The shell
• All assets
• Distribution through:
• App store
• Publish on web server
• Changes are costly
The shell are all assets that make up your application. Code files, the user interface, images. It's the
part that you would distribute through an app store, or the application that you put up on a web
server. The shell hardly changes, and if you want to make a change it's a costly one. You would need to
re-release your product.
18. App content
• Everything your app serves
up
• Pushed down from server
• Highly volatile
• Changes are cheap
The app content is everything your app serves up. News items; the facebook feed. Most of the times
it's pushed down to the client via HTTP requests, it's generally short lived and very cheap to update.
Ergo: We need to distinguish between these two types is because they require different caching
strategies and techniques, but you can't make an application available without either of these two.
19. App content
• Everything your app serves
up
• Pushed down from server
• Highly volatile
• Changes are cheap
The app content is everything your app serves up. News items; the facebook feed. Most of the times
it's pushed down to the client via HTTP requests, it's generally short lived and very cheap to update.
Ergo: We need to distinguish between these two types is because they require different caching
strategies and techniques, but you can't make an application available without either of these two.
20. Part I: The shell
So we have a website, it has HTML/CSS/JS and now we want to cache it. There is a technique called
appcache. Already in all major browsers, even IE. So you can use it today.
21. List all !les, put them in cache
Basically, list all files & put them in the cache.
23. AppCache
First request
Grabbing jan.com/index.html
Please cache all these !les manifest.appcache
On first request it looks like this. Browser fetches your HTML page. If it has appcache, it fetches that
file and loads all resources. No initial performance penalty.
24. AppCache
2nd request
I need foo/blah
Browser Cache
Second request, if the requested file is already in appcache? OK! No waiting time anymore. If not, go to
server.
25. AppCache
2nd request
I need foo/blah
Browser Cache
Second request, if the requested file is already in appcache? OK! No waiting time anymore. If not, go to
server.
26. AppCache
2nd request
I need foo/blah
200 OK! Browser Cache
Second request, if the requested file is already in appcache? OK! No waiting time anymore. If not, go to
server.
32. currency.appcache
JavaScript !le
Browser will ALWAYS show cached version. Updates go by updating the version number in the
manifest. Downloads in background.
Javascript APIs available, downloading/progress/noupdate.
33. Inspecting AppCache (FF)
Tools > Developer > Developer Toolbar
appcache list localhost
Dealing with appcache info, to debug
37. Shit you will do wrong
• Setting wrong MIME type
• Have one !le 404
• Not realizing user will always see
old version !rst
• Expiration headers on appcache
• Develop with appcache enabled
(tip: set wrong MIME type in dev)
Some stuff you will do wrong
38. Performance
Also useful for performance. Because no need to hit the server. This is data from a web application I
built. Pretty simple.
39. 1500 ms
Empty cache
On my home internet connection (60 Mbit, 105 ms. ping to the server) this page renders (including
executing all javascript):
And that's on a very simple page that is already highly optimized. As we all know, **speed** is the
most important aspect of a web page. Having tools to increase the speed of already highly optimized
pages by 250% is insane.
40. 820 ms
Subsequent reload
On my home internet connection (60 Mbit, 105 ms. ping to the server) this page renders (including
executing all javascript):
And that's on a very simple page that is already highly optimized. As we all know, **speed** is the
most important aspect of a web page. Having tools to increase the speed of already highly optimized
pages by 250% is insane.
41. 320 ms
Reload with appcache
On my home internet connection (60 Mbit, 105 ms. ping to the server) this page renders (including
executing all javascript):
And that's on a very simple page that is already highly optimized. As we all know, **speed** is the
most important aspect of a web page. Having tools to increase the speed of already highly optimized
pages by 250% is insane.
55. Path caching
You can use similar things to make your application perceivably faster for users via path caching.
Guess which way they go.
56. Example, BBC is list-detail example. On the left list of news stories. User can click through. We don’t
want to wait when we click.
57. Example, BBC is list-detail example. On the left list of news stories. User can click through. We don’t
want to wait when we click.
58. When laoding the front page. Make separate calls to get the data, let it expire. Dont do calls twice.
Cache images via normal Image JS thing.
59. When laoding the front page. Make separate calls to get the data, let it expire. Dont do calls twice.
Cache images via normal Image JS thing.
60. When laoding the front page. Make separate calls to get the data, let it expire. Dont do calls twice.
Cache images via normal Image JS thing.
61. When laoding the front page. Make separate calls to get the data, let it expire. Dont do calls twice.
Cache images via normal Image JS thing.
62. When laoding the front page. Make separate calls to get the data, let it expire. Dont do calls twice.
Cache images via normal Image JS thing.
63. Then when getting the story when user clicks: get data from local storage. If no internet, always get it.
Tah dah. Works offline!
64. Then when getting the story when user clicks: get data from local storage. If no internet, always get it.
Tah dah. Works offline!
65. Then when getting the story when user clicks: get data from local storage. If no internet, always get it.
Tah dah. Works offline!
66. Part III: The future
Let’s take a peek into the future
67. AppCache
AppCache sounds pretty amazing right? Well, not everyone agrees... Jake Archibald, anyone heard of
this guy?
(Lists some key problems with AppCache)
68. Give developers !ne-grained
control about caching,
without breaking the web
So a new proposal popped up written by Google (and backed up by Mozilla since then). Originally
known under `NavigationControllers`, and currently under `ServiceWorkers`. Main goal:
74. Example: registering
Runs in separate thread just like normal worker. Easy feature detection, no support? no registration,
nothing happens. This also means that you can *just* build for ServiceWorkers.
This is for the whole domain
75. Example: registering
Runs in separate thread just like normal worker. Easy feature detection, no support? no registration,
nothing happens. This also means that you can *just* build for ServiceWorkers.
This is for the whole domain
76. Example: registering
Runs in separate thread just like normal worker. Easy feature detection, no support? no registration,
nothing happens. This also means that you can *just* build for ServiceWorkers.
This is for the whole domain
77. Example: use cache
It’s like an HTTP proxy all written in client side javascript. It also doesn’t break HTTP, because your
code will still do normal AJAX requests etc. If there are no service workers enabled, this code won’t run
and we’ll consult the server.
78. Example: use cache
It’s like an HTTP proxy all written in client side javascript. It also doesn’t break HTTP, because your
code will still do normal AJAX requests etc. If there are no service workers enabled, this code won’t run
and we’ll consult the server.
79. Example: use cache
It’s like an HTTP proxy all written in client side javascript. It also doesn’t break HTTP, because your
code will still do normal AJAX requests etc. If there are no service workers enabled, this code won’t run
and we’ll consult the server.
80. Spec & playing around
https://github.com/slightlyoff/ServiceWorker
It's testable, there is a polyfill available, but it's really for experimenting only.
81. OMGAWESOME
Want to see Firefox OS?
OMG AWESOME SHIT. Now you know how to make offline web apps. I know that there will be a bunch
of ppl that want to know more about FFOS. Meet me afterwards. I also have devices with me.
Now ONE MORE THING... This is too good not to show. A commercial from Movistar about Firefox OS
to get you excited about that.