Hacker Newsnew | past | comments | ask | show | jobs | submit | elf_m_sternberg's commentslogin

I recently wrote an article called "So You Want To Get Into Theoretical Computer Science," which is mostly about how to read a bunch of papers to figure out some obscure, heretofore unimplemented (outside of academia) algorithm.

The biggest challenge was reading the mathematical notation, to whit: the four biggest papers in the field I was studying used four different notations, and that you'll end up writing your own translation guide:

https://elfsternberg.com/2018/10/27/so-you-want-to-get-into-...


I found "Writing an Interpreter in Go" to be a much better read. It was actually completely portable to C++ and Rust, and that made it useful to pretty much anyone.


Presumably: https://interpreterbook.com/ is what you mean?

(Also: I'm following along with "crafting interpreters" and not writing my interpreter in java, have had no troubles)


Olympus WS-600 dictation device. It's a slim thing about the size of a cigarette lighter, but it has actual physical buttons, and a built-in USB connector to dump it to my laptop. I review it every morning, and depending on the nature of the note, it goes into (a) Google Calendar, (b) a hand-written notebook, (c) an Emacs Org Wiki which I sync between my devices with Syncthing, or (d) the Notes folder for any of my specific projects.

It's the same thing Newt is speaking into in the movie Pacific Rim. I was tickled when I saw that. They're hard to get nowadays; the later 700 and 800 models are bigger, clunkier, and cheaper-feeling.


Have you had any reliability issues? My wife does transcription work and has had multiple models of the Sony and Olympus recorders fail on her. She has her client use his laptop and Audacity right now because of the persistent threat of data loss.


There are a few projects on my github (elfsternberg) that I've used Hy for.

One thing that I've also done is write the first draft in Hy, and then used Hy2Py to generate the version that I'm going to publish. This does result in a lot of compiling-by-hand, but the end product is often surprisingly robust.

On the other hand, it's also very (!) un-pythonic. Hy discourages classes in favor of closures, like Scheme, so I end up with a lot of nested sub-functions. My project git-linter looks like that. Hy encourages highly functional thinking, and git-linter is just that: the inputs are things like the configuration file, available linters, the command line, and (depending on the command) either the output of a "git-status --porcelain" or just "find . -type f"; the output is a report on the various outputs of the linters. It's a very straightforward map/reduce/filter, so no object-orientated code at all was required.

To an engrained Pythonista who must make a class for every last step, this land-of-verbs approach tends to look strange.


I'm not sure I'd call the class explosions that a lot of people are writing these days Pythonic. Lots of older Python code was written with functions and a very occasional class. I think the last decade has seen an upward trend the usage of classes in Python due to the influence of Java and how software engineering is taught in colleges.


It's sorta clever how Elon Musk convinced Ayn Rand-besotted train-crazy tech bros to invest in his testbed for a Clarke Mass Driver.


Please don't call names in arguments on HN. This is in the site guidelines: https://news.ycombinator.com/newsguidelines.html.

Especially please don't post comments that do nothing but call names.


There was a time, not terribly long ago, where the HN hivemind could tolerate a bit of sarcasm. Now it goes full on "mommy and daddy are fighting again" at the faintest whiff of real controversy. I leave it to the reader to decide if this shift represents an improvement.


Service between LA, SF, and the Moon by 2020!


I had two beers Wednesday. A glass of wine Monday night. The week prior was a bit like the same. Some weeks it's "none", some weeks it's "more than seven times in seven days." I don't think that constitutes a problem. I've missed more dates because I was writing code and forgot the clock (twice in my lifetime) than I have due to intoxication (zero so far).


Ditto. Used them all of my professional life. I've also had a Dell, a Toshiba, an HP, and two Macbooks. The Thinkpads were the only things that worked well.

I've been using an IdeaPad (The Thinkpad's consumer-oriented co-brand), namely a Yoga. Although I miss the red mouse pointer thing, it's otherwise an ideal development platform, with enough disk space for Docker and VirtualBox. Oh, and it runs Mint perfectly so my Docker images are compatible with almost any Debian-based deployment environment.


Interesting, but woefully incomplete since it doesn't include a single turnstile-based statement. I'm still looking for the cheat sheet that includes an explanation for how to read and comprehend anything written by Simon Peyton-Jones.



Robert Harper has a great introductory(1) book on the matter

You should have a reasonably complete treatment of what you are looking for by the time you reach the chapter on PCF.

http://www.amazon.com/Practical-Foundations-Programming-Lang...

1: I call it "introductory" because many of the relevant proofs are left as an exercise to the reader. But truthfully, people I've spoken to with a direct influence on the book have mentioned many a time that harper excludes them because he expects you to know them or be able to figure them...


Yes. Liferea. I've been using it pretty much since the Death of Usenet.


I don't see any suggestions for a replacement technology.


I use RAID-Z, a feature of ZFS. It works great.


It's slightly better than hardware raid5, but raidz2 is much better, and raid10 (also possible with zfs) is much faster as well as more reliable.


RAID-6 and RAID-10 are the usual go-tos.


You didn't look, apparently. Even the URL of the "Why should I not use RAID 5?" gives it away: http://www.miracleas.com/BAARF/RAID5_versus_RAID10.txt

And it ends: "Conclusion? For safety and performance favor RAID10 first, RAID3 second,RAID4 third, and RAID5 last!"


"You didn't look, apparently"? Come on, don't be a jerk. I had the same question. A well written piece doesn't force you to read the references for the actual thesis. How do I know that link on the side isn't one of the pointless arguments the author quoted?

Maybe it makes sense upon first read to someone with a lot of context, but as a home page of an initiative (movement? project?) it doesn't do a very good job of explaining what it's advocating for.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: