Eugene Wallingford

cs.uni.edu/~wallingf · Personal blog · on HN since 2008

Eugene Wallingford, a computer science professor at the University of Northern Iowa, writes about programming languages, patterns, and teaching.

What HN saysCommenters link it for posts on design patterns and on finding technical co-founders, and note his interest in functional programming.
80HN people shared it
21linked it in comments
131stories submitted
2.3Kstory points
3 months agolast shared
2008people per year2026

Most-shared posts

  1. 1
    I just need a programmer
    8 people · 326 points · first shared 2010 · 101 comments on HN
  2. 2
    Computer as Master Mind (1976) [pdf]
    6 people · 38 points · first shared 2015 · 4 comments on HN
  3. 3
    The Why of Lambda
    4 people · 8 points · first shared 2009 · discussion on HN
  4. 4
    Why Patterns Failed and Why You Should Care
    3 people · 169 points · first shared 2018 · 95 comments on HN
  5. 5
    Programming language as operating system (2013)
    3 people · 127 points · first shared 2013 · 49 comments on HN
  6. 6
    What hackers can learn from Djokovic
    3 people · 113 points · first shared 2011 · 39 comments on HN
  7. 7
    The first use of the term “programming language”?
    3 people · 49 points · first shared 2019 · 15 comments on HN
  8. 8
    The Time Is Right For Functional Design Patterns
    3 people · 29 points · first shared 2010 · 5 comments on HN
  9. 9
    Bluesman B.B. King, the would-be CS student
    3 people · 17 points · first shared 2008 · 4 comments on HN
  10. 10
    Mastering Tools and Improving Process
    3 people · 13 points · first shared 2010 · discussion on HN
  11. 11
    Code Signatures in Lisp
    3 people · 6 points · first shared 2012 · discussion on HN
  12. 12
    Learning to think
    3 people · 5 points · first shared 2009 · discussion on HN
  13. 13
    Chuck Moore, Extreme Programmer
    2 people · 313 points · first shared 2017 · 174 comments on HN
  14. 14
    Teaching CS in the schools
    2 people · 91 points · first shared 2018 · 61 comments on HN
  15. 15
    It's All Just Programming
    2 people · 71 points · first shared 2009 · 3 comments on HN

What HN people wrote when they linked it

cartothemax · 2017-03-13
Never thought I would see a professor from my alma mater show up on the front page of HN! I could have maybe seen Dr. Wallingford (http://www.cs.uni.edu/~wallingf/) for his love of functional programming or Dr. McCormick (http://www.cs.uni.edu/~mccormic/) for contributions to ADA, but not Dr. O'Kane! Took Database Systems from Dr. O'Kane. He was a pretty fun professor.
mindcrime · 2011-02-14
Are you trying to find a hacker to join you as a co-founder, or are you just looking to outsource the development? If it's the former you might find it difficult. See: http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2010-12.html#e20… If it's the latter, just ask your connections to recommend a good outsourced development shop, or wait for somebody here to chime in.
shagie · 2026-07-23
There was a talk by M. J. Dominus ... "Design Patterns" Aren't https://perl.plover.com/yak/design/samples/slide001.html While the narration of the talk itself is likely lost to time and "people weren't recording everything in 2002"... the slides linked are reasonable signposts of the author's ideas. The key points I believe occur on slide 12. Patterns vs. "Patterns" The pattern language does not tell you how to design anything It helps you decide what should be designed You get to make up whatever patterns you think will lead to good designs --- I believe that people read the GoF Design Pattern book as a textbook or bible rather than what the authors were doing of "these are things that we discovered while writing a word processor" ... and are useful ways of looking at those problems. But then those patterns got enshrined in some holy temple as you need to do these things and this is how you build software". Patterns got turned into a prescriptive thing that people do to build software and for a long while people were often coming up with the question "did I discover a new pattern" ... which when you read Alexander's book becomes a silly question. My own rant on the cult of pattern... https://the-whiteboard.github.io/2016/09/02/patterns.html ... One of my favorite pages to link on career advice is Find the Hard Work You're Willing to Do https://news.ycombinator.com/item?id=26209541 ... The previous blog post that shows up on that same page is…
nobody9999 · 2026-03-12
>But I think there will always be that feeling of: a human being took the effort to write this. No matter how informative or well written an AI article or comment is, it isn't something we instinctively want to respond to, the way we do when we know there is a person behind the words. Over and over again, when reading comments from some folks who lionize the usage of LLM outputs, as well as other folks who demonize such usage, I'm reminded of this bit from Kurt Vonnegut's Cat's Cradle[0], specifically from the "Books of Bokonon"[1]: Beware of the man who works hard to learn something, learns it, and finds himself no wiser than before. He is full of murderous resentment of people who are ignorant without having come by their ignorance the hard way. And I wonder if, (myself included) those who demonize LLM usage are those who "came by their ignorance the hard way." I'll admit that the analogy isn't great, but there is something to it IMNSHO. Mostly that many who distrust (and often rightly so) LLM outputs have a strong negative impression (perhaps not "murderous resentment," but similar) of those who use LLMs to spout off. I suppose this is a bit tangential to the topic at hand, but if it gets anyone to read Cat's Cradle who hasn't already, I'll take the win. [0] https://en.wikipedia.org/wiki/Cat's_Cradle [1] https://www.cs.uni.edu/~wallingf/personal/bokonon.html
visakanv · 2015-01-28
I can't seem to load the page... That said while we're on this topic, I've always enjoyed Drew Houston's take on it:http://www.quora.com/How-do-I-find-good-technical-co-founders "Unfortunately this is a classic problem. "How do I find a really hot single girl to go out with?" * Good technical people will have ideas of their own that they're excited about, and working for a non-technical founder who, by the way, doesn't know or appreciate the difficulty or time it takes to make something well-engineered and undervalues you from an ownership standpoint, gets old quickly. * People who are not hands-on building the product at the very early stage of the startup are usually not terribly useful until later, because building the product is most of the real work early on. * Good engineers have a wealth of compelling opportunities at any given time, so it gets even worse if the non-technical founder is inexperienced, or hasn't already brought a lot to the table (funding, etc.) See, for example, http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2010-12.html#e20… one view of how technical people perceive "idea guys" who "just need a programmer." So, what can you do? * One is look for a technical cofounder, not just an early employee, and give commensurate equity. Again, bear in mind that frankly he or she will be more valuable than you at this phase. * Two is learn to code enough to bang out a prototype -- this will also make you a better engineering…
juxhindb · 2025-08-28
One fun assignment at Oxford's Comp. Sci. department was solving Mastermind in Haskell using minmax. Knuth has a particularly fun paper on it in fact - https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/knuth-maste…
Someone · 2024-01-13
“The Computer as Master Mind” PDF: https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/knuth-maste… It minimizes the worst-case, not the expected number of moves. I think Knuth’s algorithm can be beaten in that respect.
svat · 2023-08-17
The Knuth approach said to be implemented in this post (but it looks like the code in the post simply guesses at random?) is described in: > The computer as Master Mind. Journal of Recreational Mathematics 9 (1976), pp. 1–6. Reprinted with an addendum as Chapter 25 of Selected Papers on Fun and Games. (https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/knuth-maste… is the original paper, but the addendum in the 2011 book is 5 pages long, longer than the original article itself (not counting its figure/table), and discusses various later results/ideas.)
msla · 2023-01-13
The language has, perhaps, a bit too much Chuck Moore: Don't reuse code, don't make code reusable, and don't try to anticipate anything. The knob is turned all the way over to the "simplicity of implementation" end of things, and all else be damned. http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2017-10.html#e20…
spdegabrielle · 2015-03-08
See also BAD HABITS AND HAPHAZARD DESIGN the typically incite full by Eugene Wallingford http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2015-02.html#e20…
FraaJad · 2013-03-07
The grand-daddy of bash based static site generators: http://nanoblogger.sourceforge.net Example use: http://www.cs.uni.edu/~wallingf/blog/ (9 years) Incidentally, the creator of nb announced that he is postponing the development of nb indefinitely last month. OP: Do you think you might want to take up that development?
stungeye · 2012-05-08
Knowing and Doing, reflections of an academic and computer scientist: http://www.cs.uni.edu/~wallingf/blog/index.html
johndcook · 2012-03-18
Here's a blog post written in reaction to this one: Thinking out loud about the compiler in a pure OO world. http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2012-03.html#e20…
gtani · 2011-01-05
The advice to learn a variety of programming paradigms is sound: http://mvanier.livejournal.com/998.html http://matt.might.net/articles/best-programming-languages/ -------------- I haven't read pyHardWay, but I think it's vaguely in the lineaage of why's: http://www.cs.uni.edu/~wallingf/teaching/188-agile/ruby/whys-poignant-… and for FP: http://learnyouahaskell.com/ http://learnyousomeerlang.com/content http://www.lisperati.com/clojure-spels/casting.html Also, SICP, little schemer. Others?
anthonyrubin · 2009-01-30
Here are a few that I don't think have been mentioned yet: The Cooper Journal http://www.cooper.com/journal/ Google Testing Blog http://googletesting.blogspot.com/ Knowing and Doing http://www.cs.uni.edu/~wallingf/blog/
jwinter · 2009-01-13
Thanks for that link. His site is very interesting, the functional programming patterns especially: http://www.cs.uni.edu/~wallingf/patterns/recursion.html
bookaway · 2023-08-29
>"It is wrong to suppose that if you can’t measure it, you can’t manage it – a costly myth." Ironically, this may have been a reaction an early software management book in the 80s by Tom DeMarco of Peopleware fame and similar books that were popular at the time. It's kinda annoying that the people that are maintaining a website in Deming's name don't reference the first edition book dates for the quote attributions. The original book seem to have been published in 1993 (when Deming was 93...), whereas the quote is attributed to a 2018 third edition on the website. The reason I find it ironic is that Deming seems to have been critiquing the young (relatively) influential upstarts at the time like DeMarco for over-emphasizing the importance of management metrics, And as it turns out, the nuances in his approach turned out to be more compatible with the approach that came to dominate the post-millennial software landscape (led by Google/Facebook at the time)--ie rigid process-averse lower case agile. It turns the out of touch senile old guy was more prescient than the new suits. Although DeMarco started deviating from his early utopian management approach when he published Peopleware, it wasn't until the late 20000s when he did a a complete 180 and wrote a mea culpa, disavowing his earlier management books and the "You can't control what you can't measure" quote attributed to him [1]. [0] https://www.cs.uni.edu/~wallingf/teaching/172/resources/demarco-on-se.…
mpweiher · 2020-05-15
Last sentence first: Objective-C certainly has (optional) static types and protocols[1][2], or as Java calls them, interfaces. In fact Java interfaces were "borrowed" from Objective-C[3]. In fact, Objective-C needs the types of a message's arguments and return value in order to generate correct code in the general case, and since message names can be ambiguous it needs to know the static type of the receiver (or "close enough") in order to know those static types in the message. If all arguments and the return value are objects, then this is not necessary, this "id subset" has some nice properties.[4] In Smalltalk, the messages an object responds to are called its protocol.[5] "Every object in Smalltalk, even a lowly integer, has a set of messages, a protocol, that defines the explicit communication to which that object can respond." Now that that single protocol for the entire object can be split into multiple meaningful protocols should be obvious, but Alan Kay has also explicitly talked about objects embodying "multiple algebras"[6] The basic idea of "protocol oriented programming" is that you focus on what an object can do (its interface/protocol) rather than what it is (its class/type) and that Smalltalk certainly did. Whether you check this statically is a secondary and certainly orthogonal concern, but of course there were and are statically typed variants of Smalltalk (such as Strongtal) and type-systems for others Smalltalks. Traits were introduced in 2003…
wegfawefgawefg · 2024-01-15
You're framing it like an information extraction game, but it is also frameable as a zero-sum minimax game. And its an easy, and common solution to games like this. Read up. https://en.wikipedia.org/wiki/Mastermind_(board_game)#Algorithms_and_s… https://en.wikipedia.org/wiki/Minimax#In_zero-sum_games One of the early solutions to mastermind was by Donald Knuth. paper: https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/knuth-maste… an implementation: https://github.com/johnathanlouie/mastermind further development: https://arxiv.org/abs/1908.06183

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close