128 karma · joined May 2, 2010
I guess this is another example of why using the term "object-oriented" at all can be unhelpful, as it may mean so many different things to different people depending on the particular situation.
x.length vs strlen($x)
x.gsub('foo', 'bar') vs str_replace('foo', 'bar', $x)
x.strip vs trim($x)
x.upcase vs strtoupper($x)
All four of the PHP functions use a different form: strX, str_X, X, and strtoX. Some of this could be solved with consistent function names, like always using str_X, but then that makes me wonder why one wouldn't just want to have all string functions available as object-oriented methods on strings. Python takes a different tactic, and has a non-object-oriented len() method, but this isn't just used to get the length of a string, it will also get you the length of a list, tuple, or dictionary.
The teletype and Baudot code do have a pretty amazing legacy. Baudot code was invented in 1870 as a 5-bit mode-shifting character set. This, of course, predates data processing with punch cards (1889), alphanumeric data processing (1929), and binary computers (1937-1941). Even after the introduction of ASCII, the smaller Baudot character set remained a common subset available on a wider range of machines. This is seen in C's "trigraphs", where ??/, for example, may be substituted for \ on machines that don't support that character. Even the Apple II+ had a teletype-style keyboard, supporting only the characters found in Baudot code (the Apple IIe keyboard was the first to support all of the 7-bit ASCII characters).
After looking at your blog, I see that my example above was basically the geodata version of http://blog.buzzdata.com/post/7535032009/25-great-links-for-... . I think I'm in love.
I'd like to abuse this reply to ask that when you add tools for geodata, that you please please please do what you can to help people produce visualizations and rankings that are not horribly skewed by poor choices of geographic boundaries.
I know this is a hard problem, but for people who don't do this all the time, it's really easy to end up with a headline like "Manhattan Leads the City in Pedestrian Deaths Per Square Mile, Study Finds" (Manhattan is, of course, the densest borough in New York City, so this probably isn't terribly useful information). I've seen maps that might show, for example, the areas of the US with the highest number of coffee shops per square mile, but the map is done based on counties, so here in Seattle we end up not looking terribly dense since over half of gigantic King County is mountainous and unpopulated.
Surely, though, there must be a more descriptive term for this than a "social network"? Even though you could consider it (to some degree) to be a social network, Github doesn't describe itself as one.
As Google+ is more focused on having a "real name" like Facebook is, will throwaway accounts work as well? The suggestion in this article is interesting, though I'd worry about excessive UI complexity. Then again, if Google were to let you create multiple accounts that ended up as sub-accounts (or just call them "roles" as in the article), one could elect to either follow an entire person or just one of their particular roles (if multiple roles exist).
I know the US also had some trials of teletext (text pages over broadcast TV) too, but I think that was even less successful than videotel.
More on the "Cocoa Text System": http://www.hcs.harvard.edu/~jrus/Site/Cocoa%20Text%20System....
I use wvHtml for doc->html, wvPDF for doc->pdf, but antiword for doc->txt. To convert .docx, .xls, .xlsx, and WordPerfect files to HTML, I use OpenOffice, by way of jodconverter. For ODF files, I use OdfConverter. Conversion of Excel files to .csv files uses xls2csv. For PowerPoint files, I use ppthtml to convert to html, and catppt to convert to text. For Lotus 1-2-3 files (I added this after downloading some historical telecom data from the FCC!), I use ssconvert.
Any conversion that results in an HTML file (e.g. doc or pdf to html) I bundle all the images into a single file using the data: url scheme. To do this, I wrote a utility called pagecan: http://afiler.com/pagecan/
I will definitely be trying out your shell. If you're curious about mine (feel free to steal code, no promises that everything works as committed): https://github.com/afiler/crush