Unicode Rendering in urxvt

Not an issue with your git, just asking for some advice, because you appear to solved the prolem. I can't get unicode characters to render in urxvt. For example the red, yellow and green arrow in my terminal are just boxes. You seem to have solved the problem. Could you advise me? I can't seem to find an answer anywhere.

Hi, this is a random guess, you probably need to install more fonts. I would install a half-dozen or so more unicode fonts, restart the computer / Xorg and see what that does for you. If not, I don't know, I actually do not use urxvt anymore. You might try asking around some various channels in IRC #freenode / your distro.

I fixed the issue. I had actually type the font incorrectly lol. Thanks so much for your help. though.
I'm having a weird issue now where the bmp font that I'm using is rendered smaller in the terminal emulators than in an other application.

That would do it. The font size bmp thing I have seen also. I believe it is normal.

The issue is that it's intolerably tiny, and others appear to be able to scale it up somehow without pixelating it. I'm assumig it must have to do with some kind of native dpi setting.

Yes, for example I have seen openbox does this scaling it up, in my experience, but gtk with lxappearance does it also, but differently. It can be madenning to try and find one unifying font for //everything//. I suggest to use a nice XFT font for everything and keep a super sharp bmp font for your terminal. That's my favorite approach.

Anyways, you can also change things by twiddling fontconfig symlinks, I know there is also one to disable bmp font scaling. Cheers and good luck


Duck Pond improvements

After merging the duck pond, a few minor bugs and potential for improvements have been uncovered. Please make a PR implementing the following changes:

[x] A blacklist for channels that duck pond should ignore. This blacklist must contain #duck-pond itself, #announcements, #staff-announcements and #user-event-announcements.
[x] A command for forcing a message into the duck pond. something like !duckpond, alias !pondify, !duckpondify and !duckify
[ ] New test for making sure it returns early if in a blacklisted channel.
[x] New test for the command.
[x] Restrict the on_raw_reaction_add handler it so only messages posted by staff members will be duckpondified.
[x] Prevent the duck pond from relaying the same message more than once during lag by adding a lock.

At what level should the new command be role locked to?

A command for forcing a message into the duck pond. something like !duckpond, alias !pondify, !duckpondify and !duckify

What's the use of this? We discussed such a command before, but the argument was that it was only going to be used for historical messages which can easily be relayed using internal eval on the existing relay_message method of the class.

I guess the use is to not have to spend time figuring out how to internal eval it.
and role lock would be admins+ imo

I've added an action point to implement a lock for the message relay.
The reason is that, on occasion, the same message gets relayed more than once due to a race condition: If, for some reason, multiple reaction events fire when we go over the ducking threshold and all of them make it past the "green checkmark check" before a relay is successful, all of them will relay the message as none of them are "aware" that the message is already going to be relayed by one of the other near-simultaneous events.
The solution is straightforward: Add an asyncio.Lock and have the event handler acquire it before it checks for the green checkmark and after it has successfully added the greencheck mark after relaying the message. That way, any additional events have to wait with their green checkmark check until after the previous events has potentially added it.

@SebastiaanZ Any updates on this?

This has been partially implemented. The "New test for making sure it returns early if in a blacklisted channel." was ignored; instead, I removed all tests.


Clean up unused all_contributors branches.

@shiffman can we do this

@shiffman can we do this

done!

done!


Revert "Use numericCast() to get the correct type when creating a dis…

…patch_block_flags_t."
This reverts commit b048490a717e08b27b835750f0f6f631f0e8af0d.
Unfortunately, the numeric cast'ed value cannot be used to construct the
dispatch_flags_t type.  Trying to change to an explicit construction
also fails.  This repairs the Windows build for the time being.

@swift-ci please test

CC: @ktopley-apple

Oh, I see; okay, changed to a partial revert.  Thanks!

@swift-ci please test

@swift-ci please test

@ktopley-apple - okay to merge?

Yes, done. Thanks for fixing this up 👍

My pleasure!


Add missing license and copyright headers

The following files didn't have any copyright or license headers on them
when they got contributed.  So add the SPDX Apache license and
appropriate copyright info:
boards/arm/stm32l476g_disco/pinmux.c
samples/basic/threads/src/main.c
tests/net/socket/tcp/src/main.c
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

This fixes #5266


Asigning active step color with MuiThemeProvider

I'm trying to pass a color to my Stepper;
My theme:
  const theme = createMuiTheme({
      overrides: {
            MuiStepLabel: {
                label: {
                    color: 'pink',
                },
                active: {
                    color: 'yellow'
                },
            },
        },
    });

[ ] This is a v1.x issue (v0.x is no longer maintained).
[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

'Test' should be yellow but Mui overrides the mui theme provider:

.MuiStepLabel-label-64.MuiStepLabel-active-59 {
color: rgba(0, 0, 0, 0.87); //black
font-weight: 500;
}
.MuiStepLabel-label-64 {
color: pink; //overwritten
}
.MuiStepLabel-active-59 {
color: yellow; //overwritten
} `
Current Behavior

Steps to Reproduce (for bugs)

Context

Your Environment

Tech
Version

Material-UI
v1.?.?

React

browser

etc

It's a specificity issue. The approach is explained in https://material-ui.com/customization/overrides/#overriding-with-classes.
  const theme = createMuiTheme({
      overrides: {
            MuiStepLabel: {
                label: {
                    color: 'pink',
                },
            },
        },
    });


chore: test PR previews from forks

Test passed ✅

Testing if this runs even when PRs get closed...


refactor: Use DIR instead of dirname(FILE)

The Issue
The code generated by DDEV to include its own settings.php could be simplified like this.
How This PR Solves The Issue
Manual Testing Instructions
Automated Testing Overview

Release/Deployment Notes

Thank you @mxr576 !


Update dependency fastapi to v0.111.1

This PR contains the following updates:

Package
Type
Update
Change

fastapi
project.dependencies
patch
==0.111.0 -> ==0.111.1

Release Notes

tiangolo/fastapi (fastapi)
v0.111.1
Compare Source
Upgrades

➖ Remove orjson and ujson from default dependencies. PR #11842 by @tiangolo.

These dependencies are still installed when you install with pip install "fastapi[all]". But they not included in pip install fastapi.

📝 Restored Swagger-UI links to use the latest version possible. PR #11459 by @UltimateLobster.

Docs

✏ Rewording in docs/en/docs/fastapi-cli.md. PR #11716 by @alejsdev.
📝 Update Hypercorn links in all the docs. PR #11744 by @kittydoor.
📝  Update docs with Ariadne reference from Starlette to FastAPI. PR #11797 by @DamianCzajkowski.
📝 Update fastapi instrumentation external link. PR #11317 by @softwarebloat.
✏ Fix links to alembic example repo in docs. PR #11628 by @augiwan.
✏ Update docs/en/docs/fastapi-cli.md. PR #11715 by @alejsdev.
📝 Update External Links . PR #11500 by @devon2018.
📝 Add External Link: Tutorial de FastAPI, ¿el mejor framework de Python?. PR #11618 by @EduardoZepeda.
📝 Fix typo in docs/en/docs/tutorial/body-multiple-params.md. PR #11698 by @mwb-u.
📝 Add External Link: Deploy a Serverless FastAPI App with Neon Postgres and AWS App Runner at any scale. PR #11633 by @ananis25.
📝 Update security/first-steps.md. PR #11674 by @alejsdev.
📝 Update security/first-steps.md. PR #11673 by @alejsdev.
📝 Update note in path-params-numeric-validations.md. PR #11672 by @alejsdev.
📝 Tweak intro docs about Annotated and Query() params. PR #11664 by @tiangolo.
📝 Update JWT auth documentation to use PyJWT instead of pyhon-jose. PR #11589 by @estebanx64.
📝 Update docs. PR #11603 by @alejsdev.
✏ Fix typo: convert every 're-use' to 'reuse'.. PR #11598 by @hasansezertasan.
✏ Fix typo in fastapi/applications.py. PR #11593 by @petarmaric.
✏ Fix link in fastapi-cli.md. PR #11524 by @svlandeg.

Translations

🌐 Add Spanish translation for docs/es/docs/how-to/graphql.md. PR #11697 by @camigomezdev.
🌐 Add Portuguese translation for docs/pt/docs/reference/index.md. PR #11840 by @lucasbalieiro.
🌐 Fix link in German translation. PR #11836 by @anitahammer.
🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/sub-dependencies.md. PR #11792 by @Joao-Pedro-P-Holanda.
🌐 Add Turkish translation for docs/tr/docs/tutorial/request-forms.md. PR #11553 by @hasansezertasan.
🌐 Add Portuguese translation for docs/pt/docs/reference/exceptions.md. PR #11834 by @lucasbalieiro.
🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/global-dependencies.md. PR #11826 by @Joao-Pedro-P-Holanda.
🌐 Add Portuguese translation for docs/pt/docs/how-to/general.md. PR #11825 by @lucasbalieiro.
🌐 Add Portuguese translation for docs/pt/docs/advanced/async-tests.md. PR #11808 by @ceb10n.
🌐 Add Ukrainian translation for docs/uk/docs/tutorial/first-steps.md. PR #11809 by @vkhoroshchak.
🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/dependencies-in-path-operation-operators.md. PR #11804 by @Joao-Pedro-P-Holanda.
🌐 Add Chinese translation for docs/zh/docs/fastapi-cli.md. PR #11786 by @logan2d5.
🌐 Add Portuguese translation for docs/pt/docs/advanced/openapi-webhooks.md. PR #11791 by @ceb10n.
🌐 Update Chinese translation for docs/tutorial/security/oauth2-jwt.md. PR #11781 by @logan2d5.
📝 Fix image missing in French translation for docs/fr/docs/async.md . PR #11787 by @pe-brian.
🌐 Add Portuguese translation for docs/pt/docs/advanced/advanced-dependencies.md. PR #11775 by @ceb10n.
🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/classes-as-dependencies.md. PR #11768 by @Joao-Pedro-P-Holanda.
🌐  Add Portuguese translation for docs/pt/docs/advanced/additional-status-codes.md. PR #11753 by @ceb10n.
🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/index.md. PR #11757 by @Joao-Pedro-P-Holanda.
🌐 Add Portuguese translation for docs/pt/docs/advanced/settings.md. PR #11739 by @Joao-Pedro-P-Holanda.
🌐 Add French translation for docs/fr/docs/learn/index.md. PR #11712 by @benjaminvandammeholberton.
🌐 Add Portuguese translation for docs/pt/docs/how-to/index.md. PR #11731 by @vhsenna.
🌐 Add Portuguese translation for docs/pt/docs/advanced/additional-responses.md. PR #11736 by @ceb10n.
🌐 Add Portuguese translation for docs/pt/docs/advanced/benchmarks.md. PR #11713 by @ceb10n.
🌐 Fix Korean translation for docs/ko/docs/tutorial/response-status-code.md. PR #11718 by @nayeonkinn.
🌐 Add Korean translation for docs/ko/docs/tutorial/extra-data-types.md. PR #11711 by @nayeonkinn.
🌐 Fix Korean translation for docs/ko/docs/tutorial/body-nested-models.md. PR #11710 by @nayeonkinn.
🌐 Add Portuguese translation for docs/pt/docs/advanced/fastapi-cli.md. PR #11641 by @ayr-ton.
🌐 Add Traditional Chinese translation for docs/zh-hant/docs/fastapi-people.md. PR #11639 by @hsuanchi.
🌐 Add Turkish translation for docs/tr/docs/advanced/index.md. PR #11606 by @hasansezertasan.
🌐 Add Turkish translation for docs/tr/docs/deployment/cloud.md. PR #11610 by @hasansezertasan.
🌐 Add Turkish translation for docs/tr/docs/advanced/security/index.md. PR #11609 by @hasansezertasan.
🌐 Add Turkish translation for docs/tr/docs/advanced/testing-websockets.md. PR #11608 by @hasansezertasan.
🌐 Add Turkish translation for docs/tr/docs/how-to/general.md. PR #11607 by @hasansezertasan.
🌐 Update Chinese translation for docs/zh/docs/advanced/templates.md. PR #11620 by @chaoless.
🌐 Add Turkish translation for docs/tr/docs/deployment/index.md. PR #11605 by @hasansezertasan.
🌐 Add Turkish translation for docs/tr/docs/tutorial/static-files.md. PR #11599 by @hasansezertasan.
🌐 Polish translation for docs/pl/docs/fastapi-people.md. PR #10196 by @isulim.
🌐 Add Turkish translation for docs/tr/docs/advanced/wsgi.md. PR #11575 by @hasansezertasan.
🌐 Add Turkish translation for docs/tr/docs/tutorial/cookie-params.md. PR #11561 by @hasansezertasan.
🌐 Add Russian translation for docs/ru/docs/about/index.md. PR #10961 by @s111d.
🌐 Update Chinese translation for docs/zh/docs/tutorial/sql-databases.md. PR #11539 by @chaoless.
🌐 Add Chinese translation for docs/zh/docs/how-to/configure-swagger-ui.md. PR #11501 by @Lucas-lyh.
🌐 Update Chinese translation for /docs/advanced/security/http-basic-auth.md. PR #11512 by @nick-cjyx9.

Internal

♻ Simplify internal docs script. PR #11777 by @gitworkflows.
🔧 Update sponsors: add Fine. PR #11784 by @tiangolo.
🔧 Tweak sponsors: Kong URL. PR #11765 by @tiangolo.
🔧 Tweak sponsors: Kong URL. PR #11764 by @tiangolo.
🔧 Update sponsors, add Stainless. PR #11763 by @tiangolo.
🔧 Update sponsors, add Zuplo. PR #11729 by @tiangolo.
🔧 Update Sponsor link: Coherence. PR #11730 by @tiangolo.
👥 Update FastAPI People. PR #11669 by @tiangolo.
🔧 Add sponsor Kong. PR #11662 by @tiangolo.
👷 Update Smokeshow, fix sync download artifact and smokeshow configs. PR #11563 by @tiangolo.
👷 Update Smokeshow download artifact GitHub Action. PR #11562 by @tiangolo.
👷 Update GitHub actions to download and upload artifacts to v4, for docs and coverage. PR #11550 by @tamird.
👷 Tweak CI for test-redistribute, add needed env vars for slim. PR #11549 by @tiangolo.
👥 Update FastAPI People. PR #11511 by @tiangolo.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

cf https://github.com/robert-koch-institut/mex-drop/pull/125


nugets should be developmentdependency

Currently pulling in Microsoft.NET.Test.Sdk pulls in Microsoft.TestPlatform.TestHost which pulls in Newtonsoft.Json version 9.0.1
note that v9 is 5+ years old and 4 majors behind.
This pollutes intellisense can can cause type/assembly loading issue when most projects are referencing a newer major version of Newtonsoft.Json.
So shouldnt the nuspecs for Microsoft.NET.Test.Sdk (and transitive) all be developmentdependency so they do not pollute the compile/run time of the test project consuming them?

( From what I see, Test.SDK is rather a development non-dependency, you only want it for runtime :) )
It is how it is because we have a big pile of scenarios to support, and newtonsoft.json is for some reason embedded in our public api that is used for all communication. BUT if you have better solution that ticks all our boxes then I am all for it.

We use Newtonsoft.Json because our public api (Message) for some reason uses JToken as the public type, rather than making it  a string or string collection. This is a very general problem we have, and I think this api is just overpublished, but we cannot change it at the moment. Without this, we would probably already moved to System.Text.Json.

We use very old version of Newtonsoft.Json because the dll is output into bin directory, and mixes with your test project dependencies, and we don't want to upgrade your project if you happen to use an older version. If your project uses 13.0.1 (or whatever the latest is now), you will get that.

We need the dependency to be there when running, because we use it to actually communicate from testhost to vstest.console. In the past (when .net framework only existed) all the testhost dependencies were resolved from runner directory, and there was no nuget you were referencing. For .net "core" the situation is a bit more complicated, because deps.json need to list all dependencies correctly, and especially when you run as self-contained app you need to have the dependencies present in the output folder. Or at least with our current setup, where we don't provide additional deps path.

We need both projects that need building, and pre-built assemblies to work.

It might not look like it from the outside, but we are inch by inch trying to get to a better place where we don't mix dependencies with the tested project. Have the same story for .NET Framework and .NET, and unified story for all the .NET versions we support.


fix two bugs in GameState serialization

The getHand function was getting totally lost, because after deserialization it wasn't a PlayerState it was just a classless object.
Also turn was getting deserialized wrong, due to some 0 vs false vs undefined confusion.

Lgtm


test: add JS fuzz/invariant integration tests

Add JS fuzz/invariant integration tests and fix the following issues:

Make the failure persist dir optional for fuzz config as intended originally to be able to disable persisting results.
Disable collecting gas report samples during fuzz/invariant testing for performance as we don't yet support gas reports.
Remove unwrap on FuzzConfig::failure_persist_file. Instead reflect in the type system that it's not optional.
Mitigate leaking the fuzz failure persist path by making sure that one particular path is only leaked once.

I pushed a commit removing chai-as-promised and checking if a directory exists using fs.existsSync.
The previous version wasn't bad or anything, but I've had so many bad experiences with chai-as-promised that I'd rather avoid it.


Support AddJsonDataAnnotationsLocalization()

Based on the comment https://github.com/hishamco/My.Extensions.Localization.Json/issues/2#issuecomment-515098347

Seems doable, I'm glad if you want to send a PR for it, otherwise I 'll do it myself :)

I created a pull request for this. Kindly review and issue a new NuGet package.
Many thanks,

Thanks to @abarrak,

Thanks for your PR, please have a look to my comments there ..


[v0.3.x] Handle not working when no items on init

Followup to https://github.com/nextapps-be/livewire-sortablejs/pull/34

Since this update the plugin doesn't work anymore. I also don't have any javascript errors. I just can't drag-and-drop anymore.

UPDATE: I needed to add manually wire:sortable-group.handle to the element. Otherwise the full element wasn't draggable like before.

@Jatarii Is it possible that certain items have a handle and other items do not? If all items have no handle, then the full element of each item is draggable when I test this. But if I have a mix of items with and without a handle, then those without a handle can't be dragged.


Can be done differently the implementation of the DependencyScope?

Hi everyone,
I am writing a new web api application using Windsor. I've always used Microsoft Unity and Autofac. Now I want to try Windsor.
But something is not clear using Windsor. I have seen how everyone, all people, write the dependency resolver and the dependency scope.
Honestly, I do not like that way... It seems muddler to me... but perhaps because I have not understood something..
I try to explain what I mean talking about my experience with Unity and Autofac. The question I want to answer is: How do I start a new scope in "every" DI framework?
Microsoft Unity
In the dependencyResolver, inside the BeginScope method, I creat a childContainer and I call recursively the resolver:
var child = container.CreateChildContainer();
return new UnityResolver(child);

In this way, every service resolved in the child container will have the scope of the child container. The scopes of the child containers are the classic scopes: Singleton, PerWebRequest, ....
Autofac
In the dependencyResolver, inside the BeginScope method, I create a dependencyScope object that take as parameter a LifeTimeScope. Then, I resolve everyting in the lifeTimeScope:
new AutoFacDependencyScope(_container.BeginLifetimeScope());
Here, how resolve the service(s) in the AutoFacDependencyScope:
_lifetimeScope.TryResolve(serviceType, out instance);
As you can see, the services are resolved using the lifeTimeScope, not the container.
Windsor
Surely you know better than me how to implement the dependency resolver and the dependency scope. Here I write how I have done.
In the dependencyResolver, inside the BeginScope method, I create a dependencyScope object that take as parameter the SAME instance of the container I am using. Then, inside the dependencyScope i do a begin scope and I resolve the services in the container I passed from outside.
It looks like nothing changed... I am resolving everything inside the main container just with the difference that before I have called a begin scope... perhaps that is enough to create everything with a scope... but it is not explicit... I am just supponsing...
Is it correct this way?

I have an open PR where I am trying to get this exact idea merged. You can see the implementation we are going for here. The PR is also #351.

Thank you for answer.. I see it

@scoppini - Have you had a chance to look at this? We have not released yet and would love to hear some feedback.

Also wrote some docs for this here: https://github.com/castleproject/Windsor/blob/master/docs/aspnetwebapi-facility.md


Modernize giftless

Build with 3.10 as a base and move all dependencies to their current versions.

So, this is a pretty good start, I think, at a modernized giftless.  It now requires Python 3.10 or greater to run, but all its dependencies are up to date.
The major thing that needs attention, and I think it probably needs attention from the Datopian side, is that moving to a newer set of Google libraries broke the Google Storage testing suite, which is extremely opaque (being pytest-vcr cassettes recorded against some Datopian set of runs against their repos).  Hopefully someone at Datopian knows how these were produced and can just recreate them using the new code as a base.
I'm confident that Google still works as a storage backend, although I have only tested it with Workload Identity credentials (since that's what I use) rather than stored keys.  But it's working fine for my Git-LFS implementation.
The other thing is that I took out pytest-flake8, so right now there's no test that the codebase passes flake8 (I ran it by hand to make sure it still does, and I feel like this/isort/tox all ought to be pre-commit hooks too).  pytest-flake8 is unmaintained and doesn't work with recent flake8s, and we should probably switch over to using ruff or black rather than flake8.  That's work I didn't want to tackle right now.  I've got some pre-commit hooks for other Rubin Observatory projects that can probably be repurposed here pretty easily to get us back up to snuff, and add ruff/black to the set of checks as well.

@athornton is this good to merge as is or do we need to wait on the other points you mention?

The major thing that needs attention, and I think it probably needs attention from the Datopian side, is that moving to a newer set of Google libraries broke the Google Storage testing suite, which is extremely opaque (being pytest-vcr cassettes recorded against some Datopian set of runs against their repos). Hopefully someone at Datopian knows how these were produced and can just recreate them using the new code as a base.

I'm wondering if should try redoing this testsuite in some more standardized way. (plus the original author of those tests is no longer with us!)

The other thing is that I took out pytest-flake8, so right now there's no test that the codebase passes flake8 (I ran it by hand to make sure it still does, and I feel like this/isort/tox all ought to be pre-commit hooks too). pytest-flake8 is unmaintained and doesn't work with recent flake8s, and we should probably switch over to using ruff or black rather than flake8. That's work I didn't want to tackle right now. I've got some pre-commit hooks for other Rubin Observatory projects that can probably be repurposed here pretty easily to get us back up to snuff, and add ruff/black to the set of checks as well.

Let's replace flake8 with black. Would you be up for that?

I think merging it as-is is better than not merging it, in that it's getting increasingly hard to install Python 3.7 since it's past EOL, and therefore it's been removed from brew and stuff like that.  And the test suite...well...
I very very much agree that a test suite that mocks out the cloud providers' responses and doesn't rely on the opaque wire-traffic captures that are basically what pytest-vcr does, would be a lot more maintainable and usable going forwards...but that's going to be quite a bit of work.  It's certainly worth doing, and there may already be useful testing libraries for AWS and GCP--we're not the first people to write services against them, after all.  I don't know HOW much work, though, which worries me.
When I'm back at work (next week, assuming I'm not firefighting) I'll freshen up the github actions and tox with basically-what-we-use-in-the-Rubin-project for linting and style-guide formatting.  It's not very different than what the flake8 here did, although we tend to use shorter lines....but black will handle that for us.  That's going to be one very large and very boring commit, so I'll make sure that "apply new formatting standards" is its own commit.

@athornton great. Ok i'll merge this for now.
Also LMK if we should move (some parts) of this discussion to a general issue about "upgrading giftless" so it doesn't get lost across different PRs 🙂

A general-purpose issue seems like a good idea to me.  I'll list the couple of things that immediately come to mind:

maintainable test suite
build/push docker artifacts via GHA, with matching tags in GH and Docker Hub
2a) Or, just (or additionally) push to ghcr.io, which simplifies authentication somewhat

...when I'm back at my work computer next week I'll see if more occurs.

Ok created #126


How to resize Hwameistor Nodes from 3 to 5

3 Worker Nodes has been managed by Hwameistor ,How to resize 3 nodes to 5 nodes （the target 2 nodes is master nodes）

to reinstall hwameistor or other ways?

LDC for nodes can be applied alone ,no needs to reinstall . if reinstall ,please clean the disk .
if resizing nodes  is  master nodes ,please check the logs message of local-disk-manager, and filter master01 key words


Add link to each company's LinkedIn page

As the title suggests. Maybe it is more useful to use the link to the company's job offers on LinkedIn, than the one on the LinkedIn company page.

Hey, @salvadorbs we don't force companies to put links to Linkedin, every company can add an URL to the main website and an URL to the career page (wherever it is hosted).
So if someone has added the Linkedin company page as a career page url then that's an error.
I hope this answer your question

Ok, I just saw that in addition to the career page, (from my personal experience) it is always convenient to see the page of job offers that are on LinkedIn of a certain company.
However, it was only a suggestion, so you can very well close the issue. Thank you. 😄


Add run on repl.it badge to README

This pull request configures this repository to be run on Repl.it.      It adds a .replit configuration file and a Repl.it badge to the README.
You can read more about running repos on Repl.it here, or view the Repl here.

It is an interesting idea. Can you please give me a couples of examples of repositories with the repl.it badge + give more details, why it could be useful for the wttr.in users and lovers?

I think the primary benefit of using a repl.it badge would be that it allows prospective users to test wttr.in directly from the browser without installation. The badge is quite new (came out yesterday, I believe) so there aren't a ton of repositories with the repl.it badge yet.
Here are a couple, though:
https://github.com/frostming/legit
https://github.com/unknownblueguy6/MineSweeper
https://github.com/jarun/ddgr
Also, yes I agree opening with print(requests.get("http://wttr.in/?n2").text) would be more relevant and better demonstrate the wttr.in's capabilities.

@woodjosh256 Sorry for the long time it took for the answer.
I played a little bit with the repl.it, and it seems to me that it could be pretty interesting,
as some extended platforms to experiment with wttr.in.
Do you know how it could be possible to add/run several commands
in the terminal of repl.it? In the right section?
It would be great to show there several different output formats (normal, v2, one-line).

I still didn't find a good usecase for it, maybe I will find it later. If you have new ideas/arguments,please feel free to comment/reopen it


Remove the cluster client

The cluster client no longer makes sense with recent patches.
Don't forget:

remove the example in the README.
remove the section in api-documentation.rst

Hi,
which recent patches do you refer to ?
Or are you referring to InfluxDB itself that no longer support cluster ?
we are still using InfluxDB 0.11 with cluster, and that feature of influxdb-python was useful to us :(

This refers to https://github.com/influxdata/influxdb-python/pull/354. It was removed because InfluxDB instances can no longer be considered as equivalent (in the open source version). You can't just write a point to another instance if one of them is down. And round robin does not make sense either.
https://github.com/influxdata/influxdb-relay Can come into help. One would use the python client to write to a relay instead of writing to any server in the pool.

Fine, thanks for taking time to explain the removal.
I've created a PR (#396) to re-add the cluster in a legacy module with warning that state this cluster client must NOT be used with newer influxdb-relay cluster.

We are using the latest commercial version of InfluxDB (v1.2 Enterprise) which does not rely on a relay server. This means the load balancing still needs to be done on the client, hence there is still a strong use case for the ClusterClient. The removal of this functionality means that we cannot upgrade to the latest release of influxdb-python.
Are there any plans to support Influx-Enterprise?

PR #396 should works with latest InfluxDB enterprise cluster, it only require that all nodes are equivalent: writing on one node is replicated by the node to the other nodes; reading from any node return the same data
But since the ClusterClient is still useful in Influxdb enterprise, maybe the PR should not move it to a "legacy" module, but not normal module and/or "enterprise" module (e.g. with due warning that it does not works with relay cluster). What do you think @aviau, should I update the PR in this way ?


More use case icons

need to add more as more LLMs come along. Long-term task

or just use hexagons


Change response json after proxy

Currently I'm using moco with json.
Is there a way to change a json property of a proxy response?
What I'm trying to achieve: Send a request to a different site, get the json response from that site and change a json property.
Example:
  {
    "request": {
      "uri": "/foo/bar"
    },
    "response": {
      "proxy": {
        "url": {
          "template": "http://another.site/${req.uri}"
        }
      }
    }
  }

http://another.site/${req.uri} will return me a json like:
{
    "data" : {
        "id" : "12345",
        "foo" : "bar"
    }
}

And I want to change property foo to another value.

Why do you need to change the response value?

We need to mock a state.
We're developing a feature against a sandbox of an external provider. But there are not all possible states available in the sandbox environment.
So we want to mock them for testing.

@fabsimilian Do you want to change "foo" with fixed value?

There is no current solution, but I'm trying to figure out a possible solution.
For example, configuration like the following:
{
    "request": {
      "uri": "/foo/bar"
    },
    "response": {
      "proxy": {
        "url": {
          "template": "http://another.site/${req.uri}"
        },
        "modifier": {
          "key" : {
            "jsonPath": "$.data.foo"
          },
          "value": "fixed"
        }
      }
    }
  }


To have the latest Chrome driver and Geckodriver

Assuming it all works - I'll merge.

Within 28 seconds, got an approval! :+1:


Add a structure test for built candela.js file

Depends on #140

Awesome. LGTM. +1 that there are now exactly 100 unit tests (dare we make more?)


Allow DerivesFrom claims to be checked by authorization logic.

Currently, DerivesFrom claims are used to draw an explicit edge between an input and an output in a ParticleSpec and also prevent the drawing of default edges between the inputs and outputs within the code that generates analysis Datalog facts. This, in a sense, causes DerivesFrom claims to always be believed. What we want is for DerivesFrom claims to be checked by authorization logic and, if they are not believed by authorization logic, fall back on the default dataflow edges. This may require the datalog facts generator to output derivesFromEdges and defaultIntraParticleEdges (not necessarily final names) which are then either turned into edges or ignored depending upon the result of the authorization logic.

This is obsolete as we no longer support the old arcs manifest.


rename examples package, simplify changeset config and pipeline

clean up examples
ignore internal packages in changesets

Is the main benefit that we won't have to keep updating config as we add examples/internal packages?

correct!


Bugfix: Set CURLOPT_COOKIEJAR after reset of curlhandle

This is a bugfix for a bug reported by Håkan Jerning on IRC on 4th November 2017, who reported that the cookie-cache option did not work as expected. According to the reporter, the bug is fixed by this patch.
Summary
When resetting a curlhandle, this also discards the CURLOPT_COOKIEJAR option, which means that no cookies get persisted even though the "cookie-cache" config option is enabled.
Details
In the url-parser, we reset the curl_handle after each request, which according to the libcurl documentation "[r]e-initializes all options previously set on a specified CURL handle to the default values" and seems like a good idea to not leak old settings into new connections.
Some handle-data, like cookies remain untouched by this operation, which is important, because we (optionally) use those cookies to speed up future connections by reusing already established sessions, etc. The required serialisation of curl's cookies is controlled by CURLOPT_COOKIEJAR, which is also discarded by curl_easy_reset, therefore, no cache is written.
This patch ensures that this particular setting remains intact over resets.
Acknowledgements
Testers: Håkan Jerning

Coverage decreased (-0.008%) to 35.697% when pulling ca8bb9abcad01be938a193d590c8021bd99317c3 on noctux:fix-cookiejar into de56dab331cb20fd2ef50e78239907e2583ccc5b on newsboat:master.

Coverage decreased (-0.008%) to 35.697% when pulling 0d3cb55d517627eef934e851829ffa6c0cefe288 on noctux:fix-cookiejar into de56dab331cb20fd2ef50e78239907e2583ccc5b on newsboat:master.

Thank you for investigating and fixing this!


Add Currency attribute to BillingInfo

Addresses https://github.com/recurly/recurly-client-net/issues/145
See the Ruby PR for more details about this attribute.
Testing

// enable debugging by defining this at the top of your program
#define DEBUG

// Fetch an account
var account = Accounts.Get("myaccountcode");
var info = new BillingInfo(account);

info.FirstName = "Verana";
info.LastName = "Example";
info.CreditCardNumber = "4111-1111-1111-1111";
info.VerificationValue = "123";
info.ExpirationMonth = 11;
info.ExpirationYear = 2019;
info.Currency = "EUR";

info.Create();

Verify that the resulting xml in the debug output has the currency attribute:
<billing_info>
  <first_name>Verana</first_name>
  <last_name>Example</last_name>
  <currency>EUR</currency>
  <number>4111-1111-1111-1111</number>
  <month>11</month>
  <year>2019</year>
  <verification_value>123</verification_value>
</billing_info>

🌴 +1 🌴


Feature/156 add the scope to the run configuration

This feature was implemented slightly differently to what is written in the ticket. We decided to create a temporary run config whenever pitest is run from an action (gutter or context menu). This way the "pseudo-automatic" scope selection will always make sense.
It didn't make sense to us that a "no overwrite" checkbox exists, because that would mean if the user creates a run config manually and checks this box, then the user would probably be confused as to why clicking the gutter run button next to the class doesn't run for that class (but for their manually defined scope).
The user can set a scope manually through the Run Configuration editor and this scope will never be overwritten.

I guess it can be a bit annoying to add all the classes by hand. But tbh I don't really remember anymore why we wanted to implement this :D

@lheimbs

Right now we have the settings for the pitest task and the gradle executable in the run config settings. When the temporary run config is created in the action there is no way a user could set these... I think that's one of the reasons the POs wanted the persistent run configs.

Ok I see. It's not actually clear to me what these two settings are needed for in the first place. Is there documentation on this? Maybe @Felix-012 @emuguy1 can either of you give input here? As the ticket is rather vague

well the task that is running pitest does not neccessarily have to be called pitest as the user can wrap another task around pitest to perform some sort of setup or so.
Of course that is very unlikely, same as a user not using the Gradle wrapper at it's default location.
But at some time there was a ticket to add more/other pitest settings to the run config settings so if that is still planned it also wouldn't work with how you have it now...

Well First of all, if something is unclear about the ticket, just ask. As always we answer as fast as possible. The reason We didnt want temporary run configs for something like actions and context menu, is so a user could have examples of how he has to define the scope if he wants to write a different one/ Keep often used scopes in configurations, so he doesnt need to select it every time.
The idea was, that if the selected run config has a different scope than what is selected by a action, a new run config is created/ a existing not to be saved config is changed to have the new scope. Regarding the things lennard mentioned:
I think these settings we could move to something like a mutation mate property file as the IPs already mentioned for the problem with the android build type. Gonna talk to Felix about that, or we could talk about it tomorrow.
I think we could talk about just printing the scope to a specific spot so a user could copy it. But I also think the original propsed solution would probably be the best. What do you guys think?
@lheimbs @brianneoberson @lfogarty98 @nikomall34
I hope this is understandable. If not please write further questions.


Initial version: Startup Interviews

[x] Create a YouTube playlist with multiple startup interviews
[x] #9
[x] #10
[x] #11

[x] Speaker Diarization

[x] Convert to text dataset, apache:chat JSON format - #12

[ ] If # of speakers > 1 then determine which is the speaker

[ ] The speaker with the most words is the interviewee, who is the assistant role

[x] Use video chapter titles to generate interview prompts/questions
[x] Use ChatGPT3.5 to generate interview prompts/questions based on answer

Example using trained model:
================================================================================
Give me an instruction (Ctrl + D to finish):
Who do you recommend new startup founders?
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
Who do you recommend new startup founders?

### Response:
/root/miniconda3/envs/py3.9/lib/python3.9/site-packages/bitsandbytes-0.39.0-py3.9.egg/bitsandbytes/autograd/_functions.py:318: UserWarning: MatMul8bitLt: inputs will be cast from torch.float32 to float16 during quantization
  warnings.warn(f"MatMul8bitLt: inputs will be cast from {A.dtype} to float16 during quantization")
This. First off, I think you should work at a company for 2 years before trying to be an  entrepreneur.</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
Who do you recommend new startup founders?

### Response:
 This. First off, I think you should work at a company for 2 years before trying to be an entrepreneur.</s>
================================================================================
Give me an instruction (Ctrl + D to finish):
How do startups compete against larger incumbents in the market?
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
How do startups compete against larger incumbents in the market?

### Response:
The next question I have is how you're gonna get your customers? Because let's be honest. You're not gonna grow without getting more and more customers, right? Right?  They might actually decrease the amount of advertising they spend in order to make the channel more valuable for you because you can go after it at a lower cost than them, but they will definitely increase their acquisition costs by increasing the price of advertisement. Now if you look at this, there's actually some pretty good data on whether companies have raised the number of dollars that they've spent on advertisements every year in the 20 years before Google, Facebook, and Twitter existed. And the answer is no. That's really cool. It turns out that when these companies exist, the only way you could afford to run any ads was if you were growing incredibly fast. In fact, if you grew over 50 percent a year as a company, you still needed to raise prices. This has changed today. Today, it's possible for even companies with slow growth rates to afford TV and radio. They can even buy search ads now. When you're small, however, you don't have much money. It used to be that if you had less than $1 million per month in sales, you didn't qualify to advertise online through any serious channels. But since you don't yet have enough revenue to buy those channels, and therefore they are unavailable to you, the only way you can ever reach new customers is if existing customers who are happy with your products tell their friends about you. So if we think about how startups should grow against incumbents, 1 of the first things to realize is that your product has to be amazing. And I'm not just saying that. I'm telling you this from personal experience. When we started our business, all we did was tell people about it. We said, hey, here's what we're doing. Here's why you need to use us. And here's why you need to convince other people to use us. And I remember very clearly being like, well, what happens is what do we do when somebody doesn't wanna talk to us. Like, what happens? What happens if we have like a negative interaction, and then that person doesn't tell anybody  else?</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
How do startups compete against larger incumbents in the market?

### Response:
 The next question I have is how you're gonna get your customers? Because let's be honest. You're not gonna grow without getting more and more customers, right? Right?  They might actually decrease the amount of advertising they spend in order to make the channel more valuable for you because you can go after it at a lower cost than them, but they will definitely increase their acquisition costs by increasing the price of advertisement. Now if you look at this, there's actually some pretty good data on whether companies have raised the number of dollars that they've spent on advertisements every year in the 20 years before Google, Facebook, and Twitter existed. And the answer is no. That's really cool. It turns out that when these companies exist, the only way you could afford to run any ads was if you were growing incredibly fast. In fact, if you grew over 50 percent a year as a company, you still needed to raise prices. This has changed today. Today, it's possible for even companies with slow growth rates to afford TV and radio. They can even buy search ads now. When you're small, however, you don't have much money. It used to be that if you had less than $1 million per month in sales, you didn't qualify to advertise online through any serious channels. But since you don't yet have enough revenue to buy those channels, and therefore they are unavailable to you, the only way you can ever reach new customers is if existing customers who are happy with your products tell their friends about you. So if we think about how startups should grow against incumbents, 1 of the first things to realize is that your product has to be amazing. And I'm not just saying that. I'm telling you this from personal experience. When we started our business, all we did was tell people about it. We said, hey, here's what we're doing. Here's why you need to use us. And here's why you need to convince other people to use us. And I remember very clearly being like, well, what happens is what do we do when somebody doesn't wanna talk to us. Like, what happens? What happens if we have like a negative interaction, and then that person doesn't tell anybody else?</s>
================================================================================
Give me an instruction (Ctrl + D to finish):
What are the two stages of a startup's journey that you mentioned earlier?
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
What are the two stages of a startup's journey that you mentioned earlier?

### Response:
We often talk about how there's like this 2 stage journey for a startup, which is this idea stage, where you have no product or not even any users yet and then you have a growth stage. If you think of your company as a line chart going through time, it looks kinda sort of like this 1 when you don't have any users, and then it grows up until eventually, maybe it goes straight down, you know, and hopefully you can avoid that. If you look at this as a graph, what you want to do is grow until some point where the number of new customers coming in every day is equal to the number of people churning out every day, and then you wanna maintain that flatline for as long as possible. This doesn't mean that you should stop growing, but ideally, it means that at least in terms of customer acquisition, things are constant. So if you're a founder, you may be thinking, all right, I want my user base to keep growing, and I need to build things that bring on more users. That's true, but there comes a point where your users start churning out faster than they come in. At this point, you have a choice to either continue growing, which puts stress on your support team and increases your burn rate, or you can stabilize by reducing acquisition, which helps your profitability, but hurts your top line and puts stress on growth. As an early stage company, it's very easy to fall into this trap of continually increasing your customer acquisition costs. And so the advice here is quite simple, you know, if you're spending money on acquisition and you see your growth slowing down, then you've spent too much  money</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
What are the two stages of a startup's journey that you mentioned earlier?

### Response:
 We often talk about how there's like this 2 stage journey for a startup, which is this idea stage, where you have no product or not even any users yet and then you have a growth stage. If you think of your company as a line chart going through time, it looks kinda sort of like this 1 when you don't have any users, and then it grows up until eventually, maybe it goes straight down, you know, and hopefully you can avoid that. If you look at this as a graph, what you want to do is grow until some point where the number of new customers coming in every day is equal to the number of people churning out every day, and then you wanna maintain that flatline for as long as possible. This doesn't mean that you should stop growing, but ideally, it means that at least in terms of customer acquisition, things are constant. So if you're a founder, you may be thinking, all right, I want my user base to keep growing, and I need to build things that bring on more users. That's true, but there comes a point where your users start churning out faster than they come in. At this point, you have a choice to either continue growing, which puts stress on your support team and increases your burn rate, or you can stabilize by reducing acquisition, which helps your profitability, but hurts your top line and puts stress on growth. As an early stage company, it's very easy to fall into this trap of continually increasing your customer acquisition costs. And so the advice here is quite simple, you know, if you're spending money on acquisition and you see your growth slowing down, then you've spent too much money</s>
================================================================================
Give me an instruction (Ctrl + D to finish):
What are Post product market fit and pre product market fit?
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
What are Post product market fit and pre product market fit?

### Response:
Pre post Product Market Fit, but let's start with Product Market fit. So, there's some confusion out there about what this term means in the startup world. Some people think it has to do with revenue, others think it's got to do with profitability. And then, some other folks just sort of throw up their hands and say we have no idea what it really is. The truth is, these definitions are pretty fluid as they relate to the state of your startup in its entirety, you know, so there's no 1 clear definition like, you know, in the English language. But we can simplify it by saying that when you achieve product market fit, you've found a set of features or capabilities that resonate most with users or customers. Now, I don't wanna get too deep into our philosophy on Product Market fit, but this is the number 1 thing you should be focusing on at any point in time if you're starting a startup. And this will allow you to move forward in building your business, because you will know that what you're building is something that customers actually  want.</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
What are Post product market fit and pre product market fit?

### Response:
 Pre post Product Market Fit, but let's start with Product Market fit. So, there's some confusion out there about what this term means in the startup world. Some people think it has to do with revenue, others think it's got to do with profitability. And then, some other folks just sort of throw up their hands and say we have no idea what it really is. The truth is, these definitions are pretty fluid as they relate to the state of your startup in its entirety, you know, so there's no 1 clear definition like, you know, in the English language. But we can simplify it by saying that when you achieve product market fit, you've found a set of features or capabilities that resonate most with users or customers. Now, I don't wanna get too deep into our philosophy on Product Market fit, but this is the number 1 thing you should be focusing on at any point in time if you're starting a startup. And this will allow you to move forward in building your business, because you will know that what you're building is something that customers actually want.</s>
================================================================================
Give me an instruction (Ctrl + D to finish):
How do you know when you have product market fit?
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
How do you know when you have product market fit?

### Response:
1 way of knowing you have a good idea for your first company is when you can't get someone to work with you on it. When we were working on AdWords, and there was nothing around at that time, so if I had tried to hire another engineer, they would tell me no. If I asked them to work on it, they wouldn't want to work on it because there was nothing else to work on. Now, that worked perfectly for us. What happens if someone tries to hire you, like a co founder or something like that. That didn't happen very much before YC existed. Because back then, engineers really wanted to work in big companies and startups weren't a great place to be.  You should definitely go work for them. But if you really wanna build what they're building, then keep working on it. Alright.  Great.</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
How do you know when you have product market fit?

### Response:
 1 way of knowing you have a good idea for your first company is when you can't get someone to work with you on it. When we were working on AdWords, and there was nothing around at that time, so if I had tried to hire another engineer, they would tell me no. If I asked them to work on it, they wouldn't want to work on it because there was nothing else to work on. Now, that worked perfectly for us. What happens if someone tries to hire you, like a co founder or something like that. That didn't happen very much before YC existed. Because back then, engineers really wanted to work in big companies and startups weren't a great place to be.  You should definitely go work for them. But if you really wanna build what they're building, then keep working on it. Alright. Great.</s>
================================================================================
Give me an instruction (Ctrl + D to finish):
How can startups improve their product and learn from their customers at a faster pace?
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
How can startups improve their product and learn from their customers at a faster pace?

### Response:
So 1 of the problems that most founders have is how do I learn about my users? How do I quickly iterate, so if you're working on something, let's say it's a new app or whatever, How can I build something, show it to people, then be able to iterate quickly enough and get feedback and learn from people using it as fast as possible. So there's 2 main ways. The first thing I like to recommend to founders is just go talk with your friends and users. In other words, if you're in school, Go hang out at campus common space or the library or anywhere. If you are not in school, Find your best friend, your mom, your uncle, and whoever and tell them about your idea and ask them a bunch of questions, why would they use this, what parts do they think are confusing? What parts don't make sense? That's a very good way to start iterating early on because 1, You find some sort of hypothesis for yourself and your team of what your users need, but also, even more importantly, those users will come back with actual specific things that your product needs. And then if you can quickly implement them and give them a better experience, you can actually win. So talking directly to users is a really useful way for companies especially in the beginning to iterate on what they're  building.</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
How can startups improve their product and learn from their customers at a faster pace?

### Response:
 So 1 of the problems that most founders have is how do I learn about my users? How do I quickly iterate, so if you're working on something, let's say it's a new app or whatever, How can I build something, show it to people, then be able to iterate quickly enough and get feedback and learn from people using it as fast as possible. So there's 2 main ways. The first thing I like to recommend to founders is just go talk with your friends and users. In other words, if you're in school, Go hang out at campus common space or the library or anywhere. If you are not in school, Find your best friend, your mom, your uncle, and whoever and tell them about your idea and ask them a bunch of questions, why would they use this, what parts do they think are confusing? What parts don't make sense? That's a very good way to start iterating early on because 1, You find some sort of hypothesis for yourself and your team of what your users need, but also, even more importantly, those users will come back with actual specific things that your product needs. And then if you can quickly implement them and give them a better experience, you can actually win. So talking directly to users is a really useful way for companies especially in the beginning to iterate on what they're building.</s>
================================================================================
Give me an instruction (Ctrl + D to finish):
What factors do you think contribute to the success or failure of startups in terms of scaling?"
========================================
<s>Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
What factors do you think contribute to the success or failure of startups in terms of scaling?"

### Response:
Let me kinda talk about how I think of when things are working and when they're not working. So, to start with, it turns out that the most successful businesses are very easy to explain what they do. Like, people get it almost instantly. And these are ones that we refer to as idea companies. These are companies like Dropbox, which at some point is gonna just be called a file sharing company. Airbnb, at some point is just gonna be called home rentals. Reddit, news aggregator. You know?  What makes these really great is that there's not a lot of competition. They have strong network effects. Like, once someone's on Reddit, that person won't wanna leave, because everyone else is on there. And they can make money very easily off of this base of customers who don't wanna move away, and they can grow and grow and grow quickly.  Right? This is where the magic happens, right? It's like, oh, what does your company do? How do you explain it? Or it's like a product that doesn't quite work yet. Right? But at the end of the day, it's pretty obvious why someone would use it. And it's very clear what problem you're solving. You have a good idea of who would want to use it. Maybe not necessarily everyone, but maybe a specific type of user that's gonna be really excited by what you do. It has strong network effects, it's going to grow fast. The reason why you'd call this a hunch is because it still might not make sense in 5 years, you still might change your mind about whether it'll succeed, whether it'll fail, but you feel fairly confident about it now. Like, you've done enough research that you think it will work, right? And then on the far left side you have a bad idea. Ideas that are like, well, this sounds cool. You don't completely get it. There's no reason why anyone would use it. If you say, okay, you know, 5 years from now, I don't know. And there's definitely no network effect. Right? Everyone has their own files. Not gonna share any more than before, so you know, it doesn't even matter if other people come over. And they're hard to explain. Almost no one will get it on first glance. And then the way you figure out whether you got something good or not is you sorta keep iterating. Start with this, try to get to this idea company thing. And every week or month, you should ask yourself, okay, how much closer am I? Is it moving in that direction? Have I made progress? Am I on track? Or is it moving in this direction. Is it slowly getting more obvious to me why someone would use this? What problem am I solving? Are my assumptions about who uses it incorrect? Are the network effects growing? Because you find that over time as you iterate, you'll move into one of those categories over here and start to gain confidence about it. This doesn't mean you're building something that's necessarily going to last for long term. It means you're probably making stuff that people are excited to use right now. That might be good. If you're trying to build an important startup, it doesn't necessarily mean you are. Like, I don't wanna give you the false hope, like, oh, yeah, I started with idea company and  therefore</s>
========================================
<s> Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
What factors do you think contribute to the success or failure of startups in terms of scaling?"

### Response:
 Let me kinda talk about how I think of when things are working and when they're not working. So, to start with, it turns out that the most successful businesses are very easy to explain what they do. Like, people get it almost instantly. And these are ones that we refer to as idea companies. These are companies like Dropbox, which at some point is gonna just be called a file sharing company. Airbnb, at some point is just gonna be called home rentals. Reddit, news aggregator. You know?  What makes these really great is that there's not a lot of competition. They have strong network effects. Like, once someone's on Reddit, that person won't wanna leave, because everyone else is on there. And they can make money very easily off of this base of customers who don't wanna move away, and they can grow and grow and grow quickly.  Right? This is where the magic happens, right? It's like, oh, what does your company do? How do you explain it? Or it's like a product that doesn't quite work yet. Right? But at the end of the day, it's pretty obvious why someone would use it. And it's very clear what problem you're solving. You have a good idea of who would want to use it. Maybe not necessarily everyone, but maybe a specific type of user that's gonna be really excited by what you do. It has strong network effects, it's going to grow fast. The reason why you'd call this a hunch is because it still might not make sense in 5 years, you still might change your mind about whether it'll succeed, whether it'll fail, but you feel fairly confident about it now. Like, you've done enough research that you think it will work, right? And then on the far left side you have a bad idea. Ideas that are like, well, this sounds cool. You don't completely get it. There's no reason why anyone would use it. If you say, okay, you know, 5 years from now, I don't know. And there's definitely no network effect. Right? Everyone has their own files. Not gonna share any more than before, so you know, it doesn't even matter if other people come over. And they're hard to explain. Almost no one will get it on first glance. And then the way you figure out whether you got something good or not is you sorta keep iterating. Start with this, try to get to this idea company thing. And every week or month, you should ask yourself, okay, how much closer am I? Is it moving in that direction? Have I made progress? Am I on track? Or is it moving in this direction. Is it slowly getting more obvious to me why someone would use this? What problem am I solving? Are my assumptions about who uses it incorrect? Are the network effects growing? Because you find that over time as you iterate, you'll move into one of those categories over here and start to gain confidence about it. This doesn't mean you're building something that's necessarily going to last for long term. It means you're probably making stuff that people are excited to use right now. That might be good. If you're trying to build an important startup, it doesn't necessarily mean you are. Like, I don't wanna give you the false hope, like, oh, yeah, I started with idea company and therefore</s>

Input Text: What advice do you have for someone who wants to take their aspirations to the next level or even surpass their wildest dreams?
Predicted Text: So, I'll give some advice. If you want to take your aspiration and make it a reality, here are 3 things that will help you get there. First of all, don't be afraid to fail.  He had companies go bankrupt. But what did he learn from those experiences? And then how was able to apply them into future projects? The second thing is, find mentors. Find people who can guide you through this process. People who have been where you wanna go before. They can tell you about the pitfalls they encountered along the way. And finally, surround yourself with other ambitious people. It's really easy when you start something new to feel alone. To think no one else feels the same way as me. That's not true.  Just waiting to meet each other. So, my final piece of advice is, never stop learning. Never stop trying to improve yourself. Because once you reach your goal, you need to keep going because the world doesn't stand still. Thank you very much.
Input Text: How can entrepreneurs start building their own communities even before launching their product?
Predicted Text: So how do you build a community when your product doesn't exist yet. Well, the first thing is to find people who are interested in what you want to make and talk with them about it. You don't have to be super formal or anything like that. Just go on Twitter and say hey I'm thinking of making this new app for XYZ. What do you think? And then just listen to what they tell you. If there aren't any people talking about something similar already, maybe you should rethink whether you wanna work on this idea at all because if no one cares enough to talk about it, why would anyone care enough to use it? But if lots of people are talking about it, well, now you know that other people share your interest so you might actually have an opportunity here. The next step after finding these people online is to meet up with them offline. This could mean going to conferences where those people hang out. It could also mean organizing events yourself. For example, we organized a hackathon called Hack YC which was basically a 24 hour event where developers came together to try to build apps using our API. We didn't really expect much from it but

Going to close this as done. Have more granular issues from here on.

<|prompt|>How do YC startups compete against larger incumbents in the market?</s><|answer|> So if you're gonna be competing with an incumbent, 1 of the things that we tell our founders is to really understand who are they competing against. If it's a big company like Google or Facebook or Airbnb, then it can feel intimidating. But there's actually a lot that you can learn from how these companies have been able to grow so quickly. They've had a lot of advantages over early stage startups and sometimes they haven't even realized those themselves. And I think as a founder, it helps to know what they were up against at some point when they were starting out. Another thing to keep in mind about this group of startups, most of them started out very small. Most of them didn't have any money. Some of them got lucky and raised some angel investment or maybe some friends and family fundraising. Many of them bootstrapped for quite a long time before they ever took on any outside investor funds. And they all started with just a few people working together. It was not uncommon back in their day to see a bunch of college kids building something amazing in their spare time while they were going to school. So I wanna share a little bit more about how these 3 companies got started because I think it's important to remember where they came from. Let's talk about Airbnb first. This is Brian Chesky, Joe Gebbia, Nate Blecharczyk, and Riley Endicott. These are the original team members who founded air b and b. They started this company in September 2008 after they couldn't afford rent in San Francisco. They literally built air b and b by hand using their own computers. When they launched the website, only about 5 percent of internet users had broadband connections. So basically, no one could use the site without a really slow dialup connection. The average cost to launch a startup in 2008 was around $6 million dollars. For comparison, today it's closer to half a million dollars. At the end of 2009, they only had 4 employees. By 2010, they were still only 7 employees. In fact, they hadn't even hired a CTO until March of 2010. And yet somehow, they managed to grow from almost nothing to being worth nearly 30 billion dollars today. How did they manage to accomplish that? Well, first, they understood what problem they wanted to solve. There were a number of sites already helping travelers find hotels and vacation rentals online. But none of them worked well enough for Brian and his co founders. He said that he tried booking a room through one of the existing services but the process was too complicated. So they decided to build something new that would make finding accommodations easy and intuitive. Secondly, they focused obsessively on user experience. Their goal was to make sure that every single user of the site felt comfortable trusting strangers and sharing their homes. To help accomplish this, they created lots of tools to enable reviews and ratings. Thirdly, they spent a huge amount of time talking directly with potential customers and paying attention to what they needed. Before they had any product at all, they went door to door in San Francisco offering free couch space to anyone who might need it. Then they used that data to improve their product. Fourthly, they iterated relentlessly. They learned what wasn't working about their initial product and they fixed it. They never stopped improving. And finally, they were smart about how they spent their limited resources. They made sure that every dollar they invested into growth was working hard to get them more value than they put in. Okay. Next question. Who should startups work with? What type of partnerships should startups seek? Almost everyone tells you to partner with someone right away, especially when you're getting started. But that doesn't mean it will always be helpful. You don't want to partner with someone unless doing so will move your business forward faster than trying to do everything yourself. If you decide to partner with someone else, choose wisely. Here are a couple questions to ask yourself. Do they bring real value to your business? Are they committed to growing with you? Do they believe in your vision? Can you trust them? Is this person willing to put skin in the game? And does their success depend on yours? Don't forget to consider what you can offer them in return. Always try to strike a balance between giving and taking. Now let's look at an example of a successful startup that has done exactly this. Back in 2010, Stripe was just a couple engineers looking for ways to build a better way to take credit card payments online. They had an idea for software that would allow developers to easily add payment processing functionality to websites and apps. But they knew that they wouldn't be able to pull off such a complex project alone. So instead of trying to do everything themselves, they sought out other companies to form strategic partnerships with. First, they teamed up with Shopify. They integrated stripe's platform with shopify's e commerce platform. Then they partnered with Apple. They helped apple accept payments inside its app store. And finally, they partnered with PayPal. They helped PayPal integrate with its core products. Today, Stripe powers payments for thousands of platforms including Twitter, Pinterest, Reddit, Twitch, Medium, Lyft, Kickstarter, OpenTable, and many others. Each time they added a customer, they also gained access to all of the other customers that customer served. That strategy of seeking out partners has allowed stripe to scale much faster than they otherwise could have. Now let's talk about the last question. Why start now? As a startup founder, you may be thinking about delaying the timing of your startup. Maybe you think that you need to save up more money or finish school or wait for the economy to improve or whatever. Or you may be worried about raising your next round of financing. The truth is that there will never be a perfect moment to begin your journey. Everyone starts somewhere, and usually that means starting with less. It's okay to bootstrap for awhile. It's okay to be scrappy. It's okay to live below your means. You don't necessarily need to raise millions of dollars to prove that you're serious. You can show investors that you're committed by putting your own capital at risk and making progress on your own. And it turns out that starting when you're young has a whole host of benefits. Not only will you have more energy to dedicate to your venture, but you'll also gain valuable life experiences along the way. And you'll develop your networks and social skills earlier. So again, why start now? Startups are inherently risky. Starting a startup takes courage. A great deal of courage. Courage is required both to take action and to hold back from acting prematurely. Fearlessness isn't necessary here. Just the opposite, fear is part of the equation. We have to embrace fear rather than avoid it. Because it's only through experiencing discomfort that we learn anything about ourselves and about the world around us. The trick is to channel that fear into something useful. You can't change your circumstances. Instead, you must change yourself. And that requires courage. Thank you.

<|prompt|>How can startups improve their product and learn from their customers at a faster pace?</s><|answer|> Another thing that you should be doing is you should be improving your product and learning from your customers at a much faster pace. This is something that I think YC companies are really good at, but other companies aren't as good at it. So this is a great example of 1 of the things we talk about in the batch on how to get better at talking to users. And what you wanna do is you want to build a habit around talking to users every week, or maybe even multiple times per week if possible. It doesn't have to be too formal, it could just be like a quick chat with some users over coffee or lunch. But the point is you should be doing this consistently so that when you come across an idea for your product and you think, oh, I bet my customers would love this feature, you can actually ask them right away. So let me give you 1 example of how we talk about this in batches. This is from our batch last fall, and what they did was they were building a mobile app called Flipd. And here's their pitch deck. They wanted to build a social network for college students where you could post updates on what you're up to at any given moment. The goal was to create more transparency among peers because it turns out the vast majority of people are not always honest when answering the question, hey, what are you doing?

<|prompt|>How do YC startups compete against larger incumbents in the market?</s><|answer|> Another way to think about this is how do y c startups compete against larger incumbents in the market. And there's a lot of ways to look at that question, but I wanna focus on 1 aspect and then we can talk about some other things.  But what people don't realize is that those big companies are also often losing. Right? If you look at the history of tech, the vast majority of large companies that have been around for decades today were once small startups. It turns out that the biggest reason why most startups fail isn't actually competition from incumbents or customers who just won't buy their product. The number 1 reason why most startups fail is not building something that users really want. So if your startup doesn't solve a real problem for its users, no amount of money and marketing will save it in the long run. And as soon as someone else comes along with a better solution to the same user need, you are dead. That being said, even though I believe this is true, I also know that some people will try to use this as an excuse to say well, my idea can never compete against those big companies because they have so much more money than me. If you're thinking like this, let me tell you something right now. It does not matter how much money these other incumbents have. They still cannot win by just throwing money at their problems. Here's why. First of all, startups always have 1 advantage over large companies and it's speed. The faster a startup moves, the quicker it can iterate on its product or service. And if you move fast enough, that means you get your first version out there before any of the bigger players do. This is really important because most startups will fail quickly anyway. So what matters in the long run isn't who has more resources, but rather who gets to market first with something users actually want. Secondly, even when these big incumbents are spending lots of money, they still don't win. If you look at some of the biggest acquisitions in tech history over the last 20 years, almost all of them were small companies beating large ones. Companies like Instagram and WhatsApp and Stripe beat Facebook and Google for their billions dollar valuations. And then there was Nest, which is a company that made smart thermostats. They sold it to Google for $3 billion dollars in 2014. It turns out that if you make something that users really want, even when big incumbents are spending lots of money trying to copy your product or service, they still cannot win against you because you're just too far ahead. So let me give you some examples here. In the early days of e commerce, Amazon had many competitors who were much larger than them, including Walmart, Target, and Barnes & Noble. But none of those companies could beat Amazon because Amazon was able to move so quickly. Today, Amazon is now worth more than all those other companies combined. And then there's this company called Airbnb. It started in 2008 as a way for people to rent out their spare bedrooms on short term basis. At that time, they were up against hotel chains like Marriott and Hilton. And these hotels are some of the largest and most profitable companies in the world. So it would seem obvious that Airbnb could never compete with them right? Well, here we are today, almost 10 years later, and Airbnb has become bigger than any of the big hotels ever thought possible. Now I don't wanna say that you should just ignore all your competitors or don't do any research at all because there is a lot to learn from looking at what other people have done before. But instead, my point is this. Whenever you find yourself thinking about how much money your competition may be spending on something, remember that they can still lose even if they throw tons of cash at their problems. And also keep in mind that most startups fail anyway. So it really doesn't matter who wins as long as you're not 1 of them.

<|prompt|>How do YC startups compete against larger incumbents in the market?<|answer|> Okay. Let's talk about competition. This is 1 of my favorite things to talk about because I get asked this question all the time, how do y c companies compete with larger incumbents like Google or Facebook. The way that we think about it at YC is there are basically two ways you can beat these companies. You have to either go upmarket and find a group of users who aren't being served by them or down market where they don't care enough to build something for them. And so if you're going after an audience that already exists and you're just trying to take away some percentage of those customers from a competitor, then you've gotta be better than them. It's almost impossible to win unless you're demonstrably better. So if you're doing something where people say oh, yeah, this is kinda like Twitter or Instagram or whatever, but better. That probably won't work. If you wanna actually steal those users away, you need to be demonstrably better than what your competitors are offering today. Second thing is if you're going after an entirely new set of users, which most YC founders are, you should not try to copy any other company. Don't use their ideas. They will copy you as soon as you launch, even if you think you're copying someone else. Just make something new. Doing something original is always better than copying a competitor. In fact, when I was thinking about what would happen here tonight, I thought about what would happen if Airbnb had come on stage. Well, I knew exactly what would happen. We wouldn't learn anything new. Airbnb could never really tell us what happened during the early days of Airbnb because they know everyone copies everything. Right? But what if Lyft came on stage instead? I couldn't predict exactly what they would say, but I knew that it would be different. Even if Lyft copied every idea that Uber has ever launched, it still would be interesting. There were no other ridesharing companies in the world until Lyft launched. No matter how good or bad the business turned out to be, it would always be more interesting than hearing someone talk about something you'd already heard before. And that's true for pretty much any startup. Always pick something new over something old.  You cannot be slower. When you launch, it needs to be immediately clear why anyone would choose you versus the incumbent. Otherwise, you lose. Speed matters. A lot. Most founders underestimate how long it takes to ship software. They assume they can move fast. Then they realize they can't and they spend years trying to figure out how to solve their technical problem. Or they decide to pivot into a completely different product, which means starting over again. At least 50 percent of YC companies end up doing this. If you don't believe me, look at the data. Now this isn't just true of tech companies. I see this all the time in retail. If you're making a physical product, it usually takes longer than you expect to get it manufactured. And that means you need to raise more money than you initially planned.  I remember talking to the founder of a startup called SnapPower back in batch 79. He said his plan was to sell power strips that plugged into electrical outlets and charged your phone. Everyone told him he needed to hire an industrial designer, and it took him forever. He eventually realized that his first version looked terrible, and that was why no one wanted it. He spent months redesigning the product while he ran out of money. Finally, he decided to pivot into solar chargers, which meant he needed to build a whole new product. Luckily, he raised enough money to keep going, but if he hadn't been able to raise another round, he would have failed. I'm sure many of you have stories similar to this. So if you want to survive, you need to move quickly. Alright. Next, let's talk about how to avoid screw ups. This is actually surprisingly common. Founders often mess things up. Here's a few examples. The first 1 is that founders often forget that they need to pay themselves. I see founders who haven't taken salaries in years. They'll say, well, I don't wanna give myself a salary because I love working on my startup. First off, I highly doubt that you love working on your startup. Like, maybe you loved it at the beginning when it was fun and easy. But once it becomes hard, you definitely don't love it anymore. Trust me, I've been there. Anyway, second point is you absolutely should give yourself a salary. Your investors require it. Your employees expect it. And you deserve it.  It also hurts your ability to recruit employees because they know you're living below the poverty line. Another example is that founders often screw up their fundraising process. I hear a lot of reasons why this happens. Sometimes founders are too busy building their products. Other times they wait too long to raise. They run out of money, and now they're forced to do an emergency fundraise at a lower valuation. Some founders are afraid to ask for help, so they don't reach out to mentors or advisors. Others are worried about running out of money, so they delay raising until they have traction. But by the time they actually hit their milestone, it's too late to raise capital. The best time to raise money is right before you hit your big milestone. Wait too long and you risk losing momentum. My advice here is to focus on growing your revenue and ignore fundraising. Fundraising is stressful. It distracts you from your real job, which is making progress on your product. It doesn't feel great to ask strangers for money, but you gotta do it. So do it early, do it often, and do it right. Third mistake that founders make is they wait too long to fire employees. I'm guilty of this personally.  I tend to drag it out as long as possible. But it turns out that waiting too long to fire employees causes more damage than just losing them. Employees who stick around for too long lose motivation. They become demoralized. They stop caring about their jobs. And then everyone loses. Firing employees may seem painful, but it's worth it if you do it correctly. Lastly, founders often mess up their product launches. I see founders who launch their products too early, too late, or both. Early launches often lack features. Late launches waste precious time. And then when you launch, you might not even notice because you didn't track signups properly. If you're lucky, you'll notice only a couple weeks later when your growth rate starts slowing down. And by then, it's too late to fix. To avoid this mistake, always launch at the same time every week. Track your signup rate daily. Keep an eye on your growth metrics. Make sure you know whether your product is working. The last mistake that founders commonly make is they fail to measure their key metrics. Again, I fall victim to this regularly. For example, I recently started using this app called Slack. I signed up for Slack because I read a blog post saying that it was a good way to communicate with co workers. I tried using Slack, but I ended up hating it. Why did I hate it? Because I wasn't tracking my usage frequency. Turns out, I used email instead. Email is actually a better tool for me. I wish I had measured my usage frequency, otherwise, I would have known to switch earlier. I made the classic mistake of assuming that the tools I was choosing were the ones that worked best for me, but I was wrong. And so I lost time and energy trying to convince myself to use a tool that wasn't actually helping me. To avoid this, I recommend measuring your key metrics religiously. How many customers are you acquiring per month? What's your conversion rate? How many dollars are you spending each day on customer acquisition?  If not, you need to adjust your strategy.  Now I know that measuring stuff sounds boring. But trust me, measurement is incredibly important. As a founder, you should spend most of your time analyzing data rather than talking to customers or writing code. It's very tempting to skip over this step because you just wanna build your product, but you shouldn't. I see far too many founders neglect this step. They end up spending tons of time and money on things that don't matter, and they miss opportunities to improve their startup. All right. Next, let's talk

<|prompt|>How can startups improve their product and learn from their customers at a faster pace?<|answer|> Another thing that you should be doing is you should be improving your product and learning from your customers at a much faster pace. This is something that I think YC companies are really good at, but other companies aren't as good at it. So this is a great example of 1 of the things we talk about in the batch on how to get better at talking to users. And what you wanna do is you want to build a habit around talking to users every week, or maybe even multiple times per week if possible. It doesn't have to be too formal, it could just be like a quick chat with some users over coffee or lunch. But the point is you should be doing this consistently so that when you come across an idea for your product and you think, oh, I bet my customers would love this feature, you can actually ask them right away. So let me give you 1 example of how we talk about this in batches. This is from our batch last fall, and what they did was they were building a mobile app called Flipd. And here's their pitch deck. They wanted to build a social network for college students where you could post updates on what you're up to at any given moment. The goal was to create more transparency among peers because it turns out the vast majority of people are not always honest when answering the question, hey, what are you doing?

<|prompt|>How do YC startups compete against larger incumbents in the market?<|answer|> Another way to think about this is how do y c startups compete against larger incumbents in the market. And there's a lot of ways to look at that question, but I wanna focus on 1 aspect and then we can talk about some other things.  But what people don't realize is that those big companies are also often losing. Right? If you look at the history of tech, the vast majority of large companies that have been around for decades today were once small startups. It turns out that the biggest reason why most startups fail isn't actually competition from incumbents or customers who just won't buy their product. The number 1 reason why most startups fail is not building something that users really want. So if your startup doesn't solve a real problem for its users, no amount of money and marketing will save it in the long run. And as soon as someone else comes along with a better solution to the same user need, you are dead. That being said, even though I believe this is true, I also know that some people will try to use this as an excuse to say well, my idea can never compete against those big companies because they have so much more money than me. If you're thinking like this, let me tell you something right now. It does not matter how much money these other incumbents have. They still cannot win by just throwing money at their problems. Here's why. First of all, startups always have 1 advantage over large companies and it's speed. The faster a startup moves, the quicker it can iterate on its product or service. And if you move fast enough, that means you get your first version out there before any of the bigger players do. This is really important because most startups will fail quickly anyway. So what matters in the long run isn't who has more resources, but rather who gets to market first with something users actually want. Secondly, even when these big incumbents are spending lots of money, they still don't win. If you look at some of the biggest acquisitions in tech history over the last 20 years, almost all of them were small companies beating large ones. Companies like Instagram and WhatsApp and Stripe beat Facebook and Google for their billions dollar valuations. And then there was Nest, which is a company that made smart thermostats. They sold it to Google for $3 billion dollars in 2014. It turns out that if you make something that users really want, even when big incumbents are spending lots of money trying to copy your product or service, they still cannot win against you because you're just too far ahead. So let me give you some examples here. In the early days of e commerce, Amazon had many competitors who were much larger than them, including Walmart, Target, and Barnes & Noble. But none of those companies could beat Amazon because Amazon was able to move so quickly. Today, Amazon is now worth more than all those other companies combined. And then there's this company called Airbnb. It started in 2008 as a way for people to rent out their spare bedrooms on short term basis. At that time, they were up against hotel chains like Marriott and Hilton. And these hotels are some of the largest and most profitable companies in the world. So it would seem obvious that Airbnb could never compete with them right? Well, here we are today, almost 10 years later, and Airbnb has become bigger than any of the big hotels ever thought possible. Now I don't wanna say that you should just ignore all your competitors or don't do any research at all because there is a lot to learn from looking at what other people have done before. But instead, my point is this. Whenever you find yourself thinking about how much money your competition may be spending on something, remember that they can still lose even if they throw tons of cash at their problems. And also keep in mind that most startups fail anyway. So it really doesn't matter who wins as long as you're not 1 of them.

<|prompt|>How do YC startups compete against larger incumbents in the market?<|answer|> How to compete with larger companies. So this is a question I get asked all the time from founders about how they can compete against much bigger competitors like Google, Microsoft, Facebook, etcetera. And so what we see is that actually these large companies are not as good at innovating and creating new products than smaller ones because they're too big. They have bureaucracy, they have hierarchy, it takes them a long time to move on anything. It just doesn't work for them. What happens is they start by copying you, but then they copy badly. Right? Because their product managers don't understand your users. So this happens all the time with Google. I think there was some startup who did something really interesting in social networking. And Google copied it and made Google plus which failed miserably. But what happened is that after they launched Google Plus, Facebook started copying them. They were like, oh my god, we gotta do this thing too because Google's doing it. That's how these things go. You can always beat larger companies if you move quickly and get to market first. If you have a better product than them. It doesn't matter as much whether you're small or large.

<|prompt|>How do YC startups compete against larger incumbents in the market?<|answer|> How to compete with larger companies. So this is a question I get asked all the time from founders about how they can compete against much bigger competitors like Google, Microsoft, Facebook, etcetera. And so what we see is that actually these large companies are not as good at innovating and creating new products than smaller ones because they're too big. They have bureaucracy, they have hierarchy, it takes them a long time to move on anything. It just doesn't work for them. What happens is they start by copying you, but then they copy badly. Right? Because their product managers don't understand your users. So this happens all the time with Google. I think there was some startup who did something really interesting in social networking. And Google copied it and made Google plus which failed miserably. But what happened is that after they launched Google Plus, Facebook started copying them. They were like, oh my god, we gotta do this thing too because Google's doing it. That's how these things go. You can always beat larger companies if you move quickly and get to market first. If you have a better product than them. It doesn't matter as much whether you're small or large.

<|prompt|>What is one aspect of startup advice that is often overlooked or not discussed enough?<|answer|> 1 thing I think we don't talk about enough, and it's actually a really important topic. Is how to build your personal brand as an entrepreneur.  And if all they know about you is the product that you're working on, then they may have some questions in their mind like, does this person understand my problem well enough to solve it? Are they going to be able to make money off of me down the line? Do they seem like someone who can execute quickly or do I need to worry about them wasting a lot of time and energy? Is this person gonna be an interesting story for our publication? So there's lots of different reasons why investors, partners, press want to work with people they trust. They wanna feel good about themselves when they've worked with you. And so building your personal brand is really important because if you go into meetings and people have no idea what you stand for, then they're just gonna judge you based on how much money you have in the bank or whether or not you are able to show some traction on product that day. Whereas if you go into these meetings and you can talk about who you are as a person, it gives them something else to hang their hat on other than just this thing that you're working on. So

<|prompt|>How can startups improve their product and learn from their customers at a faster pace?<|answer|> So the last 1 is how do you learn quickly about your customer. And I think that's really important because it takes time to build great products, but there are ways that you can accelerate this process as well. So if you have an MVP or a prototype of some sort, try to get in front of users as soon as possible. The earlier stage companies are, the more eager users will be to talk to them. Try to find channels where people who might want what you make actually hang out. If you're making something for photographers, maybe go on photo related subreddits and start talking to people. It'll take time to convince these folks to use your product versus someone else's, so it's not gonna happen overnight. But I think there is value in just getting started. And then when you do get started, make sure that you have a way to collect data about how people interact with your product. This could be as simple as asking people questions after they've used the product or using Google analytics to track how many users are visiting what pages of your website.