HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Tim Ewald - Clojure: Programming with Hand Tools

ClojureTV · Youtube · 6 HN points · 14 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention ClojureTV's video "Tim Ewald - Clojure: Programming with Hand Tools".
Youtube Summary
For most of human history, furniture was built by hand using a small set of simple tools. This approach connects you in a profoundly direct way to the work, your effort to the result. This changed with the rise of machine tools, which made production more efficient but also altered what's made and how we think about making it in in a profound way. This talk explores the effects of automation on our work, which is as relevant to software as it is to furniture, especially now that once again, with Clojure, we are building things using a small set of simple tools.

Tim Ewald designs and builds software systems. After 20 years using object oriented languages, he embraces Clojure because it provides the closes connection to the work and most directly expresses his intent. Tim works on the Datomic team at Cognitect, where he is a Vice President.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Aug 28, 2022 · 3 points, 0 comments · submitted by sudhirj
Unless it's my tiny phone screen I'm surprised this video did not surface yet https://youtu.be/ShEez0JkOFw (Tim Ewald - Clojure: Programming with Hand Tools)
Nov 03, 2021 · dgb23 on Automation != Leverage
Good article! Two things popped into my head when reading it. First the talk "Programming with Hand Tools" by Tim Edwald[0]. It's a very cool, entertaining talk with emphasis on the craftsmanship side of things and provokes thinking about which parts to automate (or maybe abstract away) and which parts to craft by hand when we're building stuff. Aside: also reminds me of Casey Muratori's Handmade Hero project [1]. He is a strong advocate for structuring things bottom up and building them ourselves.

[0] https://www.youtube.com/watch?v=ShEez0JkOFw

[1] https://handmadehero.org

---

Secondly when reading this:

> Regardless, the basic idea is that companies are often faced with the decision of doing N units of shitty work or far fewer than N units of great work.

This is obviously oversimplified, but there is an important point that wants to emerge from this line of thought.

As someone who grew up on open source, standardized technologies and the Web, I have been empowered to build a livelihood on Web development, mostly "self-taught" (or rather self-directed). All of this Web stuff is very accessible and gives you actual _leverage_. You can build something useful very quickly and the community around it is happy to share so much knowledge and work. I'm _very_ thankful for that.

But I think as the wider web development community we're losing sight of what that essence is. We started to think of the Web as merely a vehicle for pure scale as in "how to reach the most people and annoy them with notifications" and "how to produce cheap software very fast".

Maybe we, or some of us, should slow the fuck down a notch and think about producing valuable things for the specific needs, pain points or taste of actual people. What the article describes is a process of thinking about the real people and building a human connection. The "top 100" costumers in the article are most likely people who _actually_ need/want/use the damn thing if they see your point. Instead of trying to manipulate the masses to buy a lot of crap (excuse my meta), we should be building relationships. One very good reason for this is that only the latter is sustainable - on all the axis of what "sustainable" means.

I'm writing this "out loud" partly because I started to drift into this abstraction/automation mindset myself more and more. But yes, leverage is solving real problems.

Learn Clojure. Then you can spend the rest of your life building with hand tools, lol: https://www.youtube.com/watch?v=ShEez0JkOFw

(Seriously, though, Clojure is awesome—but occasionally I miss the guardrails of a framework.)

This is probably a good time to mention Tim Ewald's talk, Programming With Hand Tools:

https://youtu.be/ShEez0JkOFw

SilasX
For those who want and abstract, the best I could find was this:

https://old.reddit.com/r/Clojure/comments/4j3ani/with_all_of...

Interesting presentation that explores your question. +1 intersection from this commenter.

Tim Ewald - Clojure: Programming with Hand Tools https://www.youtube.com/watch?v=ShEez0JkOFw

Jun 11, 2020 · ludwa6 on Woodworking for Engineers
Must-see presentation (~1hour) for anyone interested in this topic is "Programming With Hand Tools" by Tim Ewald: https://www.youtube.com/watch?v=ShEez0JkOFw
I'm not a Closure coder but I loved this talk on how as your tooling becomes more complex and automated, you start to lose sight of simpler solutions to problems. It's all about woodworking!

Tim Ewald - Clojure: Programming with Hand Tools https://www.youtube.com/watch?v=ShEez0JkOFw

chpill
It does take time before he starts drawing the parallel between woodworking and software, but it is well worth the wait!

Thank you for reminding me of this great talk.

wool_gather
Clojure people seem to give really good talks; it's starting to make me think I should look into learning the language.
Aug 23, 2017 · 1 points, 0 comments · submitted by techmaniack
I also think it seems pretty appealing. There have been some interesting things on HN over the years about it.

I loved this talk about how the tools you use determine how you look at problems (Tim Ewald - Clojure: Programming with Hand Tools) https://www.youtube.com/watch?v=ShEez0JkOFw

And if you haven't seen him before, you're about to fall in love with Matthias Wandel: https://www.youtube.com/user/Matthiaswandel/videos http://woodgears.ca/

anabisengrin
Cool ! It is true that I haven't looked online to learn wood-working related stuff. I'll look into it
I gotta throw in one of my favorites, because I have not seen another that really speaks so directly to the value of craftsmanship in development. I also deeply enjoyed the allegory with woodworking tools.

https://www.youtube.com/watch?v=ShEez0JkOFw&t=13s

Nov 20, 2016 · fmjrey on Beginning Woodworking
Can't help but mention this great video where an enthusiast woodworking engineer makes a parallel between tools in the real world and tools in computing:

https://youtu.be/ShEez0JkOFw

We build complicated software with simple tools where I work using Clojure. There's even a talk about Java:Powertools::Clojure:Handtools! [1]

[1] - https://www.youtube.com/watch?v=ShEez0JkOFw

The "wat" is a good first step in identifying problems. However, I see is people getting stuck on "wat" and not moving forward. People would rather win an argument than advance knowledge & the practice. Lot's of ego, programmers have.

In the mean time, one can learn to appreciate & use javascript strengths. It can be quite fun, liberating, & useful. Anecdotally, I have not run into these crazy issues, and I program in javascript everyday. I also have a large app and the framework I built is custom.

I liken this to using C++, Unix, & bash as a base. Yes, you could say these tools suck and spend time creating, marketing, & community-building for a new tool. Or you can iterate & improve upon these existing tools. There's no wrong answer. What do you want to accomplish?

> Sushi knives don't decide to cut you because the rice came from a different origin.

That analogy seems like a stretch. Care to explain? Javascript works with different locales. There are many international websites that use javascript.

Also, javascript does not "decide" to create a bug in your program. You create that bug by misusing the tool. You will get further if you take some responsibility and improve your practice.

> And I'd guess that most craftsmen, outside of a ritual and tradition would love for their tools to have less disadvantages.

I agree with that. Usually the improvements are iterative. One could use a laser cutter (which does not need sharpening) to cut sushi, but that would also burn it. Here's a good talk (Clojure: Programming with Hand Tools).

https://www.youtube.com/watch?v=ShEez0JkOFw&safe=active

Ritual & tradition is a social tool to propagate knowledge, idioms, & practices across generations. It makes sense to challenge ritual & tradition to they improve over time. It does not make sense to whine about it without doing anything.

> it'd be like complaining that the only kind of spaghetti you can buy locally cooks only at a specific temperature, and even a bit more turns it to mush

Not getting your analogy. This seems like a stretch, similar to the person who cannot strain the spaghetti noodles on the video. Care to explain?

Jan 17, 2014 · aidos on JavaScript: The Right Way
It's funny, even as someone who knows js really well, having worked with it for a decade (actually, longer!), the explosion in the ecosystem took me by surprise.

I left my web agency role over a year ago to work on my start up with a friend so I've been in relative developmental isolation (lots of python and js, not so much keeping up with the latest trends). I came back to help out on a project recently and had to spend a day researching all the new tools. Particularly around package management, bower, grunt, yeoman, node, npm etc. A year ago a js lib was generally delivered as a js or min.js file. Now there's the whole system to sit around it; every project on github now seems to include the config for each of the different package managers. Even a vagrant file so you can get it all up and running on a brand new vm.

Something as simple as adding bootstrap to a project. It's not totally obvious when you first look at it. Where does the code go? How do you compile it in such a way that you don't touch the vendor src itself but you can customise it etc. I have a method that works for me, but I had to play around a little to figure out how to fit it to my needs.

Once I got through that stage I was really happy with where things were at. JS libs are nice and easy to install and version control now, dependency management with bower has worked really well for me so far. Grunt makes the automation side of development nice, contained and easily shared. All in all it's a really good transition.

I'm lucky in that I've been developing for the web since people were changing files in ultraedit and ftping to the live server to see the changes. When each new thing comes along I only have one new thing to learn. Step away for a year and suddenly there's a lot to figure out to get back in to it.

I can only imagine how daunting it could be for a complete newbie trying to find their way.

As ever these tools can be great, but you ultimately you really want to understand what goes on underneath so they don't limit you too much. Amazing talk on this subject posted by another HNer in a comment the other day - https://www.youtube.com/watch?v=ShEez0JkOFw

There was a talk at Clojure/conj by Tim Ewald on just that: https://www.youtube.com/watch?v=ShEez0JkOFw

"Programming with hand tools"

Lots of conference reviews nominated it in their favourite talks too.

aidos
At the risk of "me too"ing - that was an hour really well spent. Thanks for that.
_pmf_
It's an amazing talk.
the_cat_kittles
just watched it- wonderful! thank you
nickik
I want to agree. Watched this just yesterday and really, really liked it. Its a bit slow in the beginning and but it really ties to getter in the end. Better then I first thought.

Its a really important point and I often have trouble explaining this to people, now thanks to this talk I have a much clear handle on what the point is.

It can be used when arguing things like ORMs and things like that.

Jan 10, 2014 · 2 points, 1 comments · submitted by cbp
dekhn
Very cool! I just recently discovered many of the joys that he talks about here. I switched to mostly using handheld tools, because it's just damn fun to work closely with wood.
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.