Threads for facundoolano

  1. 3

    I’d like to chip in: “A Programming language” -Kenneth E. Iverson “How Do Committees Invent?” -Melvin E. Conway

    1. 2

      The conway one is already below mythical mal month. I’ll check the other one thanks!

      1. 1

        You’re right, my bad. Missed it.

    1. 2

      Another one that’s great, and incredibly influential for modern web development, is the REST chapter of the Roy Fielding dissertation.

      https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

      1. 3

        Oh this is interesting, I thought about fielding dissertation but discarded it for being too long, I hadn’t considered the rest chapter as standalone.

        1. 1

          I feel ambivalent about this. REST as Fielding described it is a theoretical description of the structure of the web and the features that he believed (probably correctly) were important how it functions in practice. The term REST API has been co-opted to mean an API exposed via HTTP that uses a broader set of methods.

        1. 9

          It’s always nice to have another list, when I feel like learning something random.

          Here are a few more lists of programming papers from my bookmarks:

          P.S. I noticed you link to The Mythical Man Month, which is a medium-length book. How do you resolve it with your second criterion, “The papers shouldn’t be too long”? – edit: oh, seems like you link to only one chapter of the book. So I’ll update my question: How did you choose which chapter to link to?

          1. 6

            It’s indeed only one chapter (the one that has the same title). I also included separately “No silver bullet”, which is also part of the more recent editions of the book. I chose those two because they work as standalone papers, because I think they’ve been the most influential (at least the most widely cited afaict; the first being the classic essay about the project management side of software development; the other the classic on how to deal with complexity), and because those two are the ones I found most useful when reading that book.

          1. 9

            This is well organized! Have you considered adding explanations of why you think each paper is worth reading?

            1. 7

              Yes! I’m also considering are adding topic tags, maybe quoting abstracts and adding arbitrary notes. It’s one of the reasons I’m generating the README based on a yaml, so I can easily rearrange and extend it.

            1. 13

              As soon as I tried this out, I immediately started thinking of ways to improve it:

              • Randomly-generated quests or goals, like “find the 3 artifacts of power in /foo, /bar, and /baz, then unite them at /qux to face the dragon”
              • Some small amount of control over your hero’s class or abilities, possibly through creating files with a specific name or format
              • Locked doors at some directories, with clues on where to find the key: “the key is where you can find s__d.co_f
              • Biomes specific to certain directory subtrees, with different types of enemies or random events

              …I kind of want to write my own version of this now.

              1. 14

                …I kind of want to write my own version of this now.

                This is the best feedback I could get :)

                I have several ideas along the lines you mention (e.g. a quest system with goals such as “n levels deep”, kill all enemy classes, etc; as well as support for different hero classes, e.g. thief and fighter, even mage and wizard if I ever incorporated spells).

                I hesitated to add features that would require prior knowledge of what’s already available in the filesystem, as well as arbitrarily adding files or directories (which may not be everyone’s cup of tea). One option that sounds reasonable is adding a command to autogenerates a filetree/dungeon at a given directory, assuming that the game is welcome to do whatever inside that.

                Feel free to file github issues with this sort of idea, or send PRs or, well, fork and spin your own version :)

                1. 2

                  Idea: have /dev/null be like a bottomless pit that you can throw items into to “destroy” them. Maybe even have a LOTR-like quest to go retrieve a cursed artifact and make it to /dev/null alive to destroy it.

              1. 2

                Cool idea but I can’t boost the font size.

                There is ZERO reason in 2016 to make a web app where I can’t do this. It’s accessibility ground zero.

                1. 1

                  I answered your issue in GitHub. You can easily change the font size in the CSS of the page that hosts the compiled game: https://github.com/facundoolano/advenjure-example/blob/master/index.html#L23

                1. 2

                  Did you personally use it in one of your projects? And if yes how did it perform?

                  1. 2

                    I’ve used similar measures the last time I’ve published a game for Android. The thing is I had to do it through ASO apps that are expensive and very limited in their free plans, so since then I had the idea of making an open source alternative for that. This one is still very limited and it probably needs more tuning of the scoring weights, but I think it can be very useful as is for keyword discovery.

                    1. 1

                      Out of curiosity, why have you implemented this in node?

                      1. 1

                        Mostly because I already had the google play scraper written in Node, which handles the data fetching part. With that available it was just a matter of doing some transformations and figuring out the scores.

                  1. 4

                    Did you consider Scala? I’ve found it very Python-like, it has all the positives you list here (except perhaps a unified philosophy - I still think there is one but it’s much subtler than your examples).

                    1. 11

                      A note on downvotes. I found this comment downvoted. It looked like it was downvoted for no reason other than the voter disagreed with this statement. As a community we wish to not have this negative culture. If you disagree with the comment, please write another comment, don’t try to railroad the original poster. Downvotes should be restricted to genuinely unhelpful content, like spam, trivial (e.g. “Me too”, “first post”) statements etc. Thanks.

                      1. 2

                        I briefly reviewed it a couple years ago and wasn’t very charmed by it. Maybe I should give it another try.

                        1. 1

                          Lack of a unified philosophy is what makes Scala completely unlike Python. I’d argue it’s the one thing that matters most.

                          1. 2

                            Does Python have a unified philosophy? It certainly doesn’t in terms of object-oriented vs functional - it supports both approaches and it’s normal to use both in the same project, very much like Scala.

                            1. 1

                              To me Python’s philosophy is that expressed in the zen of Python (simple is better than complex, explicit is better than implicit, there should be preferably one way to do a given task, readability counts, etc.). It may sound like obvious stuff, but most languages fail to apply it, and it certainly affects the way you decide how to design your code.

                              In terms of it being object vs functional, everything in python is an object (including functions), and in that regard Python is more object oriented than say Java. Now, from my point of view, being forced to put everything inside a class, not being able to use a function where a function will do the job, that would be the language getting in the way.

                              1. 1

                                I think that Python philosophy does exist, but it’s certainly subtle; Python is a broad church and data-science Python looks very different from webapp Python which looks very different from sysadmin Python. I think Scala and Python are very similar in this regard.