I've owned two editions of this book and when working on 3D graphics, this was the most useful book in filling the gaps of mathematical knowledge & understanding. One of the issues I had when learning 3D was that there are so many assumptions made about one's existing math knowledge on linear algebra, vectors, matrices, etc. as I never learned it in high school (at the time, they didn't think it was useful and focused on statistical math instead). This book was really the missing tome that contained everything you needed to know. The code samples also really helped. Highly recommended and I'm glad it's freely available online. I still have my hard copy on the shelf and enjoy flipping through it occasionally.
Was this article written with GPT3? It sure reads like it....
This is what Shortlyai spat out for me:
I like it that the boat in the Suez canal is stuck,
I really do. I can't help but feel good about this,
Not for myself or because I know someone aboard,
But just because it's so nice to see orders being reversed.
Such a long process for me to travel back and forth,
Sometimes with a visa and sometimes not. It would be great if they could shake things up back home.
I like it that the boat is stuck.
I like how the people onboard are still sending their messages,
And I'm sure many of them are thinking that if they wanted to,
They could get off the boat and walk around in Ismailia or Port Said, looking for a job. It'd be great to be able to find work in Egypt, but not everyone would think it's worth all that effort. Plus if they did go ashore there might be an investigation so even if they did a little work for someone on board they might still get into trouble. I know that things will eventually calm down back home but first we'll have a few good years where people can travel freely and without much hassle.
I respectfully disagree. To me it is a good example of the style of the article reflecting its meaning. To me, the author says that this topic is a welcome relief in a world where every topic is conflictual and complicated. It is the only thing that currently makes the frontpage that is appeasing to the mind, because the mind can fully comprehend it. It is great because it is simple, and it is explained simply.
Your example is extremely convoluted and doesn't mean anything.
Once the article got into the fact it's not a political or ideological issue, I got the entire angle. It probably should have gotten to that point sooner, but I get the idea of the article. The boat is simply stuck. That's it. Nothing more. In an era of micro aggressions, politically charged everything and extreme sensitivities, this is the first world event in a long time that is just simple without being loaded... the boat is stuck. It's stupid how refreshing and novel that is.
I agree. I liked the article a lot from that point on, including (after that point) the first part of the article in retrospect. At first, though, it felt more like someone being silly for the sake of being silly, which can be also worthwhile but I'm glad I kept reading.
Edit: That article and the next most recent one (a short story, written by a different author)[1] were enough to make me subscribe.
Well, to be fair to a certain novel coronavirus, pandemics aren't inherently politically charged, it's just that people chose to make it that way in some countries.
That also isn't a new phenomenon which mostly says bad things about the people doing it from the antisemetic pogrum responses which in one notable case /poisened their own water supply/ to a more pedestrian anti mask league in tbe 1910s and related Black Death there were also some dim enough to think there was a choice of "skip measures for the economy".
Two kinds of choices - look for some scapegoat and manage to make things worse for themselves and far worse for their victims. The other is downright idiotic contrariness and the failure to understand that "normal" is not an option because epidemics alone cause others to stay away. It is like saying that you can ignore the blizzards and keep on making money growing tropical crops in open fields without wasting money on greenhouses that are redundant most of the year. The choice is between bad or worse because "trying to benefit from the status quo by when conditions won't return under the circumstances".
The writing is literary in style rather than the usual web standard marketing style. It is rather well done largely because it is only trying to be what it is.
It kinda reads like the thing explainer, a book by the person who draws stick people and thinking machines, which only uses the ten hundred most common words.
It's getting tougher and tougher for me to NOT believe that sites like, say, Popsugar won't be completely algorithmically generated in the very near future. I'm sure people are already trying this in limited capacity.
AFAIK most sports reporting are already automated.. "$TEAM won $GAME at $VENUE!". Maybe with extra logic like "if winning point scored at less than 5 minute before the end, change the heading to "$TEAM clinches victory against $OPPONENT in the last minutes of the game!".
I remember some famous star telling an interesting anecdote on a TV show I was watching live (so not on-demand). I googled to see if there's more to the anecdote online, but as soon as the TV show ended, I got hundreds of results about the anecdote from all the pop culture websites, but they were all referencing her telling of the anecdote from 15 minutes before.
Ah, Internet Content Farms... there was probably a time where people only put high quality content on the Internet. Nowadays content creators ask for comments on their YouTube video to get it "trending" in the hopes of making more money, contributing even more junk.
Oh dear. Yet another article that reinforces conflicting messages and gives ammunition to whoever wants to be "in charge" of a product.
No. This is not the authoritative model. It's written like this is what the industry has settled on. But you can design whatever model that you want as long as you're clear on "who actually has buck stops here decision making and accountability over those decisions".
For Scrum adherants...
If you are using Scrum (many claim to be using it but are actually using some variant of ScrumFall), there is a Product Owner role who has "buck stops here" responsibility in the team. The PO does a lot of the "Product Manager" (with revenue/KPI responsibility) and "Product Marketing Manager" (positioning/value based on customers) also. If you are going to have separated out people (Prod Mgr, Prod Mkr, PO), you must designate that the PO has the "buck stops here responsibility" in the Scrum team, and relegate the others to stakeholder roles who hold the PO accountable.
For us, we've done away with the separate roles and said that Product Owners are Product Managers. They have "buck stops here" responsibility. Stakeholders hold them to principles by asking challenging questions: "Are you maximizing value?" -> show us the empirical evidence, etc.
>> The Product Manager
>> "These individuals are often referred to as mini CEOs of a product. They conduct customer surveys to figure out the customer’s pain and build solutions to address it. The PM also prioritizes what features are to be built next and prepares and manages a cohesive and digital product roadmap and strategy."
This is the Product Owner role essentially. If you have a separate Product Manager from a Product Owner, they should definitely not prioritize what features should be built next. Maybe at a very high level they are identifying a market need and saying "Hey there's something here, team - next quarter please figure this out". The PO is responsible for the roadmap, backlog and maximizing the value of the work from the Scrum team.
All the Prod Mgr can really do is to be a good stakeholder, do the research, give lots of good external market inputs to the PO and hold the PO accountable for delivering value.
>> The Product Marketing Manager
>> "The PMM communicates vital product value — the “why”, “what” and “when” of a product to intending buyers. He manages the go-to-market strategy/roadmap and also oversees the pricing model of the product. The primary goal of a PMM is to create demand for the products through effective messaging and marketing programs so that the product has a shorter sales cycle and higher revenue."
Yes and no. Because the PO is so close to the product, speaking to customers, getting feedback from customers from rapidly delivering iterations (again, assuming you are using Scrum(TM) correctly, and not the bastardized "scrum" where devs are relegated to code monkeys), the product positioning/messaging/value propositions and pricing model will naturally emerge from the Scrum team. The PMM as a stakeholder is helping to figure out the go to market strategy, etc, and execute on it in their own agile team.
Again, I stress that each organization can do whatever it wants. I just don't enjoy it when articles like this are referenced to as evidence for why X person's role should have Y responsibility, etc. It's teamwork. Everyone takes responsibility.
Re: Stack Overflow, while I agree with you, most of my experience with SO downvoting has purely to do with other members thinking "I feel this is a stupid question so I will downvote you".
Usually SO is a last resort for me once I have done enough research and read through lots of documentation for hours trying to understand why something does not work as expected.
I ask a question on SO, and rather than being answered, am downvoted and belittled in the comments. It has made SO a toxic place where honest questions that are researched prior are punished. I do understand why it happens though because for every honest question, there's probably thousands of questions from people who obviously don't do any research.
Then having your "Thank you for answering my question" comment removed by SO moderators because they don't want thank you's on the platform... It's just turned into too much of a toxic place and is an absolute last resort.
IMO. Others experiences may be different :)
The point is that people generally downvote for whatever reason they want. Even with community standards that help to educate people, by empowering people to downvote, they just exercise that right and it has consequences for the community.
> Re: Stack Overflow, while I agree with you, most of my experience with SO downvoting has purely to do with other members thinking "I feel this is a stupid question so I will downvote you".
This has been my experience too. For someone like me who's a non-professional programming hobbyist, SO has been one of the most toxic and unhelpful communities. My only helpful experiences there are with the people who also happen to have their real names for their user ids.
I've had questions downvoted because I omitted something that "should have been there", downvoted because I included some things that "should not have been there", downvoted because I "asked for a suggestion" (eg: which type of DB is better for this kind of data?), or because I asked for something "that has been asked elsewhere", even though the two questions might have different tech stacks and use cases altogether.
I recommend most beginner programmers to go to reddit instead, where there's a less barrier to entry and visibility for questions. People are happy to answer you in Reddit for some karma, while on SO, the people who answer correctly have to subtly beg the questioner to mark the answer as correct.
Question for others running marketplaces: how does Stripe Treasury and Connect play with other payment systems? Or they simply don’t?
The issue we have is that a large percentage of our customers want to pay with PayPal and I suppose in the future that will expand into other payment methods. Because of this we have to be payment method agnostic and we run both Stripe (for CC) and PayPal.
We’ve always been interested in things like Stripe Connect and I’m sure Treasury is interesting also but it all seems very Stripe-locked-in and would only work with payments going via Stripe (credit cards mostly and Apple Pay) which means that marketplaces that support PayPal are out? PayPal has its own marketplace product as well but again, that is too locked into the whole PayPal platform.
For me, I find woodworking and more specifically cabinet-making to be a very full-brain activity much like programming. It requires both left and right brain - technical and creative sides working simultaneously. It's become a joy and passion. I don't do it to save money (though the pieces I do turn out cheaper than if I'd hired someone) but just because I have a vision, and I want that vision to be precisely my vision, not what the contractor wants to do to get their job done cheaper and faster.
I picked up woodworking only a few years ago after buying this place. Watched YouTube videos, attended a workshop where they taught some of the tools and safety. Then did the rest on trial and error.
It depends on your use case. If you're doing relatively straightforward image processing, e.g. resizing on the fly, absolutely Vips is amazing. Check out imgproxy, imaginary, etc.
But for more complex workloads like producing product mockups from incoming user images where you have multiple layers, blend modes, perspective warps, etc. ImageMagick is surprisingly good. We use IM for complex mockups where the inital design is created by a designer in Photoshop - we reproduce all the layer effects in ImageMagick so that it can run server-side with user uploaded images. Works great.
Not sure about RancherOS and how much it factored into the sale. It could end up merged/transitioned into some Suse-container OS offering
The enterprise K8S business is compelling, especially all the shops using metal/on-prem. I settled on using Rancher and RKE for production clusters just because it was the simplest way to get HA clusters up within minutes without a PhD in K8S.
But I think a lot of the work they are doing on the other parts of K8S are really interesting: K3S, for example, could become very popular for running on IoT and ARM. K3S really put a smile on my face. You just run it and boom, you have a K8S cluster.
How are you using vanilla Kubernetes? I've tried provisioning vanilla K8s on bare metal clusters and I found it to be pure PITA, even with Kubespray.
Rancher's RKE is the first installer I've come across that "just works". Run rke up against a cluster.yml and within minutes you have a HA cluster with ingress ready to rock. K3S is also looking quite good.
In contrast I've spent days staring down the abyss of vanilla K8s. If you have good alternatives for launching K8S on bare metal/on-prem clusters, would be game to try.
I stood up a vanilla baremetal cluster (on the latest Ubuntu) a few days back using Kubeadm ... it was fairly trivial to do. I used the NGINX Ingress and it was also generally straightforward (maybe took an hour or two to understand what was going on). Curious what we did different?
I saw Rancher's offering afterwards and it does look really slick .. the UI is bloody awesome. Wish I could get it for regular kubernetes.
Kubeadm is the "official" and certified tool, not Kubespray. It is easily scripted as well. If you're used to graphical installers though and don't like automation then by all means continue to use Rancher.
Well congrats to the team for the exit. But I am really hoping that this will continue the great momentum that Rancher has.
I've come to quite enjoy Rancher products. I think the work they are doing is fantastic and lowering the bar for entry into Kubernetes, especially for on-prem/bare metal. Just deployed 4 production RKE clusters on bare metal and also using K3S.
One more good experience.
I created an cluster of dedicated servers ( 64 cores, 6TB of SSD storage and 256 GB of RAM, 1 GPU) using Rancher, for about 250 Euros/Month. This would cost at least 2k in a cloud such as AWS. There is a post about how I did with persistent storage here (https://medium.com/@bratao/state-of-persistent-storage-in-k8...)
It really transformed my company DevOps. I´m VERY happy. If you can, use Rancher. It is just perfect!
We're in the same camp with a cluster ~2x as large for Squawk[1] and it would cost us many multiples in the cloud (excluding our TURN relays which aren't k8s). However, the one killer feature that the cloud still has over self hosted is the state layer. There is nothing that comes close to the turn key, highly available, point in time recoverable database offerings from the cloud providers. We're running Spilo/Patroni helm charts, and we've really tried to break our setup chaos monkey style. But I'll admit I'd sleep better leaving it in Amazon's hands (fortunately, with all the money we save, we have multiple synchronous replicas and ship log files every 10 seconds).
_EDIT_ I've just read your blog post. We went the other direction and have used the local storage provisioner to create PVCs directly on host storage, and push the replication to the application layer. We run postgres and redis (keydb) with 3 replicas each with at least one in sync replication (where supported) and shipping postgres wal logs to S3 every 10 seconds.
You can also try databases that are natively distributed with replication and scaling built-in. If you need SQL you have many "newSQL" choices like CockroachDB, Yugabyte, Vitess, TiDB, and others.
Because we needed geographic distribution so that we don't end up hairpinning our users, and they only run a single service so the value prop is much lower. We use route 53 to do geodns across a number of cheap instances around the world (which is also nice, let's you pick regions with cheap bandwidth but good latency to major metro areas). We currently have TURN relays in Las Vegas, New York, and Amsterdam and that gives us pretty good coverage (sorry Asia...you're just so damn expensive!).
But all of our APIs sit in one k8s cluster across two datacenters (Hetzner, with whom we couldn't be happier).
Really interested in hosting at Hetzner, as their prices are fantastic by comparison to AWS, Azure & GCP.
I'm particularly interested in what an HA Postgres setup might look like. Assuming you are running some kind of database (whether Postgres or otherwise), what are you doing for persistent storage? Are you using Hetzner's cloud block storage volumes? What is performance like?
Interesting! Is that a single K8 control plane across one cluster? We've gone with fully isolated clusters across 2 data centers to protect against a network isolation incident between them causing a split brain/borking etcd.
Yes the control plane is only in one of the data centers. The other only runs admin services like offsite backups, our development infra (gitlab, etc) and CI/CD.
We could definitely do two clusters and probably should, but the secondary data center has few services that it wasn’t really worth the extra work.
At first look the numbers in the colourful table near the end, Piraeus/Linstor/DRBD seems 10x faster than Longhorn 0.8. The article goes into great depth of the (a)synchronous replication options of Piraeus, but doesn't mention that Longhorn always does synchronous replication. I wonder why?
I should have made it clearer that Longhorn is sync as default. Linstor is also synchronous as default, but you can mess with it to make async in some situations (In reality you allow it to be out-of-sync).
I´m really rooting for Longhorn. I´m a sucker for GUIs. But in my tests the performance is not there yet.
However, they opened a new epic ticket to focus on performance, and hopefully they will keep improving Longhorn after the acquisition.
You mentioned somewhere that your servers were hosted with Hetzner - are you using their "cloud volume" block storage? Really curious to know what performance is like with this cloud attached SSD storage!
Yeah I would say similarly. My team is working with Rancher and found their permissions management to be a solid selling point, among other things. And you can terraform 99% of the things you need.
One thing that continuously irks me about K8S is that the bar is so high. Does it really need to be so complex? Does it really need so much mandatory complexity?
Is that complexity needed or do more complex things actually tend to win in certain markets because nerds like knobs?
Distributed cloud computing is complex, k8s provides a solid abstraction based on decoupled reconciliation loops that work together in a common control plane. One of the most compelling facets of k8s is this declarative and extensible architecture.
The collaboration between Service -> Deployment -> ReplicaSet -> Pod -> Container is a great example of how these reconcilers work together.
Yes, it has a lot of knobs and dials but you don't need to understand them to get going. Just pick up something like skaffold.dev and you can be productive very quickly
Actually K8S itself as a standard is not complex/hard. If you are a developer and user/consumer of K8S, use it! If the cluster is managed by someone else, K8S is great.
It only gets complex when you have to provision & manage your own clusters. That's where Rancher really shines, as it makes it so much simpler to deploy and manage K8s everywhere.
I place provisioning and management of your own clusters in a category I call "installability" or "deployability." It's a fundamental category of UX especially for technical and infrastructure applications.
I once tried to deploy a minimal test instance of OpenStack. Granted this was years ago, but I have been doing Linux since 1993 and I could not get it to run. That's an example of absolutely horrible UX at the deployability level.
K8S is nowhere near that bad but it definitely seems much harder than it needs to be to provision a basic default configuration for a working cluster.
K8S is a lot easier than OpenStack to install, but when comparing something like Rancher to OpenStack, it should be compared to something like OpenStack Ansible, or a vendor version of OpenStack (RIP HPE Helion) which were a lot easier than apt-get install openstack is.
K8S has a lot less moving parts - a couple of binaries / containers and etcd. The issue start coming up when you go beyond the single control plane node, and want a HA API.
Why not compare it to a instead to a contemporary competitor - Nomad - which has simplicity as a core value? It has _far_ fewer moving parts than Kubernetes.
I was talking about the GP comparing their OpenStack install experience to something like Rancher, which is not an apples to apples comparison.
- on a side note - OpenStack and Kubernetes are not competitors, they are quite complementary collections of applications, that both have their place in a modern open source infrastructure.
My experience with it has always been that it is delightfully simple for the task at hand. There's a wide surface area because it covers a wide problem space (distributed computing), but any individual task has always felt simple and very thoughtfully considered for me.
Eh, I’d say k8s with the help of Helm is about as simple as it can get to deploy and manage large clusters of networked applications. The equivalent done using e.g. Ansible playbooks would be far more complex.
If the complexity seems too much, it’s probably a sign you don’t need k8s.
You can use Docker Swarm. Mirantis since back-paddled on its plans to deprecate it. It's a great piece of SW if you don't need thousands of containers, but rather low hundreds (and if you don't need additional stuff like Istio, operators, etc.)