Nice work New York Times.
Category Archives: Coding, Software Engineering, Computer Science
Irfan Essa: “We’re talking about a new breed of people”
Miller-McCune: Deep Throat Meets Data Mining: In the nick of time, the digital revolution comes to democracy’s rescue. And, perhaps, journalism’s.:
Investigative reporters have long used computers to sort and search databases in pursuit of their stories. Investigative Reporters and Editors and its National Institute for Computer-Assisted Reporting, for example, hold regular computer-assisted reporting training sessions around the country. And the country’s major journalism schools all deal in some way with computer-enhanced journalism. The emerging academic/professional field of computational journalism, however, might be thought of as a step beyond computer-assisted reporting, an attempt to combine the fields of information technology and journalism and thereby respond to the enormous changes in information availability and quality wrought by the digital revolution.
I would be remiss to write about computational journalism and not mention Irfan Essa, a professor in the School of Interactive Computing of the College of Computing at the Georgia Institute of Technology, who teaches a class in computational journalism and is often credited with coining the term. He says both journalism and information technology are concerned, as disciplines, with information quality and reliability, and he views the new field as a way to bring technologists and journalists together so they can create new computing tools that further the traditional aims of journalism. In the end, such collaboration may even wind up spawning a new participant in the public conversation.
“We’re talking about a new breed of people,” Essa says, “who are midway between technologists and journalists.”
The Monty Hall Problem in Ruby and Python
Antonio Cangiano, Software Engineer & Technical Evangelist at IBM: Monte Carlo simulation of the Monty Hall Problem in Ruby and Python.
YouTube: “21” explains the Monty Hall problem
Chris Amico’s “Tools for news”
Tools for news is a Django driven application that lists web apps, references, software, and more that would be useful to anyone building a mashup, but in particular if you are a journalist. Via DigiDave.
You a programmer? Practice your typing.
amphetype is an open source, python built, typing program that helps improve speed and accuracy.
For reasons why you’d want to do this, check out Coding Horror’s “We Are Typists First, Programmers Second” and Steve Yegge’s “Programming’s Dirtiest Little Secret”.
Some programming links and reading
On loving what you do and practice
I love what I do. That doesn’t mean I don’t recognize it as hard work – but I do believe I am one of the few lucky ones who has found a career that challenges, excites, and pays the bills. I repeat however – it is hard work. There are no free rides in life. You need to work at what you do in order to be a success at it.
Coding Horror: Programming: Love It or Leave It and the thread at Joel on Software that inspired the post – “Thinking of leaving the industry”.
Tim O’Reilly: Hard Work and Practice in Programming – an email thread discussion about programming, learning, and practice. via rc3.org.
On constructive criticism and feedback
ThousandtyOne!: Leadership, Constructive Criticism And Not Playing The Blame Game:
In the world of software development most managers are taught the blame game, right when they are young and budding management students, business analysts or programmers taking their first fumbling steps at managing a team. For most managers, blaming the process, an individual’s incompetence or the whole team’s incompetence is an easy excuse for all failures; including theirs. I’ve hardly ever seen managers personally attached to team members, spending genuine effort in trying to help them find their core competencies and coming forward to blatantly own up failures and take responsibility when things don’t work out.
I’ve hardly ever seen managers lending constructive one on one direct verbal criticism followed by genuine help. I’m not talking about a generalized you-need-to-get-better-at-coding-email followed by be-careful-next-time-email followed by I-am-going-home-but-check-in-the-code-and-email-me-the-status-as-soon-as-possible kind of criticism here.
I’m talking about the blatant and precise your-use-of-object-orientation-in-the-administration-module-sucks said with empathy, followed by a joke, followed by lets-go-out-for-a-cup-of-coffee, followed by lets-stay-late-and-refractor-together kind of constructive criticism. Or for that matter, let’s-meet-during-the-weekend-and-fix-this kind of constructive criticism; and that dear reader, irrespective of what they tell you, is not a waste of your time; it’s what you were hired to do; especially If you were hired to lead a team. If you weren’t specifically hired to do that, I suggest that you do it anyways.
If you work with a team, don’t criticize ruthlessly; if you lead a team don’t play the blame game; and remember, it doesn’t matter what they teach you in management schools or tell you at your workplace, if your project isn’t cruising along successfully, it’s always your fault.
If you must criticize, do so constructively, followed by empathy, followed by genuine help. I can’t teach you how to do that. What I can do, however, dear reader, is end this post abruptly and rather dramatically, leaving you with words of wisdom worth pondering on, from one of my all time favorite movies. Here’s Wishing you, good leadership, healthy teams and a good life.
Jonathan Lange: Your Code Sucks and I Hate You: The Social Dynamics of Code Reviews:
Code reviews provide an amazing opportunity to grow as a programmer and to improve the software we make. There are many choices that a project can make about how reviews are done and what they can achieve. By thinking carefully about how technologies and processes affect the basic human interactions involved in code review, open source projects can avoid traps that scare off newcomers or wear down longstanding contributors and instead focus on building the best software possible.
Some unrelated additional links
devChix: Beautiful Python: The programming language that taught me how to love again
Software for Civic Life: An Interview with Mike Mathieu of Frontseat.org
Correcting deficient JUnit behavior in Netbeans
Eclipse gets this correct ‘out of the box’, when running a unit test – you want to be able to follow a test failure into the source code of the actual test with a click or keyboard shortcut. Netbeans, with pre-existing projects managed with Maven, doesn’t seem to do that. There is a fix on the wiki I need to give a shot.
Flash, UI, and football fans check out “Inside the Playbook” at NYTimes
The NYTimes uses Flash to produce analysis of each match-up in the NFL playoffs and a fun game to predict winners.
Here is one example of upcoming game analysis: Inside the Playbook: Philadelphia at Minnesota
Here is the predict the winner game: Inside the Playbook Challenge
And go Eagles!
Doc Searls: “What if the roles we play are not to pass along substances called ‘data or ‘information’ but rather to feed hungry minds?”
Doc Searls: Beyond mediation: We are all media now, right? That’s what we, the mediating, tell ourselves. (Or some of us, anyway.) But what if that’s not how we feel about it? What if the roles we play are not to pass along substances called “data” or “information” but rather to feed hungry minds? That’s different.
I believe that we truly are the media now.
When we criticize ‘the media’ we are criticizing ourselves. Media is intermingled. It’s everywhere and each of us take part from the smallest of web forums to the largest of social networks. That implies a civic responsibility.
People hate that word – responsibility – but there it is. And when it comes to media – the responsibilities that spring from it are now shared by us all.
“Who Says Java Programmers Don’t Have A Sense Of Humor?”
The Onion: Nate Orenstam: Who Says Java Programmers Don’t Have A Sense Of Humor?: About an hour later, while Tim was using the “facilities,” I went in and changed the classpath on his computer, resulting in a confounding stream of ClassNotFoundExceptions. It took poor Tim a couple of minutes to figure out what the heck was going on. All the while, I was in the next cubicle, laughing my Dockers off.