3 ms·
> everything has been done. In computing and engineering, almost all "new" developments are actually variations or recombinations of things that have already b
by jonjacky 4y ago
> everything has been done.
In computing and engineering, almost all "new" developments are actually variations or recombinations of things that have already been done.
BUT it's not just computing! That is also true of all the other arts, crafts, literature, music, ....
There is nothing wrong with this! It can be fun and rewarding to experiment this way, and some of the variations and recombinations are sufficiently novel and/or valuable that they are taken up by others. You just have to try the experiment and see where it goes.
An interesting form of variation is to remove something, or revert to something that was almost abandoned years ago. There have been a number of interesting projects recently that do this - the uxn virtual machine, the Gemini internet protocol, even the SerenityOS operating system. All three of these projects have attracted many developers besides their original authors.
Another form of variation is scale. Pick something insanely ambitious -- that seems to require a huge corporation -- and scale it down so you can do it all by yourself. The marginalia search engine is created and operated by one guy and runs on a computer in his living room.
- boredtofears 4y agoThanks, I appreciate the encouragement and this gives me a new perspective to look at things from, which is exactly what I needed. Hope you have a happy new year.
- jonjacky 4y agoIt is fun and instructive to identify the strategies other developers have used. I thought of a few more: combination - The World Wide Web is a combination of hypertext documents and the Internet, which had both been around for a long time when Tim Berners-Lee thought of combining them. change one thing - Almost every week, several new text editors are announced on Hacker News. Most have one unique feature that distinguishes it from all the others. It might be internal - a new data struture for storing text buffers. Or it might be in the user interface or appearance - a new method for sizing and placing windows when another buffer is opened. change the programming language - A variation on the above. How can you do X in language Y? Can you get an improvement by using a particular language feature? make it smaller - How small can you make a text editor, language compiler, chess playing program, ray tracer ... ?