HNHacker News
TopNewBestAskShowJobs

jhrobert

462 karma · joined May 10, 2007

Software Veteran
submissionscomments
jhrobert··on Show HN: Piki, a fresh take on the wiki
One can "style" text without a "markup language". For example star text star <- bold. I went further in http://simpliwiki.com/SimpliWiki
jhrobert··on Show HN: Piki, a fresh take on the wiki
I really liked that "section" -> "sub section" -> "paragraph" handling. Very unobstrusive. I am yet to study "contenteditable" but I'm glad it lets one designs such mechanisms. Kudos.
jhrobert··on LLJS: Low-Level JavaScript
Cool. This leverages JIT compilers ability to generate fast code (at the expense of language expressiveness, for it obviously works well with static style code only).

I wonder what a "JavaScript JIT optimized C dialect" would be? Ie. what are the C mechanisms that are too expensive with today's JIT engines?

jhrobert··on Fog Creek Compensation
So. What would be the salary at level 12?
jhrobert··on Trying to See Through: A Unified Theory of Nerddom
whoa. Looks like I have a new addiction: "insight porn". whoa.
jhrobert··on Mypy - An experimental Python variant with dynamic and static typing
What about "hints"?

  def foo( often int n ):
This one would generate both the dynamic & the static versions.

Once all call sites stop using the dynamic version, one can move on to strict typing (and remove the "often" qualifier), if such is the goal.

Think of it like the old "register" hint in C code (now obsolete).

jhrobert··on LispyScript: A JavaScript With Lispy Syntax And Macros
Add "SweetExpressions" and I wonder how far from coffeescript it would get.

"SweetExpressions" is probably the best method so far to get rid of excessive parentheses in lisp. See http://readable.sourceforge.net/

jhrobert··on Optional Parentheses: You're Doing it Wrong
F(x) versus I p -- functional versus imperative, idempotent versus side effect... that's an interesting convention.

I believe the mess with optional parentheses is mainly due to the left/righ associative rule. i.e. I have difficulties to properly group subexpressions.

My style: don't assume reader knows about associativity rules so much, prefer explicit parentheses when ambiguities about interpretation is solved by these associativity rules.

For language designers: maybe parentheses should be mandatory when sufficiently nested?

jhrobert··on Actually, you don't understand lexical scope
OK, so coffeescript is really slow at implementing "local variables".

Humm...

jhrobert··on Aaron Swartz Legal Defense Fund
They could not get Assange, hence...
jhrobert··on Unit Testing: Is There Really Any Debate Any Longer?
Unit Test, sure, but at what "unit level"?

I usually prefer "automatized system testing" where fewer "high level" tests involve a lot of code, preferably in a test environment that is close the actual production environment.

Of course, when a test fails, some more analysis is required to determine what went wrong. But it's usually related to recently modified code, hence easy to spot.

That way I get the benefits of automatized tests without the burden of tons of "micro" tests at the class/method level.

jhrobert··on Coding skill vs. employee skill
Humm... I was talking about "true" good coders (kidding).
jhrobert··on Do JS styleguides reflect how popular open source code is indented?
Yes. Actually I limit myself to 79 columns! Not sure why, maybe to escape the idea that 80 is a punch card inherited limit... I am thinking to switch to 72, that's the RFCs limit.
jhrobert··on Coding skill vs. employee skill
Good coders work for glory, not money nor power.
jhrobert··on Do JS styleguides reflect how popular open source code is indented?
I suspect that two spaces make sense when you also limit the length of line to some maximum below 80.

I.e. I suspect that those using 4 or tabs also use long lines.

And long lines are not considered very readable these days...

As a result, my personal conclusion is that two spaces indented code shows a stronger interest in readability.

But I don't have numbers to back this claim and I understand it is contreversial. Maybe the author of this nice tool can add info about long lines?

jhrobert··on Do JS styleguides reflect how popular open source code is indented?

  var one = 1
  var two = 2
jhrobert··on The Problem With Comments
If you dim code instead of comments, you will get some of the benefits of "literate programming". Just try it, it's an interesting experience.
jhrobert··on The "Taken Username Effect" on Twitter
A while ago I started using my camel cased name: JeanHuguesRobert (some sites don't like jean_hugues_robert)

Long and weird enough. Well, too long sometimes. In those cases I revert to my "unix login name" ie jhrobert.

But, for twitter, where size matters, I got @jhr - I guess it must have been a long time ago.

jhrobert··on Ask HN: What one thing would you tell your younger self?
You don't change people, even loved ones.
jhrobert··on A syntax comparison across many languages
This is quite an amazing achievement.

There are a few other dimension to explore beside syntax. Like "are arrays 0 or 1 based?" etc

Apparently the author is now part of the opalang effort. They used to have a slightly weird syntax for their language and later changed that to have it look more like JavaScript. That's a strange move when concise syntaxes à la Ruby or CoffeeScript seem popular.

jhrobert··on How many slaves work for me?
The results are useless. It tells you that xxx slaves work for you, with xxx beeing something between 20 and 100.

This great exageration makes no sense.

What would have been usefull is the amount of slaves working for me... full time (versus "involved" as described in their methodology).

jhrobert··on Experiment: Unit testing isn't enough; You need static types, too
There is a case for "optional typing". It's speed. I guess everyone agree on this one.

Better than "strict" typing, sometimes "hints" about the type would be enough.

ie: "ii often integer" versus "ii" or "ii integer"

From then on, those who favor strict typing would be happy, those who favor dynamic typing would be happy and those who favor "efficiency" (whatever this means) would be happy.

Let's close this silly debate.

jhrobert··on How to Talk to Human Beings
Sure, the virtue of Empathizing come as a surprise to those who are strong at Systemizing.

Active Listening is somehow ok with kids, with adults it smells manipulative to me. For women, as always, it's a different story (kidding).

jhrobert··on I told my 2nd year CS students to create a programming language [RESULTS]
There exists tons of "toy" language implementation available online. I wonder why no students came up with a forth or lisp like solution that would have been able to handle nested loops, ifs, etc...

When I was in my 2nd year as a CS student, one of the assignment was to reimplement the Unix's M4 preprocessor (a superset of C's preprocessor), based on its manual... It includes an expression evaluator, we were told that tools like lex and yacc would help...

Well... that was 25 years ago.

jhrobert··on FORTRAN should virtually eliminate coding and debugging
Half a century later, people are still overly optimistic about software development. According to recent studies, this is true for everything (and society at large is actually in favor of it).

Yet it is particulary visible in computing. Why is that?

Side note: bullshit in marketing brochure is here to stay.

jhrobert··on An Intelligence Test
Change "black" into "non jew" and see how it works. This is definitely racist stuff, no question about it, disgusting (intelligence is also a matter of "taste").
jhrobert··on *JS : Low-Level JavaScript
Performance matters. An efficient JavaScript dialect is very much needed indeed.

Another solution would be to include a C compiler in every browser, with some DOM thing binding and a convenient JavaScript bridge.

It will be interesting to see what optimizing interpretors can get, performance wise, when source code uses "performance friendly" features only.

jhrobert··on My Doctor's Office Asked Me To Lie
When everybody becomes a forced liar, it becomes easy for authentic liars to hide in the crowd.
jhrobert··on Shipping Mantra: Fix What's Broken First
"Fix bugs first" is a principle that saved me once when a project was getting into trouble due to everybody (developer & sale people alike) willing to add features instead of fixing poorly working ones, leading to an increasing lack of quality and customers anger.
jhrobert··on Examples of Lisp formatting through history
Is this the definite proof that Lisp in unreadable, no matter what?
← PreviousPage 2 of 9Next →