Seven development related links for today

Spartan programming – Ssdlpedia (via Coding Horror)

HTTP request flow diagram – print out worthy.

36 steps to success as technical lead | Little Tutorials – some good advice here

Python best practices – still learning

MIT OpenCourseWare: Electrical Engineering and Computer Science | 6.189 A Gentle Introduction to Programming Using Python, January (IAP) 2008 – speaking of still learning… yippie!

CryptoKids: America’s Future Codemakers & Codebreakers – hmmmmmm….

good coders code, great reuse: Follow Hacker News from the Console

Google releases internal development software open source

Protocol Buffers are “a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats”. This will start some interesting conversations around work, as it should. XML doesn’t need to always be the choice when building server to server side data interchange.

For JavaScript developers, note that Google has not released a library, as this appears to be used, within Google, for server to server side, not server to client. In fact, according to Kenton Varda in the Google Group discussion shares that some internal projects serialize or parse Protocol Buffer messages in JSON format.

Google Open Source Blog: Google’s Data Interchange Format

Matt Cutts: Cool: Google Releases Protocol Buffers Into the Wild: To understand the other nice thing about Protocol Buffers, bear in mind that in the Google cluster architecture, there are many different types of servers that talk to each other. Question: how do you upgrade servers when you need to pass new information between them? It’s a fool’s game to try to upgrade both servers at the same time. So you need a communication protocol that is not only backward compatible (a new server can speak the old protocol) but also forward compatible (an old server can speak the new protocol). Protocol Buffers provide that because new additions to the protocol can be ignored by the old server.

Joe Gregorio: Protocol Buffers: They’re one of the first things you learn about when you start at Google and they’re used everywhere.

And a related Hacker News discussion.

ratproxy is “a semi-automated, largely passive web application security audit tool, optimized for an accurate and sensitive detection, and automatic annotation, of potential problems and security-relevant design patterns based on the observation of existing, user-initiated traffic in complex web 2.0 environments.”

It can be very difficult auditing XSS security issues and it is always good to find a tool that is well used and trusted.

Google Online Security Blog: Meet ratproxy, our passive web security assessment tool: We decided to make this tool freely available as open source because we feel it will be a valuable contribution to the information security community, helping advance the community’s understanding of security challenges associated with contemporary web technologies.

Technorealism? Social Software thought of the week

I had a GED, was struggling with homelessness, and was a telemarketer at Sears Product Services selling maintenance agreements. But I had access to Compuserve, AOL, and Usenet via dialup accounts work and at home. For me, the Net was an important route to a new life – a career I love – software engineering.

You would think that I would be a techno-utopian. A true believer that the Web, the Net, will be a tool that will help lift humanity out of its troubles by helping us be better informed and connected.

And I was for a while there. But time and experience has tempered my enthusiasm with a recognition that human nature is a hell of a lot more robust then we give it credit for. That, as Dave Rogers might say (and has I think), that technology may change what we do, but not who we are.

Now, for me, recognizing that, doesn’t eliminate my belief in the Web’s potential to enrich our lives and be an instrument of tremendous positive change. But it does force me to ground it – the Web is a reflection of who and what we are, the good, the bad and the ugly. Whenever I recognize successful social software it reinforces this to to be true to me.

What brought about this round of reflection?

Author and blogger Nick Carr wrote a provocative cover article for this month’s The Atlantic, “Is Google Making Us Stupid?”.

It’s worth a read. It’s over the top for sure. But maybe it needed to be so in order to draw attention to the fact that all is not as rosy with the Web’s potential as we’d like to think.

This same discussion has cropped up again and again, only to be dismissed by not only the digerati, but the mainstream media.

An example, in the wake of the publishing of David Shenk‘s “Data Smog”, back in 1997, a small discussion formed around similar concerns, that some branded as a movement called Technorealism. Read Newsweek’s put down of the discussion – labeling it as not worthy to have. As “glorifying the obvious”.

If it was so obvious, then why so much vehemence and venom in the face of it?

Related:

Kevin Kelly: Will We Let Google Make Us Smarter?

Andrew Sullivan: Google is giving us pond-skater minds

Rebecca Blood: Is the Internet making us stupid?

Burningbird’s RealTech: Timing

Infothought: Nick Carr: “Is Google Making Us Stupid?”, and Man vs. Machine

AKMA: Au Contraire

Publishing 2.0: What Magazines Still Don’t Understand About The Web

Slate: David Shenk: Was I right about the dangers of the Internet in 1997?

NYTimes: Excerpt: Data Smog: Surviving the Information Glut

Small Pieces Loosely Joined

the cluetrain manifesto

Three Scalability related links for today

Dare Obasanjo: Dark Launches, Gradual Ramps and Isolation: Testing the Scalability of New Features on your Web Site

“Esoteric Curio”, the blog of Theo Schlossnagle, author of “Scalable Internet Architectures”.

b-list: Media and performance: There’s simply no way around this.

Writing a simple proxy in Python: Some related links

Tiny HTTP Proxy in Python

Twisted-Examples – PythonInfo Wiki

ASPN : Python Cookbook : urrlib2 opener for SSL proxy (CONNECT method)

ASPN : Python Cookbook : simplest useful HTTPS with basic proxy authentication

ASPN : Python Cookbook : Proxy Example

using httplib, urllib with proxy authentication

Programming and Development links for today

PIBlog: Building a Python Web Application, Part 1

A Student’s Guide to Software Engineering Projects – Free eBook for Students

Raible Designs: Building high-content web applications (I wonder what we can share from work? I need to ask…)

Raible Designs: Spring MVC vs. WebWork Smackdown at OSCON (likewise, I need to check what we can share from work).

IBM developerWorks: An introduction to Model Driven Architecture