Promoting the Julia culture with Fortunes.jl

Many languages develop a culture which serves as a pillar and guide for its use and development. Few examples include Python and R. A very cool and fun tool I loved in R was fortunes: R Fortunes. I believe as we approach 1.0, it would be ideal to start collecting these fortunes that speak to the language and its community. A few sources could be Discurse, Github Repo’s, and Slack channels.

For those unfamiliar with the concept, basically one can get random fortunes such as:

This is a bit like asking how should I tweak my sailboat so I can explore the
ocean floor.
   -- Roger Koenker (in response to a question about tweaking the quantreg
      package to handle probit and heckit models)
      R-help (May 2013)

Jesus and the rest of the R-help community: Thanks for your help.
   -- Mike Saunders (after Jesus Frias answered his question about
      split-split plots)
      R-help (February 2005)

Byron Ellis: If we wanted to be truly radical we'd just accept that graphics
devices and event loops are just special cases of the connection and merge
the whole thing, thus more-or-less reinventing CLIM. :-)
Anthony Rossini: Eventually, all programming languages grow up and become
Lisp. (progress, progress, and more joyful progress on CLS).
Byron Ellis: Untrue! They may also become Smalltalk :-)
   -- Byron Ellis and Anthony Rossini
      R-devel (December 2005)

Robin Hankin: I'd say that without a tool like R you cannot learn statistics.
David Whiting: I believe Fisher and a few others managed to get by without it.
Peter Dalgaard: But think how far they could have got with R!
   -- Robin Hankin, David Whiting, and Peter Dalgaard (on teaching/learning
      statistics with R)
      R-help (December 2004)

Bug, undocumented behaviour, feature? I don't know. It all seems to work in
1.6.0, so everyone should downgrade now... :)
   -- Barry Rowlingson
      R-help (July 2003)

For almost 40 years SAS has been the primary tool for statisticians worldwide
and its easy-to-learn syntax, unsurpassed graphical system, powerful macro
language and recent graphical user interfaces have made SAS the number one
statistical software choice for both beginners and advanced users.
   -- Rolf Poalis, Biostatistics Denmark (announcement of the SAS to R parser
      R-help (April 1, 2004)

Douglas Bates: If you really want to be cautious you could use an octal
representation like sep="\\007" to get a character that is very unlikely to
occur in a factor level.
Ed L. Cashin: I definitely want to be cautious. Instead of the bell character
I think I'll use the field separator character, "\\034", just because this is
the first time I've been able to use it for it's intended purpose! ;)
Douglas Bates: Yes, but with "\\034" you don't get to make obscure James Bond
references :-)
   -- Douglas Bates and Ed L. Cashin
      R-help (April 2004)

I know barely more than zero about R: until yesterday I didn't know how to
spell it.
   -- Pete Wilson
      stackoverflow (October 2011)

I think, therefore I R.
   -- William B. King (in his R tutorials) (July 2010)

In real life, be very careful before denigrating a child to its mother or
father... so calling a something a bug in R which is none, is evoking
feelings among R's parents... ;-)
   -- Martin Maechler (after a package author reported a bug in R that was
      actually a bug in his own code)
      R-devel (May 2015)

Teach a man to fish, and he'll use StackOverflow for a day. Give him a fish,
and he'll use StackOverflow for a lifetime of free fish.
   -- Joshua Ulrich (about pointing to R documentation on StackOverflow) (May 2016)

This is one of the fortunes:

It really is hard to anticipate just how silly users can be.

Brian D. Ripley
R-devel (October 2003)

and brings back memories about the tone of the R-help mailing list (as I experienced it in the early 2000s, it may have changed; but many other fortunes are to the same effect). Skimming through the fortunes, many of them did not age well. And a significant number of them would be in violation of our community guidelines (including unwritten ones, like “try to be helpful”).

I am glad that the Julia community is different. It is my impression that the tone here is much friendlier, which may result result in fewer pithy quotes, but at the same time a healthier atmosphere. If we did not have a similar collection, I would not miss it.


I guess the R community is much friendlier and more inclusive now.

1 Like

I got to R in mid 2014. I guess even just in those four years the R community has changed quite a bit. I am no longer that involved in R as during the last few years I have been much more in Julia’s. My experience mirrors your comments. I have been able to learn a lot through simple well-intentioned PR in established packages that have been reviewed by core developers and maintainers. Those interaction truly helped develop my Julia skills. I also like how accesible and helpful many people are in either Github, Discourse, and Slack. Help one user once and in a few months you might that person developing a cool ecosystem.


That’s soooooo true. Some of us helped out a young PhD candidate in the Gitter JuliaLang chat room when he started with Julia, and now he’s a superstar! (Chris Rackaukas)


So I guess this means we need to be wittier now.

1 Like



I understand you are joking. But I can’t escape the thought that the mere knowledge of someone collecting fortunes inspires the kind of behavior I disliked on the R mailing list. Many of the R fortunes can be categorized roughly as people

  1. being spectacularly rude,
  2. defending other people being spectacularly rude and establishing this as the community norm,
  3. being caustically sarcastic,
  4. belittling other languages/products/communities.

These can be done in 1-2 sentences, and fit the format of fortunes really well.

On the other hand, a bunch of people just helping someone track down a technical issue or get started with a problem are lengthy, mostly composed of code, and usually not particularly funny or memorable, or even meaningful outside their context. This is not what ends up in fortunes. So I suspect that collecting “fortunes” itself biases norms towards a culture that is unhealthy.

Sorry to harp on this so much. I feel strongly about this, because I used R for teaching before Julia, and have seen well-meaning and diligent students get burned by the culture of their forums and give up on the language. I think that the tone of our community will play a large role in the success of Julia.


Whether is Jupyter (Julia, Python, R) or any other language there will always be some toxic behavior as well as productive ones. The way it goes is usually a result of the community and culture the language promotes. While Julia nowadays might seem better under a revisionist view, not too long ago I remember a few strong post about people being accused of unproductive/disruptive behavior and only some warranted. We can learn from past experience and try to do better (not that we can’t enjoy programmers being cruel or excessively witty from time to time without eternally revoking our humanity card). Would be nice to find a nice balance between joyful/memorable moments or quotes vs more influential moments in the language that can speak to successes and core philosophy.

and not to forget:


Maybe we can start “JuliaDogDudes”? :grinning:

As someone personally stung by sharp and probably unnecessary criticism on R forums, I can attest to this view. There are definitely impatient bad apples, but most times, the questions we newbies ask are from a position of lack-of-knowledge and frustration from not being able to figure things out on our own. Even a few words of encouragement rather than misplaced sarcasm goes a long way in maintaining the new-found enthusiasm within the newbie. If one our community wishes to be sarcastic, opening a newbie friendly forum and guiding posters there rather than shunting them out with rudeness might be a better way :slight_smile:


Join us at that JuliaLang Gitter chat room, it’s a very friendly bunch, we don’t like snarky sarcastic comments there, and we’ve had great success on-boarding newbies (and continuing to help each other with our respective areas of expertise after we are not such newbies). (We helped on-board Chris Rackaukas there, and now he’s one of the stars of the Julia firmament!)


The Julia community has been incredibly patient and helpful so far! @anon94023334 helped me out with a bunch of Julia code and @juliohm guided me on contributing to the JuliaGraphsTutorials GitHub page. I pray we keep this culture going.


I noticed that one myself, reading some of the fortunes in these collected vignettes of Fortunes.
Some are quite funny - it’s rather a mixed bag.

1 Like

Another consideration. For me, online forums + google largely replace books and manuals. Being social and injecting some personality is more appropriate here than on stackoverflow. But, all the content that does not address the technical issues becomes noise that you have filter when searching. I try to be conscious of the fact that what we write will affect the usability of Julia (or python or whatever) in the future. I don’t enjoy sifting through quick responses from people who did not read the post carefully (This does not happen much in this forum). Personally, I regret posting about a problem that is due to a simple mistake, maybe a typo, or a “thinko”. Not because I made a mistake, but because the post becomes a permanent speed bump.


Note that on this forum, you can “withdraw” posts to prevent this. This is done frequently and is good practice.

1 Like