614 karma · joined February 25, 2009
This problem [of software libraries] was definitely recognized by the Scheme community, and was “solved” in R6RS. However, R6RS seems to have been a flop...
I've heard this argument before (R6RS is a flop), but no-one can give me any logical reason why this is the case. I wish Scheme implementors would stop dragging their feet and implement R6RS already! Only with a portable library mechanism (specified in R6RS) can Scheme users like myself begin the effort of building a standard library platform for all Scheme implementations.So yeah, if I'm going to be typing HTML, I'll likely do it with my own editor.
I clicked on the image of a web site on the landing page which loaded what looks like a designer/editor, but clicking around and trying to type things (assuming its an editor) had no result. I 'added a page' or something, but this just confused me even more: now there's the text 'this is just an example page' and I've no idea if I'm supposed to edit it, or what (but I can't anyway so forget it). I looked into the DOM tree to find a text area or anything I could use to interact, but no luck.
I tried, honestly.
Either way, all this bluster is a red herring. The article has it right: Facebook is outright lying when they claim this is about protecting its users--people who have explicitly agreed to include themselves in my social graph in the first place. It's about owning the social graph.
Not only does everyone think they know what good design is, and let you know what they think is right, they'll be looking at you thinking 'what do we need you for? why are we wasting money on you?'
You need to first justify your existence, then justify your abilities to people who know better anyway. Who needs this grief?
As with everything there are tradeoffs. Benefits include reusing libraries for both browser-based and native-based applications portably across client platforms. I have a large library of server code for the kinds of applications I write, so knocking up a new application in that domain is easy. I find writing clients in HTML/javascript easier for my iterative development style. Client libraries like jQuery help too, although I don't use them much as my apps run on an embedded device (333MHz) where they slow down page rendering too much. I use them for mocking up and prototyping and rewrite to inline javascript for deployment.
The biggest drawback is the native client, and I try to avoid having to use one as much as I can. And while Qt is good for Windows/Linux/Mac, you need something else for Android (I can't comment on iPhone/iPad because you can't program the bluetooth on them, so it is useless for my particular requirements). So you'll be maintaining separate clients which can be a bitch, but such is the nature of tradeoffs.
On the whole I much prefer this style of application, playing around mostly in HTML/javascript/perl, dropping into C++ when I need to touch the platform. Originally I thought using a browser might be too slow on my constrained device, but webkit is quite pleasingly snappy--faster than VB for an application one of my hybrid apps replaced.
rpc Search(SearchTermProto) returns (SearchResultProto);
Have I missed something?The response was out of all proportion. Users liked it so much, talked about 'latency' and 'improved workflow' (none of the software had changed, only the boot time). There is no doubt that startup time is a significant contributing factor to the way users respond to applications/devices.
I was musing over all this with a co-worker who expressed no surprise, and told me a story how, back in the 90s, he got a similar response from his users by simply removing the splash screen. Not even reducing startup time. He said people were waiting for the splash screen and when the main window opened, they thought it must have started so quickly they missed it.
True, the 'one lucky kick' possibility also means that your team wins when it really shouldn't have. Is this really satisfying to a supporter?
(I've also heard it concluded that the glut of scoring makes basketball less appealing for similar reasons, but I haven't followed it enough to determine whether this is true).
Diaspora should have a similar model. You can use a hosted node, or one your ISP provides you when you sign up, just like they provide you with an email address.
Using Diaspora should be no different than "downloading the facebook page to your computer and running it on your browser", for example.
>Diaspora apparently requires you to run your own set of web hosting services in preserve your privacy, which no one really cares about
To me, this reads the same as "having an email address requires you to run your own email server". If Diaspora takes off, I'm sure it will be another check-box on ISP features lists.
A tip for anyone who provides an online demo of their app: either don't make me log in, or provide credentials I can use on the login page (such as: 'Ordinary user? Login: user Password: user', 'Administrator? Login: admin Password: admin').
Their 'demo' presented a plain login page that rejected whatever I typed into it. It makes me think they either have not thought about providing a decent demo, or they didn't QA it. Either way, it reflects poorly.
1. This paper is from 1996 (oh my! 14 years), and so does not consider the syntactic clean-up performed with C++0X.
2. The paper is co-authored by Damian Conway (http://en.wikipedia.org/wiki/Damian_Conway), perl legend, author of Quantum::Superpositions (http://search.cpan.org/~dconway/Quantum-Superpositions-1.03/...)
3. This seems to be part of research conducted on 'Human Factors in Programming Languages', which includes another paper on the design of SPECS (the syntactic clean-up mentioned in this paper), and another interesting-sounding one: 'Seven Deadly Sins of Introductory Programming Language Design' (see http://www.csse.monash.edu.au/~damian/papers/).
The contrast in design choice just left me depressed. All the phones were crappy, ugly things, with user interfaces that were just awful. Maybe they had really good features but I didn't care, because it looked to me as though the designers didn't care about their product. And this was something I was going to bring into my home and use everyday!
The whole experience left me bummed. I left with just the iPod.
This means I can't just hit 't' and type a URL. A small nit-pick I know. I've just looked at the source, and it seems a problem with Google's API call (chrome.tabs.create). It is supposed to default to the New Tab page unless a URL is provided (and vimium does not provide a URL). On my install the home page is opened instead, so this is not Vimium's fault (and I'm very happy with it thus far).
Having said that, I'll probably not reject your email attachment, instead I'll just make my edits and send it back to you as an Open Document.
As a side note, why do so many people assume everyone else is a stereotype? When people are complaining about their specific needs, all I hear is "All people want to do is...", and "I don't care about XYZ, it should 'just work' the specific way I want it to because that's all people want", and my all-time favourite, "Joe Six-pack just wants XYZ". I've never met anybody with the surname "Six-pack".
But then I realized this is just getting tricky with C++ arcana, and is unfair. I once read all of Herb Sutter's 'Exceptional C++' series, and they scared me so much that I still get the frights, years on, when contemplating approaching a C++ compiler.
And I used to think I was OK with C++ too. But after Sutter's books I had to accept that, nah, at best I was mediocre. I admire people who can boldly cast out and rapidly prototype a library or something. Or who have the patience to iteratively engineer a Boost library. I will never achieve this, despite once desperately wanting too.
(in ~/.zshrc)
# 'ff' command -- find string in files with a specified suffix
ff() {
[[ -n $1 && -n $2 ]] || {
echo "Usage $0 [suffix] [string]"
echo "Where"
echo " suffix file suffix (without wildcards)"
echo " string string to search for (quote if spaces)"
return
}
find . -name \*$1 -exec grep -Hn $2 "{}" \; | less -RFX
}
Has colorized output, and only pages (with less) when there is more than one page to show.And yes, both asynchronous and synchronous operations have their place, umm, except perhaps in Haskell where things get funky. Chaining async operations together in javascript can be tedious, but its easy enough to write a helper function to handle it for you. Every javascript app I've written that uses AJAX always has some form of createCallback(context, function, arguments) function.