Hacker News new | past | comments | ask | show | jobs | submit | chidog12's comments login

"In the old days, the Olympics was a venue were aspiring athletes got to get a second chance of turning pro, or at the very least a way for them to get recognition for their hard work. Now in many cases, it is now a bunch of multi-millionaires feeding their somewhat narcissistic drives."

This entire sentence is ridiculous and inaccurate.


What is inaccurate about it


1.) The Olympics have never been a place for a second chance. There are miracles of course and occasionally some low ranked athletes perform well. But for the most part, it’s the best of the best.

2.) Relatively few Olympic sports even have professional leagues that we would think of as professional leagues.

3.) A small number of stars make money. The vast majority make absolutely no money. Instead of trusting a snarky person on the internet, here is a quote from the CEO of the USATF:

“Most of our [athletes] make less than $50,000 a year, and for many, much less than that”

Or consider that in 2016, ~ 140 athletes had to resort to GoFundMe to pay their costs to attend the Olympics.

4.) They talk about letting professionals in like it was a simple thing. Professionals in the Olympics have been a problem since 1912 when Jim Thorpe had his medals in decathlon and pentathlon stripped because he had played professional baseball.

5.) The way they talk about IOC corruption implies they must have stopped watching the Olympics in 1920. Budapest won the games that year but the France dominated IOC stripped them of it (they had been enemies in World War One) and gave it to Brussels.

That’s a start. I can continue if needed.


Hey Herman, how are you pulling the text from the provided url? and using that as input for your LLM?


$10,000 > $0


I wish I had the skills to create beautiful/art like website. is there anywhere to get started learning?


It's years of skill and many different learned things to arrive on a curated outcome like this personal site, which is the point. Don't try to get there today, but maybe make your own site that's the best you can build with what you know.

And honestly, if you do want to jump into this, there's nothing better than just to start. Use something like codepen and start playing with CSS & CSS animations. Try replicating some of the text animations (there'll be lots of examples on the internet) and go from there. After CSS animations (which will get you 80% of the way), would be helpful to explore composition & color theory (from a design perspective, studying and replicating examples is good to pick up skill and find your "design voice"). From there, the sky's the limit.


The main illustration is done in the Ligne Claire[0] comic book style made famous by Herge in Tintin (and common in French and Belgian comic book).

[0]: https://en.wikipedia.org/wiki/Ligne_claire


He's definitely going for the style of Tintin comics, the so-called ligne claire. The books I see which claim to teach that style are in French, and out of print: the 2-volume L'atelier de la bande dessinée avec Hergé. But, read the comics anyway, they are fun.


ctrlpaint.com is a great resource. The tutorials are comprehensive and free.

I also highly recommend the book Drawing on the Right Side of the Brain by Betty Edwards.

Unfortunately there’s no hacks to learn draining overnight. Deliberate practice is the only way. Doodling in the margins of your notes during boring meetings is a great way to get reps in.


"I've grown unfond of this attitude. I most certainly don't own it. I have no IP rights to it at all. We're both being paid to solve different facets of the same problem."

If you are a dev on the team that owns that service then it's you and your team's responsibility to answer all of these questions... Even Org's SOP would end up reaching back to the team who owns the service if problem's arises...


I hate separate infrastructure teams with a passion for this reason.

Far too frequently you end up in a situation where someone makes an environment change and blows everything up because they have no understanding of the services they're stewarding.

If you want me to take responsibility, my team should be managing the service end to end.

I feel really strongly against this division of responsibility in software teams. It too often leads to holding up progress and hostile interactions due to each team pursuing their own priorities.


> If you want me to take responsibility, my team should be managing the service end to end.

This. I really do not enjoy being called up in the middle of the night to walk a group of people that know absolutely nothing about the system through the steps they need to resolve the issue, because nobody wants to give the “dev” team access to the production environment.

I think the solution that best aligns incentives is the one where the people introducing issues are also the ones called up (and able) to fix them.


Ah, developers empowered to do operations. We should have a catchy name for it... "opsdevs"? :P

Seriously, this is the original idea of the DevOps principals. But they run straight into CIS requirement that "developers do not have access to production code" and the ISO 27001 v2013 requirement of separation of responsibilities. So it'd be great if it happens, it just can't happen in the big B2B spaces.


We allow devs to do things in prod. We are a public company. Sox, Hipaa, ISO27001, GDPR, and all that. Every dev on my team has access to their prod servers and databases (but no access to other team's stuff usually). We deploy multiple times a day. We handle our own oncall. We process billions of individual requests daily for millions of users. We have several thousand employees.

Our compliance requires that all code be reviewed and pass quality assurance before merging and that all prod changes be documented.

That means Dev1 writes the code, the unit and integration tests, sets the right configs in each environment, updates the dashboards for any updated metrics, sets up alerts, and updates runbooks. Dev2 reviews the work, pushes back when any of the above needs more work, and then documents on the jira ticket how they verified stuff. Dev1 or Dev2 merge the code, observe the build, and ensure the code rolls out to prod.

When something goes wrong, the oncall dev on the team is paged and can access all prod systems, and can log in, start and kill things, move files, etc.


All counsel these days, from 'devops' or 'sre' bodies of knowledge is: development and operations are two sides of the same system, they should be integrated better. Companies: got it, create new title/team, in charge of this integration. Seriously?


Agreed - in a previous job people shipped garbage code frequently and when there was a problem they didn't want to hear about it, because "everyone owned the code".


How else would you get promoted? Get with the program.


When you give responsibility to teams themselves the result is O(1) size problems becoming O(teams) sized problems.

  > How can I check the health of the service?
  In the definition of service, you define a field for
  health check script.

  > How can I safely and gracefully restart the service?
  This will exist within the script used to push new code.

  > Does it has any external dependencies?
  This could be defined in the service configuration and 
  used for setting up integration tests and automatically 
  generating a dependency dashboard.

  > Do you have a playbook, or sequence of steps, to bring
    the service back up?
  You could generate a field in the service defintion to
  automatically generate a dashboard and include the
  playbook link at the top of the page.

  > Do you use appropriate logging levels depending on the
    environments?
  Production could be extremely opinionated about what
  acceptable logging looks like, forced via code review. Log
  level could be defined in service config.

  > Are you logging to stdout?
  Why would any production service get to choose?
  Service owners shouldn't be able to log into machines.
  
  > Are you measuring the RED signals?
  Required fields in service config that could be used to
  generate a service dashboard.

  > Is there any documentation/design specification for the
    service?
  Required config field.

  >  Are you using gRPC or REST?
  Trivial grep.

  > How does the data flow through the service?
  This is complicated, but can probably be easily replaced
  by asking what state your service keeps and how it's
  stored. This is the only question I think the author
  should/needs to ask.

  > Do you have any PII/Sensitive data flowing through the
    service?
  While this question is important, this is one of the
  problems that has to be a particular person's
  responsibility. Any dev that answers anything but
  "probably not, but I don't know" shouldn't be trusted.

  > What is the testing coverage for this service?
  Some form of this would exist in a service config.
I don't think the question of responsibility is as simple as "it's the team's problem."


Hey I see “service config” referenced a lot in that thread, but your answers has the more occurrences.

I’m not sure I follow what it is.

A technical construct, like a code template or a API that services implements ?

Or a process constructs, like a SOP to follow with checkboxes?

Thanks


succinctly: A service config is the authoritative source of truth for what a service is in a format that can be (is) consumed by tooling.

A lot of software development is about generating abstractions.

"Service" is a possible abstraction someone might want to generate and develop.

I think a service abstraction can be defined by:

  A blob of code
  A set of machines to run it on
  A way to stop and start it
  A method to load balance to it
So it would make sense to create a yaml config file committed to a repo containing something like:

  services:
    [
    { 
      name: "CoolAppServerName.prod",
      build_script: "./bin/buildCoolAppServerName.py",
      start_script: "./bin/startCoolAppServerName.py",
      stop_script:  "./bin/stopCoolAppServerName.py",
      hosts:[
        "host_1",
        "host_2",
      ],
      slb_name: "CoolAppServerName.prod",
    },
    {...},
    ]
Once you have a definition, it can be extended to meet growing needs. You might choose to do something like:

    { 
      name: "CoolAppServerName.prod",
      key_metrics: [
        "CoolAppServerName.prod.5xx",
        "CoolAppServerName.prod.latency_percentiles",
      ],
      owner: "CoolTeam",
      ...,
    }
And then you could generate a webpage with a dropdown where "CoolAppServerName.prod" is an option and the dashboard including graphs for the time series metrics "CoolAppServerName.prod.5xx" and "CoolAppServerName.prod.latency_percentiles" automatically show up. Maybe instead of having service names in the dropdown you have owner names in the dropdown.

You could potentially write some code that attempts to validate no significant changes in those metrics and use it to automatically verify that newly pushed code didn't take down the website.

Service config means creating an authoritative service identifier (authoritative because it's the only identifier used in tooling) and then attaching a configuration to it.

Facebook and google have (or at least at some point had) tupperware and borg respectively, that are basically custom verisons of the above extended for their infrastructures.


I see, thanks for the detailed answer.

That furiously remind me of solutions ala kubernetes.

Where you define entry point, healthcheck, etc

A tad more abstract, and larger ( afaik, k8s don’t care how your code is build for instance )

Never heard of Tupperware. Loosely aware of Borg.

Again, I appreciate the time.


When Kubernetes was released, it was thought it would be a successor to borg if not the key components of borg itself, IIRC. https://en.wikipedia.org/wiki/Kubernetes:

  The design and development of Kubernetes was influenced by 
  Google's Borg cluster manager. Many of its top contributors
  had previously worked on Borg;[15][16] they codenamed Kubernetes
  "Project 7" after the Star Trek ex-Borg character Seven of Nine[17]
  and gave its logo a seven-spoked wheel.
There was a lot of early skepticism about it because it was not borg. I guess my understanding is that borg is so integrated into google tooling that it would have been impossible to generalize.

I haven't used it myself yet because a few of the senior engineers (from google/fb) I respect said "absolutely not in our infra."


What are you using instead and what are the main criticisms of kubernetes from your seniors?


A completely bespoke solution. I was both too busy to and too inexperienced with kubernetes to get into it and have a conversation.

IIRC the main criticisms were that it wouldn't scale to our needs and there were some use cases that wouldn't be handled by kubernetes easily. The end result would be two different solutions for the same problem, a slow migration to kubernetes that may or may not stall out, and then a half finished/perpetual migration that would double support costs.


"> Do you have any PII/Sensitive data flowing through the service? While this question is important, this is one of the problems that has to be a particular person's responsibility. Any dev that answers anything but "probably not, but I don't know" shouldn't be trusted."

GDPR makes it the responsibility of the organisation to know. You can't safely say "I don't know" about PII.


And if an organization wants to know, then they must make a single individual responsible. "Organizational responsibility" means that no one is responsible.

It is important to have one person know the answer, rather than making your devs "guess" the answer. "The devs we asked said there wasn't misuse of PII" is not at all a good guarantee that PII is not abused or lost.

The organization cannot know unless there is an individual who knows.


Traditional Finance solved this problem hundreds of years ago...


Really?

https://www.theguardian.com/money/2014/nov/08/transfer-money...

https://www.theguardian.com/money/2019/dec/07/i-lost-my-1930...

Should I post more examples? Because I can assure you that there are plenty more.

I am as happy as the next person to take pot shots at crypto currencies and their ilk. But how about we stay honest about the fact that traditional finance is far from benign and more than happy to use and abuse us customers to their liking?


Last year, Citi accidentally sent Revlon $500m who kept it even though Citi immediately asked for it back:

https://arstechnica.com/tech-policy/2021/02/citibank-just-go...



It was later reversed on appeal.

It's important to note that they didn't just send it to some random company, but rather to creditors.

> Under New York law, someone who sends out an erroneous wire transfer—for example, sending a payment to the wrong account—is entitled to get the money back.

> But the law makes an exception when a debtor accidentally wires money to a creditor. In that case, if the creditor doesn't have prior knowledge the payment was a mistake, it's free to treat it as a repayment of the loan.


How? People send money to the wrong account all of the time in traditional finance. It is not a solved problem.


The ability, through various means, of reversing the transaction or otherwise redirecting funds to the correct recipient, is what's been solved.


This solution is also a major source of chargeback fraud, FWIW. The people who get screwed from that aren't financial institutions, it's merchants - often small mom and pop shops that lack the resources of predatory multinational corporations to challenge this type of activity.

From their perspective, protection from chargebacks is protection from fraud.


Well, show me these mom and pop shops (that aren't dark web drug dealers or porn sellers) that won't accept credit cards and will only accept crypto payments. Despite the chargeback fraud (an entirely different problem than what this thread was discussing, by the way) basically nobody has abandoned credit cards and gone crypto-only.


Which is what happened here. I imagine traditionally one bank asks the other bank to reverse the transaction. Here one exchange asks the other exchange to reverse the transaction.


From the link:

> Recap:

> - cryptodotcom sent 320k ETH to Gate

> - Gate sends 285k back


They can almost always claw it back.



Citibank won on appeal: https://www.reuters.com/markets/us/citigroup-wins-appeal-ove...

Citigroup Inc is entitled to recoup about $500 million of its own money that it accidentally wired Revlon Inc lenders three years early, a U.S. appeals court said on Thursday. Reversing a lower court ruling, the 2nd U.S. Circuit Court of Appeals in Manhattan said it was improper to give the lenders a "huge windfall" by letting them keep Citigroup's money, and that they had been on notice the wiring was a mistake.



It comes at the cost of having inflationary currency that punishes you for saving rather than spending, unlike non-inflationary currencies.

Some people care more about the property of being non-inflationary than they do about the property of transaction reversibility.

Edit: Why the downvote? You caring more about reversibility doesn't mean it's a universally shared value.


It’s hard not to complain about downvotes, but worthwhile. The goal is to write for an audience, and to foster curious conversation. Sometimes votes reflect that, sometimes not, but we always have control of what we ourselves write.

In this case, it may be the snark. I recently fell victim to this myself a couple months ago. It’s very easy to be snarky without really meaning to; doubly so about topics you care deeply about. The “low, low cost” bit is hard to read as anything else. (It’s what kept me from giving your comment a deserved upvote, because you’re right. But the conversational quality supersedes merely being right.)


Thank you for the good faith feedback, I appreciate it and will try to avoid the snark moving forward.


Instead of having an inflationary currency, you have inflation in the number of currencies.


Sure, but you are not forced to use shitcoins. There will naturally be some cryptocurrencies that are worse than others, just as there are FIAT currencies worse than others (e.g. Venezuelan Bolivar vs the Swiss Franc). Consumers being given a greater choice offers opportunity for them to choose to use currencies with superior qualities than the ones they would otherwise have access to. Like with other choices in life generally, the consumer has a responsibility to make an informed choice. While failing to do so has adverse effects for the consumer, it is not the fault of the currency that the consumer made an uninformed or poor choice, no?


Garry, I only have one ask (maybe two)!... Force them all to keep making those YC Office Hour videos lol! Even better, whoever your editing team is for your channel... add them to the team as well.

All the best!


I built a similar tool. but I used twitter and tracked the sentiment of topics including stock and crypto. It's an interesting angle, if you'd want to pursue it.

There is somewhat of correlation between online sentiment & crypto price movements, there are a couple papers on the topic. However, it is quite difficult to trade against. I work on wall street (tech side) so this was mostly just past time activity.


I think I’d like to be able to see big shifts in sentiment or at least be able to graph it over time and compare it to the overall market.

But like you said, this is also just a hobby project for me.


Yep, that's what i did. Every 15 min I would measure the sentiment of given topics, normalize the messy data and plot them. you can overlay this against a time series of price data.

Twitter also has a historic tweets api. It's more work, but you can backtest as well.


What tools did you use?


Random, but along the same vein I worked on a side project which allowed people to create a paid bounty for answering a stackoverflow question. The way it worked was that you would create a question on stackoverflow, go to our website and pay for your bounty with the stackoverflow link, then when any random stackoverflow user answers your question and the answer is accepted, they can simply create and account, authenticate and we will send then their winnings.

I built a remedial MVP, but it worked. Lots of edge cases and concerns when it comes to handling money movement for multiple parties. If you ever look to expand your use case, that could be cool. I was willing to pay for a Kubernetes stackoverflow question that was killing me, so i built that.


I worked for this specific company, a couple years ago, as a robot handler and operator.

In situations like this it is possible for an operator to manually organize the robots.

Before I left we were making great strides to allow 1 operator to be able to keep tabs on up to 5 robots at a time in certain neighborhoods.

Campuses, which are fully and thoroughly mapped, can probably have 1, maybe 2 operators at a time. Just watching and interjecting when issue arises.


What was the limiting factor? Operator attention or actual control/monitoring plane limitations?


The limiting factor was Operator attention and issues with an environment.

In a closed, mapped environment like a campus with minimal street crossings. The robot can make its way to the restaurant, get the delivery and make the delivery, with out operator input or attention… even if people block the robot, it can navigate around and interact. After a couple failed attempts, it alerts an operator and then manual action may occur.

Some situations were a bit more complicated. I’ve had to navigate 4 robots, all at street crossings with different types of traffic. The safe thing to do is, take care of them one at a time, even if a couple robots miss the light.

Once a crossing light changes and things look safe, we would just initiate the crossing. The robot can navigate on its own.


This sounds like a cool idea for a game.


This sounds like a cool idea for a Twitch stream. I would watch this.

Bonus points if you hook up the robot's control to Twitch chat, #TwitchPlaysPokemon style.


Immediately reminded me of this old Game and Watch:

https://www.youtube.com/watch?v=AQZtdXLWHk8


This is basically Lemmings.


This is how I assumed the ones near me operate - they are mostly independent and a live person takes over if it gets in trouble or encounters a tough situations. I can imagine one person being able to operate more than 5 if they have solid pathing.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: