HNHacker News
TopNewBestAskShowJobs

plesn

310 karma · joined November 17, 2008

blank
submissionscomments
plesn··on Lunascript, Lunascript, Lunascript - The future of web apps
Are there more code snippets that the "chat" one ? From my (very shallow) understanding/guessing this provides:

1) statically typed records with some high level web-friendly types (automatically serializable to json). There is a "User" type, I wonder if there is a UserString one.

2) a purely functionnal core. "Mutation" with operator "+=" is available only in handlers, so it seems there should be a monadic type underneath for transactions.

3) XML litterals are first class primives, even more integrated than in scala, etc...

4) Relational queries are first class primitives (in the video). Is it typed for them to correspond to the sql schema ?

5) It is reactive (in the FRP sense). "messages.map(renderMessage)" updates the page fragment automatically as messages appear, message[] is a stream with push semantics.

Those are very good points, and I think the web should be programmed somewhat like this. It reminds me a lot ideas in Ur/web (http://www.impredicative.com/ur/), with a more web-developper friendly syntax and less academic presentation, but I don't know if the static garanties are as strong (record types).

An obvious question is : what about deployment ? (is it compiled ?)

plesn··on The UR Programming Language
Beautiful language and beautiful library for web programming. It imports all the practical stuff from heavy theory and mixes it in a coherent environement.

I've seen at least : monads for effects, functionnal reactive programming for reactive interfaces depending on signals (generating javascript behind the scene) and type level functions and records for powerful metaprogaming / generic programming in the haskell sense (independant of the types but dependant of their structure).

The last point is a very powerful one, making Ur's type system more expressive than Haskell's (but I saw recently that Haskell will also introduce kinds).

I'm not knowledgable enough, so I would be interested in an explanation of what the advantage of those compared to SYB-like generics (I would say no runtime type info attached and so more static checking ?). I think generics are not used enough and maybe Ur has a good point here : making easier and safe all the boilerplate of manipulating data representations, which is especially important in a world like web programming.

And I would also like to know what's with in the XML and SQL DSL's : is it a combinator library with syntactic sugar (I guess Scala does this) or is there more type hackery in it also using type transformations ?

plesn··on Domain Models - Thinking differently in Scala & Clojure
Interesting post showing 2 approaches both leading to good composition.

The Scala version is particularly noteworthy, as it is quite a good example of OOP which gets rid of inheritence as a pattern of code extension and uses mixin and function composition instead. This is going into the right direction.

plesn··on Functional TDD: Codd is my Copilot
Ok, so I (think I) agree with you that the following poperties make it compelling to test/develop/refactor code: purity / statelessness, algebraic properties of programs (transforms…), high level (brevity).

Where I (think I) disagree, is that I think methodology stays globally the same: I would even say that it desn't throw away TDD but gives tools to reinforce it. FP removes whole classes of nasty bugs and so it makes you test more essential stuff ; secondly the tools help you more because the compiler and the testing library know more, so for example in Haskell statistical tests are easy to write, pervasive, and often very meaningfull.

plesn··on Functional TDD: Codd is my Copilot
FP code can still be in mismatch with your thoughts about it, so functionnal programming does not magically "just work", nor does "it works or it doesn't work" (except in the dumb sense of this sentence which applies to all code). You still write tests even for pure functions to check that certain assumptions hold just like you would in Python, except you also have types to prove certain assumptions.

It is not always trivial to see pitfalls in pure code either (think of a complicated function like a parser). Whether you write your tests before or after you write code, you always have a at least one form of testing written (or infered) first: types. And yes, the shape of your code is influenced by your types and your tests (e.g. by making code easily testable with more meaningfull tests/propositions about it).

plesn··on Functional TDD: Codd is my Copilot
mmh, no. Functional programing is declarative, but I does not mean I don't declare utterly wrong and nonsensical things to my compiler. That's why I have not only a type system, but also testing tools even for pure code: see Quickcheck in Haskell. But, yeah, I often have less state to manage and patterns that avoid a lot of buggy boilerplate.
plesn··on Firefox Panorama: Tab Candy Evolved (now in Firefox 4 beta 4)
So web browsers keep trying to do right what Windows-like window managers messed up. (and I think they still need one think: the ability to split the view to compare tabs)
plesn··on The Programmer Hierarchy
The way programmers see each other was especially good in the "language matrix" : http://i.imgur.com/1gF1j.jpg
plesn··on Practical Haskell: Scripting With Types
This is the original dons' blog post (easier to read on the web than slides) :

http://donsbot.wordpress.com/2007/03/10/practical-haskell-sh...

An interesting read !

plesn··on Ask HN: What can kill Facebook?
Exactly. The two moments of the cycle are: killer feature and protocols.

When a feature goes mainstream, it neads to be openly standartized (Take GUI toolkits, take instant messenging). Then another feature/innovation moves the "battle" elsewhere.

Facebook somehow made MSN instantly much less relevant by combining jabber to their social networking site. Someone else will surely do the same, by combining social networking protocols (plug Dispora++?) to something else interesting by itself for its data. Maybe more interactive appliances and webstores? Imagine for example every appliance (phone, computer, camera…) having an adapted 'view' of your dashboard and relations, backed by a distributed datastore with proper backup and cryto.

plesn··on The Python yield keyword explained
loved the bank example !
plesn··on Be happier: Rent Everything
Be happier, find or borrow everything.
plesn··on Ask HN: What should we eat?
My personal first "contextualisation" about the food industry was a book called "A Diet for a Small Planet" (the reedition, not the original one). I liked it because it was the first time I saw some data and graphs about how and why (hint: profit) our food production is plain wrong.

Now, I try to be as cheap and sane as I can, mostly by cooking more stuff myself and eating more vegetables (non-industrial whenever possible).

plesn··on [dead]
So sharing music, seeds or medicines with others can be more evil than insulting them.
plesn··on Ask HN: Where do you get your unbiased news?
You did most of the work : fact selection, and fact presentation/interpretation.

Otherwise, seeing "Netherlands:0, Spain:1" on a headline is a biased news. I can see it as noise (non-important entertainment massively supported by ads I'm paying against my will in products I buy) taking my time and thus hiding more important things happening in the world (and insightful analysis of them) or around me I should care and do something about.

plesn··on Le Monde on the Brink
The problem is I don't consider "Le Monde" as a quality newspaper anymore: why would I buy it? What's its added value compared to information I cat get for free? It has a very serious tone but is in fact a very consensual newspaper (and usually gets really conservative as soon as elections approach; just look who is controlling it…). More concerning, it brings very few relevant in-depth analysis with historical context and involvement and doesn't differenciate itself enough from all the rest. I subscribe only to "Le Monde Diplomatique" which is the only newspaper which still brings some insights and reports going beyond just annotated events which that I can find anywhere.
plesn··on A refrigerator that runs without electricity
Same thing on 1 page ? I hate feeling controlled by the content I read…
plesn··on Dynamic typing and anti-lock brakes
Good point, but the debate is still in the "C++ vs Python" bounds. Haskell has Hindley-Milner and Quickcheck and I think the debate is elsewhere: the cost of abstractions and tools (just read another doc/paper to understand how to do this) but also their benefits (scaffoldings and cranes while programming).
plesn··on Diaspora website redesign, now with more info about the project
Nothing will give you definitive answers: email is decentralized but computer-litterate and privacy-aware people use gmail and regularly send important emails to gmail users...

I agree with you that there should be some way to "quite easily" encrypt everything so that your recipient decrypts it only on its client software, though I doubt the situation will differ from the current one with emails. But "Freedom" lies in the effective ability to use it. Once all protocols are open your issue is more social than technical: for this see Elben Moglen's ideas on personal servers (tiny pluggable servers…) (even if we already have DSL boxes and even phones for small-bandwith data).

plesn··on Diaspora website redesign, now with more info about the project
Of course you can't prevent people from copying stuff. But you can control who you want to trust. If the interface allows easily grouping people, you can easily publish your political thoughts with your friends and your children photos with your family. Everything else is not a technical problem: before you tell someone something confidential, you'll gauge wether she will repeat it to everyone and to whom she might repeat it.
plesn··on How to Write an Interpreter in One Day
There are also parser combinator libraries in several languages. Haskell's Parsec is quite a pleasure to work with. Even if the one in your language is quite beta it should be enough for such a toy project.
plesn··on VLC 1.1.0 1st release candidate, with VP8 and GPU decoding...
Oh, so that's a disadvantage for VP8 against h264 on current cards. I wonder how well such a decoding can perform implemented on OpenCL/CUDA vs the pure "supported" version..
plesn··on VLC 1.1.0 1st release candidate, with VP8 and GPU decoding...
The VAAPI for GPU accelered video decoding on Linux is really interesting. I don't know enough about video to understand how low-level it is from the MPEG2 exemple on their web site: does it have to be a codec already supported by your video card as I understand, or can you code new ones with existing building blocks?
plesn··on Who's Afraid of Synthetic Biology?
I find this article not only strongly biased (both in the presentation of the actors of the debate and in the poor addressing of the arguments themself) but also completely missing the core of the debate.

Opponents are depicted as driven by their "fears" (of accidental or voluntary release of dangerous synthetic organisms). Whereas propoents have a "goal" (to produce efficient and clean products, and even to clean our current ecological situation). One of the opposing organism, the ETC group, is described as an "anti-technology group" even if its position is basically presented as people wanting to think before acting. More, on ETC website I am reading: "developments of technologies useful to the poor and marginalized".

The "fears" of the opponents are not stated as groundless as they are not negated, but solutions are presented in the second part of the article: synthetic organisms would not be dangerous because it's too early, we survived extinctions related to movements of organisms caused by humans, and because synthetic organisms could be watermarked and controlled with chemical deficiencies. First one is not even logic, second one is saying that retroaction is not useful in the process until we are not dead, and the third one, well, what about voluntary leaks, evolution. Well, maybe I've seen to much science fiction.

But in the end, this article is just poor because it hides its position in the debate behind "it's science!" and just doesn't address the true political questions appearing with each technology: who will control it and towards which end? Obvously, discussing patents and interests of Venter and associates (which happen to be... Exxon Mobile or BP...) should definitively be out of the discussion scope, just like the irony of the way the try to surf the "bio-ecologial" wave: "look ma, we're going to repair damages we've made and make $$"

plesn··on Dalvik JIT
Does someone have a link to the video he is talking about from the Google I/O conference ?
plesn··on Why Diaspora will fail
Basically, this sums up to two things criticized:

1) the decentralized architecture: people won't install servers

2) not concrete enough: they only pile buzzwords and money for now. See also the 37signals criticism http://37signals.com/svn/posts/2330-diasporas-curse

While I mostly agree with (2) I think that we can't criticise (1) based on the current situation on the web because the whole innovation -- if it happens -- is precisely the way all this will be done. Just saying "people having servers? crazy!" is just as pointless as saying "people having personnal computers? crazy" was 3 decades ago ago: people sort of already use servers all the time: DSL boxes and smart phones on the hardware side, bittorrent on the software side. So of course it is not easy, but don't forget that if there is a need for such a thing, it will eventually made easy to use. And concerning diaspora, it's not even about servers, it's about standards: think rather about something like email. The question is rather if will we go towards more decentralisation of the data and more autonomy for the users on the net.

plesn··on 'Artificial life' breakthrough announced by scientists
It's more like a compiler: bootstrapping is not complete yet though, the bacteria produced should be able to produce the rest of the entire cell.
plesn··on We need a new word for "Open"
I agree open has become newspeak and we have to be more precise:

- published: you can use it to get some data and it is documented

- transparent or reversible: you can get your data back

- interoperable: you can implement the API on your own and interoperate with other users/servers

plesn··on Students in Laptop Spying case get to view 58k photos
I wonder if the LED of the webcam was on when they where spyed (and more generally if you can disable those by software).
plesn··on Ocean fish could disappear in 40 years
Just go back 50/100 years ago before the food industry. I mean in my previous comment I'm taking as example traditionnal dishes which where already quite complete even when people couldn't afford meat/fish at every meal.
← PreviousPage 2 of 6Next →