I'm really not interested to know who's in the "right" or in the "wrong". I want to know, what's the motivation for opensource if not "reuse my code please"
1,956 karma · joined October 7, 2011
The opinions I express here represent my own and not those of my employer.
I'm really not interested to know who's in the "right" or in the "wrong". I want to know, what's the motivation for opensource if not "reuse my code please"
I don't mean to make generalities about "open source", but a serious chunk of the community genuinely don't care.
With this out of the way, what's so special about lisp? Where did it get this reputation for mind-expansion? Part of it is historical. 20-30 years ago, the industry was focused around _stricter_ (for lack of a better term) languages like C++ or Java, and lisp presented some features that were super powerful, like REPL, interactive debuggers, higher order functions, lexical scoping, lambdas, etc. Lots of mainstream languages have since adopted these features (python, perl, ruby, javascript, ...), making lisp a bit less exotic than it used to be.
Still, today, there're some things that are unique to lisp that might be worth studying. The most important thing is macros. Macros are only possible because of the (lack of) syntax of lisp. It's a programming technique that consists of _programming your compiler_, for lack of a better term. It allows you to define a language specific to the domain you're working on. Pretty unique technique, and like all the other techniques, sometimes smart, sometimes useless, sometimes abused. I still believe it's worth learning, because understanding how macros work will explain a lot of things about the other tools you're using as a programmer.
I hope this makes things a bit clearer.
TLDR: A lot of what made lisp special is now available in other languages. Learning lisp is still worth it to expose you to _macros_. Regardless of how well you know lisp, going through SICP will be massively beneficial.
Seriously, I wonder if adding those cookie banner impacted tracking in any significant manner, because it definitely significantly impacted the usability of the web.
As someone who discovered Unix in the early 00s, this makes me chuckle. What a world!
Tests can sometimes be very repetitive and identical, and it's tempting to want to refactor it in some clever way. That's almost never good.
On top of the reasons laid out in parent comment, tests also function as unofficial documentation. I like having everything explicit in there, it makes them easier to read and understand.
It's a very famous computer science paper, pretty easy to read. Nothing niche or controversial. I'm sure you'll find it interesting.
So far, Red Hat plays in a field slightly different than AWS/GCP/Azure. Our customers mainly want something _on premise_, something on their machines, their datacenter, behind their firewall. Most of our customers don't want to, or can't, hold their data on machines they don't physically own.
Seriously, it's in the man page.
Any evidence to back up your guess, or is it just the hunch of some dude on the internet?
I'm assuming that you're implying that's what IBM wants?
If you care about integration with other text-based tools (like email, instant messaging, source control, code review, IRC, ...) then switching to emacs will transform your workflow.
There are a couple of emacs modes that stand out, and in my opinion make emacs worth it:
* Org-mode (https://orgmode.org): A note taking system * Magit (https://magit.vc/) the best git client I've ever used.
Still, I find no harm in asking "what is it about this species that makes them stand out?" I was expecting to get factual answers along the lines of "these butterflies are tied to this specific other species and we know that this could snowball into X, Y, Z". I would've liked to hear something like this instead of the other patronizing answers and the accusative tone.
> Asking questions is fine! It's great. It's how we learn. But cavalier comments like the OP are downvoted not because they are asking serious questions, but for stinking of militant ignorance.
I'm getting downvoted just like OP. Am I being cavalier too?
I'm more concerned about our inability to have a discussion without assigning nefarious implicit meaning to questions. I realize that denying human impact on the environment is a reality in US politics. I'm not from the US. I don't understand much of these things.
If you don't mind me asking, what exactly in OP's question made it stink of militant ignorance? Am I displaying the same ignorance as well? Or am I only expected to perpetuate the outrage and never question anything.
For instance can I ask where this comes from "The extinction rate today is 100 to 1000 times higher than geological norms." or will it sound like I'm denying all human impact on the planet?
Not breaking user space is fundamental to the success of most operating systems today. I read this article I cannot seem to find about Microsoft employees spending months replicating "wrong" behavior in <oldwindows.. win95?> so that applications still ran on <newerwindows... win98? win2000?>. Users don't want to see their applications crashing.
I wish I could find this article again, it's very relevant to your comment.
You don't want your machine to start crashing after installing the latest kernel. Or at least, that's the golden rule of Linux development.
If phones start crashing after installing the latest Android update, people won't see this as a security/stability improvement. They'll simply see the new version as buggy and of poor quality.
Raymond Chen talked[1] about the importance of supporting that ran on Win95 but broke on WinXP, even if they weren't complying to Microsoft specs.
I also remember reading that web browsers had to go to great length to render completely non-compliant web pages.
In your experience, when should you decide to support "non-complying" behavior?
[1]: Unfortunately I cannot find the original article by Chen but I could find extensive mentions of it in [this article by Joel Spolsky](http://www.joelonsoftware.com/articles/APIWar.html)
The things I dislike about Monopoly:
* Not too much strategy involved. The player who wins is usually the one who buys a lot of lands early.
* It's long. Even the shortest games last over 90 minutes. However the winner is decided much earlier in the game. There's very little you can do to prevent an early leader from taking the game, and you have to sit there watching them bully you slowly for several hours.
* The theme sucks. "Buy land, make more money". I don't find that particularly fun.
* The good elements of monopoly are often found in other games that don't share the same bad elements (I'm thinking of Settlers, but there are others too).
Not even for libertarians.
* Writing (doc, blog posts, ...)
* Evangelization (answer questions on IRC/Mailing-lists, help your entourage to start using it, go on live conferences, give talks, ...)
* Testing. Test everything in each new release and give the authors a good bug report when needed. Test the tool on multiple OSs, using multiple versions of a lib, test the different drivers, different dbs, etc. Test the installation procedure and the user features.
* Triaging issues in a bug tracker. What's really a bug, what isn't? What's a major blocker for users? What's a luxury nice-to-have feature? What's too old and not relevant anymore?
You can start doing all this, without actually needing any permission or access to anything. I'd suggest you just let the active members of the community know you exist (they usually hang out on an IRC chan or something like that). That's not even required, if you're shy don't say anything and start working.
As you get more and more active, you're going to be naturally contacted by someone active in the project and from here, you'll usually be given more "official" responsibilities.