<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: ericssmith</title><link>https://news.ycombinator.com/user?id=ericssmith</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 21:48:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ericssmith" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ericssmith in "Type Systems (2004) [pdf]"]]></title><description><![CDATA[
<p>You should try skimming to the end, where there are two pages of references. Not to mention the fact that Cardelli is a prominent figure in the study of programming languages.<p>And I think you'll find that Gilad Bracha is a more informed critic of reliance on static type checking.</p>
]]></description><pubDate>Thu, 31 Aug 2017 17:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=15142024</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=15142024</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15142024</guid></item><item><title><![CDATA[“What to the Slave Is the Fourth of July?” – Frederick Douglass]]></title><description><![CDATA[
<p>Article URL: <a href="http://teachingamericanhistory.org/library/document/what-to-the-slave-is-the-fourth-of-july/">http://teachingamericanhistory.org/library/document/what-to-the-slave-is-the-fourth-of-july/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14699378">https://news.ycombinator.com/item?id=14699378</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 05 Jul 2017 01:13:30 +0000</pubDate><link>http://teachingamericanhistory.org/library/document/what-to-the-slave-is-the-fourth-of-july/</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14699378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14699378</guid></item><item><title><![CDATA[New comment by ericssmith in "JavaScript Fatigue or My History with Web Development"]]></title><description><![CDATA[
<p>That conclusion made me laugh. In the early to mid 90s, I was working on 3D interactive software. The video drivers and chips had advanced so much in one year that all of the lovingly handcrafted assembly I had written over that time was useless. I thought to myself, "what an unstable industry to build a career in". I also made comparisons to accounting, medicine, and law, thinking perhaps I had made a wrong choice.<p>Turns out that adapting to rapid change is a critical aspect to this career choice. It is also a problem for businesses, which you start to grapple with as you move up the chain of command.  The mistake is wistfully hoping that things would slow down enough for you rest on your hard-won knowledge, as in other fields. There is no competitive advantage in aging technology.</p>
]]></description><pubDate>Tue, 27 Jun 2017 12:41:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=14644821</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14644821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14644821</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: What language-agnostic programming books should I read?"]]></title><description><![CDATA[
<p>Although the OP seems to be asking for "engineering" not "programming" books, I'm going to second this. Benjamin Pierce's "Types and Programming Languages" will help you get down to what programming is really about. If you are not familiar with lambda calculus and its notation, it may be rough going at first. But lambda calculus is VERY simple, and Pierce takes you through it. The book progresses methodically to the concepts found in most common programming languages.<p>This is one of the few truly language agnostic books on programming. SICP is close, but it is limited in relevance at times due to the limitations of a particular language (Scheme).</p>
]]></description><pubDate>Mon, 05 Jun 2017 12:53:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=14487214</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14487214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14487214</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: Why isn't F# more popular?"]]></title><description><![CDATA[
<p>As a long-time advocate of functional programming, I was once asked after a talk what is the "best" FP language to learn. Since I'm known as a Haskell/Scala/ML person, I surprised much of the audience by answering that I thought F# was the best entry point. What I did not say, however, was that I think that Windows is a challenging environment for anyone who is used to Linux/Mac -- and this includes the "open source" world in general. I think that Microsoft is a leader in language design, but their platform relevance was slipping for many years. I believe it may be on the upswing (with Xamarin etc). I would encourage you to stick with F# as you will be further along in not only understanding FP, but other modern programming languages, including ones that haven't been invented yet.</p>
]]></description><pubDate>Wed, 31 May 2017 12:24:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=14451898</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14451898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14451898</guid></item><item><title><![CDATA[New comment by ericssmith in "Startup School 13: How to Find Product Market Fit – Peter Reinhardt [video]"]]></title><description><![CDATA[
<p>He keeps warning not to write thousands of lines before talking to customers (as you often hear from biased survivors). But it sounds like they didn't find PM fit by talking to customers. Rather they identified -- perhaps out of desperation and exhaustion -- 0.1% of the code they had written that they thought might be useful and threw it out there. The takeaway really seems to be write as much code as you can, if one-tenth of one percent is going to be the golden nugget. Also, I suspect that they were able to use that other code and the processes around it to capitalize on their good fortune.</p>
]]></description><pubDate>Fri, 19 May 2017 14:19:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=14375863</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14375863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14375863</guid></item><item><title><![CDATA[New comment by ericssmith in "Noncompete Clauses: Signing Away the Right to Get a New Job"]]></title><description><![CDATA[
<p>Speaking from personal experience ... At the time of signing you can see the upside (the offer), but you can't know the downside, which can be quite significant. It's a poor trade-off. Avoid these unless you get some kind of severance for the period of the agreement. Mere employment as "consideration" is a bad deal.</p>
]]></description><pubDate>Sun, 14 May 2017 17:37:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=14336544</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14336544</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14336544</guid></item><item><title><![CDATA[New comment by ericssmith in "Alan Kay at Startup School [video]"]]></title><description><![CDATA[
<p>Kay mentions The Dream Machine, which in my opinion is one of the better books on some of the early work in computing systems. Heartily recommend it.<p><a href="http://amzn.to/2r5cf0h" rel="nofollow">http://amzn.to/2r5cf0h</a></p>
]]></description><pubDate>Thu, 11 May 2017 21:02:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=14319493</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=14319493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14319493</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: What books fundamentally changed the way you think about the world?"]]></title><description><![CDATA[
<p>"Je n’avais pas besoin de cette hypothèse-là." -- Pierre-Simon Laplace</p>
]]></description><pubDate>Mon, 06 Mar 2017 19:42:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=13805431</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=13805431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13805431</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: How to best teach a group of children how to code?"]]></title><description><![CDATA[
<p>Here is an essay I wrote following my son's first technical talk, weeks after his seventh birthday. It references what I believe works in teaching children to program.<p><a href="https://medium.com/@eric2.71828/your-journey-is-important-share-it-a96613793f6#.ck89turxe" rel="nofollow">https://medium.com/@eric2.71828/your-journey-is-important-sh...</a></p>
]]></description><pubDate>Fri, 27 Jan 2017 18:07:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=13501408</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=13501408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13501408</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: What's your favorite tech talk?"]]></title><description><![CDATA[
<p>Not at all high-brow, but I revisit the in-the-trenches case study of "Scaling Pinterest" on Infoq from time to time because I find their fighting through the pain inspirational for my own scaling troubles.<p><a href="https://www.infoq.com/presentations/Pinterest" rel="nofollow">https://www.infoq.com/presentations/Pinterest</a></p>
]]></description><pubDate>Tue, 04 Oct 2016 19:35:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=12638621</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12638621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12638621</guid></item><item><title><![CDATA[New comment by ericssmith in "Interview with Steve Wozniak"]]></title><description><![CDATA[
<p>Absolutely! Every time programming education comes up, someone brings up Scratch. It's advocacy is -- possibly detrimentally -- overused. It may be appropriate in some cases, but it is not a universal tool for introducing people to programming. There is certainly something inauthentic about using blocks. They may not be appropriate for people with motor-control issues. And the reliance on imperative constructs (assignment-based statements) as being essential for understanding computation is arguably wrong and possibly hurtful.<p>I only have a sample of 1 (my six-year-old son, turning seven today), but he is perfectly capable of typing, understanding function definition and composition, data structures, and working with reactive I/O. He's not some super-genius. He's a regular kid who likes to swim, ride his bike, play Pokemon, and watch Netflix. But he can also make things by "real" programming. I'm sure other kids could as well.</p>
]]></description><pubDate>Fri, 26 Aug 2016 17:30:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=12367815</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12367815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12367815</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: Chances for mature newbie"]]></title><description><![CDATA[
<p>I was delighted to see most of the answers here encourage you to continue from where you are in your interests. Only one comment mentioned abandoning your love and going to where everyone else is. Bad idea. You will find that if you keep pulling on the threads that interest you, worlds will continue to open up. And there is definitely work in those worlds.<p>Age is definitely not a factor. The speed with which you are able to learn definitely is. Good luck. I think this is awesome.</p>
]]></description><pubDate>Fri, 05 Aug 2016 16:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=12233357</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12233357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12233357</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: What three books impacted your career the most?"]]></title><description><![CDATA[
<p>The headline and the body are posing two different questions. Regarding books that impacted my career in software. The top three are:<p>1) K&R C<p>2) Zen of Graphics Programming<p>3) C++ Programming Language, 2E<p>I wouldn't recommend any of these to a young version of myself today.</p>
]]></description><pubDate>Fri, 22 Jul 2016 16:33:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=12144628</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12144628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12144628</guid></item><item><title><![CDATA[Made with Blocks?]]></title><description><![CDATA[
<p>This morning, I saw yet another intro to programming using a blocks UI this morning. This one was particularly upsetting because it didn't even contain any concepts of "coding" that I could recognize. At least some of these blocks intros talk about iteration or conditionals.<p>Why be so misleading? Is our profession really that uninteresting that you have to avoid introducing any of what actually happens?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=12114840">https://news.ycombinator.com/item?id=12114840</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 18 Jul 2016 13:14:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=12114840</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12114840</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12114840</guid></item><item><title><![CDATA[New comment by ericssmith in "Learning to code as a 30-year-old kid with Apple’s Swift Playgrounds"]]></title><description><![CDATA[
<p>I teach my 6yo son using Pyret and Racket simultaneously. Pyret is, hands down, the best teaching language today, but hasn't been in use as long as Racket, so there aren't as many resources.<p><a href="https://www.pyret.org" rel="nofollow">https://www.pyret.org</a><p><a href="http://www.wescheme.org" rel="nofollow">http://www.wescheme.org</a><p><a href="https://docs.racket-lang.org/drracket/" rel="nofollow">https://docs.racket-lang.org/drracket/</a><p><a href="http://www.ccs.neu.edu/home/matthias/HtDP2e/" rel="nofollow">http://www.ccs.neu.edu/home/matthias/HtDP2e/</a><p><a href="http://www.bootstrapworld.org" rel="nofollow">http://www.bootstrapworld.org</a><p>Someone below mentions Khan Academy. It's approach is similar and stays on the straight-and-narrow in its use of Javascript:<p><a href="https://www.khanacademy.org/computing/computer-programming" rel="nofollow">https://www.khanacademy.org/computing/computer-programming</a></p>
]]></description><pubDate>Thu, 14 Jul 2016 22:55:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=12097804</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12097804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12097804</guid></item><item><title><![CDATA[New comment by ericssmith in "Why I'll never abbreviate a variable as long as I live"]]></title><description><![CDATA[
<p>I would suggest that the need for Englishy variable names is due to a weakness in programming languages and possibly the programming model itself. Why should a set of legitimate values for a computation benefit from how you refer to that set? Can that variable take on undesired values? Do you rely on that name and its comprehensibility to distinguish good from bad values? I sometimes find it hard to believe we still program this way.</p>
]]></description><pubDate>Sat, 09 Jul 2016 05:00:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=12060170</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12060170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12060170</guid></item><item><title><![CDATA[New comment by ericssmith in "Waiting for Gödel"]]></title><description><![CDATA[
<p>Sure. The original 1931 paper is 20-something pages long:<p><a href="http://www.w-k-essler.de/pdfs/goedel.pdf" rel="nofollow">http://www.w-k-essler.de/pdfs/goedel.pdf</a><p>Here's an English translation (with a lengthy introduction)<p><a href="http://jacqkrol.x10.mx/assets/articles/godel-1931.pdf" rel="nofollow">http://jacqkrol.x10.mx/assets/articles/godel-1931.pdf</a><p>Even without trying to follow the proof proper, the sub-sections of the second part are interesting on their own, particularly Gödel numbering and primitive recursive functions. Here is another translation that covers just this part:<p><a href="http://www.research.ibm.com/people/h/hirzel/papers/canon00-goedel.pdf" rel="nofollow">http://www.research.ibm.com/people/h/hirzel/papers/canon00-g...</a><p>It's true that if you know nothing about formal logic, history of metamathematics, and decidability, then it's going to be particularly hard going, but there are a lot of accessible resources for each of those topics and the paper is well structured (meaning you can concentrate on the pieces).<p>The encoding that Gödel used for formulas should be fascinating for anyone familiar with Turing work on decidability as well as how computers work generally. Primitive recursive functions don't handle computation generally, but seem to be a first step in understanding what it means. Anyone familiar with Alonzo Church, lambda calculus, functional programming, McCarthy's first paper on Lisp would probably be interested in this bit.<p>Of course, Gödel's result on formal systems shattered the idea of an axiomatic basis for mathematics, but I personally think its greater long-term impact is helping to usher in computation. It's worth recognizing both.</p>
]]></description><pubDate>Fri, 01 Jul 2016 15:19:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=12016778</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12016778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12016778</guid></item><item><title><![CDATA[New comment by ericssmith in "Waiting for Gödel"]]></title><description><![CDATA[
<p>Although it's nice to see Gödel show up in the popular press, I didn't get what the point of this was. His Incompleteness paper is not that impenetrable. Sometimes it does pay to at least look at primary sources in addition to listening to others' efforts to summarize or dissect. I don't think the author of this article made much of an effort to understand what or who she was writing about. Sad, really, given Gödel's importance in understanding the beginnings of a science of computation (easily one of the most significant achievements in human history), where there is already too much myth-making and mischaracterizations.</p>
]]></description><pubDate>Fri, 01 Jul 2016 12:27:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=12015433</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12015433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12015433</guid></item><item><title><![CDATA[New comment by ericssmith in "Ask HN: What is your best advice for a developer to write better code?"]]></title><description><![CDATA[
<p>Never reassign a variable with a different value.</p>
]]></description><pubDate>Wed, 29 Jun 2016 20:27:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=12004564</link><dc:creator>ericssmith</dc:creator><comments>https://news.ycombinator.com/item?id=12004564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12004564</guid></item></channel></rss>