"software development" entries

Four short links: 4 November 2015

Four short links: 4 November 2015

Data Dashboard, Feature Flags, Email Replies, and Invisible Bias

  1. re:dash — open source query editor, visualisations, dashboard for data from all sorts of databases (SQL, ElasticSearch, etc.)
  2. Feature-Flag-Driven Development — one of the key pieces of modern development systems.
  3. Gmail Suggesting RepliesIn developing Smart Reply, we adhered to the same rigorous user privacy standards we’ve always held — in other words, no humans reading your email. This means researchers have to get machine learning to work on a data set that they themselves cannot read, which is a little like trying to solve a puzzle while blindfolded — but a challenge makes it more interesting!
  4. The Selective Laziness of ReasoningAmong those participants who accepted the manipulation and thus thought they were evaluating someone else’s argument, more than half (56% and 58%) rejected the arguments that were in fact their own. Moreover, participants were more likely to reject their own arguments for invalid than for valid answers. This demonstrates that people are more critical of other people’s arguments than of their own, without being overly critical: They are better able to tell valid from invalid arguments when the arguments are someone else’s rather than their own.
Four short links: 14 April 2015

Four short links: 14 April 2015

Technical Debt, A/A Testing, NSA's Latest, and John von Neumann

  1. Pycon 2015: Technical Debt, The Monster in Your Closet (YouTube) — excellent talk from PyCon. See also slides.
  2. A/A TestingIn an A/A test, you run a test using the exact same options for both “variants” in your test. That’s right, there’s no difference between “A” and “B” in an A/A test. It sounds stupid, until you see the “results.” (via Nelson Minar)
  3. NSA Declares War on General-Purpose Computing (BoingBoing) — NSA director Michael S Rogers says his agency wants “front doors” to all cryptography used in the USA, so that no one can have secrets it can’t spy on — but what he really means is that he wants to be in charge of which software can run on any general purpose computer.
  4. John von Neumann Documentary (YouTube) — 1966 documentary from the American Mathematical Association on the father of digital computing, who also is hailed as the father of game theory and much much more. (via Paul Walker)

Resume Driven Development

Before you ask HR to find a developer skilled in a particular tool or language, think about who you really want in that seat.

Crossed_Wires_Howard_Lake_Flickr

I had a conversation recently with Martin Thompson (@mjpt777), a London-based developer who specializes in performance and low-latency systems. I learned about Martin through Kevlin Henney’s Tweets about his recent talk at Goto Aarhus.

We talked about a disturbing trend in software development: Resume Driven Development, or RDD. Resume Driven Development happens when your group needs to hire a developer. It’s very hard to tell a non-technical HR person that you need someone who can make good decisions about software architecture, someone who knows the difference between clean code and messy code, and someone who’s able to look at a code base and see what’s unnecessary and what can be simplified. We frequently can’t do that ourselves. So management says, “oh, we just added Redis to the application, so we’ll need a Redis developer.” That’s great — it’s easy to throw out resumes that don’t say Redis; it’s easy to look for certifications; and sooner or later, you have a Redis developer at a desk. Maybe even a good one.

And what does your Redis developer do? He does Redis, of course. So, you’re bound to have an application with a lot of Redis in it. Whenever he sees a problem that can be solved with Redis, that’s what he’ll do. It’s what you hired him for. You’re happy; he’s happy. Except your application is now being optimized to fit the resumes of the people you hired, not the requirements of your users. Read more…

How to be agile with your big data

Agile methodology brings flexibility to the EDW and offers ways to integrate open-source technologies with existing systems.

Data analysis, like other pursuits, is a balancing act. The rise of big data ratchets up the pressure on the traditional enterprise data warehouse (EDW) and associated software tools to handle rapidly evolving sets of new demands posed by the business. Companies want their EDW systems to be more flexible and more user friendly — without sacrificing processing speeds, data integrity, or overall reliability.

“The more data you give the business, the more questions they will ask,” says José Carlos Eiras, who has served as CIO at Kraft Foods, Philip Morris, General Motors, and DHL. “When you have big data, you have a lot of different questions, and suddenly you need an enterprise data warehouse that is very flexible.”

EDWs are remarkably powerful, but it takes considerable expertise and creativity to modify them on the fly. Adding new capabilities to the EDW generally requires significant investments of time and money. You can develop your own tools internally or purchase them from a vendor, but either way, it’s a hard slog. Read more…

That thing looks like hardware, but it’s software now

Building great software on time is at the heart of more and more "hardware" projects.

X-35A_JSF

The X-35A JSF performs flight tests at Edwards Air Force Base, California. Photo: Wikimedia Commons.

I saw this piece in the U.S. Naval Institute News today that notes software delays could translate into less effective Joint Strike Fighters. (It’s based on the GAO’s report that can be found here.) I also read somewhere that the biggest difference between versions used by our domestic armed forces and those sold overseas would be their software load.

I think what’s most interesting about this story is that when we look at an airplane we tend to see a physical thing. We see airfoils, materials, and hard sciences animated and airborne, but a growing proportion of the “thingness” of these machines is happening in software — software that makes it fly and software that connects it with all the other things on the battlefield, to share information and fight as one organism.

This airplane will require approximately eight million lines of code on board to run mission systems and flight sciences. I’m guessing flight sciences code will be the same for the U.S. and its partner / buyers, but I’m not sure. Given that the aircraft is flying but not operational, one could hazard a guess that the flight sciences code is coming along faster than the mission stuff with all its complex real-time target fusion stuff going on. And the mission code is the really interesting part. It’s what makes a single aircraft part of a bigger whole. It’s analogous to what makes the Nest more than just your typical thermostat, but much, much more. Read more…

Is Valve’s SteamBox a contender for the next developer workstation?

Valve might be positioned to do to Macintosh hardware what the Mac did to the PC market over a decade ago.

A scenario started playing through my head the other day. In the late 1990s, Apple looked dead. Then they released OS X, plus very cool shiny hardware. That put Apple back in the game and gave them the life they needed to bring about the iPod, etc. Apple’s revival didn’t come from iPods and iPhones; it came because they made a deep connection to the software developers. In 2000, if you went to a developer conference, everyone was carrying some kind of PC laptop, probably running some version of Windows, possibly Linux. But almost overnight that changed, and it changed completely. By 2003, any self-respecting developer was carrying a MacBook, preferably the one the size of a small aircraft carrier. Apple did an undeniably brilliant job of growing this beachhead among the developer community into a dominant brand. Everyone wanted what the cool kids had. Apple had a winning product: they had the most beautiful version of Unix ever, with a user interface that beat anything that had ever appeared on Linux or Windows.

But now, Apple is looking more and more hostile to the developer community that enabled their revival. OS X is evolving into a slightly more capable version of iOS, and we’re all dreading the day when the only way we can compile and install our own software is by using Apple’s proprietary tools and going through the App Store. If you look closely at Apple’s work, it’s clear where they’re putting the effort: there’s a race condition in basic text editing (TextEdit, Mail, etc.) that’s been around since at least OS X 10.6, and I suspect goes all the way back to 10.1. It’s not something arcane that only crops up in strange circumstances; I run into it every day (and on several different machines). And that’s only the start.

I know loads of developers who are saying, “yeah, I’m assuming I’ll be off Apple in a few years.” But that’s a problem: it’s one thing to talk about leaving Apple; it’s something completely different to know where you’re going. Read more…

Sprinting toward the future of Jamaica

Open data is fundamental to democratic governance and development, say Jamaican officials and academics.

Creating the conditions for startups to form is now a policy imperative for governments around the world, as Julian Jay Robinson, minister of state in Jamaica’s Ministry of Science, Technology, Energy and Mining, reminded the attendees at the “Developing the Caribbean” conference last week in Kingston, Jamaica.

photo-22

Robinson said Jamaica is working on deploying wireless broadband access, securing networks and stimulating tech entrepreneurship around the island, a set of priorities that would have sounded of the moment in Washington, Paris, Hong Kong or Bangalore. He also described open access and open data as fundamental parts of democratic governance, explicitly aligning the release of public data with economic development and anti-corruption efforts. Robinson also pledged to help ensure that Jamaica’s open data efforts would be successful, offering a key ally within government to members of civil society.

The interest in adding technical ability and capacity around the Caribbean was sparked by other efforts around the world, particularly Kenya’s open government data efforts. That’s what led the organizers to invite Paul Kukubo to speak about Kenya’s experience, which Robinson noted might be more relevant to Jamaica than that of the global north. Read more…

Q&A with Developer Who Turns Ebooks into iPhone Applications

Tom Peck transforms ebooks into individual iPhone applications. In this Q&A, Peck discusses his development process and consumer response.

News Roundup: iPhone Apps Developer Shocked by Windfall, Author Reaps Rewards of Web Openness, Comcast Buys Web Publisher for $125 Million

iPhone Apps Developer "Shell Shocked" by Outsized Payday Seth Weintraub over at 9to5Mac reports on the outsized success of at least one iPhone Apps developer, Eliza Block, who’s now earning an unexpected $2,000 a day from her crossword puzzle app, 2Across. Noteworthy certainly, but also instructive about the platform Apple has created for what can certainly be called "self…

Open Question: Should Publishers Develop Software Apps?

The debate around publishers' response to the new iPhone brings up an interesting question: should publishers develop their own software? Please share your thoughts.