OK, the name-dropping and too frequent bolding of text makes for a bit of a grating style, but I enjoyed the enthusiasm of discovery that is at the core of the essay. Getting discovered on Github will seem just superficially cool to those who've been doing open-source development for awhile, but it's hard to comprehend how fun it is until you've "made" it. Kudos to the author.
Thank you, sir. As for the bolding, I use it because many people (including me) at first scan the text looking for important stuff and then decide if it's worth to read the whole article. I'll see what can be improved in that matter :).
Note: take the following with all the grains of salt you take when reading any pedantry...just soapboxy but not meant to be too tone-policing.
I personally prefer headings for the purpose of signaling the main topics of an essay...the main headline, of course, but then the "deck" (usually what would go into the webpage's meta description), and then subsections. The headings do double-duty -- emphasizing key points and visually separating sections -- without adding too much gratuitous weight.
Keep in mind that you can use physical priority to signal emphasis. The first few words of any paragraph are likely to be noticed by a skimmer, so adding extra weight to the type can be redundant. IMHO, this also applies to the closing words of a paragraph.
Also, in-paragraph hyperlinks also serve as a kind of emphasis (while providing useful outbound references). In your current style sheet, hyperlinks are underlined. Again, everyone sees things differently, but I personally notice hyperlinked text and mentally treat it as "kind of important", particularly for proper nouns and keywords (e.g. "New Relic" and "Nagios")
Here's a sample graf of yours with how you emphasized it:
> I’d say that the most difficult ones were the first few weeks. After that period I’ve known pretty much everything in terms of the project structure that I will be following. Once I’ve established my design patterns it literally became a no-brainer to create new __Watchers__ or __Integrations__. I’ve also made it quite easy to create your own extensions which is described __here__ and plug into the overall pipeline seamlessly. The key was to design the very simple interfaces and let the other part of the framework do the heavy lifting.
I don't think anything in that graf needs to be emphasized (the hyperlinks are fine). The first sentence speaks for itself. The last sentence, if you feel it's important enough, could be its own standalone graf.
Again, treat these as the curmudgeony suggestions of someone who still subscribes to a print newspaper. But I felt your otherwise great essay was unfairly maligned by commenters...but I could sympathize with them. Your words speak well enough on their own, no need to add the CSS equivalent of exclamation marks so frequently :)
I agree with danso. Your overuse of bold, especially for whole sentences, feels like shouting and not much better than ALL CAPS. Feels like being talked down to as if I can't decide for myself that a sentence says something really important.
> first scan the text looking for important stuff
That may work if you bold a few choice words or phrases, but not whole sentences. Every time I hit a bold sentence it breaks the pace of my scan.
Subheadings would work much better than those bold sentences.
By bolding so much, you've totally diluted the power of the bold!
Anyway, don't take an HN comment's word for it. Ask some writers you respect.
There's a reason these projects have been on that page practically forever. They are all highly specialized, require a lot of domain knowledge and a significant effort.
Some items are still relevant, but IMHO some big priorities are:
* OS packaging tools that provide sandboxing and dependency resolution, in a saner way than containers. Contributing to Guix or Nix would be ideal.
* A mobile OS that has at least a completely free userland. In the short term, only Android derivatives seem plausible. The Guardian Project + Copperhead OS + F-Droid alliance seems very interesting and worth contributing to: https://guardianproject.info/2016/03/28/copperhead-guardian-...
* Decent multi-device messaging, to replace WhatsApp et al. Something like Matrix or Ring, or Signal without Google Cloud Messaging.
I do understand him. He probably cares about none of these things, and for all
things he does care he probably saw a library or framework or something
similar. This gives him false impression that there's nothing more to do, or
at least it requires great cleverness to think something up.
I take my ideas from my job. I mostly think of myself as a sysadmin, but
I write in several languages, I'm interested in data processing (which leads
me to various places, like topic maps, indexing semi-structured data, or
event stream processing), and I see what we have to work with logs, with
monitoring, with infrastructure inventory, and with documentation. This gives
plenty of projects to improve my field, I just don't have the energy to carry
them all out.
I get asked by all my graduating friends how they can beef up their resume with github contributions. None of them know where to start. My advice is usually "Find a project you think is cool and write documentation, write test cases, and help people in the github issues."
A serious two word request from someone who's a huge fan of open source projects and uses a lot of them:
"Improve Descriptions"
A lot of tools have a similar generic description: e.g.: "This tool helps programmers do more." Please compare and contrast your tool with others with the same general idea. It'll help us decide whether to adopt it or not.
Indeed they are (ok I hope that you've realized I was partially joking about this). Anyway, getting attention is important to make your OS project more recognizable, so what's wrong with that? :)
I feel like there's 2 completely different paradigms to open source, or at least it felt that way for me. There's starting your own project and contributing to someone else's.
I initially started with my own projects, a few very minimalistic plugins or tools to scratch an itch. I put them on Github with no real advertising, save mentioning to the json resume folks that I was at least willing to help with LinkedIn importing since I was working rather extensively on converting my linkedin data to json resume. That project is pure garbage in terms of how brute force and un-developer-friendly it could be, but it still got a handful of stars in spite of that not really being the purpose anyway.
Fast forward to consuming open source plugins for work purposes and seeing projects almost there, needing a PR or two. In a couple of instances I'll fork a project and merge PRs manually because I see business value in circumventing waiting on the author. I may also need something they would otherwise reject. I feel like this is stage 2. I'm getting value for my own needs, I'm using the tools at my disposal not through direct PRs to my project but capturing the work of others.
It wasn't until I got to what feels like stage 3, getting my first PR merged into the core project I used. My very first PR was rejected and immediately feels like a loss but I was trying to tackle the problem using an admittedly 'hacky' way that while it solved the problem, smelled terrible. Getting that first accepted PR, even on the very low hanging fruit I've tackled up until now, is its own kind of high. Having done it on a few other projects spanning multiple languages and setups, I feel stronger as a developer whether or not that equates to actual quantifiable results. If I can clone your project and contribute one of two things is happening, either it's drop-dead simple (in most cases it certainly is) or I'm showing my competency for being able to do what the maintainer says I can do. That said I have contributed to some projects that were unintuitive and yet I was still able to solve the problem at hand. While frustrating as hell in comparison, even those projects have a tendency to teach me quite a bit.
It's because of stage 3 that I now actively try to evangelise my developer friends to make the same plunge, many of whom don't feel they have the time to contribute. I not only found that I have had the time, but it becomes a worthwhile pursuit and it shows my competency to others. Having said all of that I do feel I've gotten lucky. My first PR rejection was handled so amazingly well and when asking for clarity, I wasn't made to feel inferior. They clearly explained the problem, thanked me for spending the time on it at all (which is probably the most crucial thing), and proposed the more elegant solution of waiting for gulp 4. Getting something like "This is dumb. Why did you even submit this?" would've probably turned me off of contributing for another few years overall, much less to their project again. Even faced with that, I would still push myself to contribute because the benefit of even one accepted PR outweighs all the negatives.
That was an interesting read, thanks for posting this. I guess that the moral of the story is to keep trying and don't give up with contributing whether it's submitting PR, opening new issues or running your own project.
This is not going to be one of these catchy titles,
so “what kind of bs am I going to read here” has
little use in this place. Actually, this is 100%
true that contributing to the open source community
might greatly affect your life
How to say one thing and communicate the exact opposite.
Free software has changed my life for the better. A LOT of people have had very similar experiences.
We dream and worry about and hope and fight for and code for and watch and love the future history of humanity as it blossoms and twists and writhes into everyone's lives.
Software is eating the world. Free software developers are influencing that event (a little?).
Just seeing it and knowing it changed my life. It changed the eyes with which I see the world. So I thought I knew what your post was going to be about.
Considering it has an MIT licensed implementation for pretty much all platforms (including mobile), C# is in a better place than many languages if you want to stick to open source. The one for desktop (CoreCLR) is also first-party.