Hacker News new | past | comments | ask | show | jobs | submit login
Free resources to promote your next startup (github.com/trekhleb)
147 points by trekhleb on Oct 9, 2021 | hide | past | favorite | 29 comments



I don't have a startup but I did make a useful little Python library while at my previous job to help ease the pain with using argparse to make CLIs.

It's called bargeparse [1]. The idea is to define an entry point function and use its signature as a means to declare the CLI arguments & options. I was surprised at how well Python's syntax for function arguments works for this... especially the use of pos-only & keyword-only arguments to force a particular style.

[1] https://github.com/shangxiao/bargeparse


This is a cool one. I once stumbled upon bargeparse and have used it several times. And, you're right: argparse can cause some pain ;)

I've taken the liberty to post your project to my Python news aggregator over here[1].

[1] https://news.python.sc/item/0d111c5d-0eff-41d5-8d5c-ecb18301...


Python-fire is a great package for this. Will look into bargeparse

https://github.com/google/python-fire


Wow, that looks extremely useful. I typically use docopt for all my CLI needs, but it looks like this could be really nice as well. I will have to try it the next time I'm building a CLI.


I love that! Argparse is such an old and boring solution to such a simple problem that we need more like this. And I have hope that one of the solutions will make it into the standard library at some point.

There are some others like yours:

Google's python-fire (1)

Docopt (2), which creates the cli from the documentation instead of the other way around

Click (3)

And my own commandeer (4)

Typer (5)

(1) https://github.com/google/python-fire (2) http://docopt.org/ (3) https://click.palletsprojects.com/en/8.0.x/ (4) https://pythonhosted.org/Commandeer/index.html (5) https://typer.tiangolo.com/


What's the benefit over well established solutions like typer ?


Typer looks neat. I don't think it was well-established when I started on this, there were quite a few offerings but the only one I managed to find was python-fire. It didn't quite do what my team wanted and there were a few behaviours that we didn't quite like so we decided to make this.

Having said that bargeparse was meant to rely solely on stdlib as the environment we were operating in was tightly controlled and any 3rd party packages had to go through a lengthy review process to be whitelisted.

Additionally, since our team (and others in our organisation) were mostly using argparse, the goal was to provide a way to declaratively interact with it using existing features in the language itself.


I used typer as an example because it has a modern twist, yet is based on click which has been the leader for 7 years.

If you want something older and with a similar api (wrapping argparse), using only the stdlib, I can ask the same question with argh, which already worked in python 2.6.

So why write another one?


I’ve done this with my own crappy code, optparse, argparse, hug, fire, click, and typer. For me typer is pretty much perfect…


Typer has the wonderful fast api paradigm and the battle tested click foundation. Pretty much a match made in heaven.


I can make a guess: GP does not know, he started working on the software and pointlessly duplicated existing projects, but with worse quality, because he neglected to survey the landscape.

I have noticed that happening regularly and out of curiousity interviewed those fellow programmers. I found out it's not because of lack of diligence, or because they attribute no value to a survey, but because of a risk-loving psychology trait that expresses itself in staking out ground and claiming it as one's own. (Armchair psychology warning, I am not qualified to make that conclusion; leave the real work confirming this hypothesis to the scientists in the field.)

IMO, this behaviour is harmful and we should work together to socially shun it like we already do for compulsive hoarding of physical objects. We have trouble finding a piece of software that works well because we spend so much effort to repeatedly sift through the mountains of published software that is mostly garbage.


Couldn't be further from the truth, see my reply.


Nice resource and definitely something I've been looking for too.

However, with my project [1], I feel like having to find my audience somehow. I've created tons of content on the blog. I post to reddit and HN. Other sites too. But I've done as was recommended to me by many startup books: I've created a niche product that's only useful to a few people. But now, nobody "gets" what I'm doing either. Definitely, most of HN isn't interested.

If anyone knows communities that are into an intersection of: data, ML, finance, and crypto currencies, I'd appreciate links here!

- 1: https://rugpullindex.com


>But I'd like to vehemently push back on these ideas: Rug Pull Index is not a startup. It needs no vision, no mission, and no explosive growth. The last thing I want is to be a spineless digital coordinator of yet another tech startup. [1]

vs

>Our long-term vision is the creation of a decentralized index coin (ERC-20) on Ethereum that will allow investors to gain diversified exposure to the best data assets sold on Ethereum. [2]

Who should use your site but others who also want to offer data asset funds? Why do you build the exposure for rugpullindex instead of directly creating the fund? If I have data and want to share it, I don't need rugpullindex.

Your site could use a filter for various data markets. Then data providers from each market could check if they have something valuable to offer.

To push your site, you could try to establish the ocean protocol in one market segment. That would lead to investors who create datasets and portfolios. You create a healthy market which allows you to create the index coin for that market segment.

Right now, investing in the index is risky because competing data sets to core assets of the index could drive down its value fast.

[1] https://rugpullindex.com/blog#WereNOTAStartup [2] https://rugpullindex.com/about


> Who should use your site but others who also want to offer data asset funds? Why do you build the exposure for rugpullindex instead of directly creating the fund?

Good question. Initially, I went for building the fund product directly. Then I noticed that in my jurisdiction it's far from easy just launching a financial product. Additionally, one problem that I continue to have is that for the data assets curated on my site, an old version of Balancer contracts (V1) [3] is used which means each rebalance for 10 assets would come at a cost of > 100k gas * 10 assets.

I've thought of optimizing gas cost, but I haven't found a solution so far [1], [2]. The Ocean Protocol team had also promised to upgrade to Balancer V2 up until recently on their public roadmap website. But they've suddenly changed priorities and so now I'm doubting that those contracts will ever become upgraded...

> Your site could use a filter for various data markets.

What other data markets do exist? I'd definitely be happy to integrate other markets too.

> Right now, investing in the index is risky because competing data sets to core assets of the index could drive down its value fast.

I'm not sure I get what you're saying. Mind elaborating?

- 1: https://timdaub.github.io/2021/04/19/ethereum-web3-saving-ga...

- 2: https://rugpullindex.com/blog#IntroducingHoneybatcher

- 3: https://github.com/oceanprotocol/contracts/tree/main/contrac...

Edit: That one is important too: https://timdaub.github.io/2021/05/22/ethereum-layer2-scaling...


>> Your site could use a filter for various data markets.

>What other data markets do exist? I'd definitely be happy to integrate other markets too.

That's not what I meant. I haven't seen a way to cluster the existing offers according to the type of datasets. E.g. market place scans, CAD models, medical studies

Say I have the technology to scan ebay. I want to answer the question: which datasets should I create to make the most money. I don't want to waste time looking through all other type of data.

>> Right now, investing in the index is risky because competing data sets to core assets of the index could drive down its value fast.

>I'm not sure I get what you're saying. Mind elaborating?

In a working market, prices should go down to production costs because there is no lever for the producers to demand more money.

If you provide transparency and access, I would expect that there will be massive competition for any data set that is easy to produce. Thus prices will go down. In other words, unlike other coins, early investors will be punished.

So to attract investors, you first have to bring down prices in a sector so that investors don't pay a premium for buying from the only supplier.

This will drive away casual data providers but it hopefully will attract enough consumers that efficient data providers will accept the ocean protocol as a distribution channel.

Take this with a grain of salt since I am not an expert at all.

Anyway, your page looks nice and clean. I hope your project will be successful.


you need to hang out in crypto related discords, maybe a community around the Ocean protocol you talk about. I'm familiar with crypto but from a glance I have no idea what these tokens are. HN is anti-crypto if you didn't know so better to go where crypto enthusiasts are


Thanks, that sounds promising! Any recommendations for good Discord servers fitting the topic?


Here's another such resource: https://github.com/sw-yx/launch-cheatsheet/

I find it difficult to adapt these recommendations as a single person though (apart from posting on social media where I'm active anyways).


This is very helpful! Thanks for sharing. We’re planning a few marketing sprints for Lowdefy [0] and resources like this is really a timesaver. If someone has any other useful sources, please share.

[0] - https://github.com/lowdefy/lowdefy


> Thus, the main idea is to create the product that is useful, usable and attractive to the end users.

Does this go against the idea of an MVP?


Not sure where you are quoting from, but out of curiosity what part of that description do you think is at odds with the definition of MVP?


The quote comes from the article but, yeah, I get your point. It just seems to me that "useful, usable and attractive" is more complete than "minimum viable". I've seen a number of posts about the meaning of "minimum" recently (MVT)[1] and this article suggests that you need to go beyond an MVP to get people talking about your product. Maybe I'm over-thinking this?

The full quote I'm referring to is:

> The main advertisement channel is of course people who are in love with your product. Their sharing activities is the best advertisement. Thus, the main idea is to create the product that is useful, usable and attractive to the end users. And only after that it does make sense to spread the word about something you've done.

[1] https://news.ycombinator.com/item?id=28550454


You could flip it and challenge what you think is "minimum" - just checking off the bare minimum features may not be the minimum needed for a viable product: something people want to use.

MVP is often seen through the lens of tech or resources while you should be looking at it from the user's perspective.


Makes sense. My hobby project, a search engine, blew up (on its own) in social media a few weeks too early, at a time it was appealing but not really useful, leaving a lot of people trying it out but not many using it.

However I do honestly believe more in slow organic growth than expkosive overnight success.


This is a huge list, and surely interesting, but which methods are the best?

Going for everything there would be time wasted.


I think if we would need to select the best advertisement method/channel it would be people who are in love with the product :)


Probably depends on where you expect your intended audience to be.


Also take courage and pick a good time of day.




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

Search: