6 ms·
I have a few hundred hours under my belt with a dining table, chairs, and even something with a roof to show for it. For me, a huge chunk of each project’s fun
by gorgoiler 4y ago
I have a few hundred hours under my belt with a dining table, chairs, and even something with a roof to show for it.
For me, a huge chunk of each project’s fun was planning. Going through my first two prototypes in Sketchup (rather than in real life) was a massive amount of fun. That part really was not so different to hacking code, really.
The physical work itself is then completely different to software engineering. Nothing is simple — every step of the project presents some unique problem that you have to work around carefully. Maybe you forgot to include the width of the saw in a measurement. Or your stock has a knot in exactly the wrong place. Or you didn’t plan the assembly in the best way to optimise for clamping. Or you drip glue awkwardly and have to clean the first of six benches up before oiling. Or you want to add a shamfer in an awkward place to a piece you’ve already partly assembled.
Imagine having to stop work every few hours to hone the edge on an IDE that’s gone blunt. Imagine running out of 8mm if-statements (dowels) and having to improvise some more so you can peg a project together.
There’s no homogeneity with a natural product. Everything is slow and methodical with few opportunities to hack / test / prototype. You have to think and solve problems that you never thought would happen in a new kind of way because you can’t roll back or undo.
Above all, there are many things you just cannot automate. Sanding up the frame of a pergola getting it ready for oiling is going to be O(n) at best, with only ever a single processor to throw at the problem which itself is hard bounded by mealtimes and hours-in-day.
I love it because it’s not like software.
- hinkley 4y agoThere's also the Home Depot Game, which is whether you can go to the hardware store once at the beginning of the project, and then not have to go a second (or third) time before you're done because you forgot something or you broke one of the pieces and didn't buy spares.
- gedy 4y agoI respect that, but tbh I get a kick out using Svelte repl to generate SVG that I use in my CNC machine to cut wood. Feels fun to use software for some non-business purposes.
- billti 4y ago> The physical work itself is then completely different to software engineering. It’s funny, but I often think how similar they are after doing a project. Maybe I haven’t written enough software for it to feel routine, but I often enjoy the unique and unexpected challenges in each that require creative thinking to solve. One interesting woodworking tip I carried over was “Know your tolerance”, i.e. does it need to be accurate to within an inch, an eighth, etc. I often apply that when working on software now (i.e. how “perfect” and bug free does this component really need to be?) People often say that “code is malleable” and you can change anything, whereas working with wood and tools is unforgiving. I actually think they’re comparable again, in that your time is what costs the most, and you can fix anything with minor materials cost compared to the time cost. Throwing away a piece of wood I worked on for a while and messed up isn’t much different than deleting a working branch that didn’t pan out. (Working with a contractor makes this more apparent. They’ll happily change almost anything after they’ve done it if you’re willing to pay for it).
- billti 4y agoOh, and another similarity: I start lots of projects that interest me, but the ones that get finished are the ones my boss (the wife in this case) keeps hassling me about ;-)
- wombatpm 4y agoWood is malleable as well. Building a swing set for my children I learned the trick of taking the bow out of a warped 2x4 by applying leverage and screws as I assembled sections.
- jacquesm 4y agoBetter glue and screw that or it will surprise you at some point (unless you used screw overkill :) ). Better still: ripsaw, reverse one part then glue back together. (a lot more work, but that way the internal stresses in the wood will cancel out).
- kjellsbells 4y ago
- jayd16 4y ago>Imagine having to stop work every few hours to hone the edge on an IDE that’s gone blunt. I had instant flashbacks of memory leaks in eclipse.
- dylan604 4y ago>with only ever a single processor to throw at the problem which itself is hard bounded by mealtimes and hours-in-day. If you use #import friends you can increase the processing power. Depending on the quantity of beerSupply can increase the errors and decrease effeciency of the extra processors
- creakingstairs 4y agoI've tried it but it keeps throwing this cryptic error. I'm not sure what this means. Can you help? > Module not found: Error: Can't resolve 'friends' in '/creakingstairs/people/`
- dylan604 4y agoThe friends library is well known to have lots and lots of dependencies, and can be very rough to work out the multiple things available to have a working friends class. #require loyalty #require compatible #require sincerity #require compassion ... You can try commenting out some of the required packages, but the quality of the friends class does become questionable
- bryanrasmussen 4y agoI'm so old that I can remember when Dale Carnegie released the friends package and its sneaky, buggy dependency on the LoveOfMoney package. on edit: the old it's / its problem got me.
- alanbernstein 4y ago> Imagine having to stop work every few hours to hone the edge on an IDE that’s gone blunt. So emacs?
- hprotagonist 4y agoit does have a certain organic nature that’s got more in common with woodworking. ha ha only serious.
- gpderetta 4y agoPlease. I sometimes I can go one week without fiddling with my config.
- oldsecondhand 4y agoMy first idea was merge conflicts, but this works better.
- evilsetg 4y agoMy emacs-config gets only sharper. Or so I like to think.
- tomcam 4y agoOr shims. I always feel like I am responsible for a personal feeling when I need to use a shim, even if it’s because the wood I bought didn’t have the right dimensions.
- ragebol 4y agoThe planning is it for me too I think. - How can I get these parts/cuts etc accurate without measuring them all each time? Or without measuring at all but just transferring the dimension. - Can I clamp that glue joint together with the weird angle? - How can I get the most from these sheets of plywood / beams of lumber? How to fit the stuff in the car, or do I split up etc? - Can I make 2 things of the same dimension with 1 cut? - Can I make that without needed other tools?
- saalweachter 4y ago> Can I make 2 things of the same dimension with 1 cut? When I realized that "measure once, cut twice" is actually the superior methodology I laughed for a week. (As in, set up your cuts or use jigs so that you aren't trying to mark 34 5/16 inches on 6 separate pieces of wood and expecting them to be the same length afterwards.)
- bambax 4y ago> The physical work itself is then completely different to software engineering Obligatory link (often featured on HN): http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail http://johnsalvatier.org/blog/2017/reality-has-a-surprising-... But in actuality, it's often the case that one can fix physical things with a few well-applied hammer blows, especially in woodworking. With some non-wood materials it's much harder to make something fit where it doesn't fit. In software, it's usually impossible.
- skohan 4y ago> In software, it's usually impossible. Lol I guess you have not seen some of the code I have trying to use reactive programming at all costs. In all seriousness though, I think software is quite flexible. A lot of what programmers do is take two APIs which don’t quite go together and find a way to bridge the gap. Even the word “shim” is borrowed from woodworking and used in programming as well.
- bambax 4y agoWhile writing my comment I thought about whether it was really correct (happens to me often). I think the analogy for a software hack in the real world is not a hammer blow but rather, pieces of string tying together things that don't want to work with one another. Strings tend to wear with use, and eventually break, sometimes catastrophically; whereas pieces that were forced to fit, usually stay put forever.
- skohan 4y agoSometimes yes and sometimes no. Sometimes a hack is also filling in a gap in the back sawdust mixed with wood-glue, and that will generally last longer and be more durable than the rest of the piece.
- jimnotgym 4y agoFrom the linked article... I used to be a Carpenter and Joiner. I gained some financial qualifications through distance learning and needed some experience. The guy who hired me told me later that there was some resistance from the team to my joining. He told them that if I could work out winding stairs, accounts would be no problem! Regarding the ability to fix with a hammer, I would say that with software humans tended to just work around the poor fit!
- zepolen 4y agoHonestly this just sounds like you're just happy to be a junior at something again, where you don't know what you don't know and can't plan accordingly, and each time you solve a problem you get dopamine. 100s of hours of wood working is nothing, A wood worker that does this for a living with 1000s of hours doesn't run into these issues nearly as often, same for senior devs with programming.
- marginalia_nu 4y ago> Imagine having to stop work every few hours to hone the edge on an IDE that’s gone blunt. Imagine running out of 8mm if-statements (dowels) and having to improvise some more so you can peg a project together. This sounds like IntelliJ. Have to restart it every once in a while, invalidate caches, tweak some settings, sometimes re-import the project. Oops, an update arrived and now all your settings are reset to bizarre values. That's another few hours trying to get it right again.
- malfist 4y agoMy googlefoo is failing me, and I'm out of searches this month on Kagi, but there's a very famous programmer that now runs an arcade/bar in SF. He's got a real long blog post about how he doesn't update anything. Maybe when intellij tells you it wants to update again, just tell it no
- NoGravitas 4y agoDo you mean JWZ?
- malfist 4y agoYes!
- pavel_lishin 4y agoYou're probably thinking of jwz, and you're probably thinking of this blogpost: https://www.dnalounge.com/backstage/log/2006/04/ https://www.dnalounge.com/backstage/log/2006/04/ > For years I've had it drummed into my head that you always have to keep your systems patched, if you aren't running the latest security fixes, the script kiddies will eat you alive, running a six month old OS is like leaving your front door wide open, blah blah blah. Well you know what? Fuck that noise. I'm done upgrading anything ever. The next time I get this shit into a state that seems even remotely stable, I'm never touching it again. If we get hacked, oh well. I have backups. It has got to be less work to recover from than constantly dealing with this kind of nonsense. Or possibly this CodingHorror blog entry that summarizes a few other instances of jwz saying this: https://blog.codinghorror.com/let-that-be-a-lesson-to-you-son-never-upgrade/ https://blog.codinghorror.com/let-that-be-a-lesson-to-you-so...
- ZainRiz 4y ago> Nothing is simple — every step of the project presents some unique problem that you have to work around carefully. I dunno dude, that sounds just like software to me, lol
- BurningFrog 4y ago> Imagine having to stop work every few hours to hone the edge on an IDE that’s gone blunt. Sounds like my brain...