HN user

leonardteo

218 karma
Posts5
Comments37
View on HN

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.

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.

Stripe Treasury 6 years ago

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.

If anyone's interested: https://leonardteo.com/woodworking/

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.

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.

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.

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.

It's funny that the original title for this article on CBC was actually "Zoom chats short circuit a brain function essential for trust: Don Pittis | CBC News" and the article only mentioned Zoom. :) They changed the title and edited I guess after people pointed out that the research itself was not Zoom specific. I'm amazed how Zoom has become synonomous with "video conferencing" when there are so many other viable solutions available.

I am struck by how beautifully expressed this letter is. @antirez, thank you so much.

It's really great to see when someone who is totally honest with themselves and what sparks joy in their life/career, and is also respectful to all the people who depend on the work/artifact. So much respect.

Thanks again.

Speaking of carving out a niche on Spotify.... If your kid ever asks Siri/Google/Alexa to play the poop song a few cents of royalties goes to Matt Farley aka the Toiletbowl Cleaners. It’s quite fascinating https://en.m.wikipedia.org/wiki/Matt_Farley

According to Farley, one song that contains only the word "poop" repeated over and over generates $500 in streaming revenue every month as of 2018, likely in part because children request it from Alexa or other devices.[4][5][6] Farley earned over $23,000 in 2013 from his song catalog.

Users can fail to configure mailto links to point at their preferred email client irrespective of it being web-based or native. (Unless it is the default for the platform I guess)

That's more the issue. It's just misconfiguration and users who are oblivious to that setting. In the past, I don't believe that Gmail prompts you to make it your default handler, and from the number of support requests we received due to this issue, it's clear that a good number of users do not have their mailto handlers configured.

Cheers!

True. Whenever I sit and watch people use the computer (just watch when they are giving a presentation/screen sharing), I often cringe.

Many don't use the scroll on their mouse/trackpad - they literally look for the scrollbar, click and drag to scroll.

Many are blissfully unaware that the keys Page Up and Page Down move the page up and down or that Home and End move the whole page to the beginning and the end.

BUT, they do know about the Back button on the browser so they end up resubmitting forms/double posting, etc. lol

To clarify, all browsers CAN handle the mailto link as long as the user configures it to open the correct email client. That’s key because there’s many oblivious users who don’t even know about this setting (we know from the number of support requests we get from users angry that the contact link they created on their websites “don’t work”!). :)

Because of the prevalence of webmail like gmail (most of our users are on gmail) there’s many users who aren’t aware that it needs to be configured to open the said webmail page, so the mailto links does nothing. A “Contact me” or “contact support” mailto link won’t open anything, or it will open the default mail client like Mac Mail on Mac....On Windows in the past it would open outlook express lol. :)

A lot of people already mentioned here the Home button. Anecdote: for years we kept getting users asking for a back to top button and we always told them to just use the Home button and they thought it was the most amazing thing ever. Most of our users are on Windows.

Anyway, we did end up having to put a Back to top button. It was clear that users just don’t get it. Most people really don’t know what the Home button does.

That, and you should never use the Mailto: link without writing the email as the text itself. Thanks to webmail, most users do not have their browsers configured to open mailto: so they complain that contact email links on their pages don’t work. Sigh....

Honestly I have given up trying to “keep” engineers because it’s a losing battle. It’s impossible to compete with big tech. From the offers I’ve seen, if FAANG/Big Tech really wants one of your team members, they will get them and there is nothing you can do.

My employees stay because they want to. They enjoy the work, domain, colleagues. The salary is competitive and fair. They can thrive in this environment.

But I am under no illusions about creating some special environment that can prevent them from getting poached. You can throw cash, stocks, options all you want but if Big Tech wants them, they will outbid you.

Just assume that at any moment they can and will get poached and ensure that the business can continue if people leave. Keep the stack simple, stick to standards, minimize NIH etc.

I feel it depends on what you mean by "bad code".

We went through a very tough journey ourselves. When I started the company, I wanted us to just use out of the box Rails. But some senior devs disagreed - we had huge disagreements about it. We ended up spending months building a complex SOA, only to find 3 years later that it wasn't a great implementation and rewriting it (now it's even more complex). Meanwhile, Shopify and others seem to be happily still using mostly stock Rails. And we're in a tough spot where finding developers who can work and be productive with our NIH-stack is quite challenging.

I agree with what the others are saying here. Customers aren't buying our code, they are buying our product/service. Code should not be "bad" (i.e. there should be tests, etc.) but as a startup, I think velocity is more important and we just have to weigh that. We can hack stuff temporarily to ship or do experiments, but we'd have to deal with the debt if we keep that around.

If I had the opportunity to start all over again, I would: - Stick to well-known frameworks. Use "boring" tech. - Outsource as much as possible first and don't reinvent the wheel e.g. don't write your own subscriptions/billing, just use Stripe/Braintree/Recurly/Chargebee, use Algolia (don't write your own Elastic) for search, etc. Move fast until you've figured out product/market fit, then optimize for costs, etc. - Stand your ground on rejecting NIH. Devs will complain because they want space to learn, try new tech, do NIH things (I want to hack stuff to!). IMO it's those NIH things that are often said to be "bad code" - they're not "bad", they were just written in a short amount of time to solve immediate problems and they often don't account for all the strange edge cases, etc.

Getting vulnerable here for a sec and hoping that others can add their thoughts. I struggle with this. As a small-ish, bootstrapped business, the issue I commonly run into is developer retention. If we stand our ground and choose boring technology because we have limited innovation tokens and can't afford to waste them, there's the flight risk of those devs who really want to work with those new technologies. And this is real. I have dev friends who have left great jobs just because they wanted to move to some new tech and their company simply wasn't ready for the change yet.

In the past I have been told that I "don't trust developers" (despite being one myself), and it has nothing to do with that. It's that some of us are left with the consequences of those decisions and having to maintain those NIH-riddled skeletons in the closet when those individuals leave - and the next person comes along, finds the skeletons and we end up having to rewrite/reimplement that whole part of the system.

Creating an environment where we can thrive and be creative is really challenging. We've implemented the 20% time now where everyone in the company has 1 day a week to just experiment and do whatever they want, just to give the breathing room to be creative and try some of these new technologies. We finally got there. But for years, we just couldn't afford to do it as we were in survival mode.

But the retention issue is still a big one. I feel the tension between having to empower people to make decisions that are for the greater good of the business, while balancing that those people can (and will) leave at any time and not face the consequences of those decisions.

Curious to hear thoughts.

I feel you...

We had similar issues with the Google Play store for the ArtStation App (https://magazine.artstation.com/2018/12/happened-artstation-...), it simply got taken down and appealing continually got rejected. It was only after the issue got picked up as the top story on Hacker News and other sites that exposed the dysfunctional nature of their moderation that finally Google subtly changed their policy so that if the content is primarily “artistic” it’s allowed, but the catch is that only they deem what is appropriate and not...

We recently updated our Chrome extension also and it just seems to me that not a whole lot of effort is going into the Chrome Web Store, at least on the developer side where you update the extensions.

Ok but I still don’t get why the op complains about it so publicly the same day (likely immediately) after submitting the ticket without even giving the company a chance to triage and resolve the issue. (Yes he apologized) He paid $10 for a .org domain, which for Cloudflare is at cost. Goodness... It’s not like Cloudflare is refusing him support, just that he’s not on a tier where someone will respond in real time. In any case, it’s resolved for him now and he got the attention of the CTO (maybe I should try some public outrage sometime instead of paying for ent support heh!)

Also I think there’s an issue with what the expectations for support is for. The Cloudflare service itself - the DNS, DDOS protection, ssl, CDN, etc are all premium services with a free tier for kicking the tires. As far as I understood in the post, the OP was on that free tier but had registered the domain on Cloudflare (which was probably the added complication).

Sidebar - AWS offers no support even if you’re a paying customer - support is an additional product you have to add on and it is a percentage of your overall usage bill, even if you don’t contact support...

I like the idea of the Ombudsman, but in this case I'm not sure that it's really applicable. I disagree that the "normal tech support processes have failed".

I wanted to point out something that may have been missed by many - which is that the OP in this case is a free user. i.e. he is NOT a "customer". He is a user of free services that Cloudflare is providing. It even says so in his post that he's a free account holder and that he's not entitled to tech support, hence why he kicked up a fuss online. My company is a Cloudflare Enterprise customer - when we write in, we get a response typically within an hour by their swat team.

The idea of an "Ombudsman" in this case wouldn't be an actual ombudsman in the spirit of advocating for the customer, but would be more of a "one time support fee" kind of deal. Which I think is fair, but in this case I'm not even sure the OP would have paid it. The OP had a viable option which would have been to upgrade to a Business account and get priority support.

I run a popular platform with 1.5 million registered users and the vast majority of them are free users. We also have the same problem. Most of our support is just swamped with free users mostly asking questions about how to do things (and it's in the documentation, they just don't read or search for it, it's too simple to just email support or blast away on Twitter and @ mention us). I've even had to withdraw from Twitter and Facebook entirely just because I was everyone's "ombudsman" (even if they weren't paying customers).

This looks great but was there a reason for going with Postgres over something purpose built for analytics like Clickhouse? I am seriously considering building a similar tool for our platform as the cost of Mixpanel/Amplitude is cost prohibitive at our scale. We had to move off Google Analytics and run our own Matomo server, and it brings MariaDB to a grinding halt.

In any case, will be looking closer at this. Looks very interesting. Thanks.

Funny, I left Facebook yesterday. It got too much as I was connected with many of my customers/users and it was just mayhem. It was extremely complex for me to get off Facebook because our website "Login with Facebook", advertising, pages, etc all are connected to my account, so I couldn’t simply destroy the account itself or risk locking out hundreds of thousands of people from our platform and apps. I manually unfriended 2000 people (which surprisingly didn't take too long).