I agree, especially with the statement that Unix isn’t good enough and getting worse.
I feel like that was one of the core assumptions and point of the article, but it didn’t have any explanation beyond “multiple programming languages.” Feels a bit flat to me.
I was just getting at the illusion of choice. At the end of the day it's all owned by the same handful of small groups. Found out yesterday that Blizzard apparently owns King. Tencent owns a cut of Activision Blizzard, as well as a slice of basically every gaming company. https://dataromas.com/what-companies-does-tencent-own/
Note that I'm not even criticizing or otherwise knocking these business practices, I'm simply making some observations. My use of the term bullshit was particularly to describe the illusion of choice. Not that it's anything new. http://www.visualcapitalist.com/wp-content/uploads/2016/07/c...
I think the world would be just fine without fortnite, but I will say unreal engine is pretty nice to have. Probably just a matter of time until Microsoft owns unreal engine as well.
They still rely extremely heavily on Nvidias ability to create more and more powerful hardware. I recently found out that like 70% of the world's supercomputers are powered by nvidia GPU compute. People often talk about the tech power of different countries (personally I've heard a ton of people talk about China in this way), but at the end of the day they are still reliant on the hardware manufacturers. Who am I to say that China or X country doesn't secretly have something that far outclasses nvidia hardware, though?
Between gaming (the biggest form of media), supercomputers, science computation, crypto nonsense, etc. It's really looking to me like nvidia is actually one of the biggest power players across the globe. Makes me really wonder about the tech they aren't flashing to the public. I was personally astounded when I saw their announcement to purchase ARM. I've seen a few instances of people saying the dead acquisition is stifling innovation. Honestly I'm kind of happy it didn't go through. Probably just a lack of vision on my part, though.
Also, look into QMK. For anyone who wants a more ergonomic keybind setup, check out some mnemonic namespacing stuff.
Spacevim, Spacemacs, VSpaceCode (for vs code), etc. You can always take the approach and apply it to your existing config. The three important bits are:
1. Give your thumbs more resposibility
2. Namespace actions under an ergonomic leader key, using mnemonics
3. Use a discoverability plugin like which-key to help discover new keybinds
Yes, but only a part. It’s not just about having something akin to actors for concurrency and execution. It’s also about having a dynamic system - one that can update its behavior not just by manual request, but automatically as the system is running.
One way to think about this is propagators. I’m still learning myself, but a compelling example is lisp. With lisp you can write macros that essentially allow you to treat your code as a tree and arbitrarily modify that tree (aka arbitrarily write code). You can then compile that code while the system is running and execute it. It’s not just about macro expansion at startup or a single compile time step at the beginning of execution. The system can be designed with this in mind.
It’s also about introspection, the ability to ask questions about the system at runtime as it evolves.
Sussman and Kay both talk a lot about DNA and biology, and the ability for systems to dynamically expand, change, and repair themselves.
When I think about this kind of stuff nowadays I picture something like lisp with an execution environment like the BEAM (so basically LFE) and an introspection system powered by a declarative constraint solving query language (something like Datalog-style RDF found in things like datalevin and it’s predecessors). I think that lends itself really well to these kinds of systems, including another point that Kay talks about pretty frequently. The ability for two systems (and in our cases two actors in one environment count) to negotiate with each other via some shared fundamental language to understand each other’s purpose. SOP style approaches seem like a compelling way to do that, but the main problem to me is identifying entities as globally unique as part of that negotiation process.
I’ve helped a lot of people with different types of issues related to software throughout my career without presuming to charge them for my time.
Coding is all about problem solving, which is typically the easy part of anything meaningful. Finding the right problems to solve is much harder.
I think the type of people that would be good mentors to me are beyond the point of needing any amount of money that would be reasonable to charge for their time. I think most people capable of meaningful mentorship, including myself, will likely be doing so for reasons other than financial gain.
That said I think getting coaching for various skills is totally valid, including coding. What I need, personally, is more about cultivating a healthy mindset about technology, strategy, and leadership. There are probably few people in the world that have something meaningful to say about those things.
I’ve been reflecting on this a bit lately. I’d really like to find a personal mentor in the world of Software Engineering and tech leadership.
I think we tend to let mentoring happen naturally in that space. Devs naturally learn from more experienced folks as they work. Sadly I’ve spent a huge chunk of my time working solo over the last 5 years. I’ve recently joined a FANG company and I’m excited about the prospect of finding a mentor there. The networking aspect alone is pretty killer. In general it’s nice to be somewhere that my peers push me on a daily basis. This reminds me that I need to be more proactive about finding a mentor.