background preloader

The Lessons

The Lessons

WebGL Lesson 1 – A triangle and a square << Lesson 0Lesson 2 >> Welcome to my first WebGL tutorial! This first lesson is based on number 2 in the NeHe OpenGL tutorials, which are a popular way of learning 3D graphics for game development. Here’s what the lesson looks like when run on a browser that supports WebGL: Click here and you’ll see the live WebGL version, if you’ve got a browser that supports it; here’s how to get one if you don’t. More on how it all works below… A quick warning: These lessons are targeted at people with a reasonable amount of programming knowledge, but no real experience in 3D graphics; the aim is to get you up and running, with a good understanding of what’s going on in the code, so that you can start producing your own 3D Web pages as quickly as possible. There are two ways you can get the code for this example; just “View Source” while you’re looking at the live version, or if you use GitHub, you can clone it (and future lessons) from the repository there. You’ll see the following HTML code: Next: . .

JavaScript Tutorial HTML5 Website Showcase: 48 Potential Flash-Killing Demos So you’ve heard all rumors about HTML5 would take over Adobe Flash. While most web community argues that it’s possible or not, you must be wandering what makes HTML5 so powerful that even giant company Apple wants to use it to replace Flash. That’s why this post exists, we’re not going to talk about what HTML5 can do, but show live demos of magical things that HTML5 can achieve with other language like JavaScript, so get ready to be inspired. Note: As HTML5 is not fully supported by certain web browser like Internet Explorer, you’re strongly recommended to use Firefox browser to view all HTML5 demos below. Animation The HTML5’s canvas element is the deciding factor for HTML5 to replace certain Flash animation. Audioburst Animation A comfortable and fantastic animation created with HTML5’s canvas and audio tag. Ball Pool Being showcased in the last Google I/O event, this demo shows you how dynamic can HTML5 be. Blob Sallad A HTML5-spawned creature that would please you. Bomomo Browser Ball Bubbles

HTML5 Reset Grunt: The JavaScript Task Runner How to write a FaceBook Application in 10 minutes Writing F8 apps is where it’s at right now. Everybody knows it. The userbase is huge and now we have a (free) API to. I spent a day writing my Sudoku Facebook application yesterday. As far as I can tell, Facebook allows you to create applications that appear to the user in 2 different areas. 1 - The profile. 2 - The ‘Canvas page’. Ok, thats it for the overview. 1. <script type=text/javascript> var iRandom; function Restart() { iRandom = Math.floor(Math.random()*10)+1; alert('OK, I am thinking of a number between 1 and 10'); } function Guess() { var yourGuess = document.getElementById('myGuess').value; if (yourGuess>iRandom) alert('Too High.'); if (yourGuess<iRandom) alert('Too Low.'); if (yourGuess==iRandom) { alert('Well done! It’s not going to win any awards, but it gets the job done. Ok, now log into Facebook. 2. 3. Application Name: Any name you want. Anyway, now we can go back toDefault FMBL: This is the text that will go on the user’s profile. 5. 6.

Cloud computing Un article de Wikipédia, l'encyclopédie libre. Le cloud computing[1], ou l’informatique en nuage ou nuagique ou encore l’infonuagique (au Québec), est l'exploitation de la puissance de calcul ou de stockage de serveurs informatiques distants par l'intermédiaire d'un réseau, généralement Internet. Ces serveurs sont loués à la demande, le plus souvent par tranche d'utilisation selon des critères techniques (puissance, bande passante, etc.) mais également au forfait. Terminologie[modifier | modifier le code] En France, la Commission générale de terminologie et de néologie précise qu'il s'agit d'une forme particulière de gérance de l'informatique, dans laquelle l'emplacement et le fonctionnement dans le nuage ne sont pas portés à la connaissance des clients[7]. Les francisations « informatique en nuage »[7], « informatique dématérialisée »[9], ou plus rarement « infonuagique »[10] sont également utilisées. Principes - le Nuage[modifier | modifier le code] Services[modifier | modifier le code]

JavaScript Code Smells In the past I've given presentations, recorded videos, and written blog posts about fixing common JavaScript and jQuery bugs. This is a good skill to have, but what about working code? Fixing broken code is important, but have you ever gotten into the situation where your code works, but it doesn't feel quite right... maybe even smells? "A code smell is a surface indication that usually corresponds to a deeper problem in the system" --CodeSmell by Martin Fowler As we grow as developers we strive to write more maintainable code, but on our journey we often times don't know what that looks like yet. Your JavaScript may pass stardard JSHint rules, but that doesn't mean it's legit. Most developers can smell brittle and fragile code a mile away, but it takes time and training to combat against these smells. Video The following video was recorded this year at FluentConf. Types of Smells The following are the types of smells that I cover throughout the presentation. Slides

JavaScript Tutorial 16 - Graphics and Imaging Graphics brings life to applications. JavaScript allows creation and modification of images using HTML5 canvas objects. This basic tutorial introduces some fundamental concepts of graphics and imaging. The Canvas HTML 5 introduced the canvas element which allows JavaScript 2D objects to be used in documents. <canvas id="canvas" width='100' height='100'><p>Sorry: Browser does not support Graphics Canvas</p></canvas> Note: Not all browsers implement the canvas element. Shapes and Paths There is only one primitive shape: the rectangle. Paths are used for more complex shapes. Arcs are drawn with arc(x,y,radius,sAng,eAng,rotFlag). sAng and eAng are in radians (note: a simple conversion is var radians=(Math.PI/180)*degrees). rotFlag is boolean. Bezier curves are used to draw complex shapes. Styles and Patterns Fill patterns control how a drawn object is filled in with ink. Line strokes can be styled in several ways. Transformations & Composites Clipping provides complex masking screens.

Big data Un article de Wikipédia, l'encyclopédie libre. Une visualisation des données créée par IBM[1] montre que les big data que Wikipedia modifie à l'aide du robot Pearle ont plus de signification lorsqu'elles sont mises en valeur par des couleurs et des localisations[2]. Croissance et Numérisation de la Capacité de Stockage Mondiale de L'information[3]. Dans ces nouveaux ordres de grandeur, la capture, le stockage, la recherche, le partage, l'analyse et la visualisation des données doivent être redéfinis. Certains supposent qu'ils pourraient aider les entreprises à réduire les risques et faciliter la prise de décision, ou créer la différence grâce à l'analyse prédictive et une « expérience client » plus personnalisée et contextualisée. Dimensions des big data[modifier | modifier le code] Le Big Data s'accompagne du développement d'applications à visée analytique, qui traitent les données pour en tirer du sens[15]. Volume[modifier | modifier le code] Variété[modifier | modifier le code]

Angular Classy Angular's controllers are super-simple which is fantastic for getting started (they're just functions). Because they are just functions, there's lots of different ways to write Angular controllers. This is powerful but can also lead to a lack of structure, especially when many people (with many different coding styles) are working on the same codebase. It can be helpful to have something a little more structured and prescriptive. Enter Angular Classy! The code to the right is a Classy controller for a simple Todo application. Hover your cursor over the code on the right for comments and explanations. Injecting Dependencies Angular veterans will know that if you want your Angular code to work with minifiers then you have to annotate your dependencies (i.e. list your dependencies twice), like so (without Classy): app.controller 'AppCtrl', ['$scope', '$location', '$http', ($scope, $location, $http) -> ] If you want to add/remove a dependancy then you need to remember to do it in two places. FAQs

Open source Un article de Wikipédia, l'encyclopédie libre. La désignation open source, ou « code source ouvert », s'applique aux logiciels (et s'étend maintenant aux œuvres de l'esprit) dont la licence respecte des critères précisément établis par l'Open Source Initiative, c'est-à-dire les possibilités de libre redistribution, d'accès au code source et de création de travaux dérivés. Mis à la disposition du grand public, ce code source est généralement le résultat d'une collaboration entre programmeurs. L’open source a déjà investi tous les grands domaines du système d’information des administrations françaises[1] : environnements serveurs, domaines applicatifs, outils d’ingénierie, solutions de réseaux et sécurité. « Préhistoire »[modifier | modifier le code] Les ordinateurs des années 1960 étaient livrés avec des logiciels accompagnés de leurs sources que les clients pouvaient modifier et étendre. Histoire[modifier | modifier le code] Eric Steven Raymond avait d'abord essayé de déposer open source.

Angular directives for Bootstrap The $uibPosition service provides a set of DOM utilities used internally to absolute-position an element in relation to another element (tooltips, popovers, typeaheads etc...). getRawNode(element) Takes a jQuery/jqLite element and converts it to a raw DOM element. parameters element(Type: object) - The element to convert. returns (Type: element) - A raw DOM element. parseStyle(element) Parses a numeric style value to a number. value(Type: string) - The style value to parse. (Type: number) - The numeric value of the style property. offsetParent(element) Gets the closest positioned ancestor. element(Type: element) - The element to get the offset parent for. (Type: element) - The closest positioned ancestor. scrollbarWidth(isBody) Calculates the browser scrollbar width and caches the result for future calls. isBody(Type: boolean, Default: false, optional) - Is the requested scrollbar width for the body/html element. (Type: number) - The width of the browser scrollbar. position(element, includeMargins)