Posts tagged ‘open-source’

Update on a few of my open source projects

I’ve been trying to do some cleanup and reorganization of my various open source projects. I regularly get emails asking for help or gently reminding me that one of my projects needs updating. The truth is, most of my projects have been horribly neglected for the last couple years. While I can’t promise my participation will improve, I would like to recognize some of the extraordinary people who have been helping me with maintenance while I’ve been busy. Here’s a quick status update on five of my more popular open source projects.

PubSubHubbub plugin for WordPress

I know, I know, RSS is supposed to be dead. Tell that to the 1,300+ people who downloaded my PubSubHubbub (PuSH) plugin last week, or the 58,000+ people who’ve downloaded it since it was first released. A huge thanks to Matthias Pfefferle for his help maintaining the project. It’s hard to say what’s going to happen to RSS & PuSH, especially as Google kills their Reader product. I expect big companies to continue to push for more centralized systems. Meanwhile, I’ll be here rooting for the open and distributed web however I can.

Timezone detection in JavaScript

My timezone detection article continues to be one of my more popular posts on this blog. Today there are thousands of websites using some variation of my timezone detection code. Jon Nylander took my code and has expanded it into a far more robust solution. His version is way better than mine, so use it instead.

Backwards compatible window.postMessage

My cross-browser implementation of window.postMessage is now pretty stable and is still one of the simplest solutions I’ve seen. I’ve heard that Twitter and Disqus both use easyXDM instead, but I haven’t dug into it myself to know how it compares.

Name Parser

Splitting names is a surprisingly tricky task. My solution isn’t perfect, but it’s a nice step beyond just splitting a name based on a space. Mark Pemburn did a nice job porting my library from PHP to JavaScript. This library has a lot of potential for improvement and I’d love to see more contributions here.

Rolling Curl

Another popular post (especially with the rent-a-coder crowd trying to scrape websites) was my Rolling Curl library in PHP. It solves the blocking connection problem with using cURL in PHP. Alexander Makarow and Fabian Franz have done a great job at improving my code and adding new features.

I’ve found it incredibly rewarding to participate in these projects and others. It blows my mind how much of the world runs on open source software. Open source was one of those things that never fully made sense to me until I started contributing myself. I encourage every developer to find a way to get involved in an open source project and give back. It’s been a great way for me to meet other passionate developers and learn from people who are smarter than I.


Update on Rolling Curl

Back in 2009 I blogged about using curl_multi() in PHP without blocking. The goal was to provide a better way to process multiple HTTP requests in parallel. The code was well received and I ended up turning my original snippet of code into a full blown PHP Class.

And then I got busy. Meanwhile the list of bugs and feature requests began to pile up.

Thankfully, a few guys have picked up my slack on the project. Alexander Makarow has been diligently maintaining the code for me, fixing bugs and making it better. Fabian Franz forked it on Github and added some of the top requested features.

Thanks to their efforts, Rolling Curl is in better shape than ever. This is why I love open source.


Openness and security go hand in hand

I just saw the post on Mashable about Microsoft downplaying the IE security hole. The one quote that caught my attention was from Microsoft’s UK security chief Cliff Evans. He said:

“The net effect of switching [from IE] is that you will end up on less secure browser,” and that “the risk [over this specific] exploit is minimal compared to Firefox or other competing browsers… you will be opening yourself up to security issues.”

He’s got to be kidding, right?

A key difference between IE and the open source browsers is what happens when a problem is found. If it’s IE we sit around and wait for Microsoft to fix it. On the other hand, if someone finds a bug in Firefox, hundreds of developers jump on it and race each other to get it fixed. Of course there are vulnerabilities in Firefox and there are bugs in Chrome – that’s just the reality of developing software. The important thing is that security issues get found and resolved much faster in an open-source environment.

I’m a firm believer that openness leads to greater security. This is a big reason why Unix is more secure than Windows. I’m not suggesting that Microsoft doesn’t have smart developers, because they do. They just don’t have the benefit of having constructive code reviews from thousands of smart developers who care so much about what they’re building that they’re willing to do it for free. It’s tough to compete with a group of people who are working out of passion instead of for a paycheck.

Openness leads to security, which leads to trust. If we ever implement online voting in America, the only way to do it would be to open-source the whole thing. Unless it was open-sourced, no one would trust the results. I’m not saying that everything in the world needs to be open-sourced. That’s not realistic. But when it comes to security, openness is crucial. It’s no accident that the encryption algorithms we use to transfer credit card numbers over the web are all open-source. That openness gives us the confidence because we know these algorithms have been tested by hackers all around the world. They’ve gone through the fire and somehow still came out standing.

If you ever need to make sure something is 100% secure, the first-step is to open-source it.