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

May 07 2012

Four short links: 7 May 2012

  1. Liquid Feedback -- MIT-licensed voting software from the Pirate Party. See this Spiegel Online piece about how it is used for more details. (via Tim O'Reilly)
  2. Putting Gestures Into Objects (Ars Technica) -- Disney and CMU have a system called Touché, where objects can tell whether they're being clasped, swiped, pinched, etc. and by how many fingers. (via BoingBoing)
  3. Real-time Facebook 'likes' Displayed On Brazilian Fashion Retailer's Clothes Racks (The Verge) -- each hanger has a digital counter reflecting the number of likes.
  4. Foldit Games Next Play: Crowdsourcing Better Drug Design (Nature Blogs) -- “We’ve moved beyond just determining structures in nature,” Cooper, who is based at the University of Washington’s Center for Game Science in Seattle, told Nature Medicine. “We’re able to use the game to design brand new therapeutic enzymes.” He says players are now working on the ground-up design of a protein that would act as an inhibitor of the influenza A virus, and he expects to expand the drug development uses of the game to small molecule design within the next year.

Wochenrückblick: Softwarefunktionen, ACTA, Plagiatsverdacht

Reine Programmfunktionen in Software sind nach einem EuGH-Urteil nicht vom Urheberrecht geschützt, EU-Kommissarin Kroes erklärt ACTA für erledigt, e

Weiterlesen

May 02 2012

The UK's battle for open standards

Many of you are probably not aware, but there is an ongoing battle within the U.K. that will shape the future of the U.K. tech industry. It's all about open standards.

Last year, the Cabinet Office ran a consultation on open standards covering 970 CIOs and academics. The result of this consultation was a policy (PDF) in favour of royalty-free (RF) open standards in the U.K. I'm not going to go through the benefits of open standards in this space, other than to note that they are essential for the U.K.'s future competitive position, for spurring on innovation and creating a level playing field within the tech field. For those who wish to read more on this subject, Mark Thompson, the only academic I know to have published a paper on open standards in a quality peer reviewed journal, has provided an excellent overview.

Normally, I put these battles into an historical context, and I certainly have a plethora of examples of past industries attempting to lobby against future change. However, to keep this short I'll simply note that the incumbent industry has reacted to the Cabinet Office policy with attempts to redefine open standards to include non-open FRAND (fair, reasonable and non discriminatory) licenses and portray some sort of legitimate debate of RF versus FRAND, which doesn't exist.

Whilst this is clearly wrong and underhanded, there's another story I wish to focus on. It relates to the accusations that the meetings have been filled with "spokespeople for big vendors to argue in favour of paid-for software, specifically giving advocates of FRAND the chance to argue that free software on RF terms would be a bad thing" as reported by TechWeek Europe.

The back story is that since the Government policy on open standards was put in place, the Cabinet Office was pressured into a u-turn and running another consultation by various standards bodies and other vested interests. The arguments used were either fortuitous misunderstandings of the policy or willful misinformation in favour of current business interests. The Cabinet Office then appeared to relent to the pressure and undertake a second set of consultations. What happened next shows the sorry behaviour of lobbyists in our industry.

"Software patent heavyweights piled into the first public meeting," filling the room with unrepresentative views backed up by vendors flying in senior individuals from the U.S. It apparently seems that the chair of the roundtable was himself a paid lobbyist working on behalf of those vested interests, a fact that he forgot to mention to the Cabinet Office. Microsoft has now been "accused of trying to secretly influence government consultation."

What's surprising is that the majority of this had been uncovered by two journalists — Mark Ballard at Computer Weekly and Glyn Moody — who work mainly outside the mainstream media. In fact, the mainstream media has remained silent on the issue, with the notable exception of The Guardian.

The end result of the work of these two journalists is that the Cabinet Office has had to extend the consultation and, as noted by The Guardian, "rerun one of its discussion roundtables after it found that an independent facilitator of one of its discussions was simultaneously advising Microsoft on the consultation."

So, we have two plucky journalists who stand alone uncovering large corporations that are bullying Government to protect profits worth hundreds of millions. Our heroes' journey uncovers gerrymandering, skullduggery, rampant conflicts of interests, dubious ethics and a host of other sordid details and ... hold on, this sounds like a Hollywood script, not real life. Why on earth isn't mainstream media all over this, especially given the leaked Bell Pottinger memo on exploiting citizen initiatives?

The silence makes me wonder whether investigative journalism into things that might matter and might make a positive difference doesn't sell much advertising? Would it help if the open standards battle had celebrity endorsement? Alas, that's not the case and the battle for open standards might have been extended, but it is still ongoing. This issue is as important to the U.K. as SOPA / PIPA were to the U.S., but rather than fighting against a Government trying to do something that harms the growth of future industry, we are fighting with a Government trying to do the right thing and benefit a nation.

If you're too busy to help, that's understandable, but don't ever grumble about why the U.K. Government doesn't do more to support open standards and open source. The U.K. Government is trying to make a difference. It's trying to fight a good fight against a huge and well-funded lobby, but it needs you to turn up.

The battle for open standards needs help, so get involved.

Related:

April 30 2012

Wochenrückblick: Usedsoft, Vorratsdaten, Informationsfreiheit

Im Streit um Gebrauchtsoftware plädiert der EuGH-Generalanwalt für Wiederverkauf, die EU-Frist zur Vorratsdaten-Einführung ist abgelaufen, Informati

Weiterlesen

April 26 2012

Four short links: 26 April 2012

  1. Apollo Software -- amazing collection of source code to the software behind the Apollo mission. And memos, and quick references, and operations plans, and .... Just another reminder that the software itself is generally dwarfed by its operation.
  2. flickrapi.js (Github) -- Aaron Straup Cope's Javascript library for Flickr.
  3. t (Github) -- command-line power-tool for Twitter.
  4. Habits of Mind (PDF) -- Much more important than specific mathematical results are the habits of mind used by the people who create those results,and we envision a curriculum that elevates the methods by which mathematics is created,the techniques used by researchers,to a status equal to that enjoyed by the results of that research. Loved it: talks about the habits and mindsets of mathematicians, rather than the set of algorithms and postulates students must be able to recall. (via Dan Meyer)

April 23 2012

The rewards of simple code

Based on his experiences as chief architect on the Bugzilla Project and his current employment at Google as a software engineer, Max Kanat-Alexander (@mkanat) has formulated a method and philosophy for designing effective code that is, at its core, all about simplicity. He wrote a book about these ideas, "Code Simplicity," in which he explains how developers can optimize the structural plans for their software projects.

In the following interview, Kanat-Alexander discusses the negative factors that can lead to messy code and why a large number of developers on a project doesn't have to undermine the quality of software design.

What are the factors that lead to "non-simple" code?

Max Kanat-Alexander: When I look over all the projects that I've worked on, everything I've read in the field of software development, and all my experiences interviewing developers over the years, most of the non-simple code I see results entirely from human factors. Some people say that the tools are making their lives hard — and they often are — but, ultimately, complexity comes down to whether or not the developer writing the code has a deep understanding of both the specifics of his or her job and the fundamental principles of software development.

It's those fundamental principles of development that I'm working toward with this book. You know how sometimes a senior developer just knows what they're supposed to do, but they can't really explain why to other people? Partially, that's what brings us so much non-simple code in the world, because we can't pass down that knowledge effectively to less senior developers. That's one part of what the book is here to solve: boiling down all of that knowledge and experience into broad, solid truths that anybody can immediately understand just by reading them.

But there's even stuff that senior developers forget or simply don't know. When you're relying entirely on experience to teach people, they're not all going to have the same experiences. So there's been no guarantee that a developer will ever get all the basic principles they need to be a truly excellent programmer.

How does the number of developers involved in a software project affect the code's simplicity?

Max Kanat-Alexander: There's the famous quote from "The Mythical Man-Month" that adding developers to a late project makes it later. Complexity is the primary reason for that. But a project doesn't have to be complex just because it has several developers on it.

It's true that adding new people is going to introduce some complexity, so you should be prepared for that. You'll want to make sure you have a solid foundation of simplicity in your existing system before you start throwing lots of new people at it, and you can't throw them at it faster than that foundation will support. Otherwise, the new folks will develop complexity into it.

But there's no grand rule that says "a project must be complex if it has X developers." Theoretically, with the right development practices and the right design of your system, you could have a nearly infinite number of people working on one system and still prevent complexity. I think your work might slow down enormously due to all the communication that was going back and forth, but the system could be kept simple if you all really worked at it.

I'm in favor of small teams, myself, but that doesn't mean it's impossible to build simple systems with large teams. It's just much harder than doing it with small teams, and it's probably going to happen at a much slower pace.

So, to answer your question, having lots of people doesn't naturally lend itself to complexity, but in the practical world of everyday programming, it sure makes it harder to keep things simple.

What is the wrong way to code?

Max Kanat-Alexander: The wrong way would be to write software without understanding it. The right way would be to write software with as much understanding about it as you can possibly get.

The more you know about what you're doing, the better you can do it. And that's what the book is there to give you: the foundations of a science so that you can have the most important understandings there are about software development, and then build on those ideas in your mind and in your day-to-day development work.

What immediate steps can developers take to make their code simple and more efficient?

Max Kanat-Alexander: Let's talk first about the word "immediate." Most developers get into trouble with their code because they either don't plan for the future at all, or they make some sort of bad prediction about the future because they're impatient and don't want to wait for the future to arrive so they can actually see it. So, if you want to do something immediately to make your code simpler, it would be to stop thinking so immediately. Start thinking about how much work you're going to be doing maintaining the system in the future. Maybe it's worth a little, or even a lot, of work right now so that your system stays easy to maintain. I know that it's hard to refactor sometimes, and that you really just want to get that feature out there, but it's worthwhile to be a little more responsible about the state of your code base. You want to make it simpler before you start adding a bunch of new complexity with some great new feature. It's the "future you" that's going to benefit from all this, just as much as your teammates. Make "future you" happy.

So, with that in mind, we can tackle the word "efficient." If we're talking about being efficient in terms of speed that the program runs at or efficient in terms of space that something takes up, the thing you want to do first is make sure the system is simple and easy to maintain. Because even if you can optimize something now, that doesn't mean that will be the optimal solution forever. And if you add complexity to the system prematurely just to optimize something, you may not be able to keep the system running optimally over time. So, it's really simplicity that leads to long-term efficiency, even though sometimes short-term efficiency gains come from adding complexity. I'm not saying you should never optimize — you should, when it matters. But you have to understand the trade-off that you're making, and you have to think a bit about how the future's going to mess with your optimizations.

Do you have your own philosophy or set of principles about good software design?

Max Kanat-Alexander: I have this broad set of opinions about software development, and then underlying that, there's a set of hard facts that I've researched and discovered. The book focuses on those facts, with an occasional small bit of my viewpoint thrown in about those facts.

I could write several other books about my personal thoughts on software, and I'm sure there's a lot more to discover about it, too. But I thought it was more important to develop and deliver a scientific basis for software development first. Once that's done, we can start to have lots of interesting theoretical discussions about what ideas or opinions might be best.

Code Simplicity — This concise guide helps you understand the fundamentals of good software design through principles you can apply to any programming language or project.

This interview was edited and condensed.

Related:

April 16 2012

Wochenrückblick: Schultrojaner, Facebook-Pinnwand, Störerhaftung


Nach dem vorläufigen Stopp des Schultrojaners sollen dennoch Schulleiter nach Kopien suchen, erstmals wurde ein Facebook-Nutzer für ein Posting abgemahnt, der

Weiterlesen

March 30 2012

Top Stories: March 26-30, 2012

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

Designing great data products
Data scientists need a systematic design process to build increasingly sophisticated products. That's where the Drivetrain Approach comes in. (This report is also available as a free ebook.)


Five tough lessons I had to learn about health care
Despite the disappointments Andy Oram has experienced while learning about health care, he expects the system to change for the better.


A huge competitive advantage awaits bold publishers
"The Lean Startup" author Eric Ries talks about his experiences working with traditional publishing structures and how they can benefit from lean startup principles.

The Reading Glove engages senses and objects to tell a story
What if you mashed up a non-linear narrative, a tangible computing environment and a hint of a haunted house experience? You might get the Reading Glove, a novel way to experience a story.


Passwords and interviews
A candidate that forks over a social media password during an interview could become an employee that gives out a password in other situations. Employers aren't making that connection.


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.

Ambulance photo: Ambulance by plong, on Flickr

March 09 2012

Prof. Holznagel: Medienpolitik ungleich Netzpolitik, Urheberrecht reformieren

Das Urheberrechtsgesetz wird zu restriktiv ausgelegt und ist damit kaum geeignet, die Interessen der Öffentlichkeit angemessen abzubilden. Zu diesem Ergebnis kommen die beiden Münsteraner Rechtswissenschaftler Prof. Dr. Bernd Holznagel, Direktor des dortigen Instituts für Informations-, Telekommunikations- und Medienrecht, sowie sein Kollege Dr. Pascal Schumacher.

In ihrem Blog “digital constitution” haben sie einen spannenden Beitrag veröffentlicht, der auch in der Zeitschrift Funkkorrespondenz erschienen ist. In diesem schildern die beiden Autoren, wie eine zeitgemäße Medienordnung aussehen könnte. Sie berücksichtigen dabei den grundlegenden Strukturwandel der Medien durch das Internet, der eine klare Trennung von Medien- und Netzpolitik zur Folge hat. Ziel der Neuordnung muss laut den Autoren die Ausbalancierung dieser beiden gegensätzlichen Bewegungen sein. Dabei behandeln sie in einem Abschnitt ihres Artikels auch den Bereich des Urheberrechts.

Kritik üben Prof. Dr. Bernd Holznagel und Dr. Pascal Schumacher vor allem an der Ausgestaltung des Urheberrecht in seiner jetzigen Form. Besonders die Interessen der Nutzer würden dabei nicht ausreichend berücksichtigt. Grund dafür sei die dominierende Rolle der Verwertungsindustrie in der Medienlandschaft. Als besondere Konfliktfelder nennen die Rechtswissenschaftler die Ausweitung des Schutzumfanges auf Software und Datenbanken, das Rechte-Buyout bei Urhebern durch Verlage und die Ausdehnung von Schutzfristen.

Dieser medienpolitische Zustand stehe im Konflikt zum an Bedeutung gewinnenden Politikfeld der Netzpolitik. Das Internet spiele dabei eine besondere Rolle. Durch die Möglichkeit der schnellen Interaktion untereinander, verlören klassische Medien an Bedeutung. Internet-Dienste wie Blogs, Facebook oder Twitter sind heutzutage maßgebend für die eigene Meinungsbildung. Klassische Medien können mit den Vorteilen der direkten Kommunikation und der schnellen Verbreitungsgeschwindigkeit von Nachrichten über das Internet, nicht mehr mithalten, so die Autoren.

Mumbai und New York seien dafür Musterbeispiele. Via Twitter informierten Augenzeugen die Weltöffentlichkeit über den Terroranschlag von Mumbai am 26.11.2008 und die Notlandung eines Airbus auf dem Hudson River in New York im Januar 2009. Bevor auch nur die erste Nachrichten-Agentur über einen der beiden Vorfälle berichtete, gab es schon Tausende von Tweets auf Twitter, die erste Fotos und Videos von den Ereignissen zeigten.

Die technischen Möglichkeiten der Digitalisierung, verändern nicht nur unsere Verhaltensweisen, sondern auch die Bedingungen und Voraussetzungen, in denen das Urheberrecht in unserer Gesellschaft wirkt. Die Folge ist dem Artikel nach ein Konflikt der Netzpolitik mit der Medienpolitik, um den Schutzumfang eines moderneren Urheberrechts. Dies erkläre auch, warum die ARD und das ZDF sich für ACTA ausgesprochen haben und eine Privatisierung der Rechtsdurchsetzung fordern, wie Markus Beckedahl auf Netzpolitik.org kritisierte.

Die ARD-Vorsitzende Monika Piel, sowie ZDF-Intendant Prof. Markus Schächter und weitere Vertreter der Deutschen Content Allianz forderten in einer Pressemitteilung „die Bundesregierung gemeinsam dazu auf, das ACTA-Abkommen zum Schutz vor Internetpiraterie ohne weitere Verzögerung wie bereits beschlossen zu unterzeichnen und mit größerem Nachdruck als bisher eine zukunftsorientierte Reform des Urheberrechtes sowie dessen Schutz im digitalen Zeitalter in Angriff zu nehmen.“ Die Forderungen des öffentlichen Rundfunks sind für die meisten Netzpolitiker nicht akzeptabel, bedeutet ACTA für sie nicht den Schutz von Werken im digitalen Zeitalter, sondern die Einschränkungen der Freiheit im Internet.

Prof. Dr. Holznagel und Dr. Schumacher sind sich sicher, dass es ohne einen Dialog zwischen den beiden Parteien keine Lösung für den Konflikt geben wird. Eine Neuordnung der jetztigen Verhältnisse sei aber zwangsläufig notwendig. Ein Kompromiss scheint aber nicht zum Greifen nah zu sein. Die Proteste gegen ACTA und für ein modernes Urheberrecht, sowie die drastischen Reaktionen der Verlegerverbände auf Kritik am Koalitionsbeschluss über das Leistungsschutzrecht und Forderungen zeigen, wie verhärtet die Fronten zwischen Gegnern und Befürwortern einer Modernisierung des Urheberrechts sind.

February 27 2012

Verlegerverbände haben in Brüssel kaum Aussicht auf Erfolg

In einem Gastbeitrag für iRights.info hat die Bochumer Professorin für Wirtschaftsrecht und Mitglied der Expertengruppe des Bundesministeriums für Wirtschaft und Technologie (BMWi) zur 8. Novellierung des Kartellrechts, Dr. Andrea Lohse, den aktuellen Rückzug der Verlegerverbände BDZV und VDZ vor dem Bundeskartellamt kommentiert. In der gesamten Berichterstattung ist sie nun die erste unabhängige Stimme der Fachwelt zur Bewertung der Rücknahme des kartellrechtlichen Beschwerdeverfahrens der Verleger gegen den Suchmaschinenbetreiber Google.

In ihrer Analyse kommt sie zu dem Ergebnis, dass die Verleger unter kartellrechtlichen Gesichtspunkten gegen Google “kaum Aussicht auf Erfolg” gehabt hätten. Sie führt aus:

“Die Ansicht der Verleger, es liege ein kartellrechtlicher Ausbeutungsmissbrauch vor, weil Google die Snippets ohne Gegenleistung übernehme, ohne dass die Verlage sich dem entziehen könnten, ist – ungeachtet der sich hier stellenden schwierigen Rechtsfragen – schon in tatsächlicher Hinsicht schwer haltbar. Inzwischen können die Verleger mit dem sogenannten Robot Exclusion Protocol sehr detaillierte Vorgaben dazu machen, wie Verweise auf ihre Artikel in Google News und (unabhängig davon) in Google Web Search angezeigt werden sollen.”

Die Verleger haben die Rücknahme ihrer Beschwerde insbesondere damit begründet, dass sie sich nun auf europäischer Ebene bemühen wollten, eine europaweit einheitliche Entscheidung herbeizuführen. Nach Ansicht von Professor Lohse wird dies für die Verlage aber sehr schwierig, da auch auf europäischer Ebene keine veränderte Sachlage bestehe. Dies zeige auch der Vergleich mit Entscheidungen der europäischen Kartellbehörde aus der Vergangenheit.

Hier finden Sie den gesamten Gastbeitrag.

February 21 2012

Software in der Insolvenz: Gesetzliche Neuregelung geplant

Wenn der Softwareherstellter bzw. Lizenzgeber insolvent ist, steht der Lizenznehmer sehr oft vor dem Problem, dass er mit der Software nicht mehr weiter arbeiten kann, weil der Insolvenzverwalter den Vertrag nicht fortsetzt oder einfach die Möglichkeit fehlt, die Software weiterzuentwickeln oder Fehler zu beseitigen. Um das zu vermeiden, werden gelegentlich Escrow-Klauseln vereinbart, die dem Lizenznehmer im Fall der Insolvenz den Zugriff auf den Quellcode und den Fortbestand der Nutzungsrechte gewährleisten sollen.Die meisten dieser Lösungen funktionieren aber in der Praxis, aus unterschiedlichen Gründen, oftmals nicht.

Dem will der Gesetzgeber jetzt mit einem neuen § 108a InsO begegnen. Das BMJ hat einen Referentenentwurf eines Gesetzes “zur Verkürzung des Restschuldbefreiungsverfahrens, Stärkung der Gläubigerrechte und zur Insolvenzfestigkeit von Lizenzen” vorgelegt.

Wenn der Lizenzgeber der Schuldner des Insolvenzverfahrens ist, soll der Lizenznehmer einen Anspruch auf Abschluss eines neuen Lizenzvertrages zu angemessenen Bedingungen erhalten, sofern der Insolvenzverwalter die Erfüllung des bestehenden Lizenzvertrages abgelehnt hat. Bis zum Abschluss eines neuen Lizenzvertrages soll der Lizenznehmer das lizenzierte Recht gemäß dem bisherigen Lizenzvertrag weiter nutzen dürfen. Wenn nach Ablauf von drei Monaten noch kein neuer Lizenzvertrag abgeschlossen worden ist, bleibt die Weiternutzung allerdings nur dann zulässig, wenn eine angemessene Vergütung bezahlt wird und der Lizenznehmer den Verwalter auf Abschluss eines neuen Lizenzvertrages verklagt hat.

February 15 2012

Was darf man mit Dateien aus Online-Shops machen?

Wer Inhalte als digitalen Download kauft, muss drei Dinge beachten: Das Urheberrecht, die Nutzungsbedingungen der Anbieter und den immer noch verbreiteten Kopierschutz.

Weiterlesen

February 03 2012

Top stories: January 30-February 3, 2012

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

What is Apache Hadoop?
Apache Hadoop has been the driving force behind the growth of the big data industry. But what does it do, and why do you need all its strangely-named friends? (Related: Hadoop creator Doug Cutting on why Hadoop caught on.)

Embracing the chaos of data
Data scientists, it's time to welcome errors and uncertainty into your data projects. In this interview, Jetpac CTO Pete Warden discusses the advantages of unstructured data.

Moneyball for software engineering, part 2
A look at the "Moneyball"-style metrics and techniques managers can employ to get the most out of their software teams.

With GOV.UK, British government redefines the online government platform
A new beta .gov website in Britain is open source, mobile friendly, platform agnostic, and open for feedback.


When will Apple mainstream mobile payments?
David Sims parses the latest iPhone / near-field-communication rumors and considers the impact of Apple's (theoretical) entrance into the mobile payment space.



Strata 2012, Feb. 28-March 1 in Santa Clara, Calif., will offer three full days of hands-on data training and information-rich sessions. Strata brings together the people, tools, and technologies you need to make data work. Save 20% on Strata registration with the code RADAR20.

February 01 2012

Four short links: 1 February 2012

  1. Cycles of Invention and Commoditisation (Simon Wardley) -- Explosions of industrial creativity rarely follow the invention or discovery of a technology but instead its commoditisation i.e. it wasn't the discovery of electricity but Edison's introduction of utility services for electricity that produced the creative boom that led to recorded music, modern movies, consumer electronics and even Silicon Valley. However, utility provision of electricity did more than just create a new world, it disrupted existing industries (both directly and through reduced barriers of entry), it also allowed for new practices and methods of working to emerge and even resulted in new economic forms - such as Henry Ford's Fordism. This isn't a one off pattern. The cycle of invention/commoditisation repeats throughout our industrial history, following a surprisingly consistent pathway. Understanding this pattern is critical to anticipating the changes emerging in our industry today - whether that's the web, cloud computing or the future changes that 3D printing will bring. Simon explains the Business of the Internet in one blog post. Simon is king.
  2. Why Are Software Development Task Estimations Regularly Off By A Factor of 2 or 3? -- never a truer word spoken in parable.
  3. Using the Full-Screen API in Browsers (Mozilla) -- useful! The older I get, the more I like full-screen mode. I found myself wishing my email client had it, then someone pointed out that was called "mutt in a shell window". Fair 'nuff.
  4. File Formats in Javascript (GitHub) -- pointers to libraries for different file formats in Javascript.

January 23 2012

02mydafsoup-01

[...]

Auf dem 28C3 warnte Cory Doctorow in seinem Vortrag vor dem "kommenden Krieg gegen universelle Computer" (deutsche Transkription von Christian Wöhrl). Nach Doctorows Ansicht besteht ein massives wirtschaftliches Interesse daran, universelle Computer, die jede beliebige Software ausführen können, abzuschaffen – so, wie sich derzeit die Unterhaltungsindustrie Computer wünscht, auf denen man Filme, Musik, Bücher und Zeitschriften zwar konsumieren, aber nicht kopieren und weitergeben kann. Angesichts der fortschreitenden Computerisierung aller Lebensbereiche, spekuliert der Blogger, sei der derzeitige Kampf ums Copyright nur der Beginn einer langen Auseinandersetzung um universelle Computer.

Die aktuellen Entwicklungen, die sich im Kontext der Einführung von Windows 8 und der UEFI-Funktion Secure Boot im PC-Markt abzeichnen, lassen diese Befürchtungen durchaus berechtigt erscheinen. Mit Secure Boot, für ARM-Rechner mit Windows 8 verbindlich vorgeschrieben und auch für die x86-Welt auf der Agenda, könnte die Zeit zu Ende gehen, wo der Eigentümer eines PC selbst entscheiden kann, welches Betriebssystem und welche Software er auf seinem Rechner laufen lässt.

[...]

Die Woche: Freie Software gegen die Entmündigung der Anwender | heise open 2012-01-19

January 10 2012

Software crumple zones

Have you had an auto mechanic look at your wrecked car and sigh, "they just don't make them like they used to"?

Darn right they don't make them like they used to. Old cars were much better about surviving wrecks, but at the expense of the occupants. Modern cars might seem "flimsy" compared to old cars, but that "flimsiness" is due to highly engineered "crumple zones" that ensure that in a wreck, the car takes the energy rather than your body. Thank the gods that cars have changed.

But notice that a superficial examination of highly engineered cars makes them seem worse. They appear to fail by being so "flimsy," relative to earlier, immature designs. In reality the fact that your car is super-sensitive to outside forces is a critical safety feature.

Along similar lines, we need to recognize highly engineered health information systems and embrace features that really impact patient safety. This is true of all critical software systems, not just health IT. But health IT is a great place to find ugly-but-highly-functional software.

One constant criticism of VA VistA (and its many derivatives), which is either the most highly engineered EHR software in the world or damn close, is that it is not "user-friendly enough." Other mature solutions — Epic, et al. — get the same treatment.

Often, clinicians encounter a software process that takes five steps when they believe it should only take one. Sometimes that's clearly due to a design flaw. Sometimes, however, it's a crumple zone. Sometimes those extra "steps" exist because the software engineers had to put 50 extra workflow "paths" into a process that a clinician sees as "simple" so that they could check, and double check, for all kinds of rare cases.

The design of old cars is frozen, but the design of old software is not. Software that is continuously developed over a long period of time is the embodiment of "highly engineered."

You can understand why people like me get a little sea sick when we hear about someone releasing EHR software that runs on an iPad. That seems like a really great idea until you realize how many things they might not have thought of. It's very much like you might feel if someone told you that they were releasing a three-wheeled car. A three-wheeled car, like any iPad application, might be great, or the new engineering substrate might introduce new types of problems that neither the clinicians nor the software designers could predict. More than likely, it will be great and introduce new unforeseen errors.

Don't get me wrong — I think tablet-based interfaces to EHR systems are a great idea. But no one should be taking it for granted that an input-limited device like that will always be safe. Think of the implications of touchscreens plus bacteria/virus transfer alone! That doesn't mean it's not a great idea, but we certainly should not assume that it's a great idea.

My hat is off to the car engineers or health IT developers who suffer criticism for designs that save lives.

Meaningful Use and Beyond: A Guide for IT Staff in Health Care — Meaningful Use underlies a major federal incentives program for medical offices and hospitals that pays doctors and clinicians to move to electronic health records (EHR). This book is a rosetta stone for the IT implementer who wants to help organizations harness EHR systems.

Related:

December 11 2011

Wie mit dem “Grundstoff Wissen” umgehen? Gunter Dueck zu Open Source und Open Content

Gunter Dueck wird morgen einer der Experten bei der Anhörung mit dem Titel Veränderungsprozesse in der digitalen Wirtschafts- und Arbeitswelt der Enquete-Kommission Internet und digitale Gesellschaft sein. Seine schriftliche Stellungnahme (PDF, 1 MB) beinhaltet auch einige Absätze zu der Frage, wie mit dem “Grundstoff Wissen” umgegangen werden sollte. Hier einer davon:

Ich würde auch vorschlagen, die „Grundstoffe des Wissens“ für alle frei zur Verfügung zu stellen. Zum Beispiel: Der Staat bestellt ein Staatliches Rundfunkorchester für ein paar Jahre und lässt alle Klassikmusik einspielen – alles. (Damit soll irgendwo schon angefangen werden, habe ich gehört!) Das alles wird in einer Art Wikipedia freigegeben. Die Kirche bezahlt ein paar Chöre und lässt sie alle Lieder der Gesangbücher als Einzelstimme, im Chor und instrumental einspielen – und setzt sie frei ins Netz. Die Kliniken und Ärzte fotografieren oder filmen Kranke und setzen alles zur Lehre ins Netz („hier 500 Anschauungsfälle von Windpocken“ für noch unerfahrene Ärzte). Theater spielen alle Stücke einmal zur freien Verfügung im Netz etc. Alles, was viele ge- brauchen können, kommt frei ins Netz. Das würde die Wirtschaft ankurbeln, so wie das freie Be- nutzen der Autobahnen den Tourismus begünstigt hat. Nötige Transformationsprozesse würden erstens schneller und zweitens einheitlicher vonstattengehen, wenn alle die gleichen Werkzeuge hätten.

Neben Dueck werden teilnehmen:

  • Holger Eggerichs, lubeca e.V. projekt WOLKE
  • Frederic Hanika, Senior Vice President Head of Mergers & Acquisitions
  • Heiko Hebig, SPIEGELnet GmbH, Leiter neue Geschäftsfelder, SPIEGEL
  • Dr. Tom Kirschbaum, Mitgründer und CFO Penelope Ventures GmbH
  • Prof. Dr. Ruth Stock-Homburg, Leiterin des Fachgebiets Marketing & Personalmanagement am Fachbereich Rechts- und Wirtschaftswissenschaften der Technischen Universität Darmstadt

Die Sitzung wird ab 13 Uhr live im Parlamentsfernsehen, im Web-TV und für mobile Geräte auf m.bundestag.de übertragen.

Hier noch der Hinweis, dass man sich via enquetebeteiligung.de an der Diskussion beteiligen kann.

November 16 2011

Why embedded systems are "terrifyingly important"

Engineering embedded systems is an increasingly interesting, disruptive — and lucrative — field for designs ranging from bicycles to firearms to airplanes and beyond.

In the following interview, "Making Embedded Systems" author Elecia White (@logicalelegance) describes how she came to write a defining book on the subject, how she came to learn the practice, and why she came to realize that the future is just around the corner.

Why are embedded systems important right now?

Elecia WhiteElecia White: Embedded systems are where the software meets the physical world. As we put tiny computers into all sorts of systems (door locks, airplanes, pacemakers), how we implement the software is truly, terrifyingly important. Writing software for these things is more difficult than computer software because the systems have so few resources. Instead of building better software, the trend has been to allow a cowboy mentality of just getting it done. We can do better than that. We must do better than that.

What made you write the book?

Elecia White: Years ago at a conference, I sat with several academics as they discussed how to draw more women into advanced computer science (CS) degrees. As I was the only non-Ph.D at the table, they tried out their ideas on me. However, nothing could stand up to the education (and fun) I'd had in my career: making a gunshot location, building DNA scanners, seeing my toys on Target's shelves, and working on race cars. I had seen how projects worked, done some hard math, published some neat papers, and written a few patents. When I said all of this, one of the professors said it sounded like I had a Ph.D. and all I needed was to write a dissertation. My book represents the things I've discovered on my path through embedded systems.

Can you expand on some of your past projects?

Elecia White: People often think that writing software means staring at a computer screen all day. I've seldom found that to be the case with embedded software. Sure, I do get to program code. But there is also hardware, so I get to spend time making the software work on the board as it senses and/or changes its environment. The system is typically in something else (like an inertial measurement device in a race car), so I often get to see how application meets the road.

As an embedded software engineer, I am often in the middle of the system, working closely with both application software and hardware engineers. I get a unique perspective of the whole product. I work with electrical, mechanical, and application software engineers to create a complete system. It makes for a fun, interactive job.

One of my favorite jobs was at Leapfrog, making educational toys. There is more to it than writing software that says, "C is for cat." The software controls the game play, getting inputs from buttons and playing the correct audio. However, if the same responses happen to the same inputs each time, the interaction is awkward. Then we got to add touchpads, motors, screens, and RFID tags to make each toy an interesting, unique product. There — and in the book — I have enjoyed thinking about how to make something fun as well as educational.

Making Embedded Systems — Written by Elecia White, an expert who's created embedded systems ranging from urban surveillance and DNA scanners to children's toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.

Was being an embedded software engineer even a job when you began?

Elecia White: My degree was a combination of applied CS and theoretical systems engineering. I was just shy of double majoring and designed my degree because those two seemingly different fields interested me. It ended up being the perfect embedded systems major, giving me plenty of software engineering experience as well as a little bit of electrical engineering.

I started my career doing pure software. It was a job, and it paid well. I was kind of bored, but I kept getting deeper into the operating system, writing drivers and getting closer to the hardware. Then I was hired to work on a DNA scanner at Hewlett-Packard (at a division that is now part of Agilent). The manager there was so excited to introduce me to his embedded software team, and he was right. The first time a motor moved because of my software, I was completely hooked. My software could touch the physical world.

However, I was ignorant of electrical engineering. I had no common sense where handling boards was concerned. I could barely read a schematic and then only the analog parts, laboriously working out equations I hadn't used since college (and didn't really need to write the software). I didn't understand how to read a datasheet without getting buried in minutiae. And despite my enjoyment of pyrotechnics, there is something quite horrifying about destroying valuable equipment. (Always know where the fire extinguisher is!) I was extremely fortunate to have some hardware engineers who were willing to be patient with the new kid. Without their support and friendship, it would have been far easier to return to pure software and into the very interesting biomedical software the company was also working on.

Without naming names, can you give some examples of bad embedded systems?

Elecia White: Embedded system software is a cross-disciplinary field, requiring an engineer to have the attributes of both a hardware engineer and a software engineer. However, most of us come at it from computer science or electrical engineering, so we have to learn the other half of the job on the fly. It makes for some interesting compromises.

I was at a company with really smart people who could do amazing things with their algorithm. But they didn't know how to use version control, copying the code to a new directory each time it was modified, proliferating different code bases for various clients. As a software engineer, that memory makes me cringe, but I've seen it more than once.

At one neat little company, when the hardware came back, they couldn't figure out why it didn't work. The board had noise in the data acquisition system. But nothing was built into the software (or hardware) to let them see the data directly. Weeks were spent trying to figure out how the algorithms were broken when they were correct; it was just a simple error on the board. A little bit of good embedded software would have verified the peripherals as soon as the board came back. A better design would have let them record the acquired data so they could see the errors.

The real world is a harsh place. Often, systems will work in a lab, but when they get into the wild, things go wrong. But for one outdoor system, the salt fogs of Boston ate away the electromechanics, leaving only a rusted shell. Needless to say, the software didn't perform as well as it had in sunny, dry Los Angeles.

What's on the horizon for embedded systems?

Elecia White: Jewelry that monitors vital signs. Credit cards that only work when we touch them. Smart dust and nanobots. Personalized learning. Self-driving cars. Science fiction isn't so far away from fact.

Imagine 1991, 20 years ago: almost no one had a cell phone; we used Walkmans (and cassettes!) to listen to music; the Internet was tiny and text-based. A lucky few had big desktop computers, game-playing consoles, or electric typewriters.

No one can deny that computers — and the Internet — have changed the world. But there are lots of things we don't have: flying cars, robot butlers, faster-than-light travel, transporter beams, and cities on the moon. This doesn't feel like the future I signed up for! But if you are one of the more than 100 million people with an iPhone, you have more computing power in your pocket than any 1991-era computer, at a 10th of the cost.

If this is progress, what will 2031 be like? The very goal of embedded systems is to distribute the intelligence from a centralized computer to a smaller widget that can live in your home, on a satellite, in a car, or in your pocket. If a big desktop computer from 2011 can fit in our 2031 pockets, does that mean our smartphones will fit into an earring or disposable microdot?

We may not have our cities on the moon yet, but what we have is amazing. And it just keeps getting better. Who really needs a robot butler to make coffee when you can already buy one that does the far more useful job of cleaning the floors?

This piece was assembled from two separate interviews. The Q&A was condensed and edited.

Related:

November 01 2011

Four short links: 1 November 2011

  1. Things Turbo Pascal is Smaller Than -- next time you're bragging about your efficient code, spare a thought for the Pascal IDE and compiler that lived in 39,731 bytes. This list of more bloated things is hilarious.
  2. The China Startup Report (Slideshare) -- interesting to see the low salary comes with expectation of bonuses but little interest in equity (as there are few exits other than IPO, for reasons the presentation goes into).
  3. Shape Method -- fun HTML5 challenge that will also expand your appreciation of fonts.
  4. Open Source All The Things! -- SparkFun looking aggressively for things to "open source" from their business. I have a lot of time for companies that contribute to the commons above and beyond their legally-mandated minimum, particularly those who aren't just dumping their unwanted junk there. Google does this well, Facebook is learning. Good on ya, SparkFun.

October 28 2011

Four short links: 28 October 2011

  1. Open Access Week -- a global event promoting Open Access as a new norm in scholarship and research.
  2. The Copiale Cipher -- cracking a historical code with computers. Details in the paper: The book describes the initiation of "DER CANDIDAT" into a secret society, some functions of which are encoded with logograms. (via Discover Magazine)
  3. Coordino -- open source Quota-like question-and-answer software. (via Smashing Magazine)
  4. Baroque.me -- visualization of the first prelude from the first Cello Suite by Bach. Music is notoriously difficult to visualize (Disney's Fantasia is the earliest attempt that I know of) as there is so much it's possible to capture. (via Andy Baio)

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!

Schweinderl