Writing Friendlier Clojure - <AUTHOR> http://adambard.com/blog/write-friendlier-clojure/ <comment><USER2> Nice post. As the author of the original snippet I'll admit it wasn't meant to be production-quality code, just a toy example in the context of a blog post. When I find code like that in a reasonably large production codebase I tend to refactor it too. I do believe in optimizing for readability by default; in Clojure this sometimes requires a bit of effort because of the "stalagmite" effect OP describes.

</comment><comment><USER3> Nice post! What about the following (untested) version of the sentence function:

        (defn sentence [mapping]
            (->> :start
                 (iterate #(pick-next-word mapping %))
                 next
                 (take-until #(= (last %) \.))
                 (clojure.string/join " ")))

There is no loop, and it almost reads like English: "Using :start as a departure point, iteratively pick the next words until you find one that ends with a dot. Join all the words generated so far with spaces."

Small catch: take-until is not yet in clojure.core, however it's easy to add to your utility toolbelt and there's already an issue open for it [http://dev.clojure.org/jira/browse/CLJ-1451](http://dev.clojure.org/jira/browse/CLJ-1451)

<comment><USER4> Iterate was what I was looking for! That version is definitely better, even if you have to DIY take-until.

I, er, may have spent a while clicking around the related docs for loop and recur searching for a better function. I remembered there was something like this out there, but I never did find it.

<comment><USER5> So many programming languages are like magic: you have to know the name of something before you can control it.

</comment></comment></comment><comment><USER6> In terms of cleanly communicating one's intent, I'd also suggest a look at Sean Johnson's talk about letting the function arguments determine what version of the function is used. This is a common idea in most programming languages and some Functional languages, such as Haskell, tend to take it to an extreme. And yet, it is not as common as it should be in Clojure.

One of his rules is "If your function starts with a conditional, get rid of the conditional and look for that pattern in your function arguments." That is, move the conditional into the different versions of your function.

Also, his "Recursive Function Pattern Matching Pattern" makes recursion much easier to read. See the screenshots here and then click through to the video:

[http://www.smashcompany.com/technology/the-recursive- functio...](http://www.smashcompany.com/technology/the-recursive-function- pattern)

</comment><comment><USER7> I really enjoy Adam's blog. Very plain english explanations for everything. This and Clojure for Brave and True make the language much more approachable.

</comment><comment><USER8> I know that writing code comments isn't in fashion at the moment, but both the original and the refactored code would have benefited from comments.

</comment><comment><USER9> For me, this refactoring doesn't solve anything of note, and it introduces risks of its own. The function make-markov-mapping returns a weird intermediate data structure (a lazy sequence of tiny maps). You don't want that getting out into your codebase, which wasn't a risk in the original. We've also further embedded the string handling, which means when it comes to refactor away from just strings, we have more work to do and more places to do it. Also, just in terms of readability which is of course slightly better, we've still got things like nested threading macros which are a big cognitive overhead.

Ultimately, we're revealing no new insight about the underlying problem and offering no new capabilities for the future.

<comment><USER9> So, worried that I was being overly-negative, I thought I'd offer something of substance. If you wanted to separate the Markov bits from the string bits, you could do it thusly:

        (defn markov-chain [coll]
          (let [adjacencies (partition 2 1 coll)
    	    initial-chain {::start [(first coll)]
    			   (last coll) [::end]}]
    	(reduce
    	 (fn [chain [predecessor successor]]
    	   (assoc chain predecessor (conj (get chain predecessor []) successor)))
    	 initial-chain
    	 adjacencies)))

        (defn successor [chain item]
          (rand-nth (get chain item)))

        (defn follow-chain [chain]
          (->> ::start
    	   (iterate (partial successor chain))
    	   (remove #{::start ::end})
    	   (take-while some?)))

        (defn sentences [text]
          (clojure.string/split text #"\."))

        (defn words [sentence]
          (remove empty? (clojure.string/split sentence #"\s+")))

        (defn markov-text [text]
          (->> text
    	   sentences
    	   (map words)
    	   (map markov-chain)
    	   (apply merge-with into)))

        (defn render-sentence [words]
          (str (clojure.string/join " " words) \.))

        (defn sentence [chain]
          (render-sentence (follow-chain chain)))

I'm not saying this is in any way strictly better, but it leaves you with abstractions that can be reused, and text-specific stuff in one place that could be a separate namespace. This is what I'd look for in a code-review of a refactoring like this - not just neatness, but making abstractions explicit and separate, naming as many things as possible, etc etc.

</comment></comment><comment><USER10> TXR Lisp:

      (defun wordlist-sentence (sentence)
        [(opip
           `@1.`
           (split-str @1 #/\s+/)
           (cons :start)
           (remqual ""))
         sentence])

      (defun make-markov-mapping (sentence)
        (let ((wordlist (wordlist-sentence sentence)))
          (hash-from-pairs (mapcar (ret ^(,@1 (,@2))) wordlist (rest wordlist))
                           :equal-based)))

      (defun markov-data (text)
        [(opip
           (split-str @1 #/\./)
           (mapcar make-markov-mapping)
           (reduce-left (op hash-uni @1 @2 append) @1 (hash :equal-based)))
         text])

      (defun pick-next-word (map word)
        (let ((choices [map word]))
          [choices (rand (length choices))]))

      (defun sentence (map)
        (for
          ((words ())
           (this-word :start)
           (next-word "X"))
          ((not (eql [next-word -1] #\.))
           (cat-str words " "))
          ((set next-word (pick-next-word map this-word))
           (set words ^(,*words ,next-word))
           (set this-word next-word))))

Run:

      $ txr -i markov.tl
      1> (defvar map (markov-data
        "Influence in society, however, is a capital which has to be economized \
        \ if it is to last. Prince Vasili knew this, and having once realized that \

        \ if he asked on behalf of all who begged of him, he would soon be unable \
        \ to ask for himself, he became chary of using his influence. But in \
        \ Princess Drubetskaya's case he felt, after her second appeal, something \
        \ like qualms of conscience. She had reminded him of what was quite true; \
        \ he had been indebted to her father for the first steps in his career. \
        \ Moreover, he could see by her manners that she was one of those women-- \
        \ mostly mothers--who, having once made up their minds, will not rest \
        \ until they have gained their end, and are prepared if necessary to go on \

        \ insisting day after day and hour after hour, and even to make scenes. \
        \ This last consideration moved him."))
      map
      2> (sentence map)
      "Prince Vasili knew this, and having once realized that she was quite true; he
     could see by her manners that if it is to ask for himself, he felt, after hour,
     and even to last."

<comment><USER10> sentence function based on giterate instead of for loop.

      (defun sentence (map)
        (let* ((words (cdr [giterate true (op pick-next-word map) :start]))
               (dot (pos-if (op eq [@1 -1] #\.) words)))
          (cat-str [words 0..(succ dot)] " ")))

Requires small weak to pick-next-word

      (defun pick-next-word (map word)
        (let ((choices [map word]))
          (if choices [choices (rand (length choices))])))

giterate returns an infinite list, but we take from it up to the word which ends with dot, ignoring the endless stream of nil objects which follows.

Alternative: partition the list on the ending word, then glue the first two partitions:

      (defun sentence (map)
        (let* ((words (cdr [giterate true (op pick-next-word map) :start]))
               (part (partition-by (op eq [@1 -1] #\.) words)))
          (cat-str (append (first part) (second part)) " ")))

</comment></comment><comment><USER11> The implementation of "sentence" highlights that Clojure really needs an "interate" function with built in termination. Because no-one uses iterate...

<comment><USER10> I cannot quite agree.

The problem here is that termination is indicated by a word which ends in a period, and that word must be included in the word list. This is a poor form of "in-band signaling".

Kludgy sequence operators which take or produce one extra item which _doesn 't_ satisfy the inclusion predicate can be avoided by proper design of the data representation which avoids this type of framing.

TXR Lisp version fixed to use the t symbol for start, nil for end, and straight giterate while true. (I.e. while the sequence element isn't nil):

      (defun wordlist-sentence (sentence)
        [(opip
           `@1.`
           (split-str @1 #/\s+/)
           ^(t ,*@1 nil)          ;; list starts with t, ends with nil
           (remqual ""))          ;; blanks not permitted
         sentence])

      (defun make-markov-mapping (sentence)
        (let ((wordlist (wordlist-sentence sentence)))
          (hash-from-pairs (mapcar (ret ^(,@1 (,@2))) wordlist (rest wordlist))
                           :equal-based)))

      (defun markov-data (text)
        [(opip
           (split-str @1 #/\./)
           (mapcar make-markov-mapping)
           (reduce-left (op hash-uni @1 @2 append) @1 (hash :equal-based)))
         text])

      (defun pick-next-word (map word)
        (let ((choices [map word]))
            [choices (rand (length choices))]))

      (defun sentence (map)
        (let ((words (cdr [giterate true (op pick-next-word map) t])))
          (cat-str words " ")))

In this representation, the words which end with a period are still there, but they have a next-word entry in the map: they all point to nil.

So we have a nice "spindle":

                      t
                      |
          +</comment></comment><comment>---+</comment><comment>-+----+
          |         |       |    |
        various   start   ..... words
          |         |       |    |
                     .
                     :
                     .
                     :
            |         |       |
         sentence.  end.   words.
            |         |      |
            +</comment><comment>---+</comment><comment>+
                      |
                     nil

<comment><USER11> It's not ideal, but there's plenty of stuff that looks like this in reality.

Personally, I favour Haskell's unfoldr [http://hackage.haskell.org/package/base-184.108.40.206/docs/Data- Li...](http://hackage.haskell.org/package/base-188.8.131.52/docs/Data- List.html#v:unfoldr) which both doesn't require the output to be the same as the intermediate values and cleanly supports termination.

(There's actually a very good reason Haskell cares about termination: it means you can be precise about side-effects. With a classic lazy list, any side effects caused by it are determined by how many items you actually evaluate.)

<comment><USER10> I've looked at this before; I decided to implement it finally, calling it expand-right. (I use the "reduce" terminology rather than "fold", so the antonym has to be consistent).

With explicit lambdas, decrement from 5 to zero, not including it in list:

      1> (expand-right (lambda (item) (if (zerop item) nil (cons item (pred item)))) 5)
      (5 4 3 2 1)

Using functional combinators:

      2> [expand-right [iff zerop false [callf cons identity pred]] 5]
      (5 4 3 2 1)

Include zero; bit of a mouthful:

      1> [expand-right [iff null nilf [callf cons identity [iff zerop nilf pred]]] 5]
      (5 4 3 2 1 0)

Though it can do it, it doesn't look like a great interface when inclusion of the last element is required.

Comparison with the inclusive iterate (which I did implement and called "ginterate"\--thanks for the nice name:

      1> [ginterate [chain zerop not] pred 5]
      (5 4 3 2 1 0)</comment></comment></comment>


Automatic bug repair - <AUTHOR> http://newsoffice.mit.edu/2015/automatic-code-bug-repair-0629

<comment><USER2> It's like they took the idea of CRISPR from biology and applied it to the problem of replacing code in software instead of DNA. Brilliant method.

</comment><comment><USER3> I found this paper mentioning CodePhage: [http://people.csail.mit.edu/rinard/paper/pldi15.pdf](http://people.csail.mit.edu/rinard/paper/pldi15.pdf)

Very interesting.

</comment><comment><USER4> Reminds me of this: [http://gkoberger.github.io/stacksort/](http://gkoberger.github.io/stacksort/)

</comment><comment><USER5> This is super cool. How do we use it? Give us an API! :)

</comment><comment><USER6> This seems like it could be used to automatically insert vulnerabilities, too.

<comment><AUTHOR> Genuine question, how? By compromising the code of the trusted code repositories the algorithm uses?

<comment><USER6> Basically, this is a general system for replacing undesirable traits with desirable ones in binaries. All you have to do is change the local selection criteria for desirable and undesirable.</comment></comment></comment>


Oregon signs up just 44 people for Obamacare despite spending $300 million - <AUTHOR> http://washingtonexaminer.com/oregon-signs-up-just-44-people-for-obamacare-despite-spending-300-million/article/2540529

<comment><USER2> Also, from the Enrollment Report:

"To date, 364,682 persons have selected a Marketplace plan during the first two months of the initial open enrollment period, including 227,478 in SBMs and 137,204 in the FFM (these numbers include those who have paid a premium and those who have not yet paid a premium)."

That parenthetical note is important and shouldn't be parenthetical. I wonder how many have actually completed the full selection -> payment process in the entire country...</comment>


Gon: Sign, notarize, and package macOS CLI tools, apps written in any language - <AUTHOR> https://github.com/mitchellh/gon <comment><AUTHOR> h/t to Mitchell Hashimoto (of Hashicorp) who wrote gon for signing and notarizing CLI binaries for macOS. It is also available as a go library for embedding in other projects written in Go. gon can sign and notarize binaries written in any language.</comment>


College Notebook of Isaac Newton - <AUTHOR> http://cudl.lib.cam.ac.uk/view/MS-ADD-04000/ <comment><USER2> You can download higher resolution versions of the notebook pages by using a dezoooming tool[1] on the image tiles.

This example[2] generates a 4898×7711 png compared to a 1270×2000 jpg from the download link[3].

[1]: [https://github.com/lovasoa/dezoomify](https://github.com/lovasoa/dezoomify)

[2]: [https://ophir.alwaysdata.net/dezoomify/dezoomify.html#https:...](https://ophir.alwaysdata.net/dezoomify/dezoomify.html#https://images.lib.cam.ac.uk/content/images/MS- ADD-03969-001-00001_files/13/0_0.jpg)

[3]: [https://images.lib.cam.ac.uk/content/images/MS- ADD-03969-001...](https://images.lib.cam.ac.uk/content/images/MS- ADD-03969-001-00001.jpg)

</comment><comment><USER3> Newton credited the discovery of the inverse square law of gravity to Pythagoras (5th century BC), just as Coperinicus had credited heliocentrism to him. Here is Newton's argument:

"For Pythagoras, as Macrobius avows, stretched the intestines of sheep or the sinews of oxen by attaching various weights, and from this learned the ratio of the celestial harmony. Therefore, by means of such experiments he ascertained that the weights by which all tones on equal strings .. were reciprocally as the squares of the lengths of the string by which the musical instrument emits the same tones. But the proportion discovered by these experiments, on the evidence of Macrobius, he applied to the heavens and consequently by comparing those weights with the weights of the Planets and the lengths of the strings with the distances of the Planets, he understood by means of the harmony of the heavens that the weights of the Planets towards the Sun were reciprocally as the squares of their distances from the Sun."

This article has more: [https://royalsocietypublishing.org/doi/10.1098](https://royalsocietypublishing.org/doi/10.1098)

<comment><USER4> That's an interesting suggestion I've never heard before, but your link appears to be down. I'm getting a 404. Is it possible this passage is referring to the reciprocal Pythagorean theorem? [https://en.wikipedia.org/wiki/Pythagorean_theorem#Reciprocal...](https://en.wikipedia.org/wiki/Pythagorean_theorem#Reciprocal_Pythagorean_theorem)

<comment><USER3> [https://royalsocietypublishing.org/doi/10.1098/rsnr.1966.001...](https://royalsocietypublishing.org/doi/10.1098/rsnr.1966.0014)

My apologies, here is the article and citation. And no, not the reciprocal Pythagorean theorem -- learning about Pythagoreanism is a real rabbit hole, highly recommended :)

McGuire, J. E., & Rattansi, P. M. (1966). Newton and the 'Pipes of Pan'. Notes and records of the Royal Society of London, 21(2), 108-143.

</comment></comment></comment><comment><USER5> Pages 43 and 44!

Although by some accounts Newton could be pretty nasty, a quick look at this almost makes me feel sorry for him given the advancement of his mind versus the state of knowledge at the time. Perhaps though he was in his element at that time, when so much was up for grabs.

<comment><USER6> [http://cudl.lib.cam.ac.uk/view/MS- ADD-04000/43](http://cudl.lib.cam.ac.uk/view/MS-ADD-04000/43)

</comment></comment><comment><USER7> Is that a "Hand" doodle? [http://cudl.lib.cam.ac.uk/view/MS- ADD-04000/15](http://cudl.lib.cam.ac.uk/view/MS-ADD-04000/15)

<comment><USER8> It certainly seems so.

I love how simple-yet-not-too-simple it is.

<comment> jq-r It is the exactly the same hand symbol Henry VIII used to mark down interesting passages in Bible which he hoped would help him to annul his marriage to Catherine of Aragon.

<comment><USER9> Apparently called an index or manicule with examples spotted from the 12th century..

[https://en.wikipedia.org/wiki/Index_(typography)](https://en.wikipedia.org/wiki/Index_\(typography\))

<comment><USER10> Delightful! I'd say this manicule is a proto-emoji of sorts.

> Thomas Pynchon parodies this punctuation mark in his novel Gravity's Rainbow > by depicting a middle finger, rather than an index finger, pointing at a > line of text.

</comment></comment></comment></comment></comment><comment><USER11> Page 32:

> _At which time I found that method of Infinite series. And in summer 1665 > being forced from Cambridge by the Plague I computed the area of the > Hyperbola of Boothby in Lincolnshire to two & fifty figures by the same > method. [signed] Is. Newton_

He made a signed statement of his discovery just as in a 20th century engineer's/inventor's notebook.

The mention of being forced from Cambridge because of the plague makes me wonder if some great discoveries are being made right now because many bright minds have been forced home by coronavirus.

<comment><USER12> What looks like y^2 (or superscript 2) is an abbreviation for "the".

<comment><USER11> Thank you, I've corrected it. It raises the question of why anyone bothered with a 2 symbol abbreviation for just 3 letters.

<comment><USER13> Old English had a letter called thorn that would eventually be replaced with the modern th or a y (ye olde is just said the old).

The y^e form was apparently used for the King James Bible in 1611 so it's plausible it might still have been a normal way of writing "the" as late as 1650, rather than as an affectation or abbreviation.

Edit: He also uses y^t for that which I hadn't noticed at first glance.

</comment></comment></comment></comment><comment><USER14> I love this book. They currently have his 1659-61 notebook on display at the Fitzwilliam Museum in Cambridge (scan available at [0])

Its opened on a page titled 'Otiose et frustra expensa' (Idle and vain expenses) where he lists his snack binges (including 'cheries', 'Tarte', 'Marmolet', 'Custardes', and 'Cake bred).

[0] [https://mss- cat.trin.cam.ac.uk/manuscripts/uv/view.php?n=R.4...](https://mss- cat.trin.cam.ac.uk/manuscripts/uv/view.php?n=R.4.48c&n=R.4.48c#?c=0&m=0&s=0&cv=51&xywh=-1483%2C-2%2C5173%2C2778)

</comment><comment><USER15> Why do they tell us about this process in schools only with an apple fall? Actually, there is a lot of effort behind it and we ignore it.

<comment><USER16> This has always been the dumbest Eureka myth because... Isaac Newton only noticed that shit falls downwards when an apple fell on his head?! If it was something that gave him some insight into the mechanism... like two differe tobjects falling at the same time and landing at the same time, causing him to think about force and mass etc... that would make much more sense.

<comment><USER17> As it was relayed, the apple thing was the moment that he realised that the mysterious force holding the celestial objects in their orbits was exactly the same force as gravity.

It's not that gravity was a new concept or anything. In fact, it goes back so far in our history that we still use the silly name "gravity" for the phenomenon; it was once though to be a property of an object or an element (in the "four elements" sense), and was opposed by another property called "levity". You will note that there is no current theory of levity. Galileo had already put numbers to gravity on Earth by that point, and the idea that the force holding things in their orbits acted according to an inverse square law was circulating before Newton got there. (There's no reason to believe he couldn't have come to that conclusion independently, but there's no reason to credit it to him either.)

What was missing was the connection; the generalization. That's not obvious in any way. How do you get an inverse square law to work with Galilean gravity? It smacks of equants and deferents until you find a way to put the _effective_ mass of a body, such as the Earth, at its centre. Imagine a world in which there's some inverse square force thingy holding the moon and planets in their orbits, and there's gravity and you know how that works, and nobody has even the slightest notion that they're in any way related. And then you have the OFFS moment.

<comment><USER18> Was there really a property proposed called levity?

I thought that that was only mentioned in parodies of Newton.

e.g. [https://www.sciencephoto.com/media/363707/view/caricature- of...](https://www.sciencephoto.com/media/363707/view/caricature-of-newton-s- laws-of-gravity-)

<comment><USER17> Yes, and it goes back _at least_ as far as Aristotle (although he would have used a rather Greeker word). Levity would have been a property of fire and air in Aristotelian physics, where gravity was a property of earth and water.

</comment></comment></comment></comment></comment><comment><USER19> that handwriting is surprisingly legible

</comment><comment><USER3> "On music" is on page 288.. A little bit of psychology precedes it.

</comment><comment><USER20> It is remarkable that there are not alot corrections among the written text.

The text is extremely readable and understanble, even for a non-mathematician like me.

</comment><comment><USER21> Idle thought: imagine if Newton examined modern programming and said "let me show you a new approach I've been thinking about for a while ..."

</comment><comment><USER7> Any possibility to have this typed & formatted for easy reading?

</comment><comment> bra-ket The funny thing about Newton is that he was treating pseudo-science like alchemy with the same level of seriousness as actual science he helped advance so much.

[https://en.m.wikipedia.org/wiki/Isaac_Newton%27s_occult_stud...](https://en.m.wikipedia.org/wiki/Isaac_Newton%27s_occult_studies#Alchemical_research)

<comment><USER22> Alchemy wasn't scientifically disproven until the 19th century, so Newton had no choice but to explore it. If transforming base metals to gold was scientifically plausible and illegal(as it was in Newton's day) most of us on this board would be chasing after it at full speed right now.

<comment><USER23> It's not just that alchemy was not "scientifically disproven" in Newton's time. There was no such thing as "scientific" and "pseudo-scientific". Reading about Newton's thinking about alchemy is a fascinating look at a way of thinking that we can hardly imagine today. I also thought that it is a nice reminder of the (certain but unimaginable) limitations of our present thinking. There is a fascinating (but pretty academic) book about Newton's Alchemy: [https://www.amazon.co.uk/Foundations-Newtons-Alchemy- Cambrid...](https://www.amazon.co.uk/Foundations-Newtons-Alchemy-Cambridge- Paperback/dp/0521273811)

<comment><USER24> What a wonderful perspective to look at this. We take so many things for granted. The knowledge we have is beautifully compartmented by artificial boundaries we take for granted. All the faculties we have: we rarely question the architecture of this building of knowledge we grow up with.

</comment></comment></comment></comment><comment><USER25> He was certainly having fun! A refreshing peek through his mind.

Whenever I mention the likes of Newton and their works, I frequently get attacked by some people. Their argument is that Newton was a terrible human being and despite his contributions to Science, Mathematics, and the process of discoveries in general, he does not deserve praise since appraisal implies we would be condoning his behavior.

To that I usually reply, we would never accept some of his behaviors now and that does not mean his contributions are worthless. They believe we can never separate the "works" from a "person", to which I always disagree.

EDIT: Grammar.

<comment><USER26> What part of his life was terrible ?

</comment></comment><comment><USER27> Any modern text recognition technology is applicable to his handwriting?</comment>


Antimatter Tevatron mystery gains ground - <AUTHOR> http://www.bbc.co.uk/news/science-environment-13988836 <comment><USER2> More detail: [http://resonaances.blogspot.com/2011/07/d0-4-sigma-like- sign...](http://resonaances.blogspot.com/2011/07/d0-4-sigma-like-sign-dimuon- anomaly.html)

That blog is good, he reports all the exciting things that come out of the world's colliders.

</comment><comment><USER3> Maybe some distant galaxies are made completely of antimatter, and they contain civilizations like ours, contemplating why the big bang produced more antimatter than matter.

<comment><USER4> I've wondered the same too. IIRC there was a recent discovery that antimatter still exhibited positive gravity, and it's long been known that photons are their own antiparticles. How then is it possible to observe that distant galaxies are _not_ made of antimatter?

<comment><USER5> An interesting thought experiment is that if a machine was made that turned everything in this galaxy into anti-matter, including everything that comes into our universe, is there any possible way to verify that the change did indeed occur. Or, is the only different between anti-matter and matter the fact that they are opposite in the same ways.</comment></comment></comment>


Gnu Privacy Guard relies on one underfunded person (2015) - <AUTHOR> https://www.propublica.org/article/the-worlds-email-encryption-software-relies-on-one-guy-who-is-going-broke <comment> Digit-Al It seems like so much of the internet is reliant upon technology created by, and supported by, people who get little to no reward or recognition for their important contributions.

An idea (not a serious one, but a point for discussion): in civil society we have a government that collects taxes that are used to fund the vital infrastructure that allows the society to function. How about if all ISPs were to charge a very small levy to customers? This levy would go to an independent and neutral body to be used to pay for the salaries of those who are creating the internet infrastructure we all rely upon.

Obviously there would be many problems with trying to implement such a system across the entire world. Worth discussion though?

P.S. I have no doubt that this idea has probably already been thought of and discussed before. There is nothing new under the sun :-)

[edit: fixed fat finger typo.]

<comment><USER2> > How about if all ISPs were to charge a very small levy to customers?

How about levying such a tax on ISPs themselves? They're the ones making a profit off of the infrastructure you're talking about.

<comment><USER3> They mean the same thing (if implemented properly). The taxes will be split by the ISPs and the consumers.

</comment></comment></comment><comment><USER4> It's worth noting that while GPG's financial situation is better now, GPG is still looking for funds. Here[1] is a post from June about their current donation campaign.

[1] [https://gnupg.org/blog/20170606-campaign- launch.html](https://gnupg.org/blog/20170606-campaign-launch.html)

<comment><USER5> It would be super if they were helped to achieve their EUR15K/month target, but after nearly three months, they're only a third of the way there (a situation that is made a little better by having a couple months worth of one- time donations).

[https://gnupg.org/donate/](https://gnupg.org/donate/)

</comment></comment><comment> another-dave The fact that someone of his ability can take an intern's wages to do this, and for that long, shows the incredible altruism in tech.

<comment><USER6> The broad altruism in tech that has allowed this situation, and which still underfunds the projects' modest needs? Yes, astonishing generosity.

<comment><USER7> It's almost like the "I got mine, buzz off" attitude is prevalent in not just the cartoon caricatures of <insert opposing political team here> but is prevalent in society as a whole.

<comment><USER8> Even further, it's almost like that attitude is the Nash equilibrium of human life. (And if it is, then we cannot expect rational people to deviate from it without significant imposition of force upon them.)

</comment></comment></comment></comment><comment><USER9> GPG is used by some for email sure, but it isn't the only option. S/MIME has native support in pretty much all native mail clients, and is more pragmatic about how you trust an identity.

<comment><USER10> I bet that all the non-email uses of gpg are actually greater than the email uses. Its used as a component of many Linux distribution package managers, for example.

<comment><USER11> Then maybe the distros should find a way to fund things they rely on?

<comment><USER12> Some companies rely on distros. Do these companies make sure to fund the distributions?

</comment></comment></comment></comment><comment><USER13> Isn't the obvious answer here that he creates a company that offers "professional level" support contracts, ala Red Hat, Sendmail, ...

<comment><USER14> What if he doesn't want to run a company? He isn't a consultant, he's a programmer. Being good at programming doesn't make automatically good at running a company, which requires a totally different skillset

</comment></comment><comment><USER15> This general problem is discussed in depth by Nadia Eghbal (now, with community outreach Github):

[https://www.fordfoundation.org/library/reports-and- studies/r...](https://www.fordfoundation.org/library/reports-and- studies/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure/)

</comment><comment><USER16> Are there any other projects of such nature?

<comment><USER17> Not quite the same, but _the_ time zone database was voluntarily maintained by some random guy for decades, until he got a lawsuit in 2011 and ICANN eventually took over.

[https://news.ycombinator.com/item?id=3081281](https://news.ycombinator.com/item?id=3081281)

[https://en.wikipedia.org/wiki/Tz_database#2011_lawsuit](https://en.wikipedia.org/wiki/Tz_database#2011_lawsuit)

</comment></comment><comment><USER18> This is sad, we need to fund projects like this.

</comment><comment><USER19> 2+ year old article.......

<comment><USER20> But there is potential for seeing what has happened since, and for followup. It is useful.

</comment></comment><comment><USER21> Misleading title. After the publication of this article that 1 Guy got a buncha money.

<comment><USER22> Not overly so. After having an article written about him, one guy got the better part of one year's salary in charity. In exchange for 18 years of work maintaining a piece of software that kinda everybody uses.

Another reminder that selling goods and services in exchange for money still works better than giving things away and hoping somebody gives you a donation.

<comment><USER23> > After having an article written about him, one guy got the better part of > one year's salary in charity. In exchange for 18 years of work maintaining a > piece of software that kinda everybody uses.

$60,000 from Linux Foundation's Core Infrastructure Initiative (one-time)

$137,000 in donations (one-time)

$50,000 a year from Facebook (recurring)

$50,000 a year from Stripe (recurring)

I think he got more than one year's salary in one-time funding alone, plus he's got a "salary" of $100,000/yr from Facebook and Stripe together.

<comment> another-dave Yeah but he has 6 developers working on it now (including himself).

<comment><USER23> I had no clue! That's useful information.</comment></comment></comment></comment></comment>


What's on Philip "Pud" Kaplan's home screen? - <AUTHOR> http://blog.app.net/2011/09/15/whats-on-philip-pud-kaplans-home-screen/

<comment><USER2> Lots of Pud hitting the homepage lately. I'm not complaining, just noticing. I wonder if this portends the end of the boom ala fuckedcompany.com. Meh, probably not.

</comment><comment><USER3> Sorry our blog was running slowly when this post first went up, should be running fine now.</comment>


Eric Marshall 'Disturbed' by Dismantling of Namesake Science Library - <AUTHOR> http://thetyee.ca/News/2014/01/11/Eric-Marshall-Library-Dismantling/

<comment><USER2> The Canadian government has been closing libararies and destroying books all over Canada this past year. Relevant article: <[http://bit.ly/1a04oY5>](http://bit.ly/1a04oY5>)

<comment><USER3> That article you cite is just citing this article...

<comment><USER2> No, it cites a different Tyee article :) <[http://bit.ly/1idMZgQ>](http://bit.ly/1idMZgQ>), as well as a couple of other Techdirt posts.

</comment></comment></comment><comment><USER4> The term "culling" is chilling when use by those in power. I've formerly only heard it used in context by some as a term for forced reduction of human population.

</comment><comment><USER5> This is what happens to libraries that are under the direct administration of governments. This is certainly a form of editorial control and censorship. Libraries, like the media, courts, and universities should be separated, independently run and administered from government.

</comment><comment><USER6> Is this a larger pattern of the 'dumbing down' of Canada? Closing local hospitals and libraries is not the sign of a thriving, intellectual society.</comment>


The Roots of the Government Shutdown - <AUTHOR> http://www.stratfor.com/weekly/roots-government-shutdown <comment><USER2> I liked this. The summary verion is that prior to about 1970, federal office candidates were selected largly by party conventions, which were controlled by party bosses. The bosses were generally corrupt, but not highly ideological, being more concerned with appeasing broad constituencies so that they could get their candidates elected and then reap the rewards. In an effort to end the corruption, most states went to a primary system for selecting candidates. What the reformers didn't anticipate, though, is that most ordinary citizens don't really care that much about federal politics. So the majority of the people who participate in primary elections are ideologues and thus we now have a much more polarized government, with less and less ability to reach consensus and compromise. Seems to explain a lot.

<comment><USER3> The solution is a non-partisan blanket primary. It keeps decisions in the hands of the voters, and also insulates against extremists being nominated.

[http://en.wikipedia.org/wiki/Nonpartisan_blanket_primary](http://en.wikipedia.org/wiki/Nonpartisan_blanket_primary) [wikipedia]

<comment><USER4> If the premiss is that only the ideologues care enough to vote then I don't see how open primaries fixes that. This goes back to the changes that moved the senate elections to public vote as well.

I don't see how anything could be passed that goes away from the current system; it would be attacked as curtailing freedom in one way or another (remember who we're dealing with here...) The only solution I see is encouraging the non ideological portion of the general public to start participating in elections. I fear that's a tall order though.

<comment><USER5> And a somewhat taller order, year after year, with the ideologues pushing so hard to disenfranchise voters.

<comment><USER4> Combined with SCOTUS rulings regarding campaign contributions, PACs, and Super PACs. There's a lot of money behind these ideologies.

</comment></comment></comment></comment></comment><comment><USER6> Politics in America have always been ideological, bitter and partisan ([http://www.youtube.com/watch?v=hLj6yY4P_Rg](http://www.youtube.com/watch?v=hLj6yY4P_Rg)). 150 years ago this country split in two over ideological issues and then we fought a horrendous war to figure out who was the winner.

And everyone keeps talking about default, but failing to raise the debt ceiling does not cause us to default. There's plenty of revenue, and plenty of other spending to cut before we get there.

<comment> at-fates-hands >>> There's plenty of revenue, and plenty of other spending to cut before we get there.

The sequester should take care of some those spending cuts. Getting a Democratically controlled government to cut spending is pretty hard considering they believe the way to stimulate growth is to spend and increase taxes.

EDIT: Not saying Democrats are the only ones who like to spend - Bush pushed the debt up quite a bit while he was in office so Republicans are not blameless either. However, most Republicans believe in smaller government, less taxes, and being fiscally responsible.

<comment><USER7> Republicans only pay lip service to those ideals, once in office they're far bigger and more irresponsible spenders than democrats. Democrats reduce deficits, republicans increase them, that's the reality.

<comment> at-fates-hands Thanks for the down vote without a shred of evidence supporting your claim. Very typical of how Liberals argue.

<comment><USER7> Your bias is showing. I didn't down vote you, as I replied to you I'm not even allowed to down vote you. And to then presume I did it because I'm liberal, you're clearly not the type for a rational discussion.

</comment></comment></comment></comment></comment><comment><USER8> "The alternate domination of one faction over another, sharpened by the spirit of revenge, natural to party dissension, which in different ages and countries has perpetrated the most horrid enormities, is itself a frightful despotism. But this leads at length to a more formal and permanent despotism. The disorders and miseries, which result, gradually incline the minds of men to seek security and repose in the absolute power of an individual; and sooner or later the chief of some prevailing faction, more able or more fortunate than his competitors, turns this disposition to the purposes of his own elevation, on the ruins of Public Liberty."

― George Washington, George Washington's Farewell Address

Even George Washington saw political parties as a great threat to the nation.

Politicians seek to remain in office - either out of a drive for personal ambition, the need for public validation, or through bright-eyed idealism to 'change the world'. The best way to stay in office is to align yourself with support - and most get this from their political party. But in order to keep the support of a party, you've got to go along with all of the things your party supports. This leads to group-think ... compromising your personal values for the sake of supporting your fellow politicians. There's no way that the members of the House and Senate agree on all of the issues they vote together on, but their party needs support, so they vote along ... abdicating their responsibility for the sake of party unity. And since their party has an opponent, part of their job as a good party member is to demonize those opponents. Now the media has set themselves up to promote this conflict. One network slants one way ... another slants the other way ... and they'll split their screen down the middle to make sure the yelling from both sides is captured. Lobbyists like career-politicians. It means their campaign contributions can be redeemed over more than one term, and they don't need to start over each election.

What's the solution? I'm not exactly sure, but the list includes term limits, changing gerrymandering, reducing the influence of money in politics, making politics less of a "contact sport" than its being presented as by the media, and probably all sorts of things I haven't mentioned or thought of. The problem is, much of this change cannot happen without the support of either the Supreme Court, or the very people whose careers will be impacted (likely negatively from their perspective) by such a change - and there's the rub. Democracy allows voters to remove a Cancer - but lately the replacement organs are metastasizing upon implantation.

<comment><USER9> > Even George Washington saw political parties as a great threat to the > nation.

It's important to note that, while the Farewell Address is all too often cited as a warning against the _future_ emergence of parties or party-like factions in some general sense, it is, in fact, Washington's view of the threats from the _then-present_ two-party system, which began forming almost immediately after the Constitution went into effect, and crystalized around the end of Washington's first term.

> I'm not exactly sure, but the list includes term limits

Term limits do nothing to reduce the power of factions; indeed, by limiting the _individual_ influence of politicians acheived through long tenure in position, they _increase_ the power of organized factions that are not directly accountable and which provide support for politicians between offices, and offer new cookie cutter candidates for offices.

> changing gerrymandering

Gerrymandering is a distraction; while its one failure mode of single-member districts with FPTP elections, its not the problem, just a symptom. Single- member districts with FPTP elections is the problem.

> reducing the influence of money in politics

Economic power is inherently the ability to get people to do what you want, and money is simply a symptom of economic power. Its arguable whether economic power and political power are even meaningfully different concepts.

You may want to consider whether the root problem is really the influence of money on politics, or the degree of economic inequality in the society.

> making politics less of a "contact sport" than its being presented as by the > media

What does this even mean in concrete terms?

<comment><USER8> "What does this even mean in concrete terms?"

I believe that cable news broadcasts, where many Americans get their version of the news, do a poor job of informing the populous.

Instead, these broadcasts provide politically-slanted editorialized coverage of issues that may do well in ratings, but likely do little to advance the awareness of Americans about what's actually happening in their world. News agencies are afforded capabilities and access to the nation's political leadership that other Americans do not have, but I feel they're mis-using these rights in-exchange for ratings - what ultimately sells commercials. I don't watch cable news anymore - but when I did, it was full of guests talking over one-another, interrupting one-another, or waiting for the other person to stop so they could ignore whatever the other person had said so they could get their speaking points across. All the while, the host is cutting everyone short in order to say their 24-hour news network is just about out of time. And somehow a 6 minute segment split between two guests yelling at each-other, jammed between a commercial for a pill designed to make your penis harder, and a commercial telling us how much a too-big-to-fail bank cares about the families of this nation, is supposed to leave us with an informed nation capable of understanding why they're voting for the politician they're voting for next time they step into a voting booth.

I wish the news was less editorialized, and more factual ... but it's essentially been divided into two versions of the facts, and you choose which channel you want to watch for the version you'd like to receive. I realize there's other outlets to receive news - and I personally believe those hold the most hope for the future.

</comment></comment></comment><comment><USER10> Man this guy is verbose. Here's what he was getting at:

\--

 _From where I sit, there was a massive shift in the 1970s in how the American political system operates. [..] Political bosses controlled the selection of state convention delegates, and therefore the bosses controlled the delegates to the national convention [..] The reformers wanted to break the hold of the party bosses over the system and open it to dissent, something party bosses disliked. [..] This severely limited the power of state and county chairmen, who could no longer handpick candidates._

 _Money, not the bosses ' power, became the center of gravity of the political system, and those who could raise money became the power brokers. More important, those who were willing to donate became candidates' main constituency. [..] Money has always been central to American politics. [..] But with the decline of political bosses, factors other than money were eliminated._

 _A candidate in either party [..] needs the votes of the majority of voters who will show up. In the past model, voters showed up because, say, they got their job on the highway crew from the county boss, and they had to appear at the polls if they wanted to keep it. [..] Now, people show up because of their passionate belief in a particular ideology, and money is spent convincing them that a candidate shares their passionate commitment._

 _But it is the senators and particularly the congressmen -- who run in districts where perhaps 20 percent of eligible voters vote in primaries, most of them ideologues -- who are forced away from principle and toward ideology. [..] I would argue that the problem is that the current system magnifies the importance of the ideologues such that current political outcomes increasingly do not reflect the public will, and that this is happening at an accelerated pace._

<comment><USER11> Maybe if you're deeply familiar with the US political system, I'm not, but still interested all the same, and so liked the "explain it to me like I'm a five year old" verbosity.

</comment></comment><comment><USER12> One solution never considered in the USA for some reason is what most other Western democracies do, which is public funding for candidates, and limits. Candidates may spend no more than X on their campaigns under penalty of serving penal time. In the UK it was about the equivalent of about $10,000 last time I looked a while back. Accounting must be done. This limits the role of money. The parties can raise their own extra money but only for national- scale media advertising.

However, there are conditions in the US that conspire against this: the Supreme Court's interpretation of the 1st amendment being one of them (e.g. corporations are people); the size of the US and its federal structure being another.

Yet I agree with the author: there is a hack to make the system more representative without breaking it much more. We just have to find one and somehow get it implemented!

<comment><USER13> "Corporations are people" has nothing to do with campaign spending limits being unconstitutional. Congress can and does legally limit donations from anyone (people, corporations, whatever) to politicians. It can't ban any communication mentioning a candidate for federal office without permission, which is what the McCain–Feingold Act attempted to do.

The Constitution says "shall make no law ... abridging the freedom of speech, or of the press" and doesn't say it's a particular right of individuals, just a blanket ban on legislation on the topic. Protecting the freedom of the press as an exclusively individual right doesn't even make sense.

<comment><USER14> To expand on this point, the laws they are attempting to pass and have passed have all been about protecting incumbents. The best way to view many laws out of Washington is to read them as doing the opposite of what their stated purpose is.

</comment></comment></comment><comment><USER15> > In the 20th century, the boss system selected such presidents as Theodore > Roosevelt, Woodrow Wilson, Franklin Roosevelt, Harry Truman, Dwight > Eisenhower and John Kennedy. I was struck at how a self-evidently corrupt > and undemocratic system would have selected such impressive candidates > (albeit along with Warren Harding and other less impressive ones).

That's very curious. My guess is that the boss system and the petty ambitions that fuel it is easier to game for those with real ambition. I don't think FDR would have been able to do what he did in today's political climate. The best we can hope for is Obama.

<comment><USER16> If you are appalled by abuses of government power under Bush / Obama then Theodore Roosevelt's record will terrify you. Woodrow Wilson was very friendly and supportive of the Ku Klux Klan and rumored to have been a member. These men should have never been near the Presidency. Much of the problems we face with an over-powered President started with them.

Party bosses are no better pickers of candidates and their influence continues to be a true pain for this country.

<comment><USER15> I find it hard to get suitably appalled by any amount of power abuse in the USA knowing that at it's very worst it's still not Soviet Russia and the ongoing, depressing culture of corruption its created. Not saying we shouldn't fight it, but power abuse is inevitable so long as we have human beings running things.

I'm reading "Whitey: The Life of America's Most Notorious Mob Boss", and I'm almost underwhelmed. Bulger managed to capture the Boston FBI and had informants in all the other police services and a brother in the state legislature and all it was good for was a handful of murders and control of some very profitable local rackets. That seems like small peanuts compared to the developing world and even much of the developed world. Someone with Whitey's skillset could have become the richest man in a very large number of countries and wound up running the whole country.

</comment></comment></comment><comment><USER17> Personally I think there are two things that could be done to limit the influence of overly vocal minorities of any ilk; be it business, ideologues, etc.

1) Proportional representation - Each district should be bigger and elect a number of representatives, in a similar fashion to the senate but based on equal divisions of the population. This will also have the effect of breaking the two party system.

2) Capped government provided funding for campaigning - This should limit the effect of money on the ability to disseminate the candidates platform for election, and steer the issues more towards their merit than audio volume.

<comment><USER18> Yep, let's shut down any minority that chooses to speak out against the status quo. That never causes problems.

1\. How is this any different than what we have now? How does this break the two-party system since the Senate you hold up as the example engages in the two-party system just as much as the House? Why is the House the sole problem and no other branches of government are involved in the problems?

2\. Government provided funds is not the problem with campaign funds. This would likely increase the amount of money from the private sector which is often the problem. Obama took the ultimate cap on government funds in his first election, he refused all of it. He won handily with a rather large war chest.

</comment></comment><comment><USER19> >> But in the country our founders bequeathed us, it was expected that most people would concern themselves with private things.

Good to see someone acknowledge that what many look at as unique American problems are there by design. If you see them as a problem, that's a totally valid view, but please, acknowledge that things like the ease of obstruction, difficulty of substantial, long-lasting, transformative chance, and the public disinterest in government are all by design. The founders considered them features, not bugs.

</comment><comment><USER19> Overall, this is a fascinating look at how what originally was intended as breaking down corruption and opening up participation to the masses had some unintended consequences. I found the following paragraph particularly salient:

>> In the 20th century, the boss system selected such presidents as Theodore Roosevelt, Woodrow Wilson, Franklin Roosevelt, Harry Truman, Dwight Eisenhower and John Kennedy. I was struck at how a self-evidently corrupt and undemocratic system would have selected such impressive candidates (albeit along with Warren Harding and other less impressive ones). The system should not have worked, but on the whole, it worked better than we might have imagined. I leave to others to judge how these compare to post-reform candidates like Jimmy Carter, Ronald Reagan, George H.W. Bush, Bill Clinton, George W. Bush or Barack Obama.

Kennedy and Roosevelt were the epitome of boss driven politicians, and while many argue over how effective they actually were, no one can argue that were not highly influential. I'm personally a fan of Coolidge as well. In the modern system, only Reagan and Clinton seem likely to be remembered by history as peers of the Presidents on the first list, and both of them are regarded as some of the most historically charismatic politicians of all time. Very interesting.

</comment><comment><USER20> My "narrative fallacy" flags went off, as it's always convenient to look for a tidy explanation of complex events, although this post makes a good case that candidate selection changes are at least a very interesting factor that's generally overlooked. I wonder, though, if the common thread between the Presidents listed is that they all pretty much oversaw a century of growth in both government power and within that a growth in consolidated power under the executive branch, and I wonder how that effects the ideological interests of different groups who increasingly have more at stake (or at least think they have more at stake) in what the government does.

It's also interesting to compare, say, European countries which often have the appearance of similar levels of "big government," but they are generally done at smaller scales more equivalent to US states. The US may be more unique in trying to increasingly manage the interests of 300 million people through one centralized and increasingly powerful yet also democratic government. (then again, there may be holes in that tidy narrative as well...)

</comment><comment><USER21> Good article but I think the issue has deeper roots stemming back to the formation of this country. It's all about the state vs federal issue. If you think about it, conservatives got exactly what they wanted with the shutdown. A small government with no ability to pay its social debts. They are going to keep doing this until there is civil war, again, or until states have all the power, again.

<comment><USER18> Wait, where was this small government with no ability to pay its social debts? Because I sure as heck didn't see that outcome. Just because a bunch of people on the TV kept talking about this supposed default doesn't mean the government wasn't willing and able to pay on the debt.

Your biased one-sided complaint completely sidesteps the issues at hand. The article that sparked this discussion quite correctly points out the problems that led us here when two sets, TWO mind you, of ideologies refuse to back down and compromise. You say conservatives got what they wanted with the shutdown? I say both groups got what they wanted out of this in their own way and we'll go through it all again in February.

You need to get out of this "us-vs-them" attitude and realize that two different people who strongly disagree with each other may still have a point on the topic at hand.

The only way the states will restore their former power is not through civil war, but through the total collapse of the federal government. Things have gone too far in terms of centralizing power for anything other than total failure to reverse the trend. It's just that no one knows when or if this would be.

<comment><USER22> Though he may not mean it this way, he has a point about federal power causing this inability to compromise. As a voter in Kentucky, if you get fed up with Kentucky politics, you can move to Oregon or Tennessee.

But when all laws are federal, the stakes are higher for everyone, so drastic measures will be taken.

<comment><USER18> That is an excellent point. You can still vote with your feet on the federal level, but unfortunately that involves leaving the country which in the end solves nothing.

</comment></comment></comment></comment><comment><USER19> >> the American people did not care nearly as much about politics as the reformers thought they ought to

This is something that the politically active simply cannot grasp. Most Americans really do not care at all about politics unless it is currently impacting their life. They can talk all they want about how important it is, but most Americans have jobs, kids, a mortgage, friends, and sports teams to pay attention to, all of which are more urgent concerns than what goes on in politics, especially given that we only get a chance to participate so sparingly.

<comment><USER19> >> Citizens frequently don't know or care who their congressman is, let alone who their state senator is.

I know who my hometown congresswoman is, mainly because he is well known in the community. Same with my hometown state senator, who is a family friend. I have no idea who any of those people are for the 3 other Congressional districts I have lived in, except knowing that Henry Waxman was my representative in college, since he was an alum.

</comment></comment><comment><USER23> I don't know that the conclusion that pre-reform candidates were more moderate and/or effective is as self-evident as he seems to believe. It's hard to brush off the fact that our opinions of them are not only colored through the lens of history books, but also through a vastly different culture.

In addition to the distortion of perception through second-hand accounts versus perception through actively participating in the modern scene, I'd argue that no small part of the perception of modern presidents is affected by the proliferation of media sources and the formation of specialized media outlets with a particular ideological audience that didn't exist as widely in the past.

</comment><comment><USER24> I have repeated it numerous times to a variety of people across the political spectrum -- cooperation is not capitulation. Few people ( _especially_ elected representatives) realize this.

Our elected representatives are supposed to be pragmatists, and what does a pragmatist do when faced with a difficult problem? Compromise. Instead we're left with ideologues that shout from the highest mountaintops about "bipartisanship" however it's just bluster and posturing.

<comment><USER25> With respect, I wonder if pragmatists are really what we want. A pragmatist is someone who, as you say, seeks to compromise on principles in order to achieve some outcome. I want politicians who will refuse to compromise on principles, and I want those principles to be about protecting the rights of the individual.

Just my two cents. Thanks for an interesting comment.

<comment><USER26> I think it depends on the issue. When it comes to something like abortion or the death penalty I would rather see a politician hold their ground and never compromise on it. If it is about spending some money on health insurance then it should be compromised on.

<comment><USER25> I wonder even about the seemingly simple case you mention, that of spending some money on health insurance.

In this case, it seems like the principle has already been compromised, and now the two parties are simply haggling over the price, so to speak. The principle that I think has been compromised is whether the government should take by force from some individuals in order to give an unearned benefit to some others.

</comment></comment></comment></comment><comment><USER27> Good article. Why does he conclude with "I have no idea what I could do to help change matters" after writing a whole blog post about how not enough average people vote in primaries?

Go vote in primaries, get your friends to go vote in primaries and maybe even reach out to particularly ideological districts to make sure the moderates there go vote (this might be a good idea for a web app 'Passionate centrist - email a centrist encourage them to vote').

<comment><USER28> Because the point of the article is that we have a system in which ideologues vote. In order to get average people to vote, either the system has to change to reward non-ideologues for voting (e.g., previous system with party bosses) or people have to become ideologues. He rightly concludes that these are both unlikely and he doesn't have another answer.

<comment><USER27> Isn't the reward for voting getting the government you want? That's why the ideologues do it and it seems to be working for them.

</comment></comment></comment><comment><USER29> Why didn't the author didn't just suggest mandatory voting? It seems like he was building up to it but never got there. Not like it's politically feasible to implement, but it appears to be a solution to wash out ideological extremes all the same.

<comment><USER30> Isn't Australia a good counterexample? Going by their struggle to keep their government's hands off the Internet, they seem to have as many loons in government as we do, if not more.</comment></comment>


What if you're not that great? - <AUTHOR>

Reading HN I often get the impression that there are a hell of a lot of bright individuals out there creating amazing things seemingly out of thin air. But I have a question: what if you're not that great?
A very brief background: I'm about to finish a CS degree. I had an internship for a CPU designer which (in my own words) was disastrous: I barely learned any code or design, instead I learned  the damage a poor manager can do. In short, I don't really know what I don't know. I'm more interested in what I can learn than what I've learned while at school. I'm still finding my way.
With that in mind, back to the main question: I haven't created a world-changing web app nor do I have bucket loads of experience in projects or languages.
Is there a place for a hard-working, "jack of all trades, master of none" type person? <comment><USER2> For every "rockstar" programmer there are many more "average Joes" and I think that's ok. I'm a "jack of all trades, master of none" type person too, mainly because I like learning about many things but haven't spent enough time in any to become the expert (but I'm getting there). My advice is to find a field that seems interesting and jump in. Figure out who the expert programmers are, what makes them great and emulate them. You only stay average if you choose not to learn and grow.

<comment><USER2> I meant to add that the only difference in any field between average and expert is passion and time.

<comment><AUTHOR> Great line, thanks!

</comment></comment></comment><comment><USER3> Self-doubt and fear... Those two feelings will be your friends if you take the time to know them. But are you willing to make that journey? Are you willing to make the sacrifices to be great?

It's sounds like you want assurances now, before pouring in the years of work, sweat and failures. You want guarantees and validation now, then you'll commit? Is that how you want it?

Just know this: patience is greater than understanding. You need patience first. Be okay with uncertainty. Even the things you think you know aren't so.

P.S. Patience is greater than understanding. This sentence hit me hard. It's also the answer to something I'm struggling with. Time to take my own medicine.

<comment><AUTHOR> Interesting, thanks.

I posed the question more as a realistic observation: I haven't changed the world with technology x or web app y, so I accept that I probably won't. I'm OK with this, I'm just wondering what is out there for someone like me: your average joe!

What I'm interested in is the stories and experiences of those people who are in the background or aren't the star of the show. My question was vague as hell, though - so all responses read!

<comment><USER3> I think that answer was more for me than anyone else. It was something I needed to hear.</comment></comment></comment>


Williams College Cuts Price 15%, Cancels Sports Due to Virus - <AUTHOR> https://www.bloomberg.com/news/articles/2020-06-29/williams-college-cuts-price-15-cancels-sports-in-virus-tumult <comment><USER2> The full statement by the college[1] (which I applaud Bloomberg for linking!) is well worth a read: [https://president.williams.edu/writings-and- remarks/letters-...](https://president.williams.edu/writings-and- remarks/letters-from-the-president/announcing-our-plan-for-fall-2020/)

It suggests a way that one (very rich) school thinks they can safely reopen. Quick highlights:

The school is open for residential students starting September 2020. The semester turns "remote" after Thanksgiving break (mid-November 2020). The January 2021 "Winter Study" when students take a single course is cancelled. The next semester (presumably) starts Feb 2021.

Students arrive on campus in stages starting in late August 2020 to allow time for Covid-19 testing. 24-48 hour quarantine on arrival until test results are available. Faculty and staff will generally arrive later.

Masks and "social distancing" at all times in public places (including classes). Carry-out only meals from the dining halls. Weekly Covid-19 testing of all students, faculty, and staff. "We anticipate that cases of Covid-19 will be diagnosed on campus."

It will be interesting to see how it will work.

[1] To be clear to international readers, "college" typically refers to a small four-year residential university typically for students who have just finished high school. Williams is very traditional 200-some year school in Massachusetts that 1) usually appears near the top of "best liberal arts college" lists and 2) has a very large enough financial endowment that their re-opening approach is essentially not financially constrained.</comment>


Ask HN: What's the simplest way to run a cron script on the cloud? - <AUTHOR> I have a proof-of-concept script that should run once a day. I would prefer to not run a server all day for a one-time job. What's your preferred way to provision something like this on the cloud? <comment><USER2> Easy with AWS Lambda.

[https://docs.aws.amazon.com/lambda/latest/dg/services- cloudw...](https://docs.aws.amazon.com/lambda/latest/dg/services- cloudwatchevents-expressions.html)

</comment><comment><USER3> I haven't tried it but Firebase has scheduled cloud functions: [https://firebase.google.com/docs/functions/schedule- function...](https://firebase.google.com/docs/functions/schedule-functions)

Firebase is really easy to get started with so I'd recommend it for prototyping if you're not keen on AWS or Google Cloud.

</comment><comment><USER4> GitHub actions can run on a schedule - [https://help.github.com/en/actions/reference/events-that- tri...](https://help.github.com/en/actions/reference/events-that-trigger- workflows#scheduled-events-schedule)

</comment><comment><USER5> Azure has logic app service.

But it depends on what you already have. I have a side project with a ec2 running node so I just use cron from npm (rather than the os cron) to do the trick and pm2 to keep that node running.

</comment><comment><USER6> Cron on app engine is free, assuming your script is light enough. You may need a paid account if you have to connect externally, but you can set $0 as total budget.

</comment><comment><USER7> Google Cloud Functions and Cloud Scheduler..

[https://cloud.google.com/scheduler](https://cloud.google.com/scheduler)

</comment><comment><USER8> Heroku with the Heroku scheduler addon.</comment>


Ask HN: How can I make money when I am bored? - <AUTHOR> I am bored now. I am looking for work to do. I already have a full-time job but sometimes I want to do something different and make money. I don't want a regular part-time job. I don't want to waste my time by searching for freelance jobs. I don't want to earn so much. I want to be able to make some money by writing code whenever I want. Is there a way? <comment><USER2> I've thought about this too.

The websites where you bid to work on stuff (freelance.com for example) are a race to the bottom - you're always going to be competing with people who are prepared to work for $5 an hour (... and customers who now expect that is how much a developer's time is worth). This might be fine where you live however - I don't know.

Side projects are a possibility, but I feel that getting paying customers is too much of a hassle for dip-in/dip-out stuff like this ... you've got to actually build something people want to pay for in the first place (no easy task!) then handle support, billing, marketing etc. Too much like trying to bootstrap your own startup and not so much a I-wanna-code-for-some-easy-money- when-I-feel-like-it kinda thing.

I've had some success with websites + AdSense in the past. It can take a while to take-off, but once it does it can earn a nice little bit on the side. It is not really coding though.

I've been mulling over-ideas. A few stick out:

\- become a private tutor. Do a few hours a week teaching kids how to code in their homes.

\- youtube channel specialising in coding tutorials or demos etc. Build up a series of playlists about certain subjects, take suggestions, patreon-based "extra value" etc and of course ads revenue share from youtube. Move around in various "hot" techs - Unity, Vue.js etc - something beginner friendly. Could also be a really interesting learning experience at the same time.

\- writing freeware stuff (think Nirsoft style stuff) and accepting donations/patreon.

Good luck

</comment><comment><USER3> [https://www.bountysource.com/](https://www.bountysource.com/) lists tasks. I seem to remember there was a platform that had even shorter tasks (something somebody can solve in 1-2h).

</comment><comment><USER4> I would recommend building/maintaining a side project, and monetizing that. Even if it's something as simple as a personal tech blog that has basic AdSense.

<comment><AUTHOR> AdSense sucks on a small scale :(

</comment></comment><comment><USER5> If you're in a situation where you're not feeling fulfilled at your day job, then you might want to look for a day job that gives you more of a challenges on a technical level and probably pays more for the bigger challenge. Just an idea.

<comment><USER6> Feeling unfulfilled is often a result of what happens outside your job. Finding another job is bad advice because it's myopic and doesn't actually solve the problem. Don't go home and spend more time on a computer, watching Netflix, playing games, etc. Go outside. Take a hike. Go for a walk. Go down to a park or lake and read a physical book that has nothing to do with technology or science. Play with your dog/cat. Just find something to give your brain a rest from the same monotonous routine you get yourself stuck into. You will be more fulfilled at work and at life in general.

</comment></comment><comment><USER7> I dont recommend doing this remotely, but if you live in (or have family that would do it with you in an affordable location where they live) a place where real estate investing is profitable/affordable it could be worth the time.

I moved to the Bay Area but where I grew up, most of my family lives there still and the real estate is cheap there (Upstate NY). I started buying properties last year while my family does the day-to-day management that requires physical presence.

Its been a great way to learn something in a new industry that is not related to work, and has given me a more business-minded perspective (being a business owner and landlord) which helps me take on a slightly more ownership-mentality at my day job.

<comment><USER8> Curious. Whereabouts in Upstate NY? Albany? Schenectady? Buffalo? Catskill?

Did you research anything related to local area (ex: schools, major corp like G.E. used to be in Schenectady etc) that would ensure steady occupancy?

> I started buying properties

Guessing atleast a couple, if not more... so how do you get loans for investment multiple investment properties?

AFAIK Bank demand higher downpayment ( atleast 30% or more) and also have higher interest rates.

<comment><USER7> Ive been buying near the greater Syracuse area.

I have a couple now, and so far I've been lucky to get financing from family members. The plan is to refinance the loans with the bank after the first year or two and re-use the money for new purchases.

When we run out of private money we'll go to the banks. We've applied already for the houses we've gotten because we didnt know we would be able to secure private money. I saw downpayment amounts varying from 20-25% for personal loans and 25-30% for business loans (if you're buying with an LLC).

With the interest rates the banks charge its still doable in our area, the private money interest rates are higher in at least one case and both are 15yrs (vs the 30yr we would want to go for with the bank).

Iirc you can get up to 10 personal mortgages in your name before needing to resort to small business loans, so if you're just starting off, you've got room to grow.

If you are starting off and live in the town you will be investing in, I highly read up on house hacking, which there are a few articles on the topic at biggerpockets.com (this was a great source of info when I was starting off, I recommend most of their books too).

edit: Also note that downpayment requirements vary by location, and if banks offer it, its much better to go for their portfolio of loans if they offer fixed rates (unfortunately, all the banks in my area only offer ARM loans) because the closing costs are lower (portfolio loans are not sold to the big banks, so the closing cost fees are not dictated by them).

<comment><USER8> Excellent! Thank you so much for the detailed response. I'm also living in Bay Area (San Francisco), used to live in Upstate many eons ago...

</comment></comment></comment></comment><comment><USER9> step 1: Look at the top most upvoted products on ph: [https://www.producthunt.com/e/50-most-upvoted- products](https://www.producthunt.com/e/50-most-upvoted-products)

mostly curated lists and color tools. Make one of these, make it well designed.

step 2: market. Get on ph/reddit/hn for an initial user spike. If you're lucky a blog or two will link to you as a part of their "40 design/dev tools for june" listicles.

3: profit! With decent traffic carbon or adsense can net $xxx a month.

</comment><comment><USER10> You say you want something different, how strongly do you feel it needs to be code?

 _If_ you are inclined to not just fill your wallet but also your time, consider picking up a non-work hobby that you can charge for?

Things like 2d and 3d digital art or music have a commission scenes where, if you put yourself out there, you can make some money.

Art might not be your thing. Maybe it's yoga or woodworking. And it might take a few years (for me, three years of practicing digital 2d art to start taking commissions), but you get to expand beyond what you do for 8 hours already.

</comment><comment><USER11> If such a thing existed, so many of us would do it that it would stop being worth your time.

You're asking for easy money. That doesn't exist in a free market society.

<comment><USER12> _" If such a thing existed, so many of us would do it that it would stop being worth your time."_

Eventually.

But early on, though, before everybody and their brother found out about it, it could be lucrative.

</comment></comment><comment><USER13> Checkout IndieHackers [1] for other people making/trying to make revenue from side projects

[1] [https://www.indiehackers.com/](https://www.indiehackers.com/)

</comment><comment><USER14> Being bored is necessary to relieve ourselves of cognitive load accrued throughout the day. I would urge you against chasing making money and just to enjoy the leisure, read a book or go for a walk.

</comment><comment><USER15> Not developer rates by any stretch, but you could checkout mTurk [https://www.mturk.com/](https://www.mturk.com/)

</comment><comment><USER16> Mechanical turk might meet your requirements. Not coding but boring and low pay.

</comment><comment><USER17> Take a look at Lionbridge or Leapforce. You rate and give feedback on search results. 10 hour minimum per week though.

</comment><comment><USER18> Flipping items on eBay?

<comment><USER19> I looked into this but shipping seems to eat way too much on each transaction.

<comment><USER20> There are plenty of very specific items that can be flipped on eBay for solid profits, you need to find the niche though. And then deal with the substantial fraud you will experience.

</comment></comment></comment><comment><USER21> chaturbate?

</comment><comment><USER22> Amazon Mturk. Illegally selling runescape gold. Selling pretty much anything digital.

<comment><USER23> Scripting mturk violates the ToS

<comment><USER24> Do you care? You will only get noticed if your script actually fails and does bad work, and even then, worst case scenario you just get your account banned, no big loss.

<comment><USER23> I mean, it's unethical. Especially if you're labeling data for medical research or somthing.

<comment><USER22> "I think cars should be handmade because humans don't make errors"

<comment><USER23> There is a reason they arnt using a model themselves</comment></comment></comment></comment></comment></comment>