Search Results

Search found 5968 results on 239 pages for 'alex le'.

Page 3/239 | < Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • SharePoint vire vers le social, le Cloud et le mobile, Microsoft dévoile les nouveautés de la version 2013 et son intégration avec Yammer

    SharePoint vire vers le social, le Cloud et le mobile Microsoft dévoile les nouveautés de la version 2013 et son intégration avec Yammer A l'occasion de la Conférence SharePoint 2012 de Las Vegas, Microsoft dévoile les nouvelles fonctionnalités de SharePoint 2013. Pour cette mise à jour majeure de suite d'outils de Microsoft pour application et portail d'entreprise, Microsoft a effectué d'importants investissements dans le Social, le Cloud et le mobile. Jusqu'ici, Microsoft avait dévoilé peu d'information sur les fonctionnalités sociales de SharePoint inspiré de Yammer. Pour rappel, Yammer est outil permettant la mise en place d'un réseau social interne pour une e...

    Read the article

  • QotD: Alex Buckley announcing Java™ SE 8 Early Access Builds with Type Annotation Support

    - by $utils.escapeXML($entry.author)
    I am pleased to announce that binary builds of the JSR 308 Reference Implementation are available at http://jdk8.java.net/type-annotations/.Please see the Type Annotations project page for a link to the JSR 308 Specification. There is also a changelog, which is important to review as there have been significant spec changes in 2012.The builds were generated from the type-annotations/type-annotations forest on 9/9. This forest is regularly updated from jdk8/jdk8 and jdk8/tl.Alex Buckley in a post on the type-annotations-dev mailing list.If you want to play with repeating annotations, check out http://jdk8.java.net/type-annotations/ ... thanks to superior code wrangling by Joel Franck (repeating annotations) and Werner Dietl (type annotations), support for repeating annotations on declarations is included in the build.Alex Buckley in a post on the enhanced-metadata-spec-discuss mailing list.

    Read the article

  • Microsoft contraint d'abandonner le nom « SkyDrive », suite à une décision de justice en faveur de BSkyB

    Microsoft contraint d'abandonner le nom « SkyDrive » Suite à une décision de justice en faveur de BSkyBMicrosoft va devoir changer le nom « SkyDrive », utilisé par sa plateforme de stockage de fichiers dans le Cloud.Le même scénario qu'avec l'appellation « Metro », qu'a dû abandonner le géant du logiciel pour l'interface utilisateur de Windows 8, se produit.Le 28 juin dernier, une décision de justice statuait que Microsoft portait atteinte aux droits du groupe audiovisuel anglais BSkyB sur la marque « Sky ». Le groupe BSkyB est propriétaire de plusieurs chaines de télévision portant le pr...

    Read the article

  • Google lance le service de Remarketing, qui permet aux annonceurs AdWords de suivre l'internaute par

    Google lance le service de Remarketing qui permet de suivre l'internaute partout à travers le web Google a annoncé sur le blog officiel d'AdWords le lancement de Remarketing, une nouvelle fonctionnalité pour les annonceurs AdWords, qui permettra aux annonceurs de suivre les internautes sur les différents sites qu'il consulte sur le net. [IMG]http://djug.developpez.com/rsc/google-adwords.jpg[/IMG] Le système AdSense Classique permet d'afficher des annonces ciblées en fonction du contexte des sites visités, la fonctionnalité Remarketing permet d'ajouter des cookies sur la machine de l'internaute afin de le suivre à travers le web pour réafficher les mêmes annonces sur les différents sites qu'il consulte,...

    Read the article

  • WebM : la justice américaine enquête sur le groupe MPEG-LA et des actions potentiellement anticoncurrentielles contre le format de Google

    WebM : la justice américaine enquête sur le groupe MPEG-LA Et des actions potentiellement anticoncurrentielles contre le format de Google Mise à jour du 07/03/2011 par Idelways D'après un rapport rendu public par le Wall Street Journal, le département de la justice américaine aurait lancé une enquête antitrust sur le groupe de gestion de brevets MPEG-LA, le soupçonnant de vouloir attenter injustement à un rival technologique open-source supporté par Google (VP8). Le groupe MPEG-LA avait lancé mi-février un appel à tous les industriels qui estiment détenir des brevets potentiellement utilisés par le codec concurrent « VP...

    Read the article

  • Google dévoile son nouveau protocole QUIC dans Chrome, qui combine le meilleur de TCP et UDP

    Google dévoile son nouveau protocole QUIC dans Chrome qui combine le meilleur de TCP et UDPAprès le protocole SPDY, permettant d'accélérer le Web en compressant les requêtes d'une page Web, Google expérimente un nouveau protocole qui offrira comme le précédent une vitesse de chargement des pages optimisée.Le géant de la recherche vient de dévoiler un premier aperçu du protocole expérimental Quick UDP Internet Connections (QUIC), dans la dernière version de son navigateur sur le canal Canary.QUIC a pour objectif de faire évoluer le protocole TCP en tirant parti des avantages qu'offre UDP. Le protocole repose sur un multiplexage de flux au dessus d'UDP, pour permettre des transmissions fiables en ...

    Read the article

  • Pre-rentrée Oracle Open World 2012 : à vos agendas

    - by Eric Bezille
    A maintenant moins d'un mois de l’événement majeur d'Oracle, qui se tient comme chaque année à San Francisco, fin septembre, début octobre, les spéculations vont bon train sur les annonces qui vont y être dévoilées... Et sans lever le voile, je vous engage à prendre connaissance des sujets des "Key Notes" qui seront tenues par Larry Ellison, Mark Hurd, Thomas Kurian (responsable des développements logiciels) et John Fowler (responsable des développements systèmes) afin de vous donner un avant goût. Stratégie et Roadmaps Oracle Bien entendu, au-delà des séances plénières qui vous donnerons  une vision précise de la stratégie, et pour ceux qui seront sur place, je vous engage à ne pas manquer les séances d'approfondissement qui auront lieu dans la semaine, dont voici quelques morceaux choisis : "Accelerate your Business with the Oracle Hardware Advantage" avec John Fowler, le lundi 1er Octobre, 3:15pm-4:15pm "Why Oracle Softwares Runs Best on Oracle Hardware" , avec Bradley Carlile, le responsable des Benchmarks, le lundi 1er Octobre, 12:15pm-13:15pm "Engineered Systems - from Vision to Game-changing Results", avec Robert Shimp, le lundi 1er Octobre 1:45pm-2:45pm "Database and Application Consolidation on SPARC Supercluster", avec Hugo Rivero, responsable dans les équipes d'intégration matériels et logiciels, le lundi 1er Octobre, 4:45pm-5:45pm "Oracle’s SPARC Server Strategy Update", avec Masood Heydari, responsable des développements serveurs SPARC, le mardi 2 Octobre, 10:15am - 11:15am "Oracle Solaris 11 Strategy, Engineering Insights, and Roadmap", avec Markus Flier, responsable des développements Solaris, le mercredi 3 Octobre, 10:15am - 11:15am "Oracle Virtualization Strategy and Roadmap", avec Wim Coekaerts, responsable des développement Oracle VM et Oracle Linux, le lundi 1er Octobre, 12:15pm-1:15pm "Big Data: The Big Story", avec Jean-Pierre Dijcks, responsable du développement produits Big Data, le lundi 1er Octobre, 3:15pm-4:15pm "Scaling with the Cloud: Strategies for Storage in Cloud Deployments", avec Christine Rogers,  Principal Product Manager, et Chris Wood, Senior Product Specialist, Stockage , le lundi 1er Octobre, 10:45am-11:45am Retours d'expériences et témoignages Si Oracle Open World est l'occasion de partager avec les équipes de développement d'Oracle en direct, c'est aussi l'occasion d'échanger avec des clients et experts qui ont mis en oeuvre  nos technologies pour bénéficier de leurs retours d'expériences, comme par exemple : "Oracle Optimized Solution for Siebel CRM at ACCOR", avec les témoignages d'Eric Wyttynck, directeur IT Multichannel & CRM  et Pascal Massenet, VP Loyalty & CRM systems, sur les bénéfices non seulement métiers, mais également projet et IT, le mercredi 3 Octobre, 1:15pm-2:15pm "Tips from AT&T: Oracle E-Business Suite, Oracle Database, and SPARC Enterprise", avec le retour d'expérience des experts Oracle, le mardi 2 Octobre, 11:45am-12:45pm "Creating a Maximum Availability Architecture with SPARC SuperCluster", avec le témoignage de Carte Wright, Database Engineer à CKI, le mercredi 3 Octobre, 11:45am-12:45pm "Multitenancy: Everybody Talks It, Oracle Walks It with Pillar Axiom Storage", avec le témoignage de Stephen Schleiger, Manager Systems Engineering de Navis, le lundi 1er Octobre, 1:45pm-2:45pm "Oracle Exadata for Database Consolidation: Best Practices", avec le retour d'expérience des experts Oracle ayant participé à la mise en oeuvre d'un grand client du monde bancaire, le lundi 1er Octobre, 4:45pm-5:45pm "Oracle Exadata Customer Panel: Packaged Applications with Oracle Exadata", animé par Tim Shetler, VP Product Management, mardi 2 Octobre, 1:15pm-2:15pm "Big Data: Improving Nearline Data Throughput with the StorageTek SL8500 Modular Library System", avec le témoignage du CTO de CSC, Alan Powers, le jeudi 4 Octobre, 12:45pm-1:45pm "Building an IaaS Platform with SPARC, Oracle Solaris 11, and Oracle VM Server for SPARC", avec le témoignage de Syed Qadri, Lead DBA et Michael Arnold, System Architect d'US Cellular, le mardi 2 Octobre, 10:15am-11:15am "Transform Data Center TCO with Oracle Optimized Servers: A Customer Panel", avec les témoignages notamment d'AT&T et Liberty Global, le mardi 2 Octobre, 11:45am-12:45pm "Data Warehouse and Big Data Customers’ View of the Future", avec The Nielsen Company US, Turkcell, GE Retail Finance, Allianz Managed Operations and Services SE, le lundi 1er Octobre, 4:45pm-5:45pm "Extreme Storage Scale and Efficiency: Lessons from a 100,000-Person Organization", le témoignage de l'IT interne d'Oracle sur la transformation et la migration de l'ensemble de notre infrastructure de stockage, mardi 2 Octobre, 1:15pm-2:15pm Echanges avec les groupes d'utilisateurs et les équipes de développement Oracle Si vous avez prévu d'arriver suffisamment tôt, vous pourrez également échanger dès le dimanche avec les groupes d'utilisateurs, ou tous les soirs avec les équipes de développement Oracle sur des sujets comme : "To Exalogic or Not to Exalogic: An Architectural Journey", avec Todd Sheetz - Manager of DBA and Enterprise Architecture, Veolia Environmental Services, le dimanche 30 Septembre, 2:30pm-3:30pm "Oracle Exalytics and Oracle TimesTen for Exalytics Best Practices", avec Mark Rittman, de Rittman Mead Consulting Ltd, le dimanche 30 Septembre, 10:30am-11:30am "Introduction of Oracle Exadata at Telenet: Bringing BI to Warp Speed", avec Rudy Verlinden & Eric Bartholomeus - Managers IT infrastructure à Telenet, le dimanche 30 Septembre, 1:15pm-2:00pm "The Perfect Marriage: Sun ZFS Storage Appliance with Oracle Exadata", avec Melanie Polston, directeur, Data Management, de Novation et Charles Kim, Managing Director de Viscosity, le dimanche 30 Septembre, 9:00am-10am "Oracle’s Big Data Solutions: NoSQL, Connectors, R, and Appliance Technologies", avec Jean-Pierre Dijcks et les équipes de développement Oracle, le lundi 1er Octobre, 6:15pm-7:00pm Testez et évaluez les solutions Et pour finir, vous pouvez même tester les technologies au travers du Oracle DemoGrounds, (1133 Moscone South pour la partie Systèmes Oracle, OS, et Virtualisation) et des "Hands-on-Labs", comme : "Deploying an IaaS Environment with Oracle VM", le mardi 2 Octobre, 10:15am-11:15am "Virtualize and Deploy Oracle Applications in Minutes with Oracle VM: Hands-on Lab", le mardi 2 Octobre, 11:45am-12:45pm (il est fortement conseillé d'avoir suivi le "Hands-on-Labs" précédent avant d'effectuer ce Lab. "x86 Enterprise Cloud Infrastructure with Oracle VM 3.x and Sun ZFS Storage Appliance", le mercredi 3 Octobre, 5:00pm-6:00pm "StorageTek Tape Analytics: Managing Tape Has Never Been So Simple", le mercredi 3 Octobre, 1:15pm-2:15pm "Oracle’s Pillar Axiom 600 Storage System: Power and Ease", le lundi 1er Octobre, 12:15pm-1:15pm "Enterprise Cloud Infrastructure for SPARC with Oracle Enterprise Manager Ops Center 12c", le lundi 1er Octobre, 1:45pm-2:45pm "Managing Storage in the Cloud", le mardi 2 Octobre, 5:00pm-6:00pm "Learn How to Write MapReduce on Oracle’s Big Data Platform", le lundi 1er Octobre, 12:15pm-1:15pm "Oracle Big Data Analytics and R", le mardi 2 Octobre, 1:15pm-2:15pm "Reduce Risk with Oracle Solaris Access Control to Restrain Users and Isolate Applications", le lundi 1er Octobre, 10:45am-11:45am "Managing Your Data with Built-In Oracle Solaris ZFS Data Services in Release 11", le lundi 1er Octobre, 4:45pm-5:45pm "Virtualizing Your Oracle Solaris 11 Environment", le mardi 2 Octobre, 1:15pm-2:15pm "Large-Scale Installation and Deployment of Oracle Solaris 11", le mercredi 3 Octobre, 3:30pm-4:30pm En conclusion, une semaine très riche en perspective, et qui vous permettra de balayer l'ensemble des sujets au coeur de vos préoccupations, de la stratégie à l'implémentation... Cette semaine doit se préparer, pour tailler votre agenda sur mesure, à travers les plus de 2000 sessions dont je ne vous ai fait qu'un extrait, et dont vous pouvez retrouver l'ensemble en ligne.

    Read the article

  • Le W3C publie le draft de Web Telephony API, pour la gestion des appels téléphoniques dans le navigateur

    Le W3C publie le draft de Web Telephony API pour la gestion des appels téléphoniques dans le navigateurLe W3C vient de publier un draft (brouillon) pour l'API « Web Telephony API » qui permet de créer des applications de gestion d'appels téléphoniques à partir des navigateurs.Cette API sera principalement utilisée pour implémenter des applications « Dialers » prenant en charge les appels et services de téléphonie multiples.Du point de vue des utilisateurs finaux, l'API va permettre d'effectuer les nombreuses actions que ces derniers ont coutume de réaliser avec leurs téléphones classiques. C'est ainsi qu'ils pourront émettre et recevoir des appels et mettre ces derniers en attente si le besoin se...

    Read the article

  • « Le rejet des DRM risque de cloisonner le Web » pour le PDG du W3C, qui trouve que la spécification EME est un juste compromis

    Le W3C étudie une norme pour la lecture du contenu protégé dans le HTML5 qualifiée de « contraire à l'éthique » par un membre du consortiumDes développeurs de Google, Microsoft et Netflix ont proposé une nouvelle norme pour le HTML5.Le futur standard du Web HTML5 qui est de plus en plus utilisé au détriment des technologies comme Flash ou Silverlight souffre encore de quelques manquements par rapport à celles-ci. C'est le cas par exemple pour la lecture du contenu vidéo protégé.Une nouvelle proposition a été faite au W3C par David Dorwin (Google), Adrian Bateman (Microsoft) et Mark Watson (Netflix) pour permettre au HTML5 de lire du contenu protégé DRM (Digital rights management ).Bapti...

    Read the article

  • Introducing .NET 4.0 with Visual Studio 2010 by Alex Mackey - Book review

    - by Malisa L. Ncube
    Alex (http://simpleisbest.co.uk/) does a very good job in covering the new features of .NET 4.0 and Visual Studio 2010. His focus is on the developers that have experience in development using previous versions of Visual Studio, more specifically Visual Studio 2008.     The following are my views towards his book. 1. Scope / Coverage Even as the book is labeled as introduction, it is covers a broad spectrum of technologies, features and references that are focused into helping a developer quickly decide what to use in the new .NET framework. a. Content The content included covers as much as possible the new additions that are included in the new .NET version 4.0. He shows the Visual Studio 2010 new features and quickly shows how to extend it using Managed Extensibility Framework. Some of my favorites are parallel debugging enhancements. The author delves into JQuery, which Microsoft has decided to support. Some of the very interesting content is on the out-of-band releases including ASP.NET MVC, Windows Azure Silverlight 3 and WCF Data Services. b. What is not included? Windows Phone 7 Series. This was only talked about in the MIX10. The data may not have been available at the time of writing. Microsoft Pinpoint (Microsoft code name "Dallas") Windows Embedded development. c. Table of Contents Chapter 1: Introduction Chapter 2: Visual Studio IDE and MEF Chapter 3: Language and Dynamic Changes Chapter 4: CLR and BCL Changes Chapter 5: Parallelization and Threading Enhancements Chapter 6: Windows Workflow Foundation 4 Chapter 7: Windows Communication Foundation Chapter 8: Entity Framework Chapter 9: WCF Data Services Chapter 10: ASPNET Chapter 11: Microsoft AJAX Library Chapter 12: jQuery Chapter 13: ASPNET MVC Chapter 14: Silverlight Introduction Chapter 15: WPF 4.0 and Silverlight 3.0 Chapter 16: Windows Azure 2. Depth Avoids getting into depth on the topics presented, to present the new concepts in assumption of the developer’s existing knowledge. Code samples are on book and exist mostly as snippets and very easy to follow. There are no downloadable examples. 3. Complexity The book is written in a very simple way and easy to follow. There are no irrelevant intimidating details. So it’s a book that you can grab and never put down until you’ve finished reading the entire book. 4. References The author includes reference links to blogs, Wikis and a lot of online resources including the MSDN documentation, which is a very convenient strategy to avoid flooding the reader with details which may not be of interest to them. Most sites do not use url routing and that is really not nice. There are notes from interviews between the author and people behind the new technologies, in which they explain what some specific areas that need clarifications and what their future views are in relation to the features they are working on. 5. Target The author targets experts that want to make a transition from .NET 3.5 to 4.0. Some obvious 3.5 features have been purposely excluded from the text 6. Overrall It is evident that the author has made extensive research into the breadth of what MS is working on, in relation to .NET and Visual Studio and has also been watching the online community. What I would like to see in the next edition are some details on OData protocol, Expression Blend 4 and Embedded development and Windows Phone development. I should say I’m one of the beneficiaries of this book. Excellent work Alex.   Technorati Tags: .NET,Book-Review,Visual Studio

    Read the article

  • « Windows InTune est un des produits les plus attendus par les décideurs », le service Cloud d'administration de postes sortira le 23 mars

    « Windows InTune est un des produits les plus attendus par les décideurs IT » Le service Cloud d'administration de postes de travail sortira le 23 mars Microsoft vient d'annoncer le lancement de son nouveau service Windows Intune pour le 23 mars prochain. Disponible en beta depuis avril 2010, Window Intune est un outil d'administration de postes de travail. Il combine, en mode Cloud, des services de gestion pour les parcs de PCs, le suivi des protections installées contre les logiciels malveillants, et pour le suivi des mises à jour Windows. Le service Windows InTune va jusqu'à ...

    Read the article

  • WebSphere Application Server V8 : IBM améliore les capacités techniques de son serveur d'applications, testez-le gratuitement

    WebSphere Application Server V8 : meilleures capacités techniques Pour le nouveau serveur d'applications d'IBM pour développeurs, testez-le gratuitement IBM vient de présenter la nouvelle version de son serveur d'applications (le plus vendu au monde) : WebSphere Application Server V8. WAS est « en tête des benchmarks et considéré par les analystes comme le serveur d'applications le plus solide du marché », se félicite IBM. Sa nouvelle version optimise le déploiement d'applications accessibles à partir de terminaux de tous formats : PC, smartphones, tablettes, etc. Autre nouveauté, WAS v8 supporte les langages Ruby et Python, il accélère le chargement...

    Read the article

  • Le grand public ne sait pas ce qu'est le Flash, de quoi conforter la stratégie de Steve Jobs ?

    Mise à jour du 29/04/10 NB : Les commentaires sur cette mise à jour commencent ici dans le topic Le grand public ne sait pas ce qu'est le Flash Selon une étude de NPD qui pourrait conforter la stratégie de Steve Jobs de ne pas supporter la technologie Les résultats de l'étude de NPD (un cabinet d'analyse marketing) ne sont pas surprenants. Ils ont cependant le mérite de la clarté. Le grand public n'a aucune idée de ce que signifie le support (ou le non support) du Flash sur l'iPhone ou l'iPad.

    Read the article

  • « On parcourt le journal sur l'iPad, on le lit sur le papier » : êtes-vous d'accord avec cette étude de Miratech ?

    Suite à sa précédente étude : La lecture sur un iPad est plus superficielle que sur un journal, Miratech vous propose un complément sur la qualité comparée de lecture sur un iPad ou un support papier : On parcourt le journal sur l'iPad, on le lit sur le papier.. Que pensez-vous des résultats de cette étude ? Si vous êtes adepte de l'iPad, avez-vous constaté des différences dans vos habitudes de lecture en...

    Read the article

  • Yahoo arrêtera le service Yahoo Publisher Network le 30 Avril : AdSense ternit-il le marché avec sa

    Yahoo arrêtera le service Yahoo Publisher Network le 30 Avril : AdSense ternit-il le développement de ses concurrents avec sa position de leader ? [IMG]http://www.livesphere.fr/images/dvp/ypn-yahoo-publisher-network.png[/IMG] Yahoo a annoncé officiellement l'arrêt de ses services de rémunération publicitaire pour la fin avril. Le service de Yahoo n'avait pas connu un grand succès et les évolutions de la plateforme n'ont connu que peu de mises à jour et est donc reste en version Beta depuis sa mise en ligne. Ainsi, la firme recommande à leur client de se tourner vers un partenaire du nom de Chitika, pour ceux souhaitant continuer leur rémunération publicitaire. Aucune...

    Read the article

  • Dojo 1.8 : introduction de nouveaux composants dont le calendrier, la jauge et le treemap pour le framework JavaScript

    Dojo 1.8 : introduction de nouveaux composants dont le calendrier, la jauge et le treemap pour mobile et pour navigateur La version 1.8 de Dojo amène avec elle de nouveaux composants que vous pouvez déjà découvrir dans la version beta sortie dernièrement. Le calendrier Le composant calendrier dispose d'une belle interface utilisateur et permet une vision par jour, par semaine, par mois ou bien par année. Bien entendu, ce composant est compatible avec les APIs Dojo et peut être manié sans problème. Il en est de même au niveau des CSS. Des adaptations sont réalisables facilement. [IMG]http://dojotoolkit.org/blog/wp-content/uploads/2012/05/calendar-e13364...

    Read the article

  • Google publie le code source d'Android 4.1, Jelly Bean sera disponible pour les Galaxy Nexus et Nexus S le 26 juillet

    Google publie le code source d'Android 4.1 Jelly Bean l'OS sera disponible pour les Galaxy Nexus et Nexus S le 26 juillet Mise à jour du 10/07/2012 Deux semaines seulement après avoir levé le voile sur Android 4.1 lors de la conférence Google I/O, le géant de la recherche ouvre le code source de Jelly Bean. Étiquetés sous le nom d'Android 4.1.1_r1, les binaires de la prochaine mise à jour majeure du système d'exploitation mobile de Google sont disponibles dans le cadre du projet Android Open Source (AOSP). Une nouvelle qui va ravir les développeurs intéressés par le code source du système, qui pourront le ...

    Read the article

  • Red Gate Coder interviews: Alex Davies

    - by Michael Williamson
    Alex Davies has been a software engineer at Red Gate since graduating from university, and is currently busy working on .NET Demon. We talked about tackling parallel programming with his actors framework, a scientific approach to debugging, and how JavaScript is going to affect the programming languages we use in years to come. So, if we start at the start, how did you get started in programming? When I was seven or eight, I was given a BBC Micro for Christmas. I had asked for a Game Boy, but my dad thought it would be better to give me a proper computer. For a year or so, I only played games on it, but then I found the user guide for writing programs in it. I gradually started doing more stuff on it and found it fun. I liked creating. As I went into senior school I continued to write stuff on there, trying to write games that weren’t very good. I got a real computer when I was fourteen and found ways to write BASIC on it. Visual Basic to start with, and then something more interesting than that. How did you learn to program? Was there someone helping you out? Absolutely not! I learnt out of a book, or by experimenting. I remember the first time I found a loop, I was like “Oh my God! I don’t have to write out the same line over and over and over again any more. It’s amazing!” When did you think this might be something that you actually wanted to do as a career? For a long time, I thought it wasn’t something that you would do as a career, because it was too much fun to be a career. I thought I’d do chemistry at university and some kind of career based on chemical engineering. And then I went to a careers fair at school when I was seventeen or eighteen, and it just didn’t interest me whatsoever. I thought “I could be a programmer, and there’s loads of money there, and I’m good at it, and it’s fun”, but also that I shouldn’t spoil my hobby. Now I don’t really program in my spare time any more, which is a bit of a shame, but I program all the rest of the time, so I can live with it. Do you think you learnt much about programming at university? Yes, definitely! I went into university knowing how to make computers do anything I wanted them to do. However, I didn’t have the language to talk about algorithms, so the algorithms course in my first year was massively important. Learning other language paradigms like functional programming was really good for breadth of understanding. Functional programming influences normal programming through design rather than actually using it all the time. I draw inspiration from it to write imperative programs which I think is actually becoming really fashionable now, but I’ve been doing it for ages. I did it first! There were also some courses on really odd programming languages, a bit of Prolog, a little bit of C. Having a little bit of each of those is something that I would have never done on my own, so it was important. And then there are knowledge-based courses which are about not programming itself but things that have been programmed like TCP. Those are really important for examples for how to approach things. Did you do any internships while you were at university? Yeah, I spent both of my summers at the same company. I thought I could code well before I went there. Looking back at the crap that I produced, it was only surpassed in its crappiness by all of the other code already in that company. I’m so much better at writing nice code now than I used to be back then. Was there just not a culture of looking after your code? There was, they just didn’t hire people for their abilities in that area. They hired people for raw IQ. The first indicator of it going wrong was that they didn’t have any computer scientists, which is a bit odd in a programming company. But even beyond that they didn’t have people who learnt architecture from anyone else. Most of them had started straight out of university, so never really had experience or mentors to learn from. There wasn’t the experience to draw from to teach each other. In the second half of my second internship, I was being given tasks like looking at new technologies and teaching people stuff. Interns shouldn’t be teaching people how to do their jobs! All interns are going to have little nuggets of things that you don’t know about, but they shouldn’t consistently be the ones who know the most. It’s not a good environment to learn. I was going to ask how you found working with people who were more experienced than you… When I reached Red Gate, I found some people who were more experienced programmers than me, and that was difficult. I’ve been coding since I was tiny. At university there were people who were cleverer than me, but there weren’t very many who were more experienced programmers than me. During my internship, I didn’t find anyone who I classed as being a noticeably more experienced programmer than me. So, it was a shock to the system to have valid criticisms rather than just formatting criticisms. However, Red Gate’s not so big on the actual code review, at least it wasn’t when I started. We did an entire product release and then somebody looked over all of the UI of that product which I’d written and say what they didn’t like. By that point, it was way too late and I’d disagree with them. Do you think the lack of code reviews was a bad thing? I think if there’s going to be any oversight of new people, then it should be continuous rather than chunky. For me I don’t mind too much, I could go out and get oversight if I wanted it, and in those situations I felt comfortable without it. If I was managing the new person, then maybe I’d be keener on oversight and then the right way to do it is continuously and in very, very small chunks. Have you had any significant projects you’ve worked on outside of a job? When I was a teenager I wrote all sorts of stuff. I used to write games, I derived how to do isomorphic projections myself once. I didn’t know what the word was so I couldn’t Google for it, so I worked it out myself. It was horrifically complicated. But it sort of tailed off when I started at university, and is now basically zero. If I do side-projects now, they tend to be work-related side projects like my actors framework, NAct, which I started in a down tools week. Could you explain a little more about NAct? It is a little C# framework for writing parallel code more easily. Parallel programming is difficult when you need to write to shared data. Sometimes parallel programming is easy because you don’t need to write to shared data. When you do need to access shared data, you could just have your threads pile in and do their work, but then you would screw up the data because the threads would trample on each other’s toes. You could lock, but locks are really dangerous if you’re using more than one of them. You get interactions like deadlocks, and that’s just nasty. Actors instead allows you to say this piece of data belongs to this thread of execution, and nobody else can read it. If you want to read it, then ask that thread of execution for a piece of it by sending a message, and it will send the data back by a message. And that avoids deadlocks as long as you follow some obvious rules about not making your actors sit around waiting for other actors to do something. There are lots of ways to write actors, NAct allows you to do it as if it was method calls on other objects, which means you get all the strong type-safety that C# programmers like. Do you think that this is suitable for the majority of parallel programming, or do you think it’s only suitable for specific cases? It’s suitable for most difficult parallel programming. If you’ve just got a hundred web requests which are all independent of each other, then I wouldn’t bother because it’s easier to just spin them up in separate threads and they can proceed independently of each other. But where you’ve got difficult parallel programming, where you’ve got multiple threads accessing multiple bits of data in multiple ways at different times, then actors is at least as good as all other ways, and is, I reckon, easier to think about. When you’re using actors, you presumably still have to write your code in a different way from you would otherwise using single-threaded code. You can’t use actors with any methods that have return types, because you’re not allowed to call into another actor and wait for it. If you want to get a piece of data out of another actor, then you’ve got to use tasks so that you can use “async” and “await” to await asynchronously for it. But other than that, you can still stick things in classes so it’s not too different really. Rather than having thousands of objects with mutable state, you can use component-orientated design, where there are only a few mutable classes which each have a small number of instances. Then there can be thousands of immutable objects. If you tend to do that anyway, then actors isn’t much of a jump. If I’ve already built my system without any parallelism, how hard is it to add actors to exploit all eight cores on my desktop? Usually pretty easy. If you can identify even one boundary where things look like messages and you have components where some objects live on one side and these other objects live on the other side, then you can have a granddaddy object on one side be an actor and it will parallelise as it goes across that boundary. Not too difficult. If we do get 1000-core desktop PCs, do you think actors will scale up? It’s hard. There are always in the order of twenty to fifty actors in my whole program because I tend to write each component as actors, and I tend to have one instance of each component. So this won’t scale to a thousand cores. What you can do is write data structures out of actors. I use dictionaries all over the place, and if you need a dictionary that is going to be accessed concurrently, then you could build one of those out of actors in no time. You can use queuing to marshal requests between different slices of the dictionary which are living on different threads. So it’s like a distributed hash table but all of the chunks of it are on the same machine. That means that each of these thousand processors has cached one small piece of the dictionary. I reckon it wouldn’t be too big a leap to start doing proper parallelism. Do you think it helps if actors get baked into the language, similarly to Erlang? Erlang is excellent in that it has thread-local garbage collection. C# doesn’t, so there’s a limit to how well C# actors can possibly scale because there’s a single garbage collected heap shared between all of them. When you do a global garbage collection, you’ve got to stop all of the actors, which is seriously expensive, whereas in Erlang garbage collections happen per-actor, so they’re insanely cheap. However, Erlang deviated from all the sensible language design that people have used recently and has just come up with crazy stuff. You can definitely retrofit thread-local garbage collection to .NET, and then it’s quite well-suited to support actors, even if it’s not baked into the language. Speaking of language design, do you have a favourite programming language? I’ll choose a language which I’ve never written before. I like the idea of Scala. It sounds like C#, only with some of the niggles gone. I enjoy writing static types. It means you don’t have to writing tests so much. When you say it doesn’t have some of the niggles? C# doesn’t allow the use of a property as a method group. It doesn’t have Scala case classes, or sum types, where you can do a switch statement and the compiler checks that you’ve checked all the cases, which is really useful in functional-style programming. Pattern-matching, in other words. That’s actually the major niggle. C# is pretty good, and I’m quite happy with C#. And what about going even further with the type system to remove the need for tests to something like Haskell? Or is that a step too far? I’m quite a pragmatist, I don’t think I could deal with trying to write big systems in languages with too few other users, especially when learning how to structure things. I just don’t know anyone who can teach me, and the Internet won’t teach me. That’s the main reason I wouldn’t use it. If I turned up at a company that writes big systems in Haskell, I would have no objection to that, but I wouldn’t instigate it. What about things in C#? For instance, there’s contracts in C#, so you can try to statically verify a bit more about your code. Do you think that’s useful, or just not worthwhile? I’ve not really tried it. My hunch is that it needs to be built into the language and be quite mathematical for it to work in real life, and that doesn’t seem to have ended up true for C# contracts. I don’t think anyone who’s tried them thinks they’re any good. I might be wrong. On a slightly different note, how do you like to debug code? I think I’m quite an odd debugger. I use guesswork extremely rarely, especially if something seems quite difficult to debug. I’ve been bitten spending hours and hours on guesswork and not being scientific about debugging in the past, so now I’m scientific to a fault. What I want is to see the bug happening in the debugger, to step through the bug happening. To watch the program going from a valid state to an invalid state. When there’s a bug and I can’t work out why it’s happening, I try to find some piece of evidence which places the bug in one section of the code. From that experiment, I binary chop on the possible causes of the bug. I suppose that means binary chopping on places in the code, or binary chopping on a stage through a processing cycle. Basically, I’m very stupid about how I debug. I won’t make any guesses, I won’t use any intuition, I will only identify the experiment that’s going to binary chop most effectively and repeat rather than trying to guess anything. I suppose it’s quite top-down. Is most of the time then spent in the debugger? Absolutely, if at all possible I will never debug using print statements or logs. I don’t really hold much stock in outputting logs. If there’s any bug which can be reproduced locally, I’d rather do it in the debugger than outputting logs. And with SmartAssembly error reporting, there’s not a lot that can’t be either observed in an error report and just fixed, or reproduced locally. And in those other situations, maybe I’ll use logs. But I hate using logs. You stare at the log, trying to guess what’s going on, and that’s exactly what I don’t like doing. You have to just look at it and see does this look right or wrong. We’ve covered how you get to grip with bugs. How do you get to grips with an entire codebase? I watch it in the debugger. I find little bugs and then try to fix them, and mostly do it by watching them in the debugger and gradually getting an understanding of how the code works using my process of binary chopping. I have to do a lot of reading and watching code to choose where my slicing-in-half experiment is going to be. The last time I did it was SmartAssembly. The old code was a complete mess, but at least it did things top to bottom. There wasn’t too much of some of the big abstractions where flow of control goes all over the place, into a base class and back again. Code’s really hard to understand when that happens. So I like to choose a little bug and try to fix it, and choose a bigger bug and try to fix it. Definitely learn by doing. I want to always have an aim so that I get a little achievement after every few hours of debugging. Once I’ve learnt the codebase I might be able to fix all the bugs in an hour, but I’d rather be using them as an aim while I’m learning the codebase. If I was a maintainer of a codebase, what should I do to make it as easy as possible for you to understand? Keep distinct concepts in different places. And name your stuff so that it’s obvious which concepts live there. You shouldn’t have some variable that gets set miles up the top of somewhere, and then is read miles down to choose some later behaviour. I’m talking from a very much SmartAssembly point of view because the old SmartAssembly codebase had tons and tons of these things, where it would read some property of the code and then deal with it later. Just thousands of variables in scope. Loads of things to think about. If you can keep concepts separate, then it aids me in my process of fixing bugs one at a time, because each bug is going to more or less be understandable in the one place where it is. And what about tests? Do you think they help at all? I’ve never had the opportunity to learn a codebase which has had tests, I don’t know what it’s like! What about when you’re actually developing? How useful do you find tests in finding bugs or regressions? Finding regressions, absolutely. Running bits of code that would be quite hard to run otherwise, definitely. It doesn’t happen very often that a test finds a bug in the first place. I don’t really buy nebulous promises like tests being a good way to think about the spec of the code. My thinking goes something like “This code works at the moment, great, ship it! Ah, there’s a way that this code doesn’t work. Okay, write a test, demonstrate that it doesn’t work, fix it, use the test to demonstrate that it’s now fixed, and keep the test for future regressions.” The most valuable tests are for bugs that have actually happened at some point, because bugs that have actually happened at some point, despite the fact that you think you’ve fixed them, are way more likely to appear again than new bugs are. Does that mean that when you write your code the first time, there are no tests? Often. The chance of there being a bug in a new feature is relatively unaffected by whether I’ve written a test for that new feature because I’m not good enough at writing tests to think of bugs that I would have written into the code. So not writing regression tests for all of your code hasn’t affected you too badly? There are different kinds of features. Some of them just always work, and are just not flaky, they just continue working whatever you throw at them. Maybe because the type-checker is particularly effective around them. Writing tests for those features which just tend to always work is a waste of time. And because it’s a waste of time I’ll tend to wait until a feature has demonstrated its flakiness by having bugs in it before I start trying to test it. You can get a feel for whether it’s going to be flaky code as you’re writing it. I try to write it to make it not flaky, but there are some things that are just inherently flaky. And very occasionally, I’ll think “this is going to be flaky” as I’m writing, and then maybe do a test, but not most of the time. How do you think your programming style has changed over time? I’ve got clearer about what the right way of doing things is. I used to flip-flop a lot between different ideas. Five years ago I came up with some really good ideas and some really terrible ideas. All of them seemed great when I thought of them, but they were quite diverse ideas, whereas now I have a smaller set of reliable ideas that are actually good for structuring code. So my code is probably more similar to itself than it used to be back in the day, when I was trying stuff out. I’ve got more disciplined about encapsulation, I think. There are operational things like I use actors more now than I used to, and that forces me to use immutability more than I used to. The first code that I wrote in Red Gate was the memory profiler UI, and that was an actor, I just didn’t know the name of it at the time. I don’t really use object-orientation. By object-orientation, I mean having n objects of the same type which are mutable. I want a constant number of objects that are mutable, and they should be different types. I stick stuff in dictionaries and then have one thing that owns the dictionary and puts stuff in and out of it. That’s definitely a pattern that I’ve seen recently. I think maybe I’m doing functional programming. Possibly. It’s plausible. If you had to summarise the essence of programming in a pithy sentence, how would you do it? Programming is the form of art that, without losing any of the beauty of architecture or fine art, allows you to produce things that people love and you make money from. So you think it’s an art rather than a science? It’s a little bit of engineering, a smidgeon of maths, but it’s not science. Like architecture, programming is on that boundary between art and engineering. If you want to do it really nicely, it’s mostly art. You can get away with doing architecture and programming entirely by having a good engineering mind, but you’re not going to produce anything nice. You’re not going to have joy doing it if you’re an engineering mind. Architects who are just engineering minds are not going to enjoy their job. I suppose engineering is the foundation on which you build the art. Exactly. How do you think programming is going to change over the next ten years? There will be an unfortunate shift towards dynamically-typed languages, because of JavaScript. JavaScript has an unfair advantage. JavaScript’s unfair advantage will cause more people to be exposed to dynamically-typed languages, which means other dynamically-typed languages crop up and the best features go into dynamically-typed languages. Then people conflate the good features with the fact that it’s dynamically-typed, and more investment goes into dynamically-typed languages. They end up better, so people use them. What about the idea of compiling other languages, possibly statically-typed, to JavaScript? It’s a reasonable idea. I would like to do it, but I don’t think enough people in the world are going to do it to make it pick up. The hordes of beginners are the lifeblood of a language community. They are what makes there be good tools and what makes there be vibrant community websites. And any particular thing which is the same as JavaScript only with extra stuff added to it, although it might be technically great, is not going to have the hordes of beginners. JavaScript is always to be quickest and easiest way for a beginner to start programming in the browser. And dynamically-typed languages are great for beginners. Compilers are pretty scary and beginners don’t write big code. And having your errors come up in the same place, whether they’re statically checkable errors or not, is quite nice for a beginner. If someone asked me to teach them some programming, I’d teach them JavaScript. If dynamically-typed languages are great for beginners, when do you think the benefits of static typing start to kick in? The value of having a statically typed program is in the tools that rely on the static types to produce a smooth IDE experience rather than actually telling me my compile errors. And only once you’re experienced enough a programmer that having a really smooth IDE experience makes a blind bit of difference, does static typing make a blind bit of difference. So it’s not really about size of codebase. If I go and write up a tiny program, I’m still going to get value out of writing it in C# using ReSharper because I’m experienced with C# and ReSharper enough to be able to write code five times faster if I have that help. Any other visions of the future? Nobody’s going to use actors. Because everyone’s going to be running on single-core VMs connected over network-ready protocols like JSON over HTTP. So, parallelism within one operating system is going to die. But until then, you should use actors. More Red Gater Coder interviews

    Read the article

  • MeeGo revient dès le mois prochain sur le premier smartphone de Jolla, le successeur de l'OS mobile s'appelle « Sailfish »

    Un seul smartphone sous MeeGo, tel est le constat de Nokia après la fusion de Maemo avec Moblin (l'ex-OS mobile d'Intel), le N9 ; c'est ce même N9 qui a servi de base au Lumia 800, sous Windows Phone, marquant l'arrêt de mort de MeeGo sur les smartphones du géant finlandais en déroute. Certains diront même qu'il ne s'agit pas vraiment de MeeGo, mais plutôt d'un Harmattan, un OS prévu pour effectuer la transition entre Maemo et MeeGo : on prend un Maemo 5, on en éjecte GTK+ pour qu'il ne reste que Qt, on colle les API MeeGo dessus, ça fait un Harmattan, officiellement sous le nom de « MeeGo 1.2 Harmattan » ̵...

    Read the article

  • Microsoft : le responsable de la Division Serveurs sur le départ, en cause ses résultats dans le Cloud ?

    Microsoft : le responsable de la division Serveurs quitte son poste Signe que la société n'est pas satisfaite de ses résultats dans le Cloud ? Bob Muglia, responsable de la division des serveurs et outils depuis de longues années chez Microsoft, va quitter ses fonctions l'été prochain. Un départ ? forcé ? - qui laisse libre cours aux interprétations. Dans un courriel adressé hier lundi aux employés de Microsoft, Steve Ballmer a annoncé le départ de Bob Muglia de la tête de la division qui détient la troisième place des ventes de produits Microsoft avec un chiffre d'affaires annuel de 15 milliards de dollars. Muglia travaille pour Microsoft depuis 23 ans. Il a été nommé à la...

    Read the article

  • Le HTML5 passe en "Candidate Recommendation" avec Canvas2D, le W3C verrouille les fonctions et lance le HTML 5.1

    Le HTML 5 passe en « Candidate Recommendation » avec Canvas2D le W3C verrouille les fonctionnalités et lance la spécification HTML 5.1 La norme du Web HTML5 vient de franchir une étape importante dans son processus de standardisation. Le World Wide Web Consortium (W3C) vient d'annoncer officiellement la finalisation des spécifications HTML5 et Canvas2D, qui sont désormais disponibles en « Candidate Recommendation ». Cela signifie que les fonctionnalités sont verrouillées et que de futurs changements importants sont peu probables. Les entreprises et les développeurs peuvent donc utiliser ces spécifications pour la « mise en oeuvre et la planification ». Cette étape ma...

    Read the article

  • Le Khronos Group publie les spécifications de OpenGL 3.3 et 4.0

    Le Khronos Group publie les spécifications de OpenGL 3.3 et 4.0 Déjà deux ans après la sortie d'OpenGl 3.x, le Khronos Group nous offre le même jour les spécifications des nouvelles versions d'OpenGL : La version 3.3 et la version 4.0 Pour ces nouvelles versions la séparation Core et Compatibility demeurent et, nouveauté pour le GLSL, les versions ont dorénavant le même nom que la version de l'API sous laquelle elles ont été sortis. On nous promet aussi une version 4.0 optimisée, moins dépendante du CPU, notamment concernant la tesselation... N'étant pas familier a OpenGL je n'oserais en dire plus pour les plus curieux voici le lien :

    Read the article

  • Nautilus 3.6 est une catastrophe pour le créateur de Linux Mint, qui présente Nemo, le fork du gestionnaire de fichiers

    Nautilus 3.6 est une catastrophe pour le créateur de Linux Mint qui présente Nemo, le fork du gestionnaire de fichiers Le ton est à la provocation dans le monde de l'open source. Après Miguel De Icaza, le créateur de l'environnement de bureau GNOME, qui a déclaré que Linux avait échoué sur le Desktop, s'attirant les foudres de Linus Torvalds, c'est au tour d'un autre acteur de l'open source de faire une déclaration toute aussi controversée. Clement Lefebvre, créateur et responsable du développement de la distribution Linux Mint vient de déclarer dans un billet de blog que Nautilus 3.6 est une catastrophe.

    Read the article

  • Le Windows Store franchit le cap des 100 000 applications, la galerie double de volume en trois mois

    Le Windows Store franchit le cap des 100 000 applications la galerie double de volume en trois moisLe Windows Store vient de franchir le cap historique des 100 000 applications, d'après un message de Microsoft sur l'un de ses comptes Twitter.La galerie d'applications pour Windows 8 atteint ce chiffre record en un peu plus de huit mois depuis le lancement de l'OS en octobre dernier. Le Windows Store s'est enrichi d'environ 50 000 applications en pratiquement trois mois. Comparé à d'autres galeries, le Windows Store affiche la plus grosse progression. Le Store Windows Phone a franchi le cap...

    Read the article

< Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >