background preloader

Face detection using HTML5, javascript, webrtc, websockets, Jetty and OpenCV

Face detection using HTML5, javascript, webrtc, websockets, Jetty and OpenCV
Through HTML5 and the corresponding standards, modern browsers get more standarized features with every release. Most people have heard of websockets that allows you to easily setup a two way communication channel with a server, but one of the specifications that hasn't been getting much coverage is the webrtc specificiation. With the webrtc specification it will become easier to create pure HTML/Javascript real-time video/audio related applications where you can access a user's microphone or webcam and share this data with other peers on the internet. For instance you can create video conferencing software that doesn't require a plugin, create a baby monitor using your mobile phone or more easily facilitate webcasts. Update: in the newest versions of the webrtc spec we can also access the microphone! As with a lot of HTML5 related specification, the webrtc one isn't quite finished yet, and support amongst browsers is minimal. For this we need to take the following steps:

Capturing Audio & Video in HTML5 Many browsers now have the ability to access video and audio input from the user. However, depending on the browser it might be a full dynamic and inline experience, or it could be delegated to another app on the user's device. On top of that, not every device even has a camera. So how can you create an experience that uses a user generated image that works well everywhere? Start simple and progressively If you want to progressively enhance your experience, you need to start with something that works everywhere. Ask for a URL This is the best supported but least satisfying option. Though, if you want to manipulate the image in any way, things are a bit more complicated. File input You can also use a simple file input element, including an accept filter that indicates you only want image files. This method works on all platforms. <input type="file" accept="image/*" id="file-input"><script> const fileInput = document.getElementById('file-input'); Drag and drop Paste from clipboard if (file ! Tips

Q&A: Why io.js decided to fork Node.js Node.js devotees who are dissatisfied with Joyent's control over the project are now backing their own fork of the server-side JavaScript variant, called io.js or iojs. To get the lowdown on what and who was behind this move, InfoWorld Editor at Large Paul Krill on Wednesday asked Mikeal Rogers, who has been involved with the fork and is director of evangelism at cloud hosting service vendor DigitalOcean, about the effort. InfoWorld: Are you the person in charge of the fork? Rogers: Not even close. Indutny (listed as a Node.js code team member)Trevor Norris (also a Node.js core team member)Isaac Schlueter (cited as a Node.js core team alumni)Ben Noordhuis (also an alumni)Bert Belder (another alumni and a Node.js maintainer) Rod Vagg (Node.js supporter) also participates in the calls as he is creating and managing the build system. InfoWorld: Why did this fork happen? InfoWorld: What goals do you have for io.js? Rogers: Well, the first and most obvious goal is to get a release out.

Camera and Video Control with HTML5 Client-side APIs on mobile and desktop devices are quickly providing the same APIs. Of course our mobile devices got access to some of these APIs first, but those APIs are slowly making their way to the desktop. One of those APIs is the getUserMedia API, providing developers access to the user's camera. The HTML Please read my note about the HTML structure below: <video id="video" width="640" height="480" autoplay></video><button id="snap">Snap Photo</button><canvas id="canvas" width="640" height="480"></canvas> Each of these elements should be created once confirmation of camera support is confirmed, but for the sake of this tutorial, I wanted to show you what the elements look like with basic HTML. The JavaScript Since the HTML elements above are already created, the JavaScript portion will look smaller than you think: Once it's been established that the browser supports getUserMedia, a simple method sets the video element's src to the user's live camera/webcam.

Tutoriels vidéos - Symfony2 Episode 41 - Utiliser l'extension loggable avec Symfony2 Dans ce tutoriel vous allez découvrir comment utiliser la fonctionnalité "loggable". Celle-ci... Derniers tutoriels vidéos Episode 40 - Créer de nouveaux Environnements sur un projet Symfony2 Dans Symfony2, par défaut celui-ci possède 3 environnements,... 14min 39sec La minute Symfony Episode 4 - Installer Symfony2 facilement et rapidement Dans cette vidéo, il vous sera présenté la nouvelle... 8min 03sec Episode 39 - Utiliser l'extension softdeleteable avec Symfony2 Dans ce tutoriel vous allez découvrir comment utiliser... 25min 2sec Episode 38 - Utiliser l'extension Sluggable avec Symfony2 Dans ce tutoriel vous allez découvrir comment utilisé... 15min 06sec La Minute Symfony Episode 3 - Utiliser les "Macros" avec Twig Réutiliser simplement et rapidement du code HTML... 6min 51sec Episode 37 - Installer les extensions doctrine Symfony2 Episode 37, Indispensable, les extensions doctrine... 25min 12sec 5min 23sec 6min 38sec 39min 59sec 29min 29sec

HTML5: camera access toddmotto/angularjs-styleguide Capturing Audio & Video in HTML5 Introduction Audio/Video capture has been the "Holy Grail" of web development for a long time. For many years we've had to rely on browser plugins (Flash or Silverlight) to get the job done. Come on! HTML5 to the rescue. It might not be apparent, but the rise of HTML5 has brought a surge of access to device hardware. This tutorial introduces a new API, navigator.getUserMedia(), which allows web apps to access a user's camera and microphone. The road to getUserMedia() If you're not aware of its history, the way we arrived at the getUserMedia() API is an interesting tale. Several variants of "Media Capture APIs" have evolved over the past few years. I'll try to summarize what happened in 2011... Round 1: HTML Media Capture HTML Media Capture was the DAP's first go at standardizing media capture on the web. If you wanted to let users take a snapshot of themselves with the webcam, that's possible with capture=camera: Recording a video or audio is similar: Kinda nice right? Support: Take a breath.

L'API Promise d'AngularJS Les services standards d'AngularJS $timeout et surtout $http renvoient tous deux des promises, qui sont très pratiques pour gérer des opérations asynchrones. Cette notion de promise existe dans d'autres frameworks, comme jQuery, et AngularJS intègre une implémentation de cette API. Elle peut être utilisée par les développeurs dans l'écriture des leurs propres services pour simplifier la gestion des actions asynchrones. Décrire en français le fonctionnement de l'API de promises ne va pas être simple, car il est difficile de traduire de façon élégante les notions qu'elle recouvre sans s'éloigner des termes anglais utilisés comme noms de méthodes. Qu'est-ce qu'une promise ? Une promise (une “promesse” en anglais) est un objet JavaScript correspondant au résultat différé d'une opération asynchrone. Imaginons une fonction qui doit déclencher une opération prenant un certain temps, et qui pourra soit réussir et fournir un résultat, soit échouer et balancer une exception. $q.reject(reason);

Building a RESTful web service with AngularJS (and PHP) – More power with $resource This is a two parts post about how to make RESTful requests through an AngularJS web application. The index of this brief series of posts is quite simple. Backend setup is the first post in the series. $http or $resource? In all the posts about AngularJS that I wrote until now, every time that it was necessary to make an asynchronous request to the server I used the $http service. $resource is a separate, optional module of AngularJS, built over $http. Start using $resource As I said previously $resource is a separate module of AngularJS; it is defined in the angular-resource.js file, often downloaded with angular.js. To use $resource there are three easy things to do: Include the source file, immediately after the source of angular.js, and ideally just before the end of the body. Include ngResource in the declaration of your web application module. var myApp = angular.module('myApp', ['ngResource']); Inject $resource everywhere it will be used. More on:

FrAngular : AngularJS en français The 80/20 Guide to Writing AngularJS Directives | The Code Barbarian AngularJS is blowing up right now, and with good reason. There’s nothing more satisfying than using AngularJS to turn 1,000 messy lines of Backbone.js and jQuery spaghetti code into a trivial 10 lines. To put it in a broader context, you can think of AngularJS’ place in the world this way: AngularJS is to jQuery as C++11 is to x86 Assembly. However, your quest to capture all the wonderful benefits of AngularJS may be hindered because the documentation is a bit difficult to wrap your mind around. In particular, many readers have told me that the documentation for directives is pretty intimidating, and a lot of experienced users still don’t quite grok how to use them properly. First of all, let’s take a moment to recognize that you’re almost certainly not the only one confused. For most of you, the reason that you’re writing directives is probably pretty straightforward, such as to integrate with existing Bootstrap modules and jQuery extensions, or to DRY up your UI. 1. 2. 1. 2. 3. 4.

How Police Listen to You Part 2: E911 Phone Tracking and How to Troll It | 21st Century Locksmith How Police Listen to You Part 2: E911 Phone Tracking and How to Troll It Thibault Serlet What Are E911 Pings? Modern Enhanced 911 emergency systems (E911) systems automatically track the locations of people who call 911. Many telephone companies maintain Automatic Location Information (ALI) databases which log the location of any cell phone which uses a specific tower to access AGPS coordinates. Whenever a modern cell phone, queries satellites for GPS locations, the ALI database quietly takes note. AGPS- E911’s Soft Underbelly [Note: This method for spoofing E911 pings is purely hypothetical and is a felony. AGPS vulnerabilities can probably be exploited so that any police attempting to track cell phones can be fed imaginary locations. All cell phones built after 1999 are mandated by the FCC to have AGPS capabilities so that they can be tracked by 911 operators. In traditional GPS triangulation, a GPS receiver picks up the frequency of 3 different satellites. Instead, cell phones use AGPS.

Chrome SOP Bypass with SVG (CVE-2014-3160) This is a short writeup about my SOP (Same-Origin Policy) bypass with SVG images I've found in Chrome, so that other security researchers can benefit from it. I reported the Chrome vulnerability to Google's security team in 2014 and they did a very good job at fixing it in Chrome's M36 release. At around Q4 2014 the bug ticket (#380885) was opened to public, so that I'm allowed to publish this writeup (as soon as I find time to write)... Basically all kinds of SOP bypasses are rather critical, since they completely lift one of the important protection mechanisms in browsers (the SOP) against malicious websites doing nasty stuff while we're surfing. I played a little with SVG images, HTML5 Canvas, and the SOP in Chrome trying to find ways to bypass the protection of the SOP and exfiltrate content cross-origin: Generally it is allowed to load images from other origins, as they are (by design) not governed by the SOP. Loading foreign content into Canvas via SVG

Components Available glyphs Includes over 250 glyphs in font format from the Glyphicon Halflings set. Glyphicons Halflings are normally not available for free, but their creator has made them available for Bootstrap free of cost. As a thank you, we only ask that you include a link back to Glyphicons whenever possible. How to use For performance reasons, all icons require a base class and individual icon class. Don't mix with other components Icon classes cannot be directly combined with other components. Only for use on empty elements Icon classes should only be used on elements that contain no text content and have no child elements. Changing the icon font location Bootstrap assumes icon font files will be located in the .. Change the @icon-font-path and/or @icon-font-name variables in the source Less files. Use whatever option best suits your specific development setup. Accessible icons Modern versions of assistive technologies will announce CSS generated content, as well as specific Unicode characters.