I remember using pip and venv back in like 2009. Last time I checked, maybe 5 or 10 years ago, the recommendation of the community was generally to just use Docker instead of all these tools. Did that not catch on?
After spending 50 months with Clojure, I can safely say it's my favorite server-side programming language (with Datomic as my favorite database), and the tooling (CIDER + Paredit + Emacs) is really downright amazing in terms of productivity.
> The whole world deserves to experience what it feels like to be in your present moment.
I'm glad the author found something that helped him through depression. Unfortunately this is not a silver bullet. It won't work for everyone, or even every time depression hits.
There are many different activities you can try to help battle depression, and they are definitely helpful, and creating things is one of them. But they'll all fail without a key ingredient: realizing that you have to just do whatever you have to do, simply because it's the right thing to do, regardless of your emotions, or how intense they are, or lack of them.
If you live by that philosophy, you'll find yourself doing all the right things, and for all the right reasons, and you may not ever get out of depression, but it won't be crippling anymore.
A major difficulty with carrying this out as a person in tech though is that we're inherently a little more existential and philosophical than others because of the nature of programming being very intertwined with philosophy, and we get paid more generally which means we usually have more time to think too. Combine these with modern philosophy, and you usually have programmers who see no real value in life other than to enjoy it and have a good time (which explains why we love alcohol and sugary drinks like Red Bull so much), and when that good feeling runs out, life feels pointless and empty for us, because we can't find any motivation.
That also explains why there's a steady stream of philosophical and motivational posts on HN's front page. Because usually that good feeling that programming gives you doesn't last forever, so we try to look for explanations, or we try to look for other motivators. It also explains why we keep coming back to exciting topics on here, like bitcoin and the newest programming languages or tutorials on Haskell monads (which nobody can ever understand even though we know we should, so the closer we think we get, the more excited we are).
I don't have numbers on how many programmers are turning to religion, but I wouldn't be surprised if it was growing too, because we're looking for some motivation to keep us moving forward after the excitement runs out (and it always does, and never lasts very long).
Writing a brand new Mac app for myself, using Objective-C instead of Swift. So far it's a breeze. Yes I used Swift for a while, and it sure feels all academic and all, but meh, ObjC gets the job done just fine for me.
My "aha" moment when trying to understand channels in Go was when I realized that everything about how this feature is designed comes from their answer to the question "how could we 'fix' select() in C?". In fact, pretty much every feature in Go is designed to fix some perceived flaw in C, and that's the entire philosophy behind Go. They aren't interested in language theory, or in innovating or solving problems outside of C. They were just trying to write C 2.0. Not that that's a problem, it's just, it threw me off. When it came out, I fully expected Go to be a new competitor to Java or even Python, not to C.
This makes a lot of sense in the context of programming languages, where counting usually starts "where you are", thus 0 moves forward.
But it doesn't really apply in the natural world, where 1 is a much better starting number for probably all contexts where you have to number or reference things in an order.
Maybe this clarification is redundant, I don't know. But when I read the headline, I assumed it was talking about everywhere, which is why I found it interesting and even clicked it in the first place.
Really enjoying seeing a lot of new projects based on Hammerspoon. And very glad for the people who created it, because maintaining the precursor was a daunting job and took too much of my time and gave me too much stress.
The media is entirely biased towards moral liberalism and I thought it was an "open secret" that only the most self-deluded didn't know about. Of course they're going to be biased towards Clinton, she's the morally liberal candidate. That's their job. If they don't go along with it, surely they get fired. They provide an avenue for confirmation bias, which is interesting because it's a self-fulfilling prophecy, considering most people are liberal because of the strong influence of the (biased) media on them.
This is actually why I prefer Emacs. I can literally do all my development work in Emacs, with a full-featured shell (e-shell), directory explorer (dir-ed), REPL and full IDE for Clojure (CIDER). It's pretty great.
Sometimes anger is justified. And sometimes it calls for a good venting. Sometimes it even calls for a little activism. And sometimes all of these are just futile, because richer people are in control of what you see and hear, who have interest in keeping their pockets full using the hard work of young impressionable kids who don't know the real value of their own time. It's sickening, and the anger is justified. The rant is probably going to be forgotten tomorrow though, and unfortunately won't save a single soul from the startup world.
He either completely misses the point, or completely gets it.
Every single one of these "benefits" are very well thought out and calculated shams meant to deceive and manipulate impressionable kids into working insane hours for less than a realistic living wage. That's the whole point.
It's just like that circus in the Pinocchio movie.
At some point I realized Unix is basically a long-running IDE + REPL, and thought that was just so cool. And then I realized how horribly inefficient it is at being that. So I started longing for the days when we had some kind of OS where it actually is a IDE + REPL, like an OS based on Lisp. And then I learned that that already was done and didn't turn out as cool as people had hoped. Oh well.
Some of the comments here are really missing the point.
antirez's original text editor was a full featured text editor -- meaning fully customizable (and fast!) syntax highlighting, and a very intuitive search feature -- written in pure C, with no dependencies, not even ncurses, and written in less than 1,000 lines of C code. And he wrote all this in a matter of hours.
This showed that fundamentally, a terminal-based text editor is trivial to build. Keep in mind, the text-editor market space is currently very sparse, with only a few real choices: Nano, Vim, Emacs, Notepad, TextMate, Sublime Text, and lately Atom, are the big players. antirez's work shows that, honestly, there's no real reason for the sparsity of choices. Writing a usable text editor is just not that hard.
And stevekemp's fork shows that it's still pretty trivial to add the kind of editor customization previously only thought possible in projects like Vim and Emacs. Think about it. Emacs came out in 1976! 40 years ago! But when people want an editor that's fully customizable, they go to that. Or to Vim, which, again, came out in 1991, 24 years ago! And trust me, setting up your environment so that it's actually usable, takes days to weeks.
Ironically, stevekemp and antirez's work, combined, shows that it actually takes less time to make an editor from scratch, than to customize Emacs or Vim to your liking! Granted, that's kind of a stretch, since most of us won't want to dive into implementing the concept of buffers.
More to the point than that, though, is that the top players in the terminal-based text editor slash IDE space, were written so many years ago, that the Internet was barely a thing at the time, that there wasn't yet a standardization on keyboards or terminals or even operating systems.
Things have changed. A LOT. It's time our terminal-based text editors caught up. But that doesn't inherently mean we have to start building everything on top of Electron. Terminals still work, and they're fast & efficient as hell.
Speaking of vim, just a reminder that @antirez made a terminal based text editor in pure C with no dependencies, not even ncurses, in under 1000 lines of code, complete with search feature, and customizable syntax highlighting for variable number of languages.
Lots of people have forked it and are actively making it their very own editor. Sure, none of them may ever take off and become a new emacs or vim competitor. Or maybe they will. Let's not discount innovation.
Plus it's amazing to me that to make a full fledged terminal editor, almost all you really need is the ability to read from stdin and write to stdout. Only a tiny little bit of glue C code is needed (for handling signals like SIGWINCH, or for setting or unsetting raw mode in the terminal), but almost the entire rest of it can be written in, say, Lua.