55 ms·
- KISS - YAGNI - Test what you ship and ship what you test - Either learn a new technology or a new domain. Don't try to learn both at once. - Don't let th
by chrsig 5y ago
- KISS
- YAGNI
- Test what you ship and ship what you test
- Either learn a new technology or a new domain. Don't try to learn both at once.
- Don't let the perfect be the enemy of the good
- Just keep breathing, that's the key
- Everything is fine
- If a test isn't automated, it's not test
- It's better to do something poorly than not do it at all
- cseleborg 5y ago> Either learn a new technology or a new domain. Don't try to learn both I like that one, I'd never heard of it. Thanks! Is this attributed to someone in particular? Where did you come across it?
- danielmarkbruce 5y agoIt's similar to "take technical risk or product risk, not both" with respect to starting a company. It's incredibly stupid to take both risks.
- chrsig 5y agoAs far as I know, I coined it for myself. It's possible I read it somewhere that I've forgotten and am not properly attributing it. It's something that I've had to learn the hard way, but has recently really been instilled in me. For a long time I'd jump to trying to learn a technology designed to work in a domain (e.g., learn erlang to try and write a distributed system), and I'd wind up just spinning my wheels, because I'd be trying to figure out too much all at once. Somewhat recently however, I wanted to get into ray tracing, and decided to use Go for my first attempt (a language I'm very familiar with, but not necessarily the best for the domain...though, it did make some parts of it easier!) If I'd jumped right into trying to use cuda, I'd never have gotten anywhere with it, because I'd just be lost in trying to figure out all of cuda's idiosyncrasies. Instead I was able to get pretty far with go, making a bvh tree, triangle meshes, textures, area lights, convolutional filtering. Once I'd gotten pretty far with it, I wanted to get some experience with k8s, and so I modified it to be able to run an arbitrary number of worker pods and send samples to an aggregation pod. Now that I've gotten some good experience in the domain, I've started to rewrite it in c++/cuda, where I can now make some more educated decisions, because I spent the time learning the domain first -- I know roughly what I'm building. Long winded way of saying I arrived at the saying because it's the only thing that's been effective for me.
- selcuka 5y agoThat's the source of many questions on Stack Overflow: "I want to implement a [insert ML task here] but I don't understand [insert Python syntax here]". Sometimes it is inevitable though, as in the example above. If you want to start with ML it makes more sense to start by learning Python.
- mattkrause 5y agoThe trick is that you should learn either enough ML or enough Python first, so you can identify where the problem lies.
- chrsig 5y agoI don't think that's strictly true. There are books/projects that one can do in other languages to get acquainted with ML -- there's nothing that _strictly_ ties it to python, at all. Would it open doors? sure! -- and it may make more sense to invest in learning python first. But it probably makes sense to do that learning in some domain that you already know, so you can gauge how effective/correct you're being. I'm sure there's some adversarial combination to be found where the mantra doesn't apply, but in practice, it's done me a world of good.
- lazyant 5y ago> - It's better to do something poorly than not do it at all While I agree, not sure if a psychological effect or not but given two students in the same classes: - Alice, took 3 classes and had 3 As. - Bob, also had 3 As in those 3 classes _plus_ he got a C in an extra class. A lot of people would choose Alice as the better student ("all As") even if Bob "objectively" did more.
- grumple 5y agoReally just highlights how GPA is a poor way to judge students. In business Bob will win though.
- chrsig 5y agoFor context, I say it to myself because of my severe adhd. It's quite frequently the case that I'm inclined to not do anything at all...in which case, I use it as a mantra to help me just get something done. e.g., it's better to spend 10 minutes doing a workout than not at all. It can be easier to convince myself to do 10 minutes than 30 minutes. 5 minutes is also better than not at all. Still not feeling it? 2.5 minutes. Still better than not at all. I haven't really explored the thought in the context of over achievement or not. I'd be curious why bob got a C instead of an A? was he over extended and stressed? was he simply challenged by the material? Certainly living within one's capacity is a limiting factor of the mantra. It is after all just a saying that I use to help me live a healthy life in an area I often have difficulty. YMMV :)