PhilChristensen | 16 years ago | on: IPad & The Facebook App Kerfuffle
PhilChristensen's comments
PhilChristensen | 16 years ago | on: Get Your Fucking Feet Off The Table
I live in the police state of New York City, and yet on my block alone I regularly have to dodge between 4-5 piles of crap every time I walk down it. Not even by the curb, right in the middle of the sidewalk.
In fact, I was kind of surprised Zed got so worked up about SF fecal matter. Although it seems like there's slightly more human excrement around in SF, the shit-factor in his previous home is pretty competitive with SF.
Or maybe Zed wanted to assert passive aggressive dominance against SF by 'talking shit' about it (yow!)....
PhilChristensen | 16 years ago | on: In Changing China, Being 'Suicided' or 'Harmonized'
I had to read up on the English concept of active- versus passive-voice. For example:
The cat ate the mouse.
is active, because the cat is the subject of the sentence, and is doing the eating. The mouse was eaten by the cat
is passive, because the mouse is the subject, but is "having something done to it", i.e., passive.So in the case of "He was disappeared", the point is that you are implying that he did not make himself disappear, but that it was done to them.
However, in Chinese, the language is so flexible that there are many far more common ways to express the same concept. So when someone specifically uses the passive voice in this way, while it is grammatically correct (or at least, is a grammatical invention that follows existing rules), it is obvious to other Chinese-speakers that it's an unusual way to say something.
The examples given start making more sense when you forget about the fact that "suicided" isn't a real word. It's not supposed to be a real word, instead it is meany to be a translation into English that preserves the 'strangeness' of the phrase.
In the case of the Chinese, use of the passive voice in this way is kind of like a shibboleth in that someone who agrees with your politics will know what you really mean, but you still have plausible deniability for those that don't.
PhilChristensen | 16 years ago | on: IPhone app that isn't
PhilChristensen | 16 years ago | on: Adobe, Apple, and Flash
But that always seems to be the way one technology gives way to another, because it improves on various aspects that were lacking in its predecessor.
I think an apt comparison is RealMedia versus RTSP audio streaming. RealMedia had a significant market share (for the time), but the mishandling of the product led to people finding/building/demanding better tech.
It's arguable whether Adobe is mishandling Flash at the same level, but Flash could easily go away in favor of HTML5 and Javascript.
The only thing lacking right now is the tools, and the Flash IDE would not be difficult to improve upon. On top of that, there's already precedent in the Palm Web OS IDE. Make a similar kind of interface for building easily deployable standards-based web applications, and Flash could end up as a bad dream faster than you think.
PhilChristensen | 16 years ago | on: Pros and Cons about Python 3
PhilChristensen | 16 years ago | on: Hacker News reader for iPhone (new native app)
PhilChristensen | 16 years ago | on: Table Oriented Programming
PhilChristensen | 16 years ago | on: GoogleBot as QA tester
Just because you wrote it doesn't mean it's doing what you think it is.
And users really can not be counted on to report errors. Even if they do, the average bug report reads something like "So I put in your address into the google, but when i got there nothing came up! I tried over and over, but every time I clicked on the google, nothing happened! I asked my brother's boss' kid, who's a real whiz with computers, and he told me I should 'eat my cookies' or something, but I'm lactose intolerant!!"
PhilChristensen | 16 years ago | on: Drupy: "Drupal" in Python
I loved Drupal when I was limited to building sites in PHP. It worked around a great deal of common problems in PHP, and was well documented with a good community, etc...
Still, most of the advantages came from having a semi-regulated environment to use to implement CMS projects in PHP. Once you have a sane language like Python, it would be a huge waste to do a direct port. The result would be profoundly unpythonic, and give you no particular benefits because of it.
If you adapt it to make it more pythonic, then you lose the benefit of familiarity for new users. As it is, it's not really like you'll ever be able to use existing Drupal modules in a Python reimplementation; even if you could, it's hard enough keeping modules working across different versions of Drupal, much less entirely different platforms.
PhilChristensen | 16 years ago | on: My tech talk on Tornado (video and slides)
I'm just saying the NIH-syndrome is a big problem for the FOSS community, and leads to the fracturing of attention. Far too many talk a big talk about how collaboration is the key to FOSS ('a million eyeballs', etc), but then turn around and start their own project in solitude. Sure you can learn massive amounts -- but how much of that time is spent making the same mistakes someone else already made?
I'm comfortable with telling a programmer "NO! Don't write your own," because I know if s/he really wants to, nothing I say will change that. The value of getting them to stop for a minute to think if it's necessary is worth it.
Any competent programmer can write their own X. But it takes a master to help someone else's X succeed.
PhilChristensen | 16 years ago | on: My tech talk on Tornado (video and slides)
Find one you like, and do what you can to support it in some way.
PhilChristensen | 16 years ago | on: Diesel: How Python Does Comet
IO errors are some of the most annoying errors to debug, and the whole point of using a preexisting IO package is to not have to worry about errors in it. I would say you need 100% test coverage of your core library before I could consider using Diesel for a major project.
Just my $0.02...
PhilChristensen | 16 years ago | on: Diesel: How Python Does Comet
I hear this all the time, "argh, Deferreds are so hard to understand," as if there's some kind of magic going on in a Deferred. Deferreds are just a way to encapsulate two callbacks, one for errors and another for successful callbacks.
If you're writing any kind of significantly complicated asynchronous process, what is the difference between following a bunch of Deferreds and following a bunch of callbacks??
Asynchronous coding is hard. There's no framework that is going to make that go away. Diesel looks nice enough, but although it shows promise, there's not enough examples of hardcore usage to make a sufficient comparison. An asynchronous IO framework that has nothing but HTTP and echo examples doesn't even scratch the surface of the kinds of apps that require the advanced asynchrony available in Twisted.
PhilChristensen | 16 years ago | on: Ask HN: Do you create music? Let's hear it!
With my band seaflux, we've been spending a lot more time on social network promotion, and so although we've got a lot of linked content on our main site at http://seaflux.com , much of our material is available on our profiles on Facebook (http://www.facebook.com/pages/seaflux/27070655285), ReverbNation (http://www.reverbnation.com/seaflux), and of course of tons of videos on YouTube (http://youtube.com/seafluxmusic). Due to the improvisational nature of this band, our best recordings so far are live shows, which end up getting recorded just with a stereo mic setup.
PhilChristensen | 16 years ago | on: Twisted.web vs Tornado Performance, part deux
If you have any kind of long-running task to perform during a web request, you have to roll your own way of dealing with that task.
To make it worse, the demos included with tornado that make use of a relational database do all their queries in blocking fashion, which would render the server completely unusable during the runtime of every single query.
Given the fact that Twisted provides a robust API for dealing with long-running algorithms, as well as support for a huge number of other protocols, you're paying an awful lot for only slightly better performance.
In fact, in a real-world application, the performance benefit of Tornado is directly impacted by how good you are at dealing with asynchronicity.
PhilChristensen | 16 years ago | on: Tornado as your server: WSGI container lands in Tornado
explain to me how it's possible to run any significant WSGI app inside this container. wouldn't any long-running request monopolize the whole server?
i don't have a lot of exposure to other WSGI apps besides my own, but I always use synchronous, blocking development techniques when building them, including blocking database calls.
PhilChristensen | 16 years ago | on: Twisted.web vs Tornado, a Performance test
web2 was never a formally released product, and most of the stuff that was only available in web2 (such as wsgi support) have now been backported. there was some confusion about this for awhile, but that was only ever a community issue, not a code-related one.
i primarily took issue with you calling it a "mess", i still think that's a rather inaccurate statement.
PhilChristensen | 16 years ago | on: Twisted.web vs Tornado, a Performance test
PhilChristensen | 16 years ago | on: Use of LSD-25 for Computer Programming
Then the 'fair government' would weigh the entire product, and charge you for posessing that much LSD, which would weigh enough to charge you for distribution, thus sending you swiftly to the nearest PMITA Prison.
http://techcrunch.com/2009/11/11/joe-hewitt-developer-of-fac...
They released 3.1 almost immediately after that, but there hasn't been any significant updates since Hewitt left.