by nz on 10/27/22, 2:19 AM with 32 comments
by photochemsyn on 10/28/22, 1:33 PM
Hence, if you need a simple database for your desktop application, using sqlite is a better option than trying to cobble together something similar using your own special hash tables and b-trees. However, trying to do the latter will certainly help you understand a quite a bit about database architecture.
However, many people who say 'don't re-invent the wheel' are really saying 'you're just a worker bee and so you don't need to know anything more than how to operate this here machine' - and that's a trap, as you're then not developing your skills and knowledge to a higher level.
by PedroBatista on 10/28/22, 12:14 PM
This "Don't reinvent the wheel" thing comes from the observation some people (software engineers in this case ) tend to spend a huge amount of time ( aka money ) creating things that were already created AND could just be used by them. It's a very valid point, especially when you have to pay salaries every month and don't have a money printing machine.
However.. the motto is also used to justify mental laziness and protect egos from ignorance.
People learn by doing, you can read all the books you want and you'll be a very competent parrot but you'll never really know. The question is, what do you choose to know and what to you choose to parrot? Since time is finite (for you ).
by TuringTest on 10/28/22, 10:01 AM
I think a better mental model is to accept that optimal is contextual, i.e. it depends on the environment on which you build your gadget.
Diversity happens because the environment is not homogeneous, so each region produces local forms optimally adapted to its niche conditions - and some generalist forms that work well in a large range of conditions without beint optimal at any of them.
by Theodores on 10/28/22, 11:06 AM
My 'reinvention' could be considered as swapping the 'bearing bits' around a bit if you wished to mock my efforts. I was only interested in one particular application, the goal to reduce the parts count, to make servicing easier and to have a lighter/stronger product.
As a thought exercise I highly recommend reinventing the wheel, not for the sake of it but to solve a real world problem. For instance, if people struggle to use your widget and assemble it incorrectly. Or if regulatory and safety requirements have made the original design somewhat cumbersome.
We live in a great time for reinventing the wheel with open source CAD tools and 3D printing making it possible to create a functioning prototype.
You can also check your homework to see how far others have got. Patents relating to wheels are what you might call numerous, however, with first principles thinking and an in depth understanding of how it works there is the possibility to devise something that is actually novel, even if it is just swapping a few 'bearing bits around'.
by vsareto on 10/28/22, 11:23 AM
>You should reinvent the wheel because it’s fun.
Passion is great, but it can wax and wane because we're humans, and that's where discipline keeps you moving forward so you don't drop out of reinventing wheels and waste all of that time you invested because it stopped being fun one day.
Discipline means you block out some time, do a wheel iteration knowing it'll suck to do and it isn't fun, then forget about it.
Only the luckiest people constantly have fun with a subject and then actually contribute to the state-of-the-art.
by moron4hire on 10/28/22, 1:28 PM
by openfuture on 10/28/22, 11:05 AM
by kodah on 10/28/22, 4:39 PM
- Do I gain anything valuable (including knowledge) by doing this myself
- do we have the investment to do so (time and money)
Too often when this phrase is evoked it's because folks want an engineer to simply wrap and extend when the proper thing to do sounds a little too expensive.
by smitty1e on 10/28/22, 9:57 AM
by epolanski on 10/28/22, 10:36 AM
by bullen on 10/28/22, 11:31 AM
by th70w4w4y on 10/28/22, 5:32 PM
by zach_garwood on 10/28/22, 3:00 PM