A summary of minor projects is given at: Ciro Santilli's minor projects.
This section is a dump for anything else, to keep those sacred first sections that show on the top of the homepage clean.
The one markup language to rule them all?
Documentation at: docs.ourbigbook.com.
Base JavaScript library that implements the OurBigBook Markup. Use by both:
The website system that runs OurBigBook.com. For further information see:Relies on the OurBigBook Library to compile OurBigBook Markup.
Mission: to live in a world where you can learn university-level mathematics, physics, chemistry, biology and engineering from perfect free open source books that anyone can write to get famous.
How OurBigBook.com works is described in the official documentation at: docs.ourbigbook.com#ourbigbook-web-user-manual This page contains further information about the project's rationale, motivation and planning.
Current status: alpha. Almost usable, now we just have to make article editing much much more user friendly. But it should be possible to immediately understand the goals of the website just by looking at it. The database might still be nuked to allow for faster iteration, unless someone adds non-trivial content to the website. See also: Section "Action plan".
These are websites that offer somewhat overlapping services, many of which served inspirations, and why we think something different is needed to achieve our goals.
Notably, OurBigBook is the result of Ciro Santilli's experiences with:OurBigBook could be seen as a cross between those three website.
Quick mentions:
  • You don't get any/sufficient recognition for your contributions
  • The stuff you wrote can be deleted anytime by some random admin/opposing editor
  • Scope too limited, and politics defined. Everything has to sound encyclopedic and be notable enough. This basically excludes completely good tutorials.
  • Insane impossible to use markup language-base talk pages instead of issue trackers?! Ridiculous!!! That change alone could make Wikipedia so much more amazing. Wikipedia could become a Stack Exchange killer by doing that alone + some basic reputation system. Some work on that is being done at: www.mediawiki.org/wiki/Extension:DiscussionTools, already in Beta as of 2022.
This edit perfectly summarizes how Ciro feels about Wikipedia (no particular hate towards that user, he was a teacher at the prestigious Pierre and Marie Curie University and actually as a wiki page about him):
rm a cryptic diagram (not understandable by a professional mathematician, without further explanations
which removed the only diagram that was actually understandable to non-Mathematicians, which Ciro Santilli had created, and received many upvotes at: math.stackexchange.com/questions/776039/intuition-behind-normal-subgroups/3732426#3732426. The removal does not generate any notifications to you unless you follow the page which would lead to infinite noise, and is extremely difficult to find out how to contact the other person. The removal justification is even somewhat ad hominem: how does he know Ciro Santilli is also not a professional Mathematician? :-) Maybe it is obvious because Ciro explains in a way that is understandable. Also removal makes no effort to contact original author. Of course, this is caused by the fact that there must also have been a bunch of useless edits not done by Ciro, and there is no reputation system to see if you should ignore a person or not immediately, so removal author has no patience anymore. This is what makes it impossible to contribute to Wikipedia: your stuff gets deleted at any time, and you don't know how to appeal it. Ciro is going to regret having written this rant after Daniel replies and shows the diagram is crap. But that would be better than not getting a reply and not learning that the diagram is crap.
Another one: en.wikipedia.org/w/index.php?title=Finite_field&type=revision&diff=1044934168&oldid=1044905041 on finite fields with edit comment "Obviously: X ≡ α". Discussion at en.wikipedia.org/wiki/Talk:Finite_field#Concrete_simple_worked_out_example Some people simply don't know how to explain things to beginners, or don't think Wikipedia is where it should be done. One simply can't waste time fighting off those people, writing good tutorials is hard enough in itself without that fight.
It is also for this reason why Ciro basically only contributes images to Wikipedia: because they are either all in or all out, and you can determine which one of them it is. And this allows images to be more attributable, so people can actually see that it was Ciro that created a given amazing image.
Wikipedia is perfect for things like biographies, geography, or history, which have a much more defined and subjective expository order. But when it comes to "tutorials of how to actually do stuff", which is what mathematics and physics are basically about, Wikipedia has a very hard time to go beyond dry definitions which are only useful for people who already half know the stuff. But to learn from zero, newbies need tutorials with intuition and examples.
Even information about companies can be disputed. E.g. once Ciro Santilli tried to create a page for PsiQuantum, a startup with $650m in funding, and there was a deletion proposal because it did not contain verifiable sources not linked directly to information provided by the company itself: en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/PsiQuantum Although this argument is correct, it is also true about 90% of everything that is on Wikipedia about any company. Where else can you get any information about a B2B company? Their clients are not going to say anything. Lawsuites and scandals are kind of the only possible source... Although it was initially overruled, this goes to show how it is to decide, and you may always waste your time writing something that is about to be deleted. This type of endless
should we delete this extremely likely useful/correct content or not according to this extremely complex system of guidelines"
is very similar to Stack Exchange's own Stack Overflow content deletion issues. Ain't Nobody Got Time For That. "Ain't Nobody Got Time for That" actually has a Wiki page: en.wikipedia.org/wiki/Ain%27t_Nobody_Got_Time_for_That. That's notable. Unlike a $600M+ company of course.
Stack Exchange solves to a good extent the use cases:
  • I have a very specific question, type it on Google, find top answers
  • I have an answer, and I put it here because it has a much greater chance of being found due to the larger PageRank than my personal web page will ever have
points of view. It is a big open question if we can actually substantially improve it.
Major shortcoming are mentioned at idiotic Stack Overflow policies:
Where blog is taken in a wide sense, including e.g. Medium, WordPress, Facebook, Twitter, etc., etc.
The main shortcoming of blogs is the lack of tag convergence across blogs. Each blog is a moderated castle. So who is the best user for a given tag, or the best content for a given tag, across the entire website?
The only reasonable free material we have for advanced subjects nowadays are university lecture notes.
While some of those are awesome, when writing a large content, no one can keep quality high across all sections, there will always be knowledge that you don't have which is enlightening. And Googlers are more often than not interested only in specific sections of your content.
Our website aims to make smaller subjects vertically curated across horizontal single author tutorials.
MIT calculus course             UCLA calculus course

* Calculus                <---> * Calculus
  * Limit                 <--->   * Limit
    * Limit of a function
    * Limit of a series   <--->     * Limit of a series
  * Derivative            <--->   * Derivative
                                    * L'Hôpital's rule
  * Integral              <--->   * Integral
Basically everything that applies to the blogs section also applies here, but university lecture notes are so important to us that they deserve a bit more talk.
It is arguable that this is currently the best way to learn any university subject, and that it can already be used to learn any subject.
We basically just want to make the process more efficient and enjoyable, by making it easier:
  • to find what you want based on an initial subject hit across the best version of any author
  • and to publish your own stuff with one click, and get feedback if people like it or not, and improvement suggestions like you do you GitHub
One major problem with lecture notes is that, as the name suggests, they are merely a complement to the lecture, and don't contain enough detail for you to really learn solely from them without watching the lecture.
The only texts that generally teach in enough depth are actual books, which are almost always commercial.
So in a sense, this project can be seen as a path to upgrade free lecture notes into full blown free books, from which you can learn from scratch without any external material.
And a major way in which we believe this can be done is through the reuse of sections of lecture notes by from other universities, which greatly reduces the useless effort of writing things from scratch.
The intended mental picture is clear: the topics feature docs.ourbigbook.com/#ourbigbook-web-topics will is intended to act as the missing horizontal topic integration across lecture notes of specific universities, e.g:
MIT calculus course             UCLA calculus course

* Calculus                <---> * Calculus
  * Limit                 <--->   * Limit
    * Limit of a function
    * Limit of a series   <--->     * Limit of a series
  * Derivative            <--->   * Derivative
                                    * L'Hôpital's rule
  * Integral              <--->   * Integral
Figure 1. Example topics page of OurBigBook.com.
One important advantage of lecture notes is that since they are written by the teacher, they should match exactly what "students are supposed to learn to get good grades", which unfortunately is a major motivation for student's learning weather we want it or not.
One big open question for this project is to what extent notes written for lectures at one university will be relevant to the lectures at another university?
Is it possible to write notes in a way that they are naturally reusable?
It is our gut feeling that this is possible. But it almost certainly requires an small intentional effort on the part of authors.
The question then becomes whether the "become famous by getting your content viewed in other universities" factor is strong enough to attract users.
And we believe that it might, it just might be.
A major difficulty of getting such this to work is that may university teachers want to retain closed copyright of their work because they:
Therefore the only way is to find teachers who are:
  • enlightened to use such licenses
  • forced by their organizations to use such licenses
The forced option therefore seems like a more bulk efficient starting point for searches.
No matter how much effort a single person puts into writing perfect tutorials, they will never beat 1000x people + an algorithm.
It is not simply a matter of how much time you have. The fundamental reason is that each person has a different background and different skills. Notably the young students have radically different understanding than that of the experienced teacher.
Therefore, those that refuse to contribute to such platforms, or at least license their content with open licenses, will inevitably have their work forgotten in favor of those that have contributed to the more open platform, which will eventually dominate everything.
Perhaps OurBigBook.com is not he killer platform that will make this happen. Perhaps the world is not yet ready for it. But Ciro believes that this will happen, sooner or later, inevitable, and he wants to give it a shot.
Also worth checking:
Figure 1. The Grad Student Brain by PhD Comics (2010) Source. Convincing academics that their tutorial are not always perfect is one of blocking points to the acceptance of solutions such as OurBigBook.com. To thrive in the competition of academia, those people are amazing at publishing novel results. Explaining to beginners however, not necessarily so.
Some possible/not possible sources that could be used to manually bootstrap content:
TODO gotta research those more:
Major downsides that most of those personal knowledge databases have:
  • very little/no focus on public publishing, which is the primary focus of OurBigBook.com
  • either limited or no multiuser features, e.g. edit protection and cross user topics
  • graph based instead of tree based. For books we need a single clear ordering of a tree. Graph should come as a secondary thing through tags.
This website basically aims to be a learning management system, allowing in particular a teacher to focus his help on students that he is legally obliged to help due to their job. But it will have the following unusual characteristics in current LMS solutions:
  • public first, to allow reuse across universities, rather than paywalled as is the case for most top universities
  • students can create material just like teachers, both are on equal footing. Students/teachers will see an indicator "this is your teacher"/"this is your student for this/past semester", but that is the only difference between their interfaces.
If Ciro Santilli were to write a book about quantum mechanics as of 2020 (before OurBigBook.com went live), he would upload an OurBigBook Markup website to GitHub Pages.
But there is one major problem with that: the entry barrier for new contributors is very large.
If they submit a pull request, Ciro has to review it, otherwise, no one will ever see it.
Our amazing website would allow the reader to add his own example of, say, The uncertainty principle, whenever they wants, under the appropriate section.
Then, people who want to learn more about it, would click on the "defined tag" by the article, and our amazing analytics would point them to the best such articles.
  • HyperCard: we are kind of a "multiuser" version of HyperCard, trying to tie up cards made by different users. It is worth noting that HyperCard was one of the inspirations for WikiWikiWeb, which then inspired Wikipedia
  • Semantic Web
  • NLab
  • physicstravelguide.com/ Nice manifesto: physicstravelguide.com/about by Jakob Schwichtenberg.
  • OpenStax
  • www.ft.com/content/5515ec3e-0040-4d90-85a9-df19d6e3ebd2 (archive) Twilio’s Jeff Lawson: an evangelist for software developers
    As a student at the University of Michigan, he started a company that made lecture notes available free online, drawing a large audience of Midwestern college students and, soon enough, advertisers. At the height of the dotcom bubble, he dropped out of college, raised $10m from the venture firm Venrock and moved the company to Silicon Valley.
    His start-up drew interest from an acquirer that was planning to go public early in 2000. They closed the acquisition but missed their IPO window as the market plunged, and by August the company had filed for bankruptcy. Stock that Lawson and investors in his start-up received from the sale became worthless.
    You can never be first. But you can have the correct business model. That company's website must have gone into IP Purgatory, and could never be released as an open source website.
    This project won't make a lot of money. Open source and not-for-profit seems like the way to go.
    The website was called stubhub.com/, as of 2021 the domain had been sold to an unrelated website.
    He might actually be interested in donating to OurBigBook.com if it move forward now that he's a billionaire.
  • Knol: basically the exact same thing by Google but 14 years earlier and declared a failure. Quite ominous:
    Any contributor could create and own new Knol articles, and there could be multiple articles on the same topic with each written by a different author.
  • leanpub: similar goals, markdown-based, but the usual "you own your book copyright and you are trying to sell your book" approach
  • nature Scitable
The steps are sorted in roughly chronological order. The project might fail at any point, and some steps may be carried in parallel:
  • make OurBigBook Markup good enough, to the point that it allows to create a static version of the website, which is used to prototype certain ideas, and for Ciro to start writing test content.
    Status March 2022: reached a point that it is already highly usable. The following website may continue.
  • create a basic implementation of the website, without advanced features like PageRank sorting and WYSIWYG. This is not much more than a blog with some extra metadata, so it is definitely achievable with constrained resources.
  • find a university teacher would would like to try it out.
    Ciro would like to volunteer to work for free for this teacher and students to help the students learn.
    He would like act like a "super student" who has a lot of free time and motivation.
    Ciro would start by mapping the headers of the lecture notes onto the website, and then slowly adding content as he feels the need to improve certain explanations.
    Finding teachers willing to allow this will be a major roadblock: how to convince teachers to use CC BY-SA.
    If such enlightened teacher is found, it will allow for the initial validation of the website, to decide what kind of tweaking the idea might need, and start uploading quality technical content to the site.
  • once some level of validation as been done, Ciro will start looking for charitable charitable grant opportunities more aggressively
  • if things seem to be working, start adding more advance features: PageRank-like ranking sorting and WYSIWYG editing
    The recommendation algorithms notably is left for a second stage because it needs real world data to be tested. And at the beginning, before Eternal September kicks in, there would be few posts written by well educated university students, so a simple sort by upvote would likely be good enough.
Ciro decided to start with a decent markup language with a decent implementation: OurBigBook Markup. Once that gets reasonable, he will move on to another attempt at the website itself.
The project description was originally at: github.com/cirosantilli/write-free-science-books-to-get-famous-website but being migrated here. The original working project name was "Write free books to get famous website", until Ciro decided to settle for OurBigBook.com and fixed the domain name.
Crush the current grossly inefficient educational system, replace today's students + teachers + researchers with unified "online content creators/consumers".
Gamify them, and pay the best creators so they can work it full time, until some company hires for more them since they are so provenly good.
Destroy useless exams, the only metrics of society are either:
  • how much money you make
  • how high is your educational content creator reputation score
Reduce the entry barrier to education, like Uber has done for taxis.
Help create much greater equal opportunity to talented poor students as described at free gifted education.
Give the students a flexible choice of what to learn, which basically implies that a much large proportion of students get a de-facto gifted education.
In some ways, Ciro wants the website to feel like a video game, where you fluidly interact with headers, comments and their metadata. If game developers can achieve impressively complicated game engines, why can't we achieve a decent amazing elearning website? :-)
Many subjects have changed very little in the last hundred years, and so it is mind-blowing that people have to pay for books that teach them!
If computers are bicycles for the mind, Ciro wants this website to be the Ferrari of the mind.
Since Ciro Santilli was young, he has been bewildered by the natural sciences and mathematics due to his bad memory.
The beauty of those subjects has always felt like intense sunlight in a fresh morning to Ciro. Sometimes it gets covered by clouds and obscured by less important things, but it always comes back again and again, weaker or stronger with its warmth, guiding Ciro's life path.
As a result, he has always suffered a lot at school: his grades were good, but he wasn't really learning those beautiful things that he wanted to learn!
School, instead of helping him, was just wasting his time with superficial knowledge.
First, before university, school organization had only one goal: put you into the best universities, to make a poster out of you and get publicity, so that more parents will be willing to pay them money to put their kids into good university.
Ciro once asked a chemistry teacher some "deeper question" after course was over, related to the superficial vision of the topic they were learning to get grades in university entry exams. The teacher replied something like:
You remind me of a friend of mine. He always wanted to understand the deeper reason for things. He now works at NASA.
Ciro feels that this was one of the greatest compliments he has ever received in his life. This teacher, understood him. Funny how some things stick, while all the rest fades.
Another interesting anecdote is how Ciro Santilli's mother recalls that she always found out about exams in the same way: when the phone started ringing as Ciro's friends started asking for help with the subjects just before the exam. Sometimes it was already too hopelessly late, but Ciro almost always tried. Nothing shows how much better you are than someone than teaching them.
Then, after entering university, although things got way better because were are able to learn things that are borderline useful.
Ciro still felt a strong emotion of nostalgia when after university his mother asked if she could throw away his high school books, and Ciro started tearing them all down for recycling. Such is life.
University teachers were still to a large extent researchers who didn't want to, know how to and above all have enough time and institutional freedom to teach things properly and make you see their beauty, some good relate articles:
The very fact that you had very little choice of what to learn so that a large group can get a "Diploma", makes it impossible for people to deeply learn what the really want.
This is especially true because Ciro was in Brazil, a third world country, where the opportunities are comparatively extremely limited to the first world.
Also extremely frustrating is how you might have to wait for years to get to the subject you really want. For example, on a physics course, quantum mechanics is normally only taught on the third year! While there is value to knowing the pre-requisites, holding people back for years is just too sad, and Ciro much prefers backward design. And just like the university entry exams, this creates an entry barrier situation where you might in the end find that "hey, that's not what I wanted to learn after all", see also: students must have a flexible choice of what to learn.
We've created a system where people just wait, and wait, and wait, never really doing what they really want. They wait through school to get into university. They wait through university to get to masters. They wait through masters to get to PhD. They wait through PhD to become a PI. And for the minuscule fraction of those that make it, they become fund proposal writers. And if you make any wrong choice along the, it's all over, you can't continue anymore, the cost would be too great. So you just become software engineer or a consultant. Is this the society that we really want?
And all of this is considering that he was very lucky to not be in a poor family, and was already in some of the best educational institutions locally available already, and had comparatively awesome teachers, without which he wouldn't be where he is today if he hadn't had such advantages in the first place.
But no matter how awesome one teacher is, no single person can overcome a system so large and broken. Without technological innovation that is.
The key problem all along the way is the Society's/Government's belief that everyone has to learn the same things, and that grades in exams mean anything.
Ciro believes however, that exams are useless, and that there are only two meaningful metrics:
  • how much money you make
  • fame for doing for doing useful work for society without earning money, which notably includes creating new or better free knowledge such as in academic papers, either novel or review
Even if you wanted to really learn natural sciences and had the time available, it is just too hard to find good resources to properly learn it. Even attending university courses are hit and miss between amazing and mediocre teachers.
If you go into a large book shop, the science section is tiny, and useless popular science books dominate it without precise experiment descriptions. And then, the only few "serious" books are a huge list of formulas without any experimental motivation.
And if you are lucky to have access to an university library that has open doors, most books are likely to be old and boring as well. Googling for PDFs from university courses is the best bet.
Around 2012 however, he finally saw the light, and started his path to Ciro Santilli's Open Source Enlightenment. University was not needed anymore. He could learn whatever he wanted. A vision was born.
To make things worse, for a long time he was tired of seeing poor people begging on the streets every day and not doing anything about it. He thought:
He who teaches one thousand, saves one million.
which like everything else is likely derived subconsciously from something else, here Schindler's list possibly adapted quote from the Talmud:
He who saves the life of one man saves the entire world.
So, by the time he left University, instead of pursuing a PhD in theoretical Mathematics or Physics just for the beauty of it as he had once considered, he had new plans.
We needed a new educational system. One that would allow people to fulfill their potential and desires, and truly improve society as a result, both in rich and poor countries.
And he found out that programming and applied mathematics could also be fun, so he might as well have some fun while doing this! ;-)
So he started Booktree in 2014, a GitLab fork, worked on it for an year, noticed the approach was dumb, and a few years later started building this new version. The repo github.com/booktree/booktree is a small snapshot of Ciro's 2014 brain on the area, there were quite a few similar projects at the time, and most have died.
Ciro is basically a librarian at heart, and wants to be the next:
Video 1. "Jimmy Wales: How a ragtag band created Wikipedia" 2005 TED talk. Source. Original source: www.ted.com/talks/jimmy_wales_the_birth_of_wikipedia.
Video 2. "Brewster Kahle: A digital library, free to the world." 2007 TED Talk. Source. Talks about the Internet Archive which he created.
Video 3. Sal Khan from Khan Academy 2016 TED talk. Source. Ciro is not a big fan of the "basis on top of basis focus" because of his obsession with backward design, but "learn to mastery at your own pace" and "everyone can be a world class innovator" are obviously good.
Education has become an expensive bureaucratic exercise, completely dissociated from reality and usefulness.
It completely rejects what the individual wants to achieve, and instead attempts to mass homogenize and test people through endless hours of boredom.
And the only goals it achieves are testing student's resilience to stress, and facilitating the finding of sexual partners. True learning is completely absent.
Teachers only teach because they have to do it to get paid, not for passion. Their only true incentive is co-authoring papers.
We reject this bullshit.
Education is meant to help us, the students, achieve our goals through passionate learning.
And, we, the students, are individuals, with different goals and capabilities.
The way we protest is to publish the knowledge from University for free, on the Internet, so that anyone can access it.
And we do this is a law-abiding way, without copyright infringement, so that no one can legally take it down.
We come to our courses just for the useless roll calls. But we already know all the subject better than the "teacher" on the very first day.
And we are already more famous than the "teacher" online, and through the Internet have already taught more way way more people than they ever will.
The effect of this is to demoralize the entire school system at all levels, until only one conclusion is possible: implosion.
And from the ashes of the old system, we will build a new one, which does only what matters with absolute efficiency: help the individual students achieve their goals.
A system in which the only reason why university exist will be to allow the most knowledgeable students to access million dollar laboratory equipment, and to pay the most prolific content creators so they can continue content creating.
No more useless courses. No more useless tests. Only passion, usefulness and focus.
In this section we will gather some more advanced ideas besides the basic features described at how the website works.
It would be really cool to have a PageRank-link algorithm that answers the key questions:
However, Ciro has decided to leave this for phase two action plan, because it is impossible to tune such an algorithm if you have no users or test data.
Perhaps it is also worth looking into ExpertRank, they appear to do some kind of "expert in this area", but with clustering (unlike us, where the clustering would be more explicit).
The general and ideal user acquisition is of course organic Googling:
  • user does not understand his teacher's explanation of a subject
  • user Googles into rare specific subject
  • looks around, then login/create account with OAuth to leaves a comment or upvote
  • notice that you can fork anything
  • mind = KABOOM
However, before that point, it is very likely that Ciro will have to physically do some very hard and specific user acquisition work at some University. Maybe there is a more virtual way of achieving this.
This work will involve going through some open set of university lecture notes, and creating a superior version of them on OurBigBook.com, and somehow getting students to notice it and use it as a superior alternative to their crappy lecture notes.
Getting in contact with students is an epic challenge, as an incredibly deep chasm separates us:
  • it is basically impossible to try and approach teachers: how to convince teachers to use CC BY-SA
  • and on the other hand, how will you get university students to trust you are not a pedophile and that you actually want to help them?
    The missing aspect is how to join their main "class communication group", e.g. a WhatsApp or Discord chat they have. That would be the perfect entry point to communicate with the end users. But that entry point is also generally closed exclusively for students, and sometimes lecturers, and will not accept anyone external.
    Perhaps Ciro would be able to do something with one of the two Universities he attended in the past: École Polytechnique or University of São Paulo. But there was no clear channel in those institutions for that. There is either an "infinitely noisy Facebook with everyone that bothered" or silence, deathly silence and isolation of no contact. The key hard part is getting a per-course granularity chat.
Walking with advertisement t-shirts mentioning specific course names in some university location is something Ciro seriously considers, that's how desperate things are. Watch out: docs.ourbigbook.com/#public-relations for T-shirt news!
Ciro is looking for:
The initial incentive for the creators is to make them famous and allow them to get more fulfilling jobs more easily, although Ciro also wants to add money transfer mechanisms to it later on.
We can't rely on teachers writing materials, because they simply don't have enough incentive: publication count is all that matters to their careers. The students however, are desperate to prove themselves to the world, and becoming famous for amazing educational content is something that some of them might want to spend their times on, besides grinding for useless grade.
There is basically only one scalable business model in education as of the 2020's: helping teenagers pass university entry exams. And nothing else. Everything else is a "waste" of time.
Perhaps there is a little bit of publicity incentive to helping them win knowledge olympiads as well, but it is tiny in comparison, and almost certainly not a scalable investment. This may also depend on whether universities consider anything but exams, which varies by country.
That marked is completely saturated, and Ciro Santilli refuses to participate in it for moral reasons.
Beyond that, there is no scalable investment. Other non-scalable investments that could allow one to make a lifestyle business are:
  • extra-curricular initiatives to get younger children interested in science. These may have some money stream coming from the parents of the children. This happens because for young children, the parents are more in control, and the parents, unlike the students, have some money to spend. An example: www.littlehouseofscience.com/
    The space is also further crowded by several not-for profits.
    This business model is possible because experiments for young children may be cheap to realize, unlike any experiment that would matter to a teenager or adult.
  • creating a private university, for profit or not. Of course, at this point, you would be either:
    • competing against the reputation and funding of century old universities
    • or be offering more boring, lower tech or techless courses, to (God forbid the phrasing) "worse students", i.e. at a "worse university"
Teenagers and young adults:
  • don't have money to give you if you want to "help them learn for real"
  • are somewhat forced to obtain their "reputable university" reputation to kickstart their careers
It is this perfect storm that places this specific section of education in such a bad shape that it is today.
This project is likely to fail. It could become the TempleOS of wikis. The project' autism score is quite high. It might be an impossible attempt at a lifestyle business. But Ciro is beyond caring now. It must be done. Other things that come to mind:
One man with a laptop and a dream.
Dangerous combination.
Video 1. One Man's Dream - Ken Fritz Documentary (2021) Source. In some ways, Ciro was reminded of OurBigBook.com by this documentary. Ken built his ultimate audio system without regard to money and time, to enjoy until he dies. Ciro is doing something similar. There is one fundamental difference however: everyone can enjoy a website all over the world.
Once the ball starts rolling, these are people who should be contacted.
Basically anything under educational charitable organization counts.
Start with consulting for universities to get some cash flowing.
Help teachers create perfect courses.
At the same time, develop the website, and use the generated content to bootstrap it.
Choose a domain of knowledge, generate perfect courses for it, and find all teachers of the domain in the world who are teaching that and help them out.
Then expand out to other domains.
TODO: which domain of knowledge should we go for? The more precise the better.
  • maths is perfect because it "never" changes. But does not make money.
  • computer science might be good, e.g. machine learning.
If enough people use it, we could let people sell knowledge content through us.
Teachers have the incentive of making open source to get more students.
Students pay when they want help to learn something.
We take a cut of the transactions.
However this goes a bit against our "open content" ideal.
Forced sponsorware would be a possibility.
Would be a bit like Fiverr. Hmmm, maybe this is not a good thing ;-)
Don't like this very much, but if it's the only way...
Maybe focus on job ads like Stack Overflow.
Then:
  • like YouTube, pay creators proportionally to views/metrics
  • paid subscription to remove ads from site
Maybe we should talk to innovative schools, as they might be more open to such use of technology.
Not a fun of giving up control for such a low-maintenance cost venture... but keeping a list just in case...
As mentioned at Section "Linux Kernel Module Cheat (LKMC)", this should be merged into that other project.
In 2016 Ciro made a script downloaded Facebook profile pictures.
This was possible at the time without any login by using a 2010 profile ID dump from originally announced at: blog.skullsecurity.org/2010/return-of-the-facebook-snatchers since profile picture access was not authenticated.
The profile ID dump was downloadable through a BitTorrent named fbdata.torrent of about 2.8GB, mostly compressed. Doing:
find . -type f | xargs sha256sum | sha256sum
on Ubuntu 20.04 gives:
2c9a739c9c5495e38ebab81fc67411b7c6562f139dcb8619901a3f01230efdd5
This dump widely reported e.g. on Hacker News at: news.ycombinator.com/item?id=1554558.
At some point however, Facebook finally started to require tokens to view public profile pictures, thus making such further collection impossible, e.g. as of 2021: developers.facebook.com/docs/graph-api/reference/v9.0/user/picture mentions:
Querying a User ID (UID) now requires an access token.
This is also mentioned e.g. at: stackoverflow.com/questions/11442442/get-user-profile-picture-by-id. This major privacy flaw was therefore finally addressed at some point, making it impossible to reproduce this project.
Ciro downloaded 10 thousand of those pictures, and did facial extraction with: stackoverflow.com/questions/13211745/detect-face-then-autocrop-pictures/37501314#37501314
He then created single a video by joining 10 thousand of those cropped faces which can be uploaded e.g. to YouTube. Ciro later decided it was better to make those videos private however, as sooner later he'd lose his account for it.
Companies like YouTube blocking this kind of content is the type of thing that makes companies take longer to fix such gaping privacy issues, and is a bit like security through obscurity. A video makes it clear to everyone that there is a privacy issue very effectively. But people prefer to hide and look away, and then 99% of people who know nothing about tech get their privacy busted by actual criminals/government spies and never learn about it.
But now that Facebook finally fixed it, it's fine, no need for the video anymore.
This is mostly stuff from before 2016 when Ciro was anxious to document his contributions to get a job.
Most of the projects here are also minor contributions, or Ciro later noticed that the projects were not useful enough to work on and that he was actually wasting his time.
Some of the contributions are subjectively self evaluated based on:
  • How many significant lines changed (no indentation changes, moves, mass refactoring, trivial tests, etc.):
    0 only trivial changes
    1 < 20
    2 < 150
    3 > 150
  • How hard it was to make it. 4 algorithmic lines are harder than 100 web development/documentation lines.
Only patches which were reviewed by at least one person with push permission will be listed here.
This may also include patches which were rejected in favor of another patch, but strongly influenced the merged patch.
Date Project Size Description
2019-09 KaTeX 1 Create globalGroup option to place definitions in global scope
2018-06 raspi3-tutorial 0 Explain how to see UART1
2018-05 Buildroot 1 ltp-testsuite: add --with-open-posix-testsuite
2018-03 Buildroot 1 qemu_x86_64_defconfig: fix kernel header version after bump to 4.15
2017-11 Cocos2d 1 Recreate libfmod.so.6 symlinks
2017-10 Cocos2d 1 Make bullet use -fPIC
2017-07 OPenCL Headers 0 C11 anonymous structs / unions should allow xyz notation for vector types
2017-06 Linux insides 0 Mention Buildroot in addition to ivandaviov/minimal
2017-06 opengl-tutorial.org 0 Use existing empty layout on feed.xml
2017-04 Tiny Renderer 0 Add gitignore
2017-02 Vulkan Loader 0 Use nproc instead of ncpu
2017-01 Boost Geometry 1 What is "QPoint::double" in doc/example_adapting_a_legacy_geometry_object_model.qbk ?
2016-12 Freetype GL 1 GLFW Ubuntu package works on 16.10
2016-11 honza/vim-snippets 1 Add C variable printf debug snippets
2016-09 Gazebo 1 Add a world to the gui_overlay_plugin_time example
2016-07 Android Vulkan Tutorials 1 Use android API 24
2016-07 minimal linux live 0 Fix time sh instead of sh time
2016-06 GHDL 0 Typo severals -> several in Invoking doc
2016-06 GHDL 1 Document GCC backend needed to generate executables
2016-06 GHDL 0 Typo debugger -> debugged in BUILD.txt
2016-06 GHDL 0 Typo carray -> carry in full adder example
2016-05 facedetect 1 Add example to extract faces with imagemagick
2016-05 ebookFoundation/free-programming-books 0 Create data science section and add Kaggle to it
2016-05 opengl-tutorial.org 0 Add empty line before triple quotes
2016-05 Bullet Physics 1 Improve HelloWorld
2016-04 Freetype GL 1 Find out how to compile on Ubuntu and document it
2016-03 ranger 0 gitignore install_log.txt generated by make install
2016-03 ranger 1 Add %confdir macro
2016-03 ranger 1 set_bookmark for directories other than the current
2016-02 Jami 2 Create working Android video hardware decoding prototype
2016-02 Jami 1 Started the one command build which was later made official
2016-01 leetcode 1 Java LRUCache with LinkedHashMap
2015-12 ebookFoundation/free-programming-books 0 Add InterviewBit to problem sets
2015-10 Linux insides 0 Recommend ivandaviov/minimal to generate initrd
2015-08 bare-metal-tetris 0 make clean also removes tetris.iso
2015-08 eduOS 0 README typos Binutils and NASM
2015-08 GDB 0 python: fix Linetable case to LineTable in docstrings and comments
2015-07 GDB 0 Remove outdated comment from call-rt-st.exp
2015-07 GDB 0 Fix broken CONTRIBUTE link to GNU insignificant changes
2015-07 GDB 1 py-linetable.c: Fix doc of LineTable.source_lines' return type
2015-07 Binutils 1 Clarify case requirements for gas pseudo-ops
2015-07 Capstone 0 Website typos at beyond_llvm
2015-07 Vim Session 1 auto_save_to option added
2015-05 NASM 0 doc: typo occationally
2015-05 ebookFoundation/free-programming-books 0 Computer Science from the Bottom Up
2015-05 ebookFoundation/free-programming-books 0 problem-sets: leetcode
2015-05 ebookFoundation/free-programming-books 0 Papers we love
2015-04 alternativeTo 0 icanprove.com
2015-04 ebookFoundation/free-programming-books 0 Knapsack Problems
2015-04 ebookFoundation/free-programming-books 0 LSB
2015-04 honza/vim-snippets 0 java: prinlna to print array
2015-04 ebookFoundation/free-programming-books 0 PEG Judge
2015-03 GitLab 1 Convert many JavaScript # links to buttons
2015-03 GitLab 1 Factor permission check in issuable finder
2015-03 Spring 0 Typo Gardle -> Gradle
2015-02 Linux insides 0 Make x86 paging reference title clearer
2015-02 GitLab 1 Ignore .bundle
2015-02 ebookFoundation/free-programming-books 0 Problem sets: CareerCup
2015-01 honza/vim-snippets 1 Fix false positive hyphen list item expansion
2015-01 GitLab 1 Append in place for strings and arrays
2015-01 GitLab 1 Remove unneeded password_confirmation from seed
2015-01 GitLab 0 Typo in project API events comment
2015-01 GitLab 1 Replace match via get with get on routes
2015-01 GitLab 0 Remove or prepend underscore _ to unused method arguments
2015-01 GitLab 1 Change always passing visible false tests
2015-01 GitLab 1 Make blob new and edit file editors more uniform
2015-01 GitLab 1 Replace regex methods by string ones
2015-01 GitLab 1 Simplify SSH fingerprint regexp extraction
2015-01 GitLab 1 Add tests for disabled blob edit button cases v2
2014-12 GitLab 0 permission.md align table, rm double empty line
2014-12 GitLab 0 Remove commit indicator from path on Commits tab
2014-12 GitLab 0 Make protected branch perms explicit in doc
2014-12 GitLab 0 doc workflow markdown style
2014-12 GitLab 1 Disallow POST to compare as it does not create objects
2014-12 GitLab 0 Sort .gitignore
2014-12 GitLab 1 Remove unused Project#code function
2014-12 GitLab 0 Remove unused has_gitlab_shell3? method
2014-12 GitLab 1 Add tests for tree edit routes
2014-12 GitLab 1 Disable / hide MR edit blob button if cannot edit
2014-12 GitLab 0 Use blob local instead of instance
2014-12 GitLab 1 Fix dev user seed: ID was used twice
2014-12 GitLab 0 Fix Rake tasks doc README: add top level h1
2014-12 Ruby 0 Typo close -> closes.
2014-12 CommonMark 1 Add tests for normalize outer whitespace removal
2014-12 CommonMark 1 spec_tests make --pattern affect --dump-tests
2014-12 CommonMark 1 Add --number option to run a single test by its id
2014-12 CommonMark 1 Don't raise exception on invalid UTF-8 output
2014-12 CommonMark 1 spec_tests add short options for common parameters
2014-12 CommonMark 0 Ignore pyc files
2014-12 CommonMark 1 Expose failure to normalize whitespaces
2014-11 honza/vim-snippets 1 Markdown bold and italic
2014-11 honza/vim-snippets 1 Markdown links URLs from the clipboard
2014-11 honza/vim-snippets 1 Markdown autolinks
2014-11 honza/vim-snippets 1 Let the short version of links not have title.
2014-11 honza/vim-snippets 1 Fix markdown fenced code blocks.
2014-11 GitLab 1 Delete tags and branches that start with hyphen
2014-11 GitLab 3 Restore hooks PATH before calling ruby
2014-11 GitLab 1 Factor regex error messages with spec API tests
2014-11 GitLab 1 Move new blob commit message textarea below editor
2014-11 gitbrute 0 Usage
2014-11 GitLab 1 Factor GITLAB_SHELL_VERSION get method
2014-11 GitLab 1 Create dev fixture projects with fixed visibility
2014-11 GitLab 1 Factor using Repository#path_to_repo
2014-11 GitLab 1 Remove unused authenticate_user from project#show
2014-11 GitLab 1 Remove dead Event#new_branch? method
2014-11 GitLab 1 Don't output to stdout from lib non-interactive methods
2014-11 GitLab 2 Fix version of test seed branches to specific revisions
2014-11 GitLab 1 Factor '0' * 40 blank ref constants
2014-11 GitLab 1 Transform remove blob link into button
2014-11 GitLab 1 Update default regex message to match regex
2014-11 GitLab 0 Continue strings with backslash instead of append
2014-11 GitLab 1 Factor behaviors.scss constants
2014-11 GitLab 0 Remove unneeded backslash: "/" == "/"
2014-11 GitLab 1 Fix push not allowed to protected branch if commit starts with 7 zeros
2014-11 GitLab 1 Use require spec_helper instead of relative path
2014-11 GitLab 0 Fix doc rake import md style
2014-11 GitLab 1 Factor lib backend gitlab shell path
2014-10 GitLab 1 Run user select Js only where needed
2014-10 GitLab 1 Use button type=submit instead of input
2014-10 GitLab 1 Only run profile js on pages that need it
2014-10 GitLab 1 Better js -> URL projects map to reduce unneeded execution
2014-10 GitLab 1 Use Gitlab.config instead of Settings everywhere
2014-10 GitLab 1 Show nothing instead of unassigned on issues
2014-10 GitLab 1 Only run namespace select js when needed
2014-10 GitLab 0 Merge File basename and dirname into split
2014-10 GitLab 1 Fix import.rake failed import if project name is also an existing namespace
2014-10 GitLab 0 Remove unused variable user at lib/gitlab/markdown
2014-10 GitLab 1 Use argument list for sh instead of string
2014-10 GitLab 1 Only run avatar chooser Js on pages that need it
2014-10 GitLab 1 Remove whitespace link between user group avatars
2014-10 GitLab 0 Fix doc raketasts import md style
2014-10 GitLab 1 Remove unneeded app/finders config.autoload path
2014-10 GitLab 0 Improve grack auth hooks comment.
2014-10 GitLab 1 Remove unused admin/projects#repository method
2014-10 GitLab 1 Factor admin logs
2014-10 GitLab 1 Remove unused filter from ProjectsController
2014-10 GitLab 1 Remove unused dev_tools helper.
2014-10 GitLab 1 Factor authorize_push! and authorize_code_access!
2014-10 GitLab 1 Replace match with end_with: more readable, faster
2014-10 GitLab 1 Use @project on controllers, don't call method
2014-10 GitLab 1 Remove param[:project_id] at admin controller
2014-10 GitLab 1 DRY mentioned in magic note constant
2014-10 GitLab 1 Factor group forms
2014-10 GitLab 1 State on CONTRIBUTING that people should fix line style of touched lines
2014-10 GitLab 1 Export all coffee classes with @
2014-10 GitLab 1 Fix missing flash on file edit error from web UI.
2014-10 Capybara 0 Fix History typo.
2014-10 GitLab 1 Make new and edit file submit more uniform
2014-10 libgit2 1 Join typedef and struct definitions in single file
2014-10 GitLab 1 Factor dashboard helper methods
2014-10 GitLab 1 Factor issue and merge request services
2014-10 GitLab 1 Replace www.gitlab.com with about.gitlab.com
2014-10 GitLab 0 Improve formatting of app/finders/README.md
2014-10 GitLab 0 Remove outdated comment from commits_controller
2014-10 GitLab 1 Factor markup? gitlab_markdown? into new method
2014-10 GitLab 1 Remove unused title parameter
2014-10 GitLab 1 Make Spinach test names consistent
2014-10 GitLab 0 Ignore .bundle
2014-10 GitLab 0 Ignore tags file
2014-10 GitLab 0 Split one instance variable per line
2014-10 GitLab 1 Factor commit message textareas
2014-10 GitLab 1 Remove outdated comment on the project test seed
2014-10 GitLab 0 Remove assignment without effect.
2014-10 GitLab 1 Add parenthesis to function def with arguments.
2014-10 GitLab 1 Remove test line without effect because no should.
2014-10 GitLab 1 Improve remove file commit message textarea placeholder
2014-10 GitLab 1 Replace :erb filter with plain HAML
2014-10 GitLab 1 Remove blame lines added leading whitespace
2014-10 GitLab 1 Improve new file commit message textarea placeholder.
2014-10 GitLab 1 Simplify custom MR good commit message hint
2014-10 GitLab 1 Move group feature step to match test location
2014-10 GitLab 1 Titleize blob action buttons.
2014-09 GitLab 0 Remove statement without effect.
2014-09 GitLab 0 Fix dev merge seed: update testme to gitlab-test.
2014-09 GitLab 0 Remove trailing whitespace from views.
2014-09 GitLab 1 Remove def project from tests that inherit it.
2014-09 GitLab 1 Replace testme with gitlab-test.
2014-09 GitLab 1 Add predictable merge requests on dev seed.
2014-09 GitLab 1 Prevent email sending on admin dev seed.
2014-09 GitLab 1 Only show text wrap and diff notes for text in merge requests.
2014-09 GitLab 1 Add web UI file CRUD tests.
2014-09 GitLab 1 Remove type submit from button_tag since default.
2014-09 GitLab 1 Replace empty? nil? with blank?.
2014-09 GitLab 0 Typo indiciated -> indicated.
2014-09 GitLab 1 Remove unnecessary page. from tests.
2014-09 GitLab 1 Remove ununsed CONTRIBUTING link on edit MR form.
2014-09 GitLab 1 Add g++ dependency to ubuntu install.
2014-09 GitLab 0 Hound prefer single quotes.
2014-09 libgit2 0 Remove unused buf variable from path/core test.
2014-09 GitLab 1 Only clone GitLab Shell on tests if necessary.
2014-09 GitLab 1 Factor fork button view.
2014-09 GitLab 1 evaluate -> execute_script when return not needed.
2014-09 GitLab 1 evaluate_script history -> go_back and go_forward.
2014-09 GitLab 1 Factor current_url + URI.path into current_path.
2014-09 GitLab 1 Replace javascript:; links with buttons.
2014-09 GitLab 1 Factor .add-diff-note active state.
2014-09 GitLab 1 Fix link_to_reply_diff.
2014-09 GitLab 1 Factor issue and MR edit form error list.
2014-09 GitLab 1 Factor error and success methods from services.
2014-09 GitLab 1 Set textarea resize:vertical by default.
2014-09 GitLab 1 Factor out commit list from compare and new MR.
2014-09 GitLab 1 Prefix Spinach features with Spinach::Features::.
2014-09 GitLab 0 Typo it -> its.
2014-09 GitLab 1 Factor zen mode.
2014-09 GitLab 0 Ignore tags file.
2014-09 GitLab 1 Improve zen mode internals.
2014-09 GitLab 0 CONTRIBUTING typos.
2014-09 Marked 1 Add browser usage to README
2014-09 GitLab 0 Typo herlper -> helper.
2014-09 libgit2 1 Factor 40 and 41 constants from source.
2014-09 libgit2 1 Replace void casts with GIT_UNUSED.
2014-09 libgit2/rugged 0 Typo "di ff" -> diff.
2014-09 libgit2/rugged 0 Remove trailing whitespace.
2014-09 libgit2/rugged 0 Gitignore rdoc/.
2014-09 libgit2/rugged 0 Factor File.join in test sandbox_init.
2014-09 Ruby on Rails 1 Explain ERB space removal.
2014-09 GitLab 0 Update README to match Md style in CONTRIBUTING.
2014-09 GitLab 0 Typo localy -> locally
2014-09 vader.vim 1 Add run-tests script.
2014-09 vader.vim 2 Add SyntaxAt and SyntaxOf helpers.
2014-09 libgit2/rugged 0 Remove trailing whitespace.
2014-09 libgit2/rugged 0 Gitignore rdoc/.
2014-09 libgit2/rugged 0 Factor File.join in test sandbox_init.
2014-09 Pro Git book 1 Mention packed-refs.
2014-09 GitLab 1 Add link to fixed SHA version on blob.
2014-09 GitLab 1 Factor new issue and edit MR forms.
2014-09 GitLab 1 Fix missing to on reassign Merge Request text email to unassigned.
2014-09 GitLab 1 Fix missing to on reassign Merge Request email to unassigned.
2014-09 karlcow/markdown-testsuite 1 Run multimarkdown in compatibility mode.
2014-09 karlcow/markdown-testsuite 1 Link to stmd.
2014-09 GitLab 1 Add users with deterministic username and password to development seed.
2014-09 Ruby on Rails 0 Shorten ActionView::Base doc summary line.
2014-09 Ruby on Rails 1 Clarify Rails uses erubis not stdlin ERB.
2014-08 honza/vim-snippets 1 Rename node p to pipe
2014-08 GitLab 0 Typo.
2014-08 honza/vim-snippets 1 README improvements: md style, typos, fix links.
2014-08 honza/vim-snippets 1 Add tex hyperlink snippets.
2014-08 GitLab 1 Remove HAML eval for const strings.
2014-08 softcover 1 Ignore template top level tex file.
2014-08 softcover 1 Fix failing PDF fontsize verbatim test.
2014-08 honza/vim-snippets 1 Add tex listings snippets.
2014-08 GitLab 0 Fix Md style for API docs.
2014-08 GitLab 0 Fix Md style for projects API doc.
2014-08 GitLab 1 Restrict commit area resize to vertical.
2014-08 GitLab 0 Update README Markdown style to match CONTRIBUTING
2014-07 Pro Git book 1 Set dummy merge driver merge ours .gitattributes.
2014-07 GitLab 2 Add project stars.
2014-07 GitLab 1 Increase diff byte highlight contrast.
2014-07 GitLab 0 Clarify squash comes after review.
2014-07 GitLab 0 Enforce Markdown style.
2014-07 Octokat.js 1 Gitignore fixtures and dist/commonjs.
2014-07 GitLab 1 Fix username validation message to match regexp.
2014-06 GitLab 1 Add trailing newline to all text files.
2014-06 GitLab 0 Typo.
2014-06 markdownlint/markdownlint 0 Typo.
2014-06 Ruby on Rails 0 Typo.
2014-06 GitLab 1 Replace HTML5 obsolete center element with CSS.
2014-06 developer.github.com 1 Explain :user is username not ID.
2014-06 Prose 0 Correct CONTRIBUTING typos.
2014-06 Octokat.js 1 Fix repo to repos in README examples.
2014-06 Octokat.js 1 Fix typos and style on README.
2014-06 octokit.js 0 Remove trailing whitespace.
2014-06 octokit.js 1 Add grunt watch.
2014-06 Octokat.js 0 Remove unneeded semicolon.
2014-06 Octokat.js 1 Add grunt watch.
2014-06 karlcow/markdown-testsuite 2 Add Vagrantfile.
2014-06 karlcow/markdown-testsuite 1 Remove hoedown options.
2014-06 honza/vim-snippets 1 Add HTML ac Anchor from Clipboard.
2014-06 RVM 0 Correct some doc typos.
2014-06 GitLab 1 Clarify that bbastov is the style of Hound CI.
2014-06 GitLab 2 Update docs to match new markdown style guide.
2014-05 karlcow/markdown-testsuite 1 Add blackfriday, lunamark, maruku and rdiscount.
2014-05 karlcow/markdown-testsuite 1 Add autolink-no-bracket extension test.
2014-05 karlcow/markdown-testsuite 0 Add showdown engine.
2014-05 karlcow/markdown-testsuite 1 Title attribute is significant at normalization.
2014-05 karlcow/markdown-testsuite 1 Add design goals.
2014-05 karlcow/markdown-testsuite 0 Add Python Markdown 2 engine.
2014-05 karlcow/markdown-testsuite 0 Add peg-markdown engine.
2014-05 GitLab 1 Commit message textareas have 72 char mark line.
2014-05 karlcow/markdown-testsuite 1 Add autolink-no-bracket extension test.
2014-05 karlcow/markdown-testsuite 1 Add link-idref-implicit-no-bracket test.
2014-05 karlcow/markdown-testsuite 1 Minor fixes to addition of hoedown.
2014-05 karlcow/markdown-testsuite 1 Remove no-auto-id argument for kramdown.
2014-05 karlcow/markdown-testsuite 1 Add markdown_pl Markdown.pl engine.
2014-04 GitLab 0 Remove redundant signin link from signin page.
2014-04 GitLab 1 Add help link to header.
2014-04 karlcow/markdown-testsuite 1 Improve output normalization with custom parser.
2014-04 karlcow/markdown-testsuite 1 Add ordered-list-inner-par-list test.
2014-04 GitLab CI 1 Add application.yml.example.development.
2014-04 Boost Graph 1 Explicitly use vertex type on quick tour example.
2014-04 karlcow/markdown-testsuite 1 Add list-code-1-space test.
2014-04 karlcow/markdown-testsuite 1 Add md2html engine.
2014-04 karlcow/markdown-testsuite 1 Remove email tests because output is random.
2014-04 karlcow/markdown-testsuite 2 Run only tests that contain string in title.
2014-04 karlcow/markdown-testsuite 1 Add marked engine.
2014-04 GitLab 1 Add markdown styleguide.
2014-04 GitLab 1 Include SASS in subdirectories with glob.
2014-04 tig 1 Add refs bind ! to delete branch.
2014-04 GitLab 1 Rename issue form tags to match MR and params.
2014-04 GitLab 1 Say issues are accepted at both GitLab and GitHub.
2014-03 karlcow/markdown-testsuite 1 Document config_local.py on README.
2014-03 karlcow/markdown-testsuite 1 Factor out engines that are commands on PATH.
2014-03 karlcow/markdown-testsuite 1 Add sample run-tests.py output to README.
2014-03 karlcow/markdown-testsuite 1 Check if are no engines enabled to avoid exception.
2014-03 plasticboy/vim-markdown 1 Add Toc commands.
2014-03 karlcow/markdown-testsuite 0 One disable per line commented out on conf.
2014-03 karlcow/markdown-testsuite 0 Add multimarkdown support.
2014-03 karlcow/markdown-testsuite 0 Typo conten -> content.
2014-03 karlcow/markdown-testsuite 2 Automated tests.
2014-03 GitLab CI 0 Remove config/puma.rb from gitignore.
2014-03 GitLab CI 0 Ignore config/unicorn.rb.
2014-03 GitLab CI 0 Tell users to install bundle locally without sudo.
2014-03 GitLab CI 0 Document where to find the registration token.
2014-03 karlcow/markdown-testsuite 0 Remove space from simple list, specify asterisk.
2014-03 karlcow/markdown-testsuite 1 Add script to cat all input files.
2014-03 karlcow/markdown-testsuite 0 Remove newline from empty files.
2014-03 GitLab 1 Start development Key seed id from 1.
2014-03 GitLab 1 Show link to public projects for new users.
2014-03 GitLab cookbook 1 Correct bindfs metal dev init script.
2014-03 GitLab CI 0 Organize gitignore.
2014-03 GitLab cookbook 1 Correct metal install home share technique.
2014-03 GitLab cookbook 0 Uniform markdown headers
2014-03 GitLab cookbook 0 Typo ommited -> omitted.
2014-03 GitLab 0 Documentation Typos
2014-02 plasticboy/vim-markdown 1 Add contributing guidelines and started tests as required by them.
2014-02 plasticboy/vim-markdown 0 Add Vundle install to README, updated pathogen URL to GitHub.
2014-02 plasticboy/vim-markdown 0 Create credits section, remove link to old homepage.
2014-02 GitLab 1 Remove dir prefix from filename of tests under dir.
2014-02 karlcow/markdown-testsuite 0 Make title more readable.
2014-02 karlcow/markdown-testsuite 0 Make readme intro more direct.
2014-02 karlcow/markdown-testsuite 1 Add extensions.
2014-02 GitLab 2 Blob and tree markdown links to anchors work.
2014-02 git-browse-remote 0 Add install instructions.
2014-02 Overleaf 1 Remove latexmk install instructions from README.
2014-02 Overleaf 1 Remove dollars from readme bash code.
2014-02 Overleaf 1 Add dummy version to package.json to fix install.
2014-02 Overleaf 1 Add .nvmrc
2014-02 GitLab 2 User can leave group from group page.
2014-02 GitLab 2 Add anchors to markdown rendered headers.
2014-02 GitLab 2 User profile pages are publicly visible.
2014-01 GitLab cookbook 1 Development install documentation correction.
2014-01 GitLab cookbook 2 Create metal development install documentation.
2014-01 GitLab cookbook 0 Improve docs.
2014-01 GitLab cookbook 1 Add option to control the SSH port used.
2013-12 GitLab cookbook 1 Improve production install docs.
2013-11 plasticboy/vim-markdown 1 Header navigation mappings work for Setext headers.
2013-10 okular 1 Add shortcut to Change Colors on a page.
2013-09 plasticboy/vim-markdown 2 Add mappings to navigate across headers.
2013-02 SciPy 1 Improve documentation.
2013-01 Django Userena 1 Add new configuration option.
2012-11 DataTables 1 Improved a doc example.
Patches which were merged by Ciro himself on repositories which eh feels have large public visibility, e.g. those to which he has been given push permission.
Repositories to which Ciro gained push permission because of his contributions:
  • I opened and was confirmed or generated considerable interest
  • I wrote comments pointing out a non obvious cause/fix/duplicate.
  • I reviewed the patch
This shall not list bugs solved by my accepted pull requests.
Disclaimer: closed source vendors tend to be highly secretive, solving small issues without any reply, so I use my best judgement given the lack of feedback.
Date Project Type Description
2019-07 zenodo.org/ Security bug Cross-Site Scripting vulnerability. Also mentioned at: invenio-software.org/blog/security-advisor-20190715/
2015-09 GitHub Support Add ability to fork and edit files from external URL
2015-05 GitHub Bug 500 when listing GCC mirror branches
2015-04 Free Software Foundation Bug Duplicated paragraph at Octave at description of high priority projects
2015-03 GitHub Bug @about and @pricing generate at mentions even though they are reserved
2015-03 Jenkov tutorials Typo typo boolean -> long
2015-03 GitHub Bug 502 on homepage on long streak
2015-02 GitHub Bug If a CONTRIBUTING.md that is a symlink is present, the link to it should not show on new issue forms
2015-02 GitHub Feature Allow to reopen pull requests after a force push
2015-02 GitHub Bug If a CONTRIBUTING.md that is a symlink is present, the link to it should not show on new issue forms
2014-12 My Science Work Typo Typos on settings page
2014-12 GitHub Bug Merge pull request window appears after rebase even if I don't have permission
2014-12 GitHub Feature Repository Traffic Analytics API
2014-12 GitHub Support Pin issues or add header text to issues page
2014-12 GitHub Bug Tree show links blobs to the last commit that contained the blob instead of commit that introduced the file
2014-12 GitHub Duplicate Deal properly with uppercase .GIT file basenames on web editor like for lowercase .git
2014-12 GitHub Duplicate Add a "I have this issue too" button
2014-11 GitBook Bug 500 on /edit without access
2014-11 GitHub Feature View non-rendered markdown source with line numbers on blob show
2014-11 GitHub Bug 500 on branch index for long branch name pushed together with other branch
2014-11 GitHub Bug GFM ordered list with inner unordered paragraph list generates two ordered lists
2014-11 GitHub Bug Glitches for filenames that contain only spaces
2014-11 GitHub Bug 500 on raw and 414 on blob show of long file name with 1024 characters
2014-11 GitHub Feature Highlight bytes / words in diffs on adjacent multi-line modifications
2014-11 GitHub Duplicate Allow following of groups similar to following users
Date Project Size Description
2019-04 gnuplot Why does plotting with point labels make plot generation extremely slow?
2019-04 GDB Dashboard Limit the size of shown arguments in the Stack display
2018-03 QEMU 2 Test record and replay feature. Also here
2018-02 pandoc Add option to produce AsciiDoc output without explicit heading ids
2017-10 Android GLES3 content gles3jni from ndk examples fails with "java.lang.RuntimeException: createContext failed: EGL_BAD_CONFIG"
2017-09 Mozilla rr How to automatically start replay and go directly to main instead of _start?
2017-09 Mozilla rr Reverse step over time(NULL) enters rr/src/preload/syscall_hook.S and leads to "Cannot find bounds of current function"
2017-08 xsel Why maximum 4000 characters output with xsel -b ?
2017-06 Buildroot Don't print mutiline struct function arguments on stack when set pretty print on
2017-04 GDB Dashboard Add style option to print stack arguments on a single line
2017-05 Buildroot Build fails with "unexpected EOF while looking for matching "'" if PATH contains a newline
2017-04 GDB Dashboard Add style option to print stack arguments on a single line
2017-03 clBLAS .s[0] + CL_DEVICE_TYPE_ALL
2017-01 game-icons.net Use multiple separate paths, allow customizing the color of each component, and give a default color
2017-01 game-icons.net delapouite/originals/svg/brick-wall.svg has some whitespace on top
2017-01 OpenAI Gym examples/agents/keyboard_agent.py fails with "AttributeError: 'TimeLimit' object has no attribute 'viewer'"
2016-12 Simple DirectMedia Layer Add C variable printf debug snippets
2015-03 tig Accepted feature.
2014-11 GitLab Duplicate
2014-11 GitLab Bug.
2014-11 GitLab Support.
2014-11 Bootstrap Hover Dropdown Bug confirmed.
2014-11 GitLab Bug confirmed.
2014-11 GitLab Triaging.
2014-11 GitLab Problem with the display icons in the left block
2014-11 sass Bug confirmed.
2014-10 GitLab Point duplicate.
2014-10 GitLab Bug confirmed.
2014-10 GitLab Bug confirmed.
2014-10 Semaphore CI Bug confirmed.
2014-10 libgit2 Bug confirmed.
2014-10 GitLab Support.
2014-10 GitLab Point duplicate.
2014-09 vader.vim Accepted feature.
2014-09 GitLab Point already fixed.
2014-09 vader.vim Accepted feature.
2014-09 GitLab Bug confirmed.
2014-09 GitLab Bug confirmed.
2014-09 GitLab Point duplicate.
2014-09 GitLab Point already fixed.
2014-08 markdownlint/markdownlint Accepted feature.
2014-08 softcover Accepted feature.
2014-08 markdownlint/markdownlint Accepted feature.
2014-07 GitLab Bug confirmed.
2014-07 GitLab Accepted feature.
2014-07 GitLab Accepted feature.
2014-06 GitLab Accepted feature.
2014-06 GitLab Point duplicate.
2014-06 karlcow/markdown-testsuite Bug confirmed.
2014-06 plasticboy/vim-markdown Close issue.
2014-06 plasticboy/vim-markdown Review patch.
2014-06 plasticboy/vim-markdown Review and patch patch.
2014-05 softcover Accepted feature.
2014-04 karlcow/markdown-testsuite Close issue with better issues.
2014-03 tig Accepted feature.
2014-03 GitLab Accepted feature.
2014-03 softcover Accepted feature.
2014-03 GitLab Add useful information.
2014-03 GitLab Point duplicate.
2014-03 GitLab Point duplicate.
2014-03 GitLab Accepted feature.
2014-02 GitLab Point duplicate.
2014-02 GitLab Accepted feature.
2014-02 Overleaf Feature generated considerable interest.
2014-02 GitLab Point already fixed.
2014-02 GitLab Link feature request to patch.
2013-10 yakuake Bug confirmed.
2013-10 okular Bug confirmed.
2013-06 krusader Bug confirmed.
2013-05 NumPy Bug confirmed + inner cause.
2012-05 krusader Accepted feature.
2012-05 krusader Bug confirmed.
2012-05 AutoKey Bug confirmed.
The following contributions where not immediately verified by others, but they were not reverted either and I think they are good.
Date Project Type Description
2014-12 plasticboy/vim-markdown Review patch Add tilde-fenced code blocks
Date Project Size Description
2016-05 All GitHub Commit Emails 1 Password disclosure grep password on email data. Gmail password worked and user confirmed.

Discussion (0)

Sign up or sign in create discussions.

There are no discussions about this article yet.