HNHacker News
TopNewBestAskShowJobs

jbclements

381 karma · joined September 6, 2013

[ my public key: https://keybase.io/jbclements; my proof: https://keybase.io/jbclements/sigs/w8_npc_vC8H5v8Gqmh4ZNp4xsarxnw8M5o60RNwtLHQ ]
submissionscomments
jbclements··on Racket Language
I think this is a fair question. In my opinion, if you're developing a larger application then nearly all of your code will either be in the "racket" language. If you're keen on types, substantial fractions of this may be in the "typed/racket" language. It is true that all of the languages share a common substrate, and they can more or less all interoperate, but it's definitely not the case that a programmer would be likely to break their program into five equal pieces and use a different language for each one. You'll probably write your docs with scribble. Using different languages allows you to have a fundamentally different programming model, and while having that as a backdrop made things like the development of Typed Racket feasible, it isn't something that should prevent you from starting.

TL/DR: Just use Racket. If you find that you really wish that you had some other feature or style of programming, you can investigate whether there's a language that already provides that.

All of this is my opinion, of course.

jbclements··on The Emmy Computer Algebra System
Interesting, looks like Ben Greenman started work on a port to Racket, but it does appear that that work is still firmly WIP: https://github.com/bennn/mechanics
jbclements··on The M2 is more advanced than it seemed
I think it's probably more productive to think of this in economic terms; "nonchalance toward optimization" <-> "I can write this code in an hour instead of three hours". And, from a company's perspective: "I can get this code running acceptably at 1/3 the dev cost".
jbclements··on Racket v8.5
I think the poster is referring to racket-lang.org, which is served through cloudflare. But wait! I have a solution. If you want the web site content locally, the whole thing is built from the public repo at `https://github.com/racket/racket-lang-org`. The readme contains instructions for building it locally. The CSS on the local blog posts probably won't render correctly, but if you're reading the text, that probably won't bother you.
jbclements··on You don't understand exceptions, but you should
Lots of good clean fun in this article. My one question: would continuation marks avoid all of the `set!` messiness?
jbclements··on Researchers find trapdoor in SwissVote election system
No, it's clear that the researchers are using the term trapdoor in a technical sense. Specifically, one of the key ideas in the swiss system is that it produce a proof that the votes produced as the result of the "shuffle" operation have the same meaning as the votes that are provided as inputs. The easiest "proof" of this would simply be to publish the input votes... but that would defeat the whole purpose of the shuffling. Instead, the Swiss system appears to involve a trapdoor commitment that produces a non-reversible token (hence "trapdoor") that could only be generated if this is a legitimate shuffling. As I read it, this is much like (for instance) a SHA-256 hash of an input message that can be generated to ensure that a document has not been tampered with.
jbclements··on After beating cable lobby, Colorado city moves ahead with muni broadband
Sounds like you have a good source of information; any chance you can share pointers? Thanks! Apologies if I missed this in upstream posts.
jbclements··on The Missing 11th of the Month (2015)
Okay, this is going to sound mean, but this is like the definition of p-hacking. When you look at 30 values, you simply can't be surprised that one of them is lower than the mean, with a p value around 1/20th. Use something like a Bonferroni correction, to get a significance level of 1/600. Does the result still stand up? In fact, there's an xkcd about this very topic. https://www.xkcd.com/882/
jbclements··on Socratic method to teaching by asking
No, I think that the socratic method can be much more intensely infuriating because it's clear that the teacher is withholding the answer from you. (FWIW, I use the socratic method a lot... so I'm definitely familiar with students getting mad at me.)
jbclements··on Gerbil – An opinionated dialect of Scheme designed for systems programming
(Mostly just hoisting Noel Welsh's comment to the top level) How will the expected upcoming move of Racket to the use of Chez affect the comparison between Gerbil and Racket? I'm trying not to set my expectations too high. BTW: RacketCon! This weekend!
jbclements··on Gerbil – An opinionated dialect of Scheme designed for systems programming
I'm afraid I literally laughed out loud at your request for a simple standard algorithm for r5rs macro systems. However, it's a sympathetic laugh. Macro Hygiene is still very hard, principally because (I claim) there's not yet a clean and widely accepted model for it. Matthew Flatt's "sets of scopes" model is (IMNSHO) the current leader. Time will tell whether he or anyone else comes up with a simpler and more widely accepted model. But yes: as an implementor, it "feels" very heavy, and you keep thinking that there must be a simpler solution to this problem (aside from just throwing the problem out and giving up on hygiene and language composability).
jbclements··on Cold War-Era Spy Satellite Images Reveal Possible Effects of Climate Change
You're right that the image is just one source of data. But... that's true of any one source of data. This data doesn't prove anything, it just contributes a bit more evidence (to an already enormous pile...).
jbclements··on LA Times and ads
self-reply: just tried it. It does well. Alarmingly well. so sad to have to choose between Brendan Eich and Mozilla. :(
jbclements··on LA Times and ads
so, as someone who keeps meaning to try it out but hasn't yet: how does Brave do with this site?
jbclements··on LA Times and ads
Ditto, except that I just use postfix's 'virtual' mechanism. Simple additional hack to simplify address creation; all my legal addresses begin with a particular 4-char sequence, and by default, all email addressed to a uid beginning with these 4 chars gets through unless explicitly blocked. This means I can make up addrs on the fly, without having to add them to the back-end on a per-address basis.
jbclements··on LA Times and ads
One data point to the contrary; I subscribed, and I can now view the site without ads. ObDetails: I use ghostery, and I don't block Google Analytics. All other trackers blocked, according to Ghostery. I do see Ad Council ads.. things like Smokey the Bear. I don't find those problematic.
jbclements··on The Rusty Web: Targeting the Web with Rust
Wow; I really disagree with this viewpoint. I want clever compilers that produce good code from high-level specifications. I fully accept the lack of predictability.

Also, your comment that "everyone gets what they deserve" suggests that those who write high-level code (e.g. using pow() to square a number) "deserve" to have slow code. That's a strange moral outlook.

jbclements··on Google Hangouts temporarily won’t support phone/video calls on Firefox
Looks like another poster mentions "https://meet.jit.si". Ran a 10-second test, and it looks like it can successfully display my face. Haven't tried it for actual communication.
jbclements··on Racket v6.8
There are some very helpful folks on Stack Overflow, but the racket-users mailing list is definitely the authoritative resource. Also, Neil Van Dyke (the package's author) is helpful and responsive.
jbclements··on New technique would reveal the basis for machine-learning systems’ decisions
Yes! I wrote about this in a widely-discussed ^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H totally-unread blog post back in 2014: https://www.brinckerhoff.org/blog/2014/12/12/the-why-button/
jbclements··on Eve: Programming designed for humans
I think that Eve is tackling the wrong problem.

Allow me an analogy: "Bronk, the math designed for humans." Instead of dense algebraic expressions like "3x+49", you get to write "thrice the value of x plus 49." You may consider this a straw man, but I think that if you look hard at existing programming languages, you'll see that they are all designed for humans, and that the challenge in programming is in formulating your thoughts in a precise fashion. Should languages create higher-level abstractions to allow humans to reason about programs more efficiently? Yes! But that's not what this environment is about.

I do see one possible rebuttal to this, which would be an entirely different form of programming that is to traditional programming what google search is to the semantic web; that is, rather than specify programs precisely, we give examples to an approximate system and hope for the best. In many ways, that's how our biological systems work, and they've gotten us a long way. I don't see that happening in Eve, though.

jbclements··on Academics Make Theoretical Breakthrough in Random Number Generation
quite a bit longer, though...
jbclements··on Academics Make Theoretical Breakthrough in Random Number Generation
Shameless plug (of my FOSS): if you like Diceware, you might like Molis Hai even better. Maps the 56-bit sequence 0x556bfdce0148c9 to "wrowd aut settea". I betcha the corresponding diceware passphrase is way longer and less memorable. cf https://www.brinckerhoff.org/molis-hai/pwgen.html, or download FOSS repo from github.
jbclements··on Use of Formal Methods at Amazon Web Services (2014) [pdf]
Is this the same article that appeared in the Communications of the ACM? Not behind paywall, that's a plus. (http://dl.acm.org/citation.cfm?id=2699417&CFID=612805967&CFT...)
jbclements··on How to Party Like It’s 1999: Emulation for Everyone
I'm sorry, I can't help it: "Salmon Rushdie archives"? Literally laughed out loud.
jbclements··on On the (Small) Number of Atoms in the Universe
I believe you misread the text you're replying to. The bijection is between the points in the 2d space and the points in the line segment. Both of these are uncountably infinite.
jbclements··on Teen birth rate hits all-time low, led by 50% decline among Hispanics and blacks
Interesting. Love to see actual analysis of this.
jbclements··on China demonstrates new anti-riot robot
How do you say "Exterminate! Exterminate!" in Chinese?
jbclements··on Chez Scheme is now free
Racket has native threads, called "places".
jbclements··on Have Software Developers Given Up?
Are you suggesting that an increase in unit tests is correlated with a decline in code quality? That would be a surprising correlation.
Page 1 of 2Next →