So this page doesn't contain much CSS, and doesn't contain JS.
Why would I do that ? Is it to show a total lack of inspiration in the design of my personal website ? Or maybe it's because I actually want to prove that really, deep down in my heart I'm just a backend developer ?
Or maybe I want to show you something else about me. Something that doesn't require JS or a bunch of CSS files. Maybe I just want to show you who I truly am, what I believe in, the stuff I've made without bragging too much about it.
OK. There is some CSS in there, I'm even using the Roboto font. After all I still like to do pretty things.
I believe in the open-source world. I believe in the community. I believe that someday the stuff I made when I was 23 will be somewhat useful to a little guy trying to learn things in the future. Why not after all ?
It's all about helping people. Or let's put it another way, it's all about hoping that one day someone will find what I created useful. Not just the service or whatever the project is, but also the codebase. Getting inspired, learning new things.
Having your code open-source isn't everything. I think about the community first, I think that maybe someone will want to host the same service as I am right now. I put a lot of efforts to do things people can install easily. Actually that's even a huge part of my development time, making the whole application configurable.
I mean alright, if someone wants the same thing as you, why don't they just take the code, modify it to fit their needs ? Problem is, that's not the way I think. I think about sharing first.
“I can't publish my code on Github it's not finished yet, people will think I'm a bad developer”
Two points here :
I made really shitty code when I started to code. It's all on Github. All of it. Any small project I make is on Github from day one. Because I actually don't care what people think of my code. In the end I'm proud of the things I do. In the end I don't care what my first commit looked like.
It just proves you can progress, work your ass off to make something nice. Someday I'm going to look back at the first code I ever published on Github and laugh. Not just about how bad I was at this, but also it will make me realise how much I have progressed.
Seriously, Github (or any other code versionning platform) isn't going to put you under a spotlight and tell everyone “Hey look, this guy made his first commit, let's all laugh at him/her !”. There are thousands of users on github, new users everyday, repositories are created every second. So yeah it has a really little importance that your first commit, your first repository isn't a finished project. My first project on Github isn't even finished, and I think only one or two really are and are production ready. I don't care.
Because like I said, what's important here isn't about the impression you give others, it's the way you can help them, inspire them, show them, teach them. If I were a recruiter and I was presented two persons, with the exact same skill set, one with a Github with loads of unfinished projects, and the other without a Github, I'd automatically choose the one with the Github account.
It's not just a way to do things, versionning your code is a very good practice, it's also a way to think. Thinking about community, thinking that sharing your knowledge is something really important.
One thing people ask often is something like “How can I prevent people to use my project to make money ?”. Spoiler alert : I don't know. And I don't care.
The licenses I use the most are the MIT License, and the WTFPL. The second one is the most interesting, it litteraly have a single statement : “You just DO WHAT THE FUCK YOU WANT TO.”.
That's the way things work. Some people will definitely make some money with your sources, at one point. Either they'll just copy part of your code, or import a lib you made… It's up to you to choose a license you like. Some licenses force users to do open-source if they use your lib/soft. Personally I don't care. If my work can help other people, then fine.
What I'm about to say will piss some people off : I don't really care about licenses on my own projects. I don't want to force people to adopt my point of view about the open-source, I don't want them to feel bad about using a snippet they found in my repo. Sure, if it wasn't for licenses, maybe the open-source world wouldn't even exist.
I just want to make something clear : I don't do open-source for ANY other reason than to share with the world. I don't want to force my view of the world to people, I don't want to be recognised, I just do it for the pure pleasure to share. Simply that.
I'm a Linux user, I administrate Linux servers. I honestly don't see how people can even develop on Windows. As I have no experience with Mac, I won't speak about it here.
Like everything else described in this document it's all about my personal point of view. I'm sure there are very good devs working on Windows environments. What I'm also sure is that a very good dev working on a Windows environment would be an excellent dev on a Linux one.
Linux is all about automation, tweaking things to fit your exact needs. I'm using Gnome Shell as a desktop environment, I like pretty things. I don't care if it's heavier than an i3 environment, it suits my needs and I get shit done on it. And I honnestly think the lack of love for eye-candy things in the Linux community is what makes it so “nerd”.
I'm running Archlinux. It's been four years that Arch is on my machine, I never reinstalled it, not even once. There is always a solution, a good solution, to any one of your problem. It forces you to learn things and to understand how things work under the hood.
I'm a troll. Sometimes I'll just randomly bash a language, an idea or whatever, just for the pleasure to make people react. I hate PHP and I didn't even write a single line of it. It's goddamn 2016 seriously, it's time to think of the web as something more than just a PHP script running in an heavy ass Apache.
I laughed so hard when PHP7 was announced, and people started to tell things like “A 16ms response time for a template rendering ! That's blazing fast !”. No it's not. Same thing in Go takes less than a millisecond. We're talking about microseconds here. I mean do you even know how long it took to render this page ? 50.45µs. While PHP7 rendered a single page, I could render 320 pages. Time to move on.
So yeah, with PHP you can deploy with a FTP server. Do you think that's secure ? Do you think that's how you're supposed to handle your services in 2016 ?
Then some people are going to troll me on that. Telling me I should do C if I cared about performances. I do care about performances, but I also care about several other things. Security, development time, stability. I'm not a C kung-fu master, I don't enjoy writing C as much as I enjoy writing Go. So yeah there is a garbage collector in Go, it hurts performances, on the other hand I don't manage my memory manually. Compromises.
If you made it this far, you're now allowed to call me a Go fanboy.
Anyway I'm a troll and if you're easily offended then too bad, it won't change any soon. And just to clarify things a bit more, I'm not easily offended.