HNHacker News
TopNewBestAskShowJobs

Fixnum

406 karma · joined August 3, 2009

submissionscomments
Fixnum··on The Shen programming language
The infix operations are mostly syntactic sugar - [3 4 5] is the same as (list 3 4 5), [A|B] is (cons A B), and so on. I don't know about '->' for pattern matching and '<-' for backtracking (maybe others), but you can of course replace '->' by conditionals as is usually seen in Lisp programs not employing pattern matching.

It's the non-open license (forks seem not to be allowed) which is a bit more disappointing. I guess it's a reaction to historic Lisp fragmentation but I doubt this will help adoption.

Fixnum··on Tell HN: Suspicious but well-meaning new spam accounts?
Not so subtle, but user CANWorkSmart seems to have created a bunch of shills to comment on his (now dead) post at https://news.ycombinator.com/item?id=3010356.

Might be worth it for a mod to kill them off...

edit: the '-----' appears in place of the 'reply' link when the post can't be replied to (in this case because the submission is dead?).

Fixnum··on An Open Letter to Sal Khan
Unjust.

The Khan video fails to clearly distinguish definitions and derived results, so his formulae are effectively God-given from a student's perspective.

However, the writer's attack on this video is wrong as well. Presenting slope from the "rate of change" definition before _defining_ the slope of a straight line is nonsensical. Questions of axis rescaling are important but inessential to the basic definition. Trying to discuss these points in order to connect to the "real world" (the theme of the site?) before the basic definition is given can only confuse and give a false sense of understanding.

This isn't to advocate a purely formal exposition, either: there are various points of view (Euclidean, Cartesian ...) and reconciling them is probably above the level of this lecture, but one should not define a straight line as "a graph of a function with constant derivative".

Ultimately this seems like a rather forced argument presumably designed to distinguish the poster's "real-world-focused" materials.

</pedantic>

Fixnum··on Github is Your New Resume
> College and Personal Projects

At the risk of stating the obvious, I'd strongly recommend against putting school projects in a public repo. You might disagree with the ethics of it, but if someone submits your code to your own school, you could conceivably be held responsible for facilitating plagiarism.

Fixnum··on Ask HN: I got screwed and now im looking for a place to do my internship in.
Also regarding the resume:

1) I'd separate "Languages" and "Computer skills" 2) A couple of English spelling/punctuation errors 3) Write something concrete like "started with Slackware in 200x" instead of "interested in computers for as long as I can remember" -- cliche, overused phrase.

Hope this helps.

Fixnum··on Advantages of Tcl over Lisp
(setf * print-circle* t)
Fixnum··on Programming languages are being deleted from Wikipedia
I think you're confusing the "reliability" of a source (in the peer-reviewed article sense) with its reliability as an indicator of the notability of some subject X.

The peer-review system basically establishes (a) the reviewers believe the result is non-trivial and (b) the reviewers believe the result is correct.

However, I'd say that the very existence of documents such as third-party tutorials/introductions/discussions, etc., can be adduced as evidence of notability. Think of determining notability more as "sociology" than some academic judgement about the intrinsic worth or originality of the topic.

For instance, "article citations as notability" is patently absurd in the case of, say, celebrity or TV show articles (the existence of both of which seems accepted on Wikipedia) or even news topics, and only somewhat less so in the case of PLs, especially those developed outside of academia. (It's arguably a bad criteria anywhere where results aren't very expensive to reproduce, such as population surveys and lab results -- surely many important results in math and physics living only on the arXiv are more notable than some minor topic which generates higher citation counts through constant re-citing by the same group of devotees).

In contrast, the three languages mentioned on the front page were all ones I'd previously heard of.

I see there is a paragraph in the Wikipedia guidelines for notability regarding refereed paper citations, but in line with my above comments I'd suggest that this not be read too literally. Perhaps it's personal preference, but I find such "long tail" articles useful, even if that means WP contains millions of articles on topics I personally find irrelevant.

Perhaps the reason you've incited such anger is that people feel you're imposing what can be seen as elitist and subjective views about how notability is defined (certainly it's not true that everyone's pet/undergrad PL project should have a page, but the three languages mentioned certainly have received wide attention). From this perspective, the question here is not about any particular property of these PLs but what the WP criteria are or should be, so it would certainly be best to err on the side of non-deletion in all cases.

I hope you reconsider your views on this topic (disclaimer: I am not associated with any of the projects mentioned).

Fixnum··on Match.com Acquires Online Dating Site OkCupid
http://pastebin.com/LR8Gjkki
Fixnum··on Intro to K, by Arthur Whitney
J7 source code:

http://www.math.uwaterloo.ca/apl_archives/j/early_j/src/

Fixnum··on Ask HN: Free Programming eBooks
This topic on StackOverflow: http://stackoverflow.com/questions/194812/list-of-freely-ava...

The Smalltalk library linked from that page: http://stephane.ducasse.free.fr/FreeBooks.html

O'Reilly open books: http://oreilly.com/openbook/

Some FP books (Ocaml, Scala, Haskell,...): http://news.ycombinator.com/item?id=1088594

Scheme:

"An introduction to Scheme and its implementation." ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html

"The Scheme Programming Language, 4th edition." (Dyvbig) http://www.scheme.com/tspl4/

"Concrete Abstractions." http://gustavus.edu/+max/concrete-abstractions.html

Lisp:

"Common Lisp the language, 2nd edition." http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html

"Successful Lisp." http://www.psg.com/~dlamkins/sl/

"Common Lisp: an interactive approach". http://www.cse.buffalo.edu/~shapiro/Commonlisp/

Ocaml:

http://www.seas.upenn.edu/~cis500/cis500-f02/resources/ocaml... (draft)

Scala

"The Lift Book." http://groups.google.com/group/the-lift-book/?pli=1

Linux:

http://www.linuxlinks.com/article/20090405061458383/20oftheB... and http://www.linuxlinks.com/article/20100402190204972/12Moreof...

Programming Languages

"Programming Languages: Application and Interpretation". http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/200...

Other

"Communicating sequential processes." (Hoare) http://www.usingcsp.com/

"Foundations of Computer Science". (Aho and Ullman) http://infolab.stanford.edu/~ullman/focs.html

Fixnum··on Ask HN: Common sense emacs tutorial that doesn't assume I'm stupid?
Emacs has pretty good/massive documentation: for help, just press "C-h t" (Control-h, then t ...) for a tutorial. Or, type "M-x info" to get into info mode and then scroll down to the Emacs section. Type 'h' in info mode for a tutorial on info ...

Are you using Scheme or Common Lisp? For MIT Scheme or similar, you might want to take the Emacs tutorial in Edwin instead (start MIT Scheme with the "-edit" flag) since it contains Scheme-specific commands. Also check out http://www.gnu.org/software/mit-scheme/ and follow the directions to install xscheme.elc - it gives you a Scheme-mode optimized for MIT Scheme. This doesn't compare to SLIME mode for Common Lisp, but I don't know of a good substitute.

That said, there are QUITE a lot of Emacs and Scheme-mode commands, and the only way to learn them is through use. Once you're familiar with the basics (motions and evaluating), you might take a list of commands you want to master and put up two or three at a time, making a point of using them. Here's a very limited and basic set of Emacs/Scheme commands: http://github.com/bcdarwin/SICP/blob/master/emacs_bindings_s...

There is also customization via the .emacs file or Emacs Lisp programming; see the Emacs info documentation or the O'Reilly books on this.

Fixnum··on Ruby's first-class functions make printf-debugging obsolete
"Just because you can, doesn't mean you should."

In particular, this Applies to Eval.

Fixnum··on [dead]
Moreover,

http://news.ycombinator.com/submitted?id=miriam .

Flagging this story so people don't have to waste their time.

Fixnum··on [dead]
The author is a crackpot. See for instance

http://www.rebelscience.org/Seraphim/Physics.htm

("Abstract: Most people never think of the Bible as a source of scientific knowledge. In these pages, I argue that the Bible contains powerful secrets regarding the fundamental structure and composition of the physical universe.")

Fixnum··on Programming is the new literacy
Yeah -- if a native English-speaking adult hasn't acquired a grade ten level of literacy (understanding rules of punctuation, grammar, spelling, composition, semantics, cogent argument), what chance do they have at reading/writing code?

Such a situation would basically be (is?) an admission that the educational/social system has failed to help the individual develop mentally [!] to the level which is probably possible for most people. Which is something that I find sad.

Fixnum··on Opera downloads triple after browser ballot screen debut
My awareness of Opera comes mostly from the fact that their people are always the ones complaining to the European Commission about Microsoft. "Not that Microsoft isn't loathsome ...", but that's not the sort of publicity that's given me a great urge to try their browser.
Fixnum··on Google AI Challenge Results
So, 27 out of the top 30 were were written in C++, including all the top 10.

What's the lesson from this?

Fixnum··on Doing the Microsoft Shuffle: Algorithm Fail in Browser Ballot
Perhaps this is Microsoft, or someone who works there, thumbing their nose(s) at the EU - after all, what monopolistic corporation wouldn't be bitter at not having been able to buy out such an influential quasi-government organization [edit: and, worse, be forced to advertise on behalf of one's competitors]?

Don't get me wrong: I'm no fan of MS or IE. But I can see why they might deliberately fail to implement this correctly. [edit: ...]

Fixnum··on The Great Recession of 2011-2020
From http://www.theatlantic.com/magazine/archive/2010/03/how-a-ne... (appeared several times at news.yc):

"Princeton’s 2009 graduating class found more jobs in financial services than in any other industry. According to Princeton’s career-services director, Beverly Hamilton-Chandler, campus visits and hiring by the big investment banks have been down, but that decline has been partly offset by an uptick in recruiting by hedge funds and boutique financial firms."

Fixnum··on Fully Countering Trusting Trust through Diverse Double-Compiling
The idea is that a compiler is, loosely, a self-reproducing program and is therefore in a position to propagate malware in a very subtle way - by modifying the binary version of future versions of itself.

From a security perspective, this is different from a compromised (say) Debian mirror because it's not a question of, "does this binary match the source I downloaded from?" but, rather, "does this binary do the right thing when I use it to compile my system?"

Think of it this way: you and a friend both compile GCC. But the native code which results is not necessarily the same - it depends on details of your machine and your existing compiler tools. So there is no way to say what "the binary for GCC 4.4.x on i686" should look like, so you cannot tell if your friend modified his compiler's source code just before compiling it. This is (sort of) the problem the paper is solving.

I am not an expert, but I hope this is clearer.

Fixnum··on Sniff browser history for improved user experience
See http://news.ycombinator.com/item?id=800693 and associated link.

Summary: To mitigate, either (a) tell your browser not to save any history, or (b) in Firefox, go to about:config and turn off layout.css.visited_links_enabled. (Chrome doesn't seem to have about:config ...)

This should probably be the default ...

Fixnum··on Fully Countering Trusting Trust through Diverse Double-Compiling
No, it's for checking whether the compiler used to compile the compiler that produced the binaries on your system was compromised.

Intuitively, let's say I write a very early version of a (say) gcc, but insert code so that if the compiler detects that it's compiling a login program, it inserts logic into the binary so that "kt" can always login without a password. For this to survive beyond the next rebuild, the compiler also has to detect when it's compiling itself and insert the same logic. This 'Trojan horse' can survive as long as people keep compiling your compiler in itself, but is never detectable from looking at any later version of the source code.

So you need to trust each version of the compiler (assembler, linker, microcode) you are using all the way back in history. The claim of the PhD and the 2005 paper is that you can verify the integrity of a compiler using another compiler that you do trust, all the way back in history.

The apocryphal story is that Ken Thompson actually did this with an early Unix compiler. Here's his very short original paper:

http://cm.bell-labs.com/who/ken/trust.html

Fixnum··on Interview with Don Syme, the inventor of F#
"According to many developers, it is the most original new face in computer languages since Bjarne Stroustrup developed C++ in the early 1980's."

Uh, isn't F# mostly a derivative of OCaml (and Haskell)?

Fixnum··on Ask HN: Looking for interns / entry level?
Your front page is missing two "."s, which is ironic considering that you use "Period" as a sentence. Hope this helps.
Fixnum··on An Educational Extinction Event?
Here's another important function of universities: they don't merely provide a good environment for but legitimize taking 4 years out of the workforce and immersing oneself in philosophy, English, mathematics, alcohol, or whatnot. This is probably due to things like the prestige of getting into various schools in the first place, the perception that going away to school makes you more responsible, that it provides a better learning environment than studying at home by yourself, and that you're forced to work at some minimal pace.

Arguably, self-study of undergraduate materials might become the new norm, but until it's feasible for students to really immerse themselves in scholarship over a long period and come out with comparable results to Ivy schools, these institutions don't need to change regardless of progress in the quality of online learning materials and networks. This is really just another form of 'credentialism': until you can actually get an online certification from MIT, not just taking their courses, society (including employers and financiers) won't be very accepting of this. And, of course, given the way the job market is heading for those without university degrees, one would be wise to try borrowing against the cost of a 'good' education rather than trying to work part-time and study over a longer period.

So we are still stuck with the 'credentialism' problem until a new MIT appears and starts administering really tough exams, free of courses ... or something ...

Fixnum··on Ask HN: Why hasn't anyone done this sort of hack for (intro) textbooks?
I haven't really investigated, but I suspect that in the introductory math/phys/chem courses you'll find that variable names/values also change in various ways. So in keeping track of what's "different or new", you end up not needing just dependencies but, realistically (in terms of reader convenience, but also due to difficulty of parsing OCR'd math problems to determine which are 'isomorphic'), all the problems from the latest edition. Which might not quite be 'fair use.'

I am not sure about other courses like bio or psych.

Good luck solving the textbook problem, though ...

Fixnum··on Why Metalua isn't Lisp
Sadly, no commit in almost a year: http://github.com/fab13n/metalua

(The article itself is from 2007.)

Fixnum··on Why 30.1% of numbers start with 1
Thanks!
Fixnum··on Why 30.1% of numbers start with 1
Without taking the time to read the rest of the book, I am suspicious of the author's claims that he has really solved the problem. Consider:

- Wolfram Mathworld references this topic and claims Benford's Law was put on a rigorous footing in 1998 (http://mathworld.wolfram.com/BenfordsLaw.html), but this is not even mentioned in the book.

- the author makes "straw-man" type claims that (unnamed) prominent mathematicians view Benford's law as "paranormal". Also see the last two paragraphs on the first page of the original article, where the author dismisses the idea of a "universal distribution", which is used at Mathworld to give a heuristic derivation (suppose some rule governs this distribution -> apply scale invariance -> derive needed properties) - it seems like he misunderstood this.

- the author claims that he is the first to have solved this mystery, but doesn't reference any literature since 1976

- he claims on a blog (http://www.dsprelated.com/showarticle/55.php) that he tried to publish in journals, but was rejected because mathematicians weren't interested. He then published in a textbook, not even in some sort of paper. His "proof" is really long, uses very elementary mathematics and unnecessary computer programs, and refers back to other parts of his book (so that I don't want to actually try to parse the whole thing and see if I believe it).

Can anyone confirm or deny my suspicions?

That said, Benford's Law is really cool.

Fixnum··on Paypal Freezes Wikileaks's Accounts (Scroll down to donate)
Or Wikileaks really needs to find a new electronic payment service.
← PreviousPage 2 of 3Next →