Steve, I love that I made a cameo in your post. I only wish my short URL was more inspired.
- Scott Gatz
Finally! Yay! Wish Twitter had this a long time ago. That's the reason I never use full links that get converted. I change the www. to w3 .website.com and that way everyone can see the full link still and copy and paste it if they want to view the site. I got annoyed at clicking on duplicate TinyURLs.
- Adam
I use the greasemonkey script tinyurl-ru at http://kapranoff.ru/friendf... but it only covers tinyurl.com and tinyurl.ru | Maybe we should do a community project that keeps updating that script with all those url-shorteners out there. | Alex, are you game?
- ĎÚβĨŐÚŚ Dod
Is this a feature that friendfeed removed? Because it's not working in Chrome.
- James Poling
I don't see any short URL's in FriendFeed anymore. all are automatically expanded.
- Rahsheen ™, Coach Rah
No offense intended to my sane conservatives friends, but the nuttery displayed on this site was too good to pass up. Maybe someone should create http://myleftwingson.com/ to capture the funny stuff from the kookier liberal extremes :)
- Joel Webber
The injection-molded seat mounts to an extremely sturdy bar that clamps to the seat post and steerer tube. This allows the seat to be removed quickly and easily when not in use. This is done by unscrewing a single large bolt. Also, the carrier features a padded "face pad" which 1) keeps your passenger from messing with your handlebars and controls; 2) protects your passenger from smacking his/her face on the handlebars (assuming you left the four-point harness too loose); and 3) gives your passenger a natural place to rest his/her head when sleeping. In addition, the Kangaroo's foot cups are adjustable and flexible, but I've never seen a child get his/her toes anywhere near the front wheel.
- grant fox
from Bookmarklet
We would... if SMS was an open platform. But the whole mobile environment, form carriers to handsets is a closed environment, where users and 3rd party developers have no way of "fixing" or hacking.
- Panayotis Vryonis
Sure we do. It's called the Internet. It is remarkably adept at routing around inefficiencies.
- DeWitt Clinton
I really think short, easy to pass along permalinks--preferably native to the site itself--have value independent of SMS. For example, the link to this post on FF is http://beta.friendfeed.com/dewitt... I'd much rather have an ff.im link to give to folks.
- Ken Sheppardson
I wonder if a very simple compression algorithm for URLs could make a big difference. 'http://www.(.*).com/" would compress to 1 byte and so on. There's more (or do I mean less?) entropy in the set of URLs than needed, right?
- Ben Griffiths
Hey, how 'bout instead of "http://" we just use "@". Oh, wait...
- Ken Sheppardson
I'm just saying that an anchor tag is how we used to shorten urls. E.g., <a href="http://example.com/long-ur...">Short description</a>. We're using short URLs as a hack to address the absence of anchor tags and the bytes to send them.
- DeWitt Clinton
@DeWitt Clinton: I think many users use short URLs to "take control" of the link. They want to know for example how many clicks *their* link got, an information formerly available only to "publishers" (site owners). IMHO, this is a power shift.
- Panayotis Vryonis
@vrypan - I'll agree that it is a play to take control. Your point is well made.
- DeWitt Clinton
@Ken - I don't think we'd be having this discussion if people were only using URL redirectors for links that were being read aloud. : )
- DeWitt Clinton
@Ken - true, but there are alternate ways to resolve this conversation, For example: "Go to friendfeed.com and search for 'Imagine if the energy we're spending on short URL hacks'". Depending on the person on the other end that might actually be easier - some ppl I know would put a ".com" on the end of that domain when I read it to them, and I'd note that it is case sensitive, too...
- Nick Lothian
We're having this discussion because your premise is SMS is the "disease". I'm trying to explain that this isn't all about SMS. :-)
- Ken Sheppardson
Nick: Sure, I can always tell somebody to go search. That's less than optimal. What I'd prefer is that site take responsibility for making their sites navigable and their content easy to bookmark and link to. FriendFeed does this with their own shortening service, ff.im. I'd like to see them open that up so ff.im links are available for all entries.
- Ken Sheppardson
Somewhere along the line web publishers forgot that they're publishing for people, not other computers.
- Ken Sheppardson
Short URL services are not publishing for people, they're publishing for machines. These services are not 'human readable vanity URLs' that are easy for people to remember, they're obfuscated. A URL which is trackable, human readable, and beautiful, is not necessarily the shortest one. All of these .ly/.gd/.im domains do not help people read or remember or type the URLs, they increase human error rate.
- Ray Cromwell
uses php gd on the back. commercial license. bleh
- paul irish
I've been using an alternate, but related technique for the last two years, described here: http://timepedia.blogspot.com/2007.... In this implementation, a Java servlet, leveraging its font engine, renders a "Font Book" containing all of the characters typically needed, along with font metrics via JSON. Javascript on the client uses the font...
more...
- Ray Cromwell
Advantage is, each 'character' (img) can be a background image of a element that contains the real character (invisible), letting text selection/cut/paste work.
- Ray Cromwell
I think it is being escaped. Try viewing source of the html response, or make the &json=1 request. When it is displayed directly to the browser the escaped < characters cause the tag to be shown to the user, but not interpreted by the browser.
- DeWitt Clinton
Added better support for POST handling and a demonstration on the homepage.
- DeWitt Clinton
The point of course not being the application itself, but that it could be written in an hour or two on a whim and can be thrown out there on the net to run at scale with literally zero effort.
- DeWitt Clinton
Some one help me about use PHP for write whitelist tags. Please send me : thp_1981@yahoo.com or dungdetest@gmail.com
- doremon
@doremon -- you can use the html-whitelist web service from a PHP application by using the 'file_get_contents' or 'file_post_contents' methods (http://us.php.net/file_ge... and http://us.php.net/file_ge..., respectively). I'm not a PHP programmer, but perhaps someone who is could write up some example code.
- DeWitt Clinton
thanks DeWitt Clinton,but my web site can not use web service. I write success whitelist html, but it's simple check tags allow, enough tag, postion of tags. I look at whitelist of "http://simonwillison.net/2008...", it's checked well. Some one help me .
- doremon
"PLOT sports a more conventional-looking syntax than classic Lisp. It is, of course, fully object-oriented. Perhaps the most interesting feature of PLOT is that the syntax is totally user-definable. How can this be a dialect of Lisp, you say, if it does not have S-Expressions, does not have NIL, does not have conses, does not have atoms, and does not have a simple parenthesized Polish prefix syntax? I say it is a dialect of Lisp because it uses a fully dynamic memory model, fully dynamic typing, a resident program semantics (although separate compilation is possible), fully powerful macros (but hygienic!), and because (almost) everything about the language is defined in the language itself. It has the same extreme flexibility and extensibility, and the same minimum of nonsense that gets in your way, that have always been hallmarks of Lisp. It has the important things about Lisp while jettisoning the things that in my opinion were mistakes from the beginning."
- Paul Buchheit
from Bookmarklet
I'd like to see how this compares with Perl 6.
- Gabe
Does Perl 6 actually exist? I thought it was just a myth, like gnu hurd.
- Paul Buchheit
There's clojure, a lisp implementation on the jvm.
- imabonehead
There are actually many implementations of P6. In particular, Pugs (written in Haskell) was the first.
- Gabe
I don't think I like the idea of having False do double duty as NIL. I predict this will lead to many bugs where something that can validly be False is incorrectly interpreted as if it were NIL.
- Gabe
I'm not sure, Gabe. I do most of my programming in Scheme, where nil is not false, and a lot of the time I think my conditionals would be simplified if it was.
- Bruce Lewis
Bruce: Consider a situation where a boolean variable might not have a value. If False means No Value, how do you represent a boolean with no value?
- Gabe
Dave Moon's work on Dylan changed my views of programming languages permanently; any language he designs is worth spending time on, in my opinion. (Rob Pike and Guy Steele would be the other two I'd put in the same category.)
- Paul Haahr
Gabe, you'd come up with a special no-value object. If you use nil for a no-value boolean, what do you use for a no-value list distinct from an empty list? False? That would get confusing. And this coming from someone who actually does use nil for no-value boolean values, as returned from SQL.
- Bruce Lewis
Bruce, that's my point. You'd come up with your own special no-value object, which is distinct and incompatible with all of the libraries you use. As long as you have to come up with a no-value object, why not include it in the language standard so that everybody's code can be compatible?
- Gabe
Evan, that's not useful: "Reading the "uninitialized" value signals an error. A definition or slot cannot be reset to this value"
- Gabe
@Gabe - But it appears it is possible to check if a definition or slot is uninitialized: "so we only need to check for this value when reading a slot that is not initialized in the class definition and when reading a definition that could be read before its initial value expression has been executed." What more do you need?
- Evan Parker
No Evan, I think you're misreading it. The uninitialized value is just a way for the system to make sure that you don't have any uninitialized variables. You cannot create a value of that type and any attempt to read a value of that type would return an error, so it is useless.
- Gabe
I could certainly be misreading it. By "we only need to check" David could mean that the internals of PLOT can check it; I read that as meaning that programmers could check for uninitialized, perhaps through some function call (e.g. isInitialized(blah) ). This would be similar to Sawzall's undefined values and the def() function for testing undefined (http://google.com/search...).
- Evan Parker
So Gabe, you're not advocating Scheme-style #f/'() over Common Lisp's double-duty nil, you're advocating a NIL that means an unspecified value, like SQL NULL. I think I finally understand. I didn't actually read the PLOT spec, so when I hear double-duty nil I think like in Common Lisp.
- Bruce Lewis
Right, Bruce. What I'm advocating is a system which has a value that is not in the domain of any other data types (i.e. not a boolean, number, string, list, etc.) such as null in C#, None in Python, or NULL in SQL-92 (where NULL is different from the empty string). JavaScript goes too far by having both null and undefined -- how do you know which to use? C# is nice in that some things can be defined as non-nullable, while SQL lets you define any field as non-nullable.
- Gabe
"The VMKit project is an implementation of a JVM and CLI virtual machine (.Net is an implementation of the CLI). It translates Java bytecode and MSIL in the LLVM IR and uses the LLVM framework for optimizations and just in time compilation."
- DeWitt Clinton
"The development of VMKit was started out of a need to factorize virtual machine development. The JVM and CLI virtual machine have many similarities, but are too high-level to be the basis of a "universal" virtual machine. The LLVM IR on the opposite is low-level enough to be able to execute these VMs. VMKit is a proof of concept implementation towards that direction."
- DeWitt Clinton
The reason I ask is that most of those protocols and formats don't use much of the extras that XML is required for (schemas, namespaces, attributes, data escaping, etc). Simple key/value/dict/array/string/number structures would be sufficient in all those cases. If you could take a do-over, would you?
- DeWitt Clinton
"On the other hand, gratuitous syntactic diversity is not a feature. I remember in the early days of XML, Tim Bray used to start his pitch for XML by showing a whole bunch of widely different Linux config file formats. It was quite compelling: the lack of consistency was obviously confusing and pointless. Now I don't think anybody would suggest that XML is the right format for...
more...
- Shakeel Mahate
The above quote is from James Clark http://blog.jclark.com/2008... where he is discussing MGrammar from Microsoft. But it is asking the same question as you are.
- Shakeel Mahate
Great question! And if you look at how I use XML, you know the answer is yes. I have no love for XML, I thought it was over engineered, and too much was promised for it, but everyone wanted to do it, and that convinced me. The important thing is the consensus. One way to do things. And the second guy to come along has the power to make the standard, and in XML I was one of the "second guys" (the first wave were the guys at Microsoft, Netscape, Sun, etc).
- Dave Winer
So, by accepting the invitation to design my own formats as long as I used XML, I thought everyone would be happy. Turned out not to be so, they wanted to control things all the way up to the top of the stack, the arguments never stopped. That's what I like about JSON, it has a low-techness to it, no fuss, no pretension. That's how I viewed XML.
- Dave Winer
But... Look at what we were able to do with XML. One of the proudest moments for me was when Eric Raymond discovered XML-RPC and said it had the same philosophy as Unix. I grew up on Unix as Unix was growing up, and that's the highest compliment, I could write a book on why Unix does so much yet is so empty and open. That's what I hope for everything I do.
- Dave Winer
Great response, Dave. Thanks for answering!
- DeWitt Clinton
I never minded XML, till I inherited the responsibility of hosting a chatroom and had to use the server software & bot scripts from the previous host. That was when I came across this inappropriate use for XML...as the scripting language for the bot. You have no idea how much I wanted to tear my hair out while sorting through those scripts. Just for a taste of what I had to deal with, here is one of the shorter scripts. This is a Mastermind game: http://pastebin.ca/1353820
- April Russo (app103)
That is a great answer, and exactly what I was getting at in my comment on the other post. The attribute vs contents split in XML means you always need marshal/unmarshal overhead to get it into a native structure. With JSON you don't.
- Kevin Marks
Great thread. Thanks for sharing, Dave et al
- kortina
Kevin, are you saying that Javascript doesn't turn the text representation of JSON into binary data before programs operate on it? If true, that's remarkable. BTW, when we wrote our XML parser for Frontier, in C, the typical machine ran at 200 MHz and had about (guessing) 100MB of memory. Obviously today's machines are much bigger and faster, yet people *still* raise the encoding and decoding perf issues as if they matter in 2009, I don't see any evidence that they do.
- Dave Winer
The issue today is installed base of code and data. If I could have talked to the guys designing the data model for JavaScript I would have really strenuously argued for XML, rather than fracture the base. But what's done is done. Let's hope it doesn't happen *again* but it will of course, always does. I also found it ironic that Bray used an example of different config files, yet when he reinvented RSS, he didn't even reuse its names. So we have items and whatever Atom calls items. (I forget.)
- Dave Winer
Since people aren't shouting me down (yet, thankfully) anotherdesign error in Atom is the link element. It's yet another reinvention of XML inside an XML format! (I know OPML looks like that too, but that was in 2000, and that format makes sense when you view it from inside the app whose file format it is, an outliner with attributes.) Why not make every element in Atom an instance of <link>? What was the design rationale for that?
- Dave Winer
When I use xml I feel i'm on an old calculator typing (1 + 1)/(2 + 4) =. Much better to use rpn: 1 enter 1 + 2 enter 4 + /. Now applying this to "xml" your namespace definitions supply you with your operators. Add xmlns:georss="http://www.georss.org/georss" to your page and <georss:point>45.256 -71.92</georss:point> becomes 45.256 -71.92 point.
- mal
re "Why not make every element in Atom an instance of <link>?", that would more or less be RDF. And we all know where that leads! :)
- Dan Brickley
To clarify... I got my change in coins, and -- since I've grown accustomed to putting change coins into whatever tip or charity jar happens to be in front of me -- I reflexively did so. In all the countries I've traveled to, the most expensive coin I've come across (I think) is the euro, which is worth around $1.25. The coin I gave away as a tip was a 500jpy (yen) coin, worth about $5. Oops! But it made me happy to see the servers so delighted :-)
- Adam Lasnik
Having fun in Tokyo? Have you seen all the kawaii (cute in Japanese) girls and have you tried/seen any weird stuff yet?
- BeeLing
hmm.... kawaii = cute girls? What does that say about the prevalence of Kawaii-brand musical instruments in the U.S.? Play this, and you'll attract cute girls? Only cute girls allowed to buy/play these instruments? Or have I butchered the spelling/interpretation somehow? :-) (and alas, I haven't met much of anyone other than cool colleagues, 'cause I've primarily been in my hotel and in the office so far; hopefully will explore a bit before I leave!)
- Adam Lasnik
And it's Kawai pianos...not kawaii. And where did you find ice cream?! I've been craving that!
- T-Ho
ohhhh! [sheepish grin]. Ice cream: in the "restaurant row" right below my hotel. See, Cerulean's not all that! :P
- Adam Lasnik
I thought they're offended by people who tip?
- Anna Marie
I previously thought so, too, and my understanding is that it's still generally inappropriate to tip in Japan. However, Coldstone Creamery's an American brand, and so I guess that helps make it an exception (and indeed, there was a clearly-labeled tip jar at the cash register).
- Adam Lasnik
Aah, Ok. I was just there and didn't tip. Started feeling guilty for a minute.
- Anna Marie