|
ning
sklar.com/blog
|
Thursday, November 8. 2007
Friday, October 19. 2007
Jon Aquino, my talented cow-orker built a time-lapse view for Subversion. This is fantastic.
We switched from Perforce to Subversion recently (at Ning), and one of the things that I miss about Perforce was its handy time-lapse-view feature. No longer!
Friday, October 12. 2007
The slides from my API design talk yesterday are available.
If you missed Zendcon, come to the DC PHP Conference in a few weeks. I'll be talking about API Design there on November 8.
Thursday, October 4. 2007
As Diego and Gina have pointed out, the Ning Platform has just celebrated its second birthday.
The past two years have been a lot of work and a lot of fun. It's been gratifying to see the crazy, heartwarming, innovative uses folks have come up with for the platform and also extremely rewarding to work with such talented people.
I wonder what I'll have to say in a blog post a year from now that links to this one?
Wednesday, July 11. 2007
I'm going to be giving a talk on "API Design in PHP" at ZendCon 2007 in October.
Our PHP API at Ning is a little over two years old at this point. There are some things I love about it that I think we've done really well, some things that we have revised, some things we can do better, and some interesting things planned for the future.
The talk is all about what we've learned developing, building, and supporting the API with both a ferocious devotion to backwards compatibility and a rapid new release cycle.
See you in October!
Wednesday, April 25. 2007
So I've got this string (in PHP) and I need to scan through it character by character. I can't scan byte by byte because it's 2007, our users write in all sorts of languages, and the string is UTF-8.
The PHP 5 solution uses mb_strlen() to find the length and then mb_substr() to grab each character:
$j = mb_strlen($theString);
for ($k = 0; $k < $j; $k++) {
$char = mb_substr($theString, $k, 1);
// do stuff with $char
}
In PHP 6, one would do:
foreach (new TextIterator($theString, TextIterator::CHARACTER) as $char) {
// do stuff with $char
}
Some rough benchmarks on a 1500 character (and 2900 byte) string (Linux, whatever processor is inside this Thinkpad T43 here, your mileage may vary, etc etc etc) give me about 61 scans/sec with PHP 5.2.1, where a "scan" is just moving through the loop above with mb_substr and doing one if() test comparing the char to '<'
Under PHP 6.0.0-dev with unicode.semantics=on, switching from mb_strlen() and mb_substr() to regular strlen() and substr() produces about the same result. And indexing with $theString[$k] is the same speed as substr().
However, the TextIterator case is much faster, about 450 scans/sec!
Nicely done!
Thursday, September 28. 2006
It's been a lot of hard work, so I'm quite excited that we've just released three great new Ning sites: Ning Videos, Ning Photos, and Ning Group.
I particularly like the embeddable slideshow that Ning Photos has, and its companion in Ning Videos, the embeddable player -- so you can put photos or videos on your blog or wherever. Both apps let you e-mail in content from your phone, too. Ning Group has some spiffy HTML parsing and file upload features so you can share documents with folks and incorporate music, pics, or anything else in the forums.
Plus, all three sites have the juicy bits that every site on the Ning platform gets -- things such as cloneability, complete customization, and built-in REST APIs. I've been watching the feeds for clones of photos and videos -- I suppose seeing who's cloned sites you care about is the Web 2.0 version of ego surfing.
More on the Ning Blog and from Kyle.
Thursday, August 24. 2006
Some neat Ning + PHP related stuff recently: Ben and Elizabeth set up a Group clone for PHPCommunity -- http://phpcommunity.ning.com.
Ben also set up an app -- http://zendfw.ning.com -- where he installed the Zend Framework and made a few tweaks so it's runnng happily on the Ning Playground. I was pleased to see that our URL mapping support can handle everything that Zend Framework needs.
Tuesday, July 18. 2006
I live in New York City, but I'm gearing up for some extended travel. From September 1 to the end of the year, I'll be in Palo Alto, CA. I'm looking forward to working at Ning HQ for a few months. Then, from the beginning of January 2007 to the end of May, I'll be in Paris, resuming my working-remotely existence.
I have some packing to do!
Monday, June 26. 2006
Over the weekend we launched the "Ningbar" -- what Diego, Brian, and the rest of the crew at Ning have been cranking away on for while.
The Ningbar is not just a replacement for the sidebar that used to accompany all Ning apps. It's the control center for getting the most out of Ning, whether you're using an app, cloning an app (which now takes just exactly 2 clicks), or writing code behind an app. In the Ningbar, you can get stats about the app you're using (who else uses it, what do your friends do on the app), check your messages or send messages to others, customize your apps, or clone the app you're looking at.
Of course (we wouldn't have it any other way!) the Ningbar is completely customizable and programmable. You can tweak every aspect of its appearance and behavior. And because the Ningbar sits on top of our open Javascript and REST APIs, what the Ningbar can do is only limited by what cool stuff you can think of to build. (This panel showing the current weather was a fun quick hack.)
Gina's post on the Ning blog has lots of screen shots and gives some more background on Ningbar goodies. As always, http://documentation.ning.com has the programming and API details for how to make the Ningbar do your bidding. In particular, check out the sections on our new Javascript APIs and interface customization.
Saturday, April 22. 2006
Cow-orker and Javascript fellow traveller Jon Aquino posted his thoughts about working with two different Javascript toolkits (Dojo and Prototype):
Prototype is more of a Porsche, whereas Dojo is more like a Hummer.
I had been ruminating along similar lines (since we've both been playing with both toolkits) but ended up instead with this haiku:
Prototype makes your
Javascript look like Perl; but
Dojo? like Java.
Monday, April 10. 2006
BadgerFish is an attempt to have a straightforward way to represent arbitrary XML documents as JSON objects. Think of it as SimpleXML for Javascript.
Tuesday, March 28. 2006
As Adam and Chris have mentioned, the talks for OSCON 2006 have been selected.
I'm excited that my proposal, I'm 200, You're 200: Codependency in the Age of the Mashup, was accepted.
Unlike most previous talks I've given, this one is less "here's how to do something with PHP" and more "here's an interesting problem to think about." I am also pleased to be doing my part to advance the nascent discipline of HTTP status code humor.
Thursday, March 9. 2006
Yoz and I gave a talk at the Emerging Technology conference today. I was very pleased at how it went. We went through a few examples of clone-and-customize, talked about apps sharing data with each other, and showed off the brand new Atom API.
What we discussed, links to the apps we used, and more goodies are up at http://etech06.ning.com/.
Monday, February 20. 2006
I'll be chatting with Marcus on the Pro:PHP Podcast this Friday, Feb. 24 at 1pm ET. Tune into the live webcast and ask questions!
|
|
|