Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

October 04 2013

Taking your code for a walk | The Endeavour

Taking your #code for a walk | The Endeavour

When I was in college, a friend of mine told me he liked to take his code out for a walk every now and then. By that he meant recompiling and running all of his programs, say once a week. I asked him why he would want to do that. If a program compiled and ran the last time you touched it, why shouldn’t it compile and run now? He simply said I might be surprised

The only way to archive digital information is to keep it moving. I call this #movage instead of #storage. Proper movage means (...)

August 31 2013

Deux semaines en immersion à l'école 42 de Xavier Niel

Deux semaines en immersion à l’école 42 de Xavier Niel

Laurène, 25 ans, a passé cet été les tests de sélection de l’école de codeurs du patron de Free. Sur son blog, elle raconte jour après jour l’épreuve de la « piscine ». Une suite d’exercices de développement 7/24

#Niel #free #informatique #code

July 11 2013

Les hackers, ces héros de la révolution du Web -

Les #hackers, ces héros de la révolution du Web -

Pour Julien Cordoniou de Facebook Europe, les hackers d’aujourd’hui sont les entrepreneurs développeurs de demain. Le logiciel est la seule industrie où la méritocratie fonctionne et où diplômes et origine sociale n’ont pas de valeur. Reste qu’il nous manque 60 000 à 100 000 développeurs pour satisfaire la demande. Pour Julien Cordoniou, il faut éveiller à l’informatique dès l’école primaire car le logiciel sera le moteur de la croissance du XXIe. Tags : internetactu (...)

#éducation #école #code

September 09 2012

The many sides to shipping a great software project

Chris Vander Mey, CEO of Scaled Recognition, and author of a new O’Reilly book, Shipping Greatness, lays out in this video some of the deep lessons he learned during his years working on some very high-impact and high-priority projects at Google and Amazon.

Chris takes a very expansive view of project management, stressing the crucial decisions and attitudes that leaders need to take at every stage from the team’s initial mission statement through the design, coding, and testing to the ultimate launch. By merging technical, organizational, and cultural issues, he unravels some of the magic that makes projects successful.

Highlights from the full video interview include:

  • Some of the projects Chris has shipped. [Discussed at the 0:30 mark]
  • How to listen to your audience while giving a presentation. [Discussed at the 1:24 mark]
  • Deadlines and launches. [Discussed at the 6:40 mark]
  • Importance of keeping team focused on user experience of launch. [Discussed at the 12:15 mark]
  • Creating an API, and its relationship to requirements and Service Oriented Architectures. [Discussed at the 15:27 mark]
  • 22:36 What integration testing can accomplish. [Discussed at the 22:36 mark]

You can view the entire conversation in the following video:

September 05 2012

PowerShell for developers

Doug Finke (@dfinke) is an O’Reilly author and software developer. He moderates a PowerShell for Developers forum at

We sat down recently to talk about the PowerShell, which has a new version launching with Windows 8 and Windows Server 2012, and how it has grown with this latest release.

Key points from the full video interview include:

  • New to PowerShell v3: Workflows and many, many more cmdlets [Discussed at the 0:39 mark]
  • Streamline larger programs by incorporating PowerShell [Discussed at the 2:15 mark]
  • Automation equals repeatability [Discussed at the 3:40 mark]
  • PowerShell has a passionate community [Discussed at the 5:41 mark]
  • What does the future hold for PowerShell? [Discussed at the 7:16 mark]

You can view the entire interview in the following video.


August 28 2012

ASP.NET web API rocks

Glenn Block (@gblock) is an O’Reilly author and senior program manager on the Windows Azure Team at Microsoft.

We sat down recently to talk about the newly released ASP.NET Web API Framework, which he helped develop, and why it will become essential to building RESTful applications.

Key points from the full video (below) interview include:

  • ASP.NET Web API enables a rich set of clients to consume info [Discussed at the 1:47 mark]
  • Find out if one comes out on top – MVC vs. Web API [Discussed at the 2:41 mark]
  • Different clients negotiate content differently – Web API handles this with ease [Discussed at the 5:50 mark]
  • Self hosting is a big deal but beyond that Web API introduces flexibility – you no longer need to use IIS [Discussed at the 9:04 mark]
  • An HTTP Programming Model for Microsoft [Discussed at the 11:04 mark]
  • The newest of the new – Hypermedia, OData, and Web API Contrib [Discussed at the 18:08 mark]

You can view the entire interview in the following video.


August 22 2012

Mastering iOS Development

Matt Neuburg is an O’Reilly author and long-time writer for tidBITS.

We sat down recently to talk about iOS development and how best to build solid apps … the secret is take the time to learn the basics.

Key points from the full video (below) interview include:

  • All of the real power in iOS development is in C. [Discussed at the 1:26 mark]
  • Don’t use the Cocoa Framework, let it use you. [Discussed at the 2:56 mark]
  • Even though you don’t have time, understanding the underlying foundation of the OS makes you better a developer. [Discussed at the 8:07 mark]
  • Take a deep breath … Apple is actually working on improving the dev experience. [Discussed at the 10:54 mark]

You can view the entire interview in the following video.


May 31 2012

Using Python for Computer Vision

Python is a tremendous asset when you're trying to classify images, track changes in scenes, search for items within images, implement augmented reality, or do the myriad other things that fall under the umbrella of Computer Vision. In this interview, Jan Erik Solem, author of the upcoming book "Programming Computer Vision with Python," describes the uses for some common operations, and choices programmers have.

Highlights from the full video interview include:

  • The value of Python in computer vision [Discussed at the 0:24 mark]
  • Searching for images within images [Discussed at the 2:13 mark]
  • Clustering or grouping images [Discussed at the 3:22 mark]
  • Constructing a 3D scene from images [Discussed at the 6:11 mark]
  • Modeling and calibrating a camera [Discussed at the 7:22 mark]

You can view the entire conversation in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR


May 24 2012

Jon Loeliger offers some practices to use with Git

After finishing the second edition of "Version Control with Git," author Jon Loeliger talked to me about some of the advice he offers and how to use Git effectively as changes to code pile up.

Highlights from the full video interview include:

  • What's new in Git since the first edition of the book? [Discussed at the 0:38 mark]
  • Importance of understanding concepts behind Git [Discussed at the 2:40 mark]
  • How to manage complicated branching [Discussed at the 3:33 mark]
  • Aspects of Github beyond storage [Discussed at the 6:22 mark]

You can view the entire conversation in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR


May 16 2012

A federal judge learned to code

The last couple of days, there's been a fair amount of blogosphere angst over Coding Horror's "Please Don't Learn to Code." Ironically, the best argument for learning to code appeared this morning, when it turned out that Judge William Alsup in the Google case could program, and learned Java in the course of the trial, and wasn't going for Oracle's claim that a short range-checking function was days of work. Alsup recognized immediately (and says he wrote the function hundreds of times during the course of the trial) that it's just a few minutes work for a competent programmer.

The importance of learning to code isn't so that everyone will write code, and bury the world under billions of lines of badly conceived Python, Java, and Ruby. The importance of code is that it's a part of the world we live in. I've had enough of legislators who think the Internet is about tubes, who haven't the slightest idea about legitimate uses for file transfer utilities, and no concept at all about what privacy (and the invasion of privacy) might mean in an online space. I've had enough of patent inspectors who approve patents for which prior art has existed for decades. And I've had enough of judges making rulings after listening to lawyers arguing about technologies they don't understand. Learning to code won't solve these problems, but coding does force engagement with technology on a level other than pure ignorance.

Coding is a part of cultural competence, even if you never do it professionally. Alsup is a modern hero.

April 27 2012

Top Stories: April 23-27, 2012

Here's a look at the top stories published across O'Reilly sites this week.

Design your website for a graceful fail
A failure in secondary content doesn't need to take down an entire website. Here, Etsy's Mike Brittain explains how to build resilience into UIs and allow for graceful failures.

Big data in Europe
European application of big data is ramping up, but its spread is different from the patterns seen in the U.S. In this interview, Big Data Week organizers Stewart Townsend and Carlos Somohano share the key distinctions and opportunities associated with Europe's data scene.

The rewards of simple code
Simple code is born from planning, discipline and grinding work. But as author Max Kanat-Alexander notes in this interview, the benefits of simple code are worth the considerable effort it requires.

Fitness for geeks
Programmers who spend 14 hours a day in front of a computer know how hard it is to step away from the cubicle. But as "Fitness for Geeks" author Bruce Perry notes in this podcast, getting fit doesn't need to be daunting.

Joshua Bixby on the business of performance
Strangeloop's Joshua Bixby discusses the business of speed and why web performance optimization is an institutional need.

Fluent Conference: JavaScript & Beyond — Explore the changing worlds of JavaScript & HTML5 at the O'Reilly Fluent Conference, May 29 - 31 in San Francisco. Save 20% on registration with the code RADAR20.

June 23 2011

Scale your JavaScript, scale your team

Building JavaScript applications that will scale smoothly can be challenging — in terms of design, in terms of technology, and in terms of handling large teams of developers with lots of hands in the code. In the following interview, "High Performance JavaScript" author and OSCON speaker Nicholas Zakas discusses the issues that pop up when you build big JavaScript apps with big teams.

What are some of the challenges attached to building large-scale JavaScript apps with a large team?

Nicholas ZakasNicholas Zakas: The biggest challenge is making sure everyone is on the same page. In a lot of ways, you want the entire team to work as a single engineer, meaning that every engineer needs to be committed to doing things the same way. Code conventions are vitally important, as are code reviews, to make sure everyone understands not only their role but the roles of everyone else on the team. At any point in time, you want any engineer to be able to step in and pick up another engineer's work without needing to figure out his or her personal style first.

How do you design an app that balances responsiveness and structure?

Nicholas Zakas: As they say, the first step in solving a problem is admitting you have one. The key is to acknowledge from the start that you have no idea how this will grow. When you accept that you don't know everything, you begin to design the system defensively. You identify the key areas that may change, which often is very easy when you put a little bit of time into it. For instance, you should expect that any part of the app that communicates with another system will likely change, so you need to abstract that away. You should spend most of your time thinking about interfaces rather than implementations.

OSCON JavaScript and HTML5 Track — Discover the new power offered by HTML5, and understand JavaScript's imminent colonization of server-side technology.

Save 20% on registration with the code OS11RAD

What are the challenges specific to JavaScript?

Nicholas Zakas: The "shared everything" nature of the language is the biggest JavaScript challenge. You can set up a system that is well designed, and an inexperienced engineer might come in and — accidentally or not — change some key piece of functionality. ECMAScript 5 helps with some of that by allowing you to lock down modification of objects, but the nature of the language remains largely the same and problematic.

Do lessons applicable to large teams also apply to smaller teams?

Nicholas Zakas: Small teams still need to build scalable solutions because hopefully, one day, the team will grow larger. Your system should work for any number of engineers. The proof of a good design is being able to move seamlessly from five engineers to 10 and then more without needing to fundamentally change the design.

This interview was edited and condensed.

Associated photo on home and category pages: Scaffolding: Not just for construction workers anymore by kevindooley, on Flickr


May 10 2011

Process kills developer passion

The other day, at lunch, I had a bit of an epiphany. I also had the pulled pork, but that's another story. In any event, something came into clarity that had been bothering me below the surface for a long time.

Over the past few years, the software industry has become increasingly focused on process and metrics as a way to ensure "quality" code. If you were to follow all the best practices now, you would be:

  • Doing full TDD, writing your tests before you wrote any implementing code.
  • Requiring some arbitrary percentage of code coverage before check-in.
  • Having full code reviews on all check-ins.
  • Using tools like Coverity to generate code complexity numbers and requiring developers to refactor code that has too high a complexity rating.

In addition, if your company has drunk the Scrum Kool-Aid, you would also be spending your days:

  • Generating headlines, stories and tasks.
  • Grooming stories before each sprint
  • Sitting through planning sessions.
  • Tracking your time to generate burn-down charts for management.

In short, you're spending a lot of your time on process, and less and less actually coding the applications. I've worked on some projects where the test cases took two- or three-times as much time to code as the actual code, or where having to shoehorn in shims to make unit tests work has reduced the readability of the code. I've also seen examples of developers having to game the tools to get their line coverage or code complexity numbers to meet targets.

The underlying feedback loop making this progressively worse is that passionate programmers write great code, but process kills passion. Disaffected programmers write poor code, and poor code makes management add more process in an attempt to "make" their programmers write good code. That just makes morale worse, and so on.

OSCON 2011 — Join today’s open source innovators, builders, and pioneers July 25-29 as they gather at the Oregon Convention Center in Portland, Ore.

Save 20% on registration with the code OS11RAD

Now, I'm certainly not advocating some kind of Wild-West approach where nothing is tested, developers code what they want regardless of schedule, etc. But the blind application of process best practices across all development is turning what should be a creative process into chartered accountancy with a side of prison. While every one of these hoops looks good in isolation (except perhaps Scrum ...), making developers jump through all of them will demoralize even the most passionate geek.

I don't have a magic bullet here, but companies need to start acknowledging that there is a qualitative difference between developers. Making all of them wear the same weighted yokes to ensure the least among them doesn't screw up is detrimental to overall morale and efficiency of the whole.

Now, this may sound a little arrogant: "I'm an experienced developer, I don't need any of these new-fangled practices to make my code good." But, for example, maybe junior (or specialized) developers should be writing the unit tests, leaving the more seasoned developers free to concentrate on the actual implementation of the application. Maybe you don't need to micro-manage them with daily updates to VersionOne to make sure they're going to make their sprint commitments. Perhaps an over-the-shoulder code review would be preferable to a formal code review process.

And as an aside, if you're going to say you're practicing agile development, then practice agile development! A project where you decide before you start a product cycle the features that must be in the product, the ship date, and the assigned resources is a waterfall project. Using terms like "stories" and "sprints" just adds a crunchy agile shell, and it's madness to think anything else. And frankly, this is what has led to the entire Scrum/burndown chart mentality, because development teams aren't given the flexibility to "ship what's ready, when it's ready."

Unless the problems I'm talking about are addressed, I fear that the process/passion negative feedback loop is going to continue to drag otherwise engaged developers down into a morass of meetings and metrics-gaming.

September 08 2010

Civic Commons code-sharing initiative bids to reduce government IT costs

Civic CommonsAround the United States, city governments have created a multitude of software. Unfortunately, most of the time the code from those projects is not shared between municipalities, which results in duplication of effort and redundant, static software.

Civic Commons, launched today at the Gov 2.0 Summit in Washington, is aimed squarely at helping city governments share the software they've developed. Civic Commons is the product of the District of Columbia's Office of the Chief Technology Officer (OCTO), Code for America and OpenPlans.

"In the District of Columbia alone, we have a large set of applications that other governments may find very useful," said District CTO Bryan Sivak. The OCTO will be adding multiple applications into the "commons," including a data warehouse application, a new agency performance management application, TrackDC, and numerous GIS applications. "Not only will other jurisdictions benefit from the public release of these applications, we will benefit from external individuals and organizations contributing to the code base and sharing exciting and innovative applications they have created," Sivak said.

At launch, CivicCommons will catalogue existing projects like the DC App Store and the Federal IT Dashboard. As the blog post introducing Civic Commons explains:

The long-term goal is to develop the app catalog into an open 'Civic Stack' -- a streamlined collection of software that cities can use to run core services. The stack will have open data and APIs like Open311 to encourage development and innovation, and so allow any developer to create a solution that'll make life better for citizens anywhere.

You can read more about Civic Commons at And, if you happen to be online around 1:50 PM EST, you can tune in to the livestream for Gov 2.0 Summit to watch the launch announcement. For more perspective on open source and open government, you can also watch the video of DC CTO Bryan Sivak from the 2010 OSCON Conference below:


Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!