444 karma · joined October 7, 2016
I've been out of the loop for a long time now, but even from the title of the post I instantly thought "I guess something finally caught up to mittens."
I very much doubt he leaves the game/metagame in any meaningful way as even way back when I played it was speculated that a non insignificant amount of his lively hood was derived from his activities around the game/metagame.
Microsoft has a stranglehold not just on the language, but the runtime, build tools, and even the most popular frameworks to do anything useful. And they have shown multiple times how management decisions from various business units at Microsoft can be applied unilaterally to their ecosystem.
I'm also confused by the "non-trivial ecosystem" goal posts here.
- If I'm building a web service I can choose if I'm using a thread based sync approach or a reactive non blocking approach.
- Extremely opinionated and well thought out configuration management. Think of Viper from Go, or config with Pydantic from Python, just turned to 11.
- I can add support for many different data stores directly with the framework. Psql, Elasticsearch, Cassandra... the list goes on.
- Making critical sections of code, especially around data stores can usually be made transactional with a single annotation and managing the lifecycle of that transaction is similarly convenient.
- Robust caching solutions that are brain dead easy to add. I stress the robust adjective.
- Built in health metrics and ability to refresh configuration while running and rewire itself.
- Can speak OAuth2.0 out of the box.
- You can connect the logger with a little bit extra configuration to additionally spit logs out to something like Kafka with no extra code on your part.
This list alone doesn't seem super impressive but having built on things like Python+FastAPI, Node+Express/Hapi/Apollo, and Rust+Actix, while you can do all of these things, they are not generally just there, ready to use, and suitable for production.
My bread and butter used to be Spring-Boot w/ Lombok and I could take a service from inception to running in prod with fewer lines of code than I currently can with Python and FastAPI.
Extra Note: There will always come a time when developing with spring where you will shout to the high heavens about something the framework does a particular way or something you misunderstood. That is part of the pain of when the framework does so much for you.
I recently left a company where I led a team in building a high quality and very complex product but the job felt super easy.
Now at my new gig I'm managing a new team where the product is garbage and the team is very junior. Neither of these are the cause of my overwhelming workload as the ultimate product is very low complexity. It is instead the horrible alignment of various personalities that results in an inconceivable amount of meetings and daily shifting priorities.
Lombok, RxJava/Reactor where possible, and monads everywhere. It is beautiful and succinct, though I totally appreciate it may not always be easy to introduce on older frameworks or legacy projects.
I'm Serb, I've hired and worked with Croatians. I've had colleagues who were Lebanese and worked along side Israelis. I've had a Palestinian coworker report to a Jewish manager. I have seen an adjacent team's Japanese manager rely on their Chinese report as their right hand.
Maybe it's because I live and work in Canada where there is absolutely zero tolerance for this kind of garbage thinking.
Yes, Intel has floundered for a number of years, but at the same time they are a foundry themselves, second only to TSMC (for now), have incredible manufacturing capacity, and seem poised to start pushing interesting CPU designs as well as having their foundry half finally start executing correctly. Also their growth potential for their GPU business is huuuuuuge.
As someone who enjoys AMD for the competition they bring, I am worried what the next few years might look like for them for the following reasons:
1. AMD GPUs were actually very competitive with their RDNA2 architecture, but at the same time AMD enjoyed a huge silicon advantage as they were on TSMC while NVIDIA was on Samsung (for consumer). The next generation of NVIDIA consumer GPUs will be made by TSMC and if their professional GPUs (see A100 which are made by TSMC) are any indication we can see potentially up to 1.5x to 2x efficiency bump for NVIDIA.
2. Intel seems to be cleaning up shop and their latest generation of CPUs feel like a 1st Gen Ryzen moment. Also, Intel does not have to clearly surpass AMD, they just need to be competitive as they can simply out produce AMD given AMDs relatively small allocation at TSMC.
3. Intel GPUs pose a moderate threat on the horizon for AMD for both low end and portables and at the same time they are eating up available capacity at TSMC.
Interestingly almost all of the petabyte scale and beyond processing of genomes (whole or exome) is done on the JVM as the library and toolkit ecosystem is extremely mature and it is significantly more performant than just scripting things in Perl. Having access to the big data ecosystem that runs on the JVM is also another reason why languages like Java and Scala are found in the high performance areas of genomics.
That is a falsehood that a lot management at Bungie would love to keep perpetuating. A lot of the terrible and toxic management, the disrespecting of the community, and terrible game design decisions (especially around micro-transactions) all came from the senior management at Bungie.
It should go without saying Alphabet/Google are more deserving of anti-trust than either MS or Apple.
Also I just saw that they actually sell the individual parts should you need to replace something. This company seems like a real gem.
Usually the strongest opponents of these controls and regulations are the giant players or external interests that either want to be able to dump product to undercut and corner the market or eliminate the ability for any industry to collectively bargain for better deals when it comes to things like shipping infrastructure (take railways as an example).
And then there is Canada's proximity and cultural similarity to the United States, which while being it's greatest strength is probably its greatest weakness. The USA heavily subsidizes its primary industries that it is in Canada's national security interests to keep up high walls, regulations, and "cartels" to keep things like Canada food security in Canadian hands.
I was recently writing code using Reactor/RxJava in Java 11 w/ Lombok. I don't think I've ever been so productive or lead a team as productive as when we were going ham on the functional/reactive Java. Now that I'm back in Python land, I am constantly frustrate on a daily basis with both the language and the runtime at every turn. Even with the asyncio we are working on, it feels like the absolute minimum viable product when compared to the java, node, or rust I have done.
There are some fantastic python enhancements that bridge some of the gaps like PEP 484 (Type Hints) and PEP 517 (holy crap an actual build systems that are not dogcrap) but it feels like the python community does not care.
I finally gave up on using an XPS15 with Ubuntu because I could not get over the fact it cannot do high quality bi-direction bluetooth audio.
Edit: Looks like it does offer some improvments over pulseaudio: https://www.redpill-linpro.com/techblog/2021/05/31/better-bl....
Just on that topic though, why do I have to compromise to have something close to 3:2 aspect ration on MBP when there are other laptops that do 3:2 with decent webcams and face recognition. Or no facial recognition and super thin bezels.
I'm willing to forgo face recognition for thin bezels. I guess what I was really hoping for was for a 14" version of the XPS15 with an M1 and a close to 3:2 aspect ratio. It feels like we got really close to something great but then compromised at the 5 yard line.
That default behaviour in combo with the notch feels like a total design misalignment and markedly not Apple.
Edit: I do see what you mean by their design guidelines, but their solution is to fullscreen by not actually using the fullscreen. Again I'm happy with this compromise on the iPhone where the device is physically small but on a full professional device you are essentially telling me that there is an area of a high quality display I cannot use how I want.
The moment I saw it announced and found out it didn't do facial recognition I knew Apple itself was hesitating on it.
Even the perfect SDK for building out applications cannot solve the issue when you need to fullscreen a window or application.
It really does feel like an absurd design choice. I still don't like how it looks like on my iPhone and I would hate the notch on a laptop.
Please tell me more about how it is bad, or do you only cherry pick your arguments?