Hacker News new | past | comments | ask | show | jobs | submit login
Telescope Rule (2008) (c2.com)
45 points by melling on Nov 5, 2022 | hide | past | favorite | 14 comments



Coincidentally I watched a discussion yesterday where the assertion was made that complex systems cannot be written from scratch (and hope to work); the ones that work today always started from simpler systems.



That is a misnomer (Gall's rule of thumb might be more fitting) given a single example such as a Rube Goldberg machine.


The same applies to most projects.

When I started in IT I would frequently run projects over my head and then have to do a lot of backtracking wasting time.

Now, whenever I need to do something I don't know exactly how to, I first run a bunch of test projects to learn the ropes on small and manageable examples and only then attempt the large project.

I like to think that in almost all cases doing the small example projects and the project take less time than if I started with the large project right away. The only complaint is that managers do not always see it this way and they want to see constant progress.


If you want to write a compiler it's faster to learn Prolog then write a compiler in Prolog than to write it in some other [imperative] language you already know.

(Prolog is so much more "compiler-shaped" than imperative languages and so simple itself that it's much easier to use it to write compilers. In fact the last chapter of "Art of Prolog" is about writing compilers.)


No.

(This is a joke about prolog error handling)


Ha! Classic.


Source?


It's an old Prolog joke. Early Prologs (and many still today) would reply "no" to queries that have no results.

(In practice the issue can be overcome by making a meta-interpreter that does tracing or error reporting or whatever. It's standard Prolog idiom, "in the book". See also: https://www.metalevel.at/prolog/debugging )


This is only tangential to the point raised by the article, but I encourage anyone interested to try to make and measure a mirror, it's a really rewarding process to take a round slab of glass to an almost perfect parabolic surface (or at least within tolerance). Nowadays, most amateurs also use interferometry which could be appealing to HN crowd too.

I haven't followed this rule, starting small and easy, and my first mirror took me 19 months. The second of similar difficulty took about 2 months. Looking back, I find it strange to have taken such a difficult first one, because I do start small and build upon small steps in software.


When I was very young, my father ground a 6" mirror with a 48" focal length. I vaguely remember him walking around a table for hours every night for weeks. The first mirror was a failure and he had to start again. The finished telescope was—and is still—a marvel although the mirror now needs to be re-silvered. Alas, the light pollution in my area cannot be so easily remedied.


This seems related to the Fred Brooks advice of "plan to throw one away", (also on the same wiki):

https://wiki.c2.com/?PlanToThrowOneAway


That wiki is the original wiki.


True, but very few people seem to want to start small and build skills. Wax on, wax off even.

Also, Brooks reminds us to plan to throw one away since you will anyway.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: