Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How much do you study in order to do/make something?
29 points by robinrheem on May 12, 2022 | hide | past | favorite | 24 comments
I find myself studying too much in order to make something that I want. For example, I want to make a dashboard of some sort. So I start learning about the history of dashboards, state of the art dashboard components, best information to show on dashboards, whether to implement them as a native, mobile, web application, and it keeps on getting deeper and deeper. I just need to build a dashboard! I sort of don't know when to stop because I like studying too much. Feels like I'm in a never ending recursive rabbit hole of rabbit holes.

I do tell myself to just "study enough to produce" but I just can't get the right criteria for "enough".

I wonder whether this type of behavior is called anything so I could study about it.




I don’t study anything, I just jump right into it and study while doing it.

I do this with programming, but with other stuff too. I am teaching myself to sew right now. I just bought a sewing machine, wanted to make a yukata in african fabric and just did it. It’s all weird and not very well put together, but I am happy to wear it. Then I am making more complicated stuff.

“Just give it a shot and see how far you can go” is some advice I read somewhere and that suits me sell.


> I find myself studying too much in order to make something that I want.

> I wonder whether this type of behavior is called anything so I could study about it.

Personally, I start building.

There are certain things you should plan out, but honestly: just start building. Move fast and break things. Make mistakes faster, learn faster, create faster.


yes, start building. and see projects through to the end. it helps with the iterative process.


Yep. IME when I start making something, and then look into particulars when I'm unsure how to go on, the details become clearer and more useful. Moving between try and learn, each is reinforced.


It depends on what I am doing.

For almost 2 years I have had some art projects that involve doing something every day so that gets me learning gradually.

I want to start blogging again though to write up what I've been doing and when I start setting up a 2022-technology blog system I find myself getting stuck in the weeds (this Hugo template example looks good but put some real text in there and there is just no room...) or generally dissatisfied (like Hugo is great for anything that doesn't involve art or math except that's what I'm writing about.)

I'm not going to be happy blogging unless I can understand the whole graphic design system and I just haven't gotten my head around it but writing about my art project just now I start thinking I'm going to have to attack CSS the same way I attacked printing.


If I were in your situation I would be studying about all the static site generators, onpremise self-served blog services, any type of new blog service that are good for writing about art and math. Okay, then what theme would be best? Survey them on each platform. What markup language would be best to write about art and math? Find about LaTeX, org-mode, Markdown, etc. I pretty much tend to do this kind of thing for anything I do!

PS. Good luck with the blog! Hope I get to read your entries some day :)


This sounds like you're doing everything in your power to avoid doing the actual thing.


It's hard to say. For any project there is a mixture of planning and doing. I think the person you're responding to is planning too much, but a certain amount of research is necessary.

In the case of my blog project I did try a 'spike implementation' with hugo and got so far to get a test instance online. It wasn't love at first site so I'm probably going to try another static site generator, probably one written in Python so I'll be able to incorporate a lot of code I've already written.

Wider than that I need to school myself more on CSS and particularly how to make layouts that scale across desktop and mobile (and don't make me want to puke!) That's a project of its own that is kindof the opposite of a spike implementation because i want to cover the ground thoroughly.


I've always just called it "rabbit holing" and I'm guilty of having a problem with this as well. That said, I do still manage to get stuff done, so clearly I manage to break out of the recursive rabbit hole process at some point. What I can't do is tell you that I have any kind of definite / deterministic / repeatable process for managing this tendency. I usually just reach a point where I'm like "OK, enough is enough, time to start building." Maybe it's just that my innate tendency to build balances out with my innate tendency to research at some point, and when they hit equilibrium, I'm able to shift gears? I honestly don't know.


Going too deep in the rabbit hole feels like procrastinating sometimes. I also do get stuff done but mostly when a hard deadline is set. So I tend to go into the rabbit hole until I only have a few days left. I also have good feelings since I love studying about things.

I did an experiment on myself where I just design a project and start implementing it right away without any research. When I get trapped, I just did a quick Google search and solved the problem right away instead of trying to study about other solutions or other variables about the problem. I got the project done rather quickly but code quality, solutions that came from the top of my head weren't that impressive. I know iterating will enhance quality, but before I iterate I need to study better solutions or at least research to get ideas for better solutions in order to iterate.

The result of that experiment was just that I was able to get things done a bit quicker if I just did things without studying and only "find solutions" when I encounter problems. Going deeper needs knowledge, but when to start building again when I acquire "enough"?


Might call it analysis paralysis.

You might also call it research.

Consider putting your studies together as blog posts or videos so that your research becomes art in its own right. "Process is art".


Mighty thanks for clearing out on what problem I'm having! Do you have your own system for not getting into analysis paralysis?


Not a system, but a habit: when you've decided to do something, do it long before you feel ready. Probably shoot for feeling 2-5% ready to do anything new. "Bullets, then cannonballs".


Hopefully this doesn't come across as too aggressive, but it seems like the other comments are pulling their punches.

There is a difference between

> I find myself studying too much in order to make something that I want

And

> So I start learning about the history of dashboards

The former is a classic problem in engineering, the latter is kinda nuts. If you are studying the history of something before building your first version, then you are almost certainly avoiding the work.

If you want to read up on the history as you build it, that is one thing. If you are going to build a company around dashboards and want a good first-principles strategy, then history might also fit in.

Otherwise, dive in, validate your idea, and make something work before you start reading about special topics, let alone the history.


Not aggressive at all! I'm just grateful for your knowledge. It looks like procrastination but I don't have any intentions of avoiding work. I just like satisfying my curiosity. If I come to the dashboard example again, I want to know when it was made, how it was made, who made it, with what process. I don't like history books that just makes a story and facts. But I do want to know how Darwin got interested in species, what he wrote down in his journals, how he got to think about it, how he thought about it, etc. Same thing with the creator of dashboards.

To make it more precise, if I want to make something with Ruby on Rails for example, I tend to learn everything about Ruby on Rails. What kind of components it has, how the magic works, watch every video about its best practices, distilling everything. Then I find about DHH(creator of Ruby on Rails) and find how he built it in the first place. What thought process he had, what needs he had, how he got to build it, what he was thinking when he wrote the first version of Ruby on Rails, etc. Once I need a job processing library, I do that again.


As little as I possibly can to get something working, then iteratively improve and learn from there. After I have something working do I branch out and try new things, always having something to revert back to (thanks git!).


It's interesting looking at the etymology of the word dashboard:

"board or leather apron in front of a carriage to stop mud from being splashed ('dashed') into the vehicle by the horse's hoofs"

And you can go back further to what "dash" and "board" even meant!

Like dash was "strike suddenly and violently" and board was "piece of timber sawn flat and thin, longer than it is wide, wider than it is thick".

I'm pretty much done doing or making things though.


It took me about a year and a half to practice and understand Lojong and about four months to learn the Jewish prohibitions and laws against lashon hara (evil speech). These are the two components of Tongue Trainer.

Maybe that is a lot of study, but I enjoyed the journey and became a better person in the process of learning these two time-honored practices.

My advice to you? Enjoy the journey: https://tonguetrainer.com


Exploration vs Exploitation in ML. It seems you explore a lot to find whats 'best', but it keeps you from implementing (in this case Exploiting) a set of ideas. There is an optimum between the two. You could read up on this.

My 2 cents: Learn by need. Figure out your needs (e.g. required feature) and go get just that knowledge from the internet, and put it to practice.


I think this depends. You can (and should) learn things when you need them, but I have found that knowing about things before you need to use them greatly helps you when the rubber hit the roads.

Ideally I think it's a mix, where you always set some time aside (10-15%) to play and experiment with new / unknown things to sort of try to figure what they are/how they work. After that you'll form an opinion and be able to better pick thing to use when building something new and/or ramp up quickly in the learning by doing box because you've had some previous exposure.

YMMV


I did try to do the way as you said in your 2 cents but the more I solve problems like that I tend to feel empty. It feels that I don't know anything and I just know some exceptions or just some solutions to some problems. I don't feel I have a fundamental knowledge base that lets me think from my own neural networks.


Break it up by time. As an example split... say you wanted to build a dashboard in a week. Use three days for research and four days for executing. Look up immediate blocking problems during your execution phase, but stay at a granular level.

Doing good research is a great quality though!


I usually just get started hacking out a prototype of what's in my head, and then Google for information as questions, ideas, or uncertainties come up. I still end up diving into best practices, existing approaches, etc, but more incrementally as I build as opposed to all at once in the beginning.


i do that as well, i look at it as investment. Recently i wanted to add pub/sub in my app so i looked at multiple libs and i found most of the libs are doing it synchronously and leave async to user however the reason i want to add pub/sub was to continue with the main thread while leaving async to the libs also most of them are taking the lock for the entire time they are publishing which kind of kills the performance. If i had not investigated this i would have taken the latest lib and than would have to do lot of work later so i can see it as time wasted or time saved.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: