Hacker Newsnew | past | comments | ask | show | jobs | submit | more unknown_error's commentslogin

I think you're leeching off someone else's infrastructure and using it to do things they never meant it to do. Sure, the technical capability is there, but your use case would drastically increase their costs. You are essentially cost-shifting your customers' costs onto theirs. Not cool.

It's like building a cloud storage solution off Gmail's free storage. It can be done, has been done, but that doesn't mean it's cool to do so.

Your system would increase costs for DNS providers all over the world, without their consent, just because you're using it as a loophole. It was a problem that wasn't there fixed in a way that leeches from rather than gives back to the community.


Thanks for your point of view, I find it really interesting.

> I think you're leeching off someone else's infrastructure

Ok, who’s the victim here? CloudFlare? Since we use their DoH end point?

Google Cloud DNS? Since that’s where we’re storing the data in DNS?

All of this is just standard DNS - CloudFlare DoH and GCDNS can be switched out for any other because it’s just vanilla DNS.

Let’s say Barclays wanted to serve out data using NUM and stored data in their own DNS zone, would they be abusing their DNS provider’s infrastructure? I don’t think so.

If we’re successful with our plans for NUM, and it becomes mainstream then surely this presents a huge opportunity for DNS providers who will have increased query costs for clients.

DNS revolvers will make their own decisions about whether they cache NUM queries (or perhaps even answer them at all) but revolvers that answer them quickly will surely have an edge on those that don’t.

> and using it to do things they never meant it to do.

The DNS is a distributed database. It’s designed to convert human friendly data to machine friendly data and I think NUM fits this perfectly. I understand not everyone shares my point of view.

> Sure, the technical capability is there, but your use case would drastically increase their costs. You are essentially cost-shifting your customers' costs onto theirs. Not cool.

It increases the costs of CloudFlare / Google? Ok, if it’s significant, they have a commercial decision to make - support full DNS as per the protocol spec, or partial-DNS where they block certain use cases.

> It's like building a cloud storage solution off Gmail's free storage. It can be done, has been done, but that doesn't mean it's cool to do so.

No, it’s not. The DNS is owned by no one and everyone.

> Your system would increase costs for DNS providers all over the world, without their consent

Most will just pass this on to domain owners, DNS query costs are peanuts - 200 USD per billion at scale.

> It was a problem that wasn't there fixed in a way that leeches from rather than gives back to the community.

I respect your point or view but think the opposite is true. We’re freeing data, opening it up for developers so that they can build things far outside the jurisdiction of the giants of the web - I think this is a fantastic way to give back to the community.


Distributed, decentralized projects are great, when they build up the infrastructure in a way that respects existing network traffic.

Yes, DNS is distributed and communal, but it's cheap only because it's minimal. Caching a few values for IP and MX lookups is relatively trivial, but if you purposefully start storing content in there, the whole network gets exponentially more expensive for everyone involved, especially once you cross a threshold where you can no longer easily send updates as simple key values and need to start worrying about encoding of larger chunks, network interruptions, checksums, etc. That complicates caching all over the DNS network. And if some DNS provides start supporting certain features and not others it's just going to lead to further fragmentation and user delays and a confusion about where and how to store and fetch data from this system depending on a user's region and likely DNS providers. It also presents authentication and integrity challenges for unencrypted uses, as in the case of DNS hijacking by local ISPs or governments.

It's a shoehorning of data into a poor fit, and only because someone else is paying for it. That's what makes this endeavor selfish, not heroic. You're not "freeing" data, just shoving it into some dark corner of the web and hoping to profit from it.

There have been a lot of actual hard work on the problem of decentralized information, from ipfs to freenet to tor to blockchains to dht... they all have thought about the problem in depth and built the infrastructure to try to make it happen, instead of leeching off someone else's work and pretending like it solves the problem.

Sorry to be harsh. This just seems like a money grab rather than technical innovation.


Thank you. I’m very grateful for the insight into your view, that’s why I’m here.

> DNS is distributed and communal, but it's cheap only because it's minimal.

Cheap for who? Users using free resolvers or businesses using DNS service providers?

Resolvers can choose not to serve/cache NUM answers. If there’s demand for NUM data the market will decide. Google, CF, Quad9 can look after themselves.

DNS Service providers could bill by bandwidth rather than per query. Again, the market will decide.

> It also presents authentication and integrity challenges for unencrypted uses, as in the case of DNS hijacking by local ISPs or governments.

I agree but DoH, DoT, DPRIVE and other initiatives are tackling this problem.

> It's a shoehorning of data into a poor fit, and only because someone else is paying for it.

Why is it a poor fit? We’re converting a human friendly domain (or NUM URI) into machine-friendly data. That’s the whole purpose of DNS.

DNS is comfortable transferring 5kb of data, but most NUM Records will be smaller than DNSSEC responses. In fact, most NUM records are smaller than the original DNS UDP packet limit of 512.

> That's what makes this endeavor selfish, not heroic. You're not "freeing" data, just shoving it into some dark corner of the web and hoping to profit from it.

We’re making the data available to developers for free, that’s a fact. If DNS TXT records are a dark corner of the internet then I’m pleased to shed some light on that. If rules come about to stop us doing this, so be it.

> There have been a lot of actual hard work on the problem of decentralized information, from ipfs to freenet to tor to blockchains to dht... they all have thought about the problem in depth and built the infrastructure to try to make it happen

I’m a fan of them all but how many of your non-tech friends have used them? Zero.

Realistically how much have any of us used them to do useful things that make our life easier?

I really appreciate your point of view and feedback. Clearly we’re on opposite sides of this but as I said, that’s why I’m here.


Thanks for taking the feedback into consideration.


Malware/adware authors would love to buy those.


Aren't those guys more interested in something with an existing / large-ish user base?


There are plenty of popular projects with a market value under $5k - many Chrome extensions fit this bill.


TLDR to be happy, one simply must be a kidnapper in Brazil with a good family and set schedule.


They can actually choose whether they want to be milked every morning.

One line leads to a tiny milking station. There, retired surgeons use designer nanopumps to relieve silk gland tensions. The spiders appreciate it and get a tiny block of tofu fly treat afterward.

The spiders who don't want to be milked that particular day can instead enjoy a relaxing day. They other like goes to the relaxation area, full of empty corners ready for cobwebbing and prismed sunbeams that emulate natural variances in brightness. When the surgeons are done with milking, they provide enrichment in the form of RF nanodrones, made from recycled cat toys, to stimulate web strands and act as nontoxic prey substitutes.

Unfortunately accidents do happen, since even the tiniest drone tends to be several orders of magnitude larger than the biggest spider volunteers. Sometimes they exhibit something more akin to a panic reaction than relaxation. Steps are taken to minimize these irregular adverse events, but a balance towards profitability must be enforced.

All in all, like with most vegan products, the quality is much lower but the price can be much higher. It all works out as long as nobody asks too many questions.


It seems rude to trivialize efforts that reduce the unnecessary suffering and killing of billions of animals every year, don’t you think?

The last paragraph is ripe with ignorance, too.

What exactly were you trying to achieve with your comment?


It was meant in jest, but if you must take it seriously, my opinion is that veganism as a movement has largely been coopted by high-gloss, low-impact "plant based foods" marketing that follows all the aesthetics and few of the values of older movement. There isn't a measurable decrease in meat production or consumption, just a noted increase in overpriced prepackaged vegan food products.

I say that as a vegan of more than a decade. Its recent popularity is more indicative of successful marketing than consciousness raising. It's just another fad diet to folks, not a lifestyle change resulting in better livestock conditions.


Could you describe what the values of the older movement are? I would have assumed them to fall under the umbrella of "don't consume animal products and reduce suffering when possible", which the new type of products still achieve.

I think it also likely that much of today's raising of consciousness - for veganism or otherwise - comes from successful marketing; is that inherently bad?

Lastly, two of the largest milk producers have filed for bankruptcy in the last few years, so there certainly seems to be some positive impact. Dairy is bad for humans and animals (and the environment!), and I'm very glad people are accepting that and making a change.


IMHO only -- I don't claim to be representative of any other planteater but myself -- it sought holistic, transformative change. Rather than just "eat less meat" (like Meatless Mondays, which is supposed to be a stepping stone), it was maybe more aligned with the Slow Food movement (https://en.wikipedia.org/wiki/Slow_Food) in that it wanted people to think about how our food systems are connected to not just animal treatment (factory farms, tiny cages) but our communities, our economy, our politics, and ultimately our view of our place in the world (atop it, or within it). I'm not going to dive too deep into that because it would easily be an hours-long discussion, but suffice to say that it viewed animal suffering as the symptom of a systemic disease, the tip of a rotten iceberg, resulting from a disconnected and exploitative experience rooted in modern capitalism. It's not just about whether laying hens have enough space, but the workers behind them, the communities that host the farms, the politics that arise from urban-rural divides into food production vs consumption, agriculture as an economic sector and political force, and ultimately how we as a society treat not just animals but each other and the lands we occupy.

Fast forward to 2021, you have meat conglomerates like Tyson creating brands like Raised & Rooted, which sells nuggets that are half-chicken and half-plant. Ostensibly this decreases the need for as many chickens (or else they're producing only half-dead chickens), but it doesn't really work that way; AFAIK (and I admit I am not a market expert, just an interested bystander) their chicken production is still growing (https://craft.co/tyson-foods/metrics), and the Frankenuggets are just an additional snack item on top of their existing product lines. It supplements the cruelty, the icing on top of the torture, rather than seeking any sort of transformative change.

And by and large the market is headed more and more that way, towards industrial food conglomerates buying up or creating in-house vegan brands to add a greener sheen to their bloody enterprise, without actually changing the way they do business or the way they treat any vulnerable part of the system.

Veganism as its core was, in my opinion, about consuming LESS so that others may live more. Plant-based foods, as a health & diet craze, is more about supplementing your existing diet (and profit) with more manufactured products that ultimately come from the same industrial giants that made it all fucked up to begin with.

It's the difference between back-to-the-land whole-food farming/eating and Soylent, the vegan artificial meal drink.

But that's just my interpretation. Others are free to disagree.

Within that bigger context, though, are plant-based foods still a net improvement even if they don't drive transformative change? It's dubious to me. I think it encourages a mindset akin to recycling: "just do it, don't think about it" in that both are minimally impactful in and of themselves, but make people feel good that they're doing it. I forget the scholarly term for it but there's a body of research suggesting that if you can provide a small action for people to take to alleviate their guilt over something, they're less inclined to make bigger, transformative changes to their lives. Anybody can pick up a package of Frankenuggets and think they're doing the world a favor, and that's enough. But does it result in a net decrease in meat or dairy production? Not as far as I know, but if there is an analysis on this, I would love to be informed.

Regarding the dairy bankruptcy, actually I did not know that, and reading more (https://www.washingtonpost.com/business/2020/01/06/borden-da...), they do cite the rise in plant-based alternatives as one factor in their continuing decline. So maybe it does help? I know that would contradict my earlier points, but data is data. Personally I would be skeptical of too quickly attributing plant-based foods as the major determining factor in that, but time will tell. It's easier for capital to introduce new product lines that match consumer fashions than for executives to reexamine their values. But if I'm wrong, just let me know.


It seems what you may be recognizing is the delineation between veganism and a plant-based diet.

I consider veganism a philosophy that leads to inevitable action in the world, contrasted against a plant-based diet which is just that - flexible (e.g. those half-meat abominations, or blended cows milk with oat milk), not particularly rooted in selfless ideology/thought process, and excludes all the other ways that other beings could suffer from our consumption practices.

Your analogy to recycling I think is also spot on, especially in the context of plant-based diets - there's a fleeting feel-good thought of "I'm doing my part!" that falls apart under any serious scrutiny. Similarly, companies like Nestle adding plant-based options very squarely fit the definition of greenwashing, IMO.

To supplement my case that vegan replacements are the main disruptors to those industries, let us look no further than the incredible amount of recent lawsuits that attempt to limit how they're labelled, under the false pretense of "customers are getting confused!!1!" [0][1][2][3]

Thanks for sharing your perspective, and mad respect for how long you've been vegan - feel free to drop me a message if you're in the Austin area! There are plenty of hip, plant-based places to quietly criticize while sipping a beer.

[0] - https://www.forbes.com/sites/robindschatz/2020/02/20/why-veg...

[1] - https://vegnews.com/2019/3/arkansas-outlaws-labeling-caulifl...

[2] - https://www.vox.com/future-perfect/21507907/louisiana-veggie...

[3] - https://wholefoodsmagazine.com/grocery/news-grocery/oklahoma...


(Sorry for the slow reply! Your response made me want to dwell on this some more before answering.) One, whatever my replies may be, I am by no means either a purist or an exemplar. I appreciate delicious foodlike products as much as anyone. I just wish it didn't stop there. But I'm also terrible at keeping up with purity. At the end of the day I usually just eat whatever I'm craving, usually mac and (shitty) cheese more than anything pure or whole.

Two, yes, I'd love to meet up in Austin at some point! I've heard good things about it and always wanted to visit. If I make it out there at some point I'll definitely hit you up.

Three, I have to admit I never thought about the First Amendment issues around this, with Schinner vs the meat industry lawyers as to what the word "dairy" means or "cow" or "burger". Miyoko's is (frankly) just aight, but that they're fighting the good fight means a lot. I have mad respect for the idealists.

What would your ideal world be like?

I used to think I knew the answer to that. As I got to know more people and animals, I'm no longer sure I do. Predator-prey gives way to primary producers and decomposers, with humans caught in the middle trying to oversimplify it all.

Our fatalistic flaw may not even be our selfishness, but our hedonism. We don't plan evil, we just act according to our (base) urges. 99% of us, anyway. We're doomed by genetics, not immorality.

Sorry. I'm pretty drunk. Would love to hear your thoughts, here, or over a beer someday in Austin.


I took it in jest. I just thought the spiders were eating what they normally do, but consenting to give us milk somehow, despite the fact they don't have nipples.


Seems to be a pattern with human thinking. Plenty of noble causes, some recent and very very public, get tarnished because of select bad actors. I don't know why but so many of us seem to look for reasons to say that X isn't a problem.

Whether or not i agree with (loud) vegans shouldn't affect the idea that our treatment of animals in large scale slaughter is abysmal. By nearly any measuring stick.

Why are we so prone to write off large, obvious movements? I see it so frequently.. yet i look for a reason to not hate the people that write-off, because it feels like so, so many.


> Plenty of noble causes [...] get tarnished because of select bad actors

> Why are we so prone to write off large, obvious movements?

Every time ethics are involved some people can feel judged, feel guilty and project it into anger. Cynicism becomes an easy coping mechanism.

One example is people stating that they don't care about something. (If you don't care, why are you spending time saying it?)

Another is accusing entire crowds engaged in causes of being hypocritical or egotistical.

...then social media stepped in created a huge echo chamber.


Those people just promise that they will reduce suffering it, but is fake advertising. This is the real problem.

Cherry picking the most outrageous cases and in denial about the real consequences of their actions. Releasing minks, for example, is increasing animal suffering, not decreasing it. Opening the chimp cages in a zoo leads not to the chimps being happy, it leads to chimps being shoot and dead, etc, etc...

But they are basically blind to anything excepts what it fits in the narrative. They just choose the next victim, collect the money, and move on.


They did a plenty fine job demonizing themselves. A generation of police trained to be militarized against our own citizens and unaccountable to the law, covering each other's misdeeds up with routine impunity?

Maybe it's time to rethink how this country does policing. And sometimes that takes a changing of the guard.

Not even an ACAB type. I've had several run ins with the police, some positive, some negative. Some of them were extremely friendly and helpful. Others were power hungry and lied through their teeth in court. The profession as we've made it can unfortunately attract people for different reasons, both white knights and bullies.

Mass resignations are a natural and probably necessary step towards actual reform.

If only we could get congresspeople and Supremes to resign en masse too. This country is long overdue for massive social upheaval.


I noticed that Mapbox Studio has a way of creating & exporting styles (kinda like stylesheets but for maps). Do you know if those styles can be imported into a libre renderer like Maplibre, or if a similar tool/ecosystem exists for creating & sharing open-source map styles? Like if I wanted all roads to be rainbow-colored and rivers to be green.

In Mapbox Studio, the features all seem to be semantically tagged (e.g. this is a road of type X, a POI of type Y) and it makes styling a cinch. I know OSM has its own set of tags for features. Are these compatible (not sure if Mapbox Studio is using OSM data underneath)? Is there an established standard for this type of thing?

(ps TY again for answering my other question so thoroughly)


https://maputnik.github.io is similar to Mapbox Studio, but isn't going to give you all you mentioned.

All vector tile sources use tags in various ways, so Maputnik (and the resulting styles) do as well. There isn't a standard tagging schema (and all MVT sources tend to differ slightly), but OSM's tagging is often influential on the resulting schema.


That's exactly what I was hoping for. Thank you again!


The exported styles are compatible (if you don't use newer features like terrain & fog) because Maplibre is nearly identical to GL JS v1.13, there were no rendering changes since the fork.


Good thing it's all digital. Unfolding one big Google Map would take a looooooong time...


I've struggled to understand the relationship between Mapbox, Mapbox Studio, Mapbox GL, OpenStreetMap, and other libraries like OpenLayers or Leaflet.

Could you please explain (in brief) the mapping "ecosystem" as it were, and where Maplibre fits into the picture?


Good question! There's a lot of Map<thing>s and it's very unclear how they all fit together without prior experience.

OpenStreetMap (OSM) is a community-driven, fully open and usable data library. It has usable data for almost the entire world for everything from cities, roads, houses, parks, country borders, and work. It's a database of everything you need to make map. They also have a website that renders that map, but it's not commercially usable.

Mapbox is one of the first companies to take OSM's dataset and commercialize it. Along the way they created a lot of the wildly used mapping libraries, including renders, data formats, and styling tools.

Mapbox Studio is one of Mapbox's proprietary tools for working with maps in their ecosystem.

Mapbox GL is a suite of renderers, originally entirely open source, developed by Mapbox with the community to render map data (from many different sources).

MapLibre GL is a community-driven fork of the Mapbox GL suite, after Mapbox closed the licenses to require payment if you use the latest versions.

OpenLayers and Leaflet are both alternative, open source renderers with various levels of capabilities. Interestingly, the creator of Leaflet now works for Mapbox (if my facts are correct and current).


Yeah, the bit about the developer of Leaflet is accurate. One thing I'd expand on: the first iteration of web mapping was all built on raster maps, where the map was rendered in advance, server-side, and a simple client downloaded tiles to the client to build a slippy map. Leaflet was an open source library that did that task well.

The commercial players have mostly abandoned this approach, though, in favor of technologies that render on the client. They're more performant (tiles are smaller), and necessary if you want, say, to be able to rotate your map and still have all the labels be upright and not collide, or show/hide individual geographic features dynamically in response to user input, or apply perspective/tilt as you would for a heads-up display in a car, etc.

Mapbox GL was Mapbox building that (as already exists for Google Maps, Apple Maps, etc.). At a very high level, it and Leaflet serve a similar purpose, but are technically very different from one another.

(full disclosure: former Mapbox employee, still a shareholder)


Isn't it the case that pre-rendered tiles are more performant for the mobile user? Continously rendering the tiles on a smartphone is draining more battery? I would guess?


It's true that raster tiles are easier to draw, but CPU/GPU is rarely the limit for performance even on (modern) mobile devices, network access then disk access then memory usage is. And using the network is one of the largest sources of power use. Vector tiles are smaller downloads, therefore they are more performant.

Wall time CPU profiling is just not that useful anymore and yet it's the only thing most people ever think about for some reason.


Along with dynamic rendering mentioned in other comments, vector data is sparse, so bandwidth is basically zero past a certain (surprisingly low) zoom. Raster tiles are a dense data structure, so you need to bake tiles to the maximum allowed zoom and clients need to download them. High zoom tiles also have higher entropy so you end up with a huge volume of images with low cache hit rates. It’s expensive for the provider and slow for bandwidth constrained mobile users.


Yeah, pre-rendered tiles are typically more performant on any device. It’s basically downloading and displaying a png. In my experience, download times were not the bottleneck for vector tiles, but rather all the on-device rendering. This is especially true when you consider that most of the time, the tiles are already cached on your device.

I believe the reason most companies moved to vector had more to do with the other stuff gp mentioned: ability to rotate, dynamically show/hide features, etc.


If you never change what you display, that might well end up being true, but if changing display state (you want to highlight or shade or hide a feature, for example) that would likely require downloading whole new tiles for raster but could be a pretty trivial mutation of the current local state that doesn't require a full re-render from scratch. You probably also don't need to download as much on zoom; there are tiles for different zoom levels with vector tiles because tiles get really large when zoomed way out otherwise, mostly full of features or detail you can't see or wouldn't show, but you might not need as many, and can overzoom a given tile and have it still look nice with relatively few artifacts. All of which is to say: it depends.


To some degree its possible to combine bitmap tiles and client side lightweight vector overlay. If you want to work with ortofoto (basically satellite/airplane captured imagery) then you basically have to do it that way.


Definitely true. In my experience it's less to do with battery and more that the client-side rendering process is so intense. Particularly because of the single-threaded nature of JS: a GL-based map on a web page makes the whole thing drag on a low-specced phone.

These days Chrome and Firefox have the OffscreenCanvas API that would let you do all that rendering in a different thread, but last I looked MapBox GL didn't support it. Not sure if that's changed with libre.


Yes, for sure. Good expansion points.


Leaflet started because openlayers was very clunky. But since the major rewrite of openlayers v3 it's become a great choice and the author of leaflet has stated here on hackernews hat it's probably what you should use these days


Sorry, but I never stated such a thing. OpenLayers is great when you want all possible features/formats ever created baked in, and excels for certain use cases such as GIS academia, but Leaflet is still the library of choice for most raster-based maps — intentionally simple, lightweight, very easy to use, carefully designed, extremely stable, extensible and working beautifully.


I must agree. The simplicity and versatility of Leaflet makes it a mapping library par excellence.


I feel like I half-remember something I saw here on HN a couple of years ago, about some mapping related startup going out of business, and open sourcing some interesting tidbits. Do you (or anyone else) happen to remember that, or know what I'm talking about?

Sorry for being so vague, that's just all I remember of the whole deal. I probably bookmarked the link, but I'll probably never find it again now.

Edit: it may have been MapZen that I was thinking about.

https://www.mapzen.com/blog/shutdown/


Mapzen is probably the one you're thinking of. A lot of their projects got rolled into various foundations (e.g., Linux Foundation).


Got it. Thanks a lot for the clear explanation!!


Great explanation, thanks!


Rough overview:

Leaflet: fairly simple open source mapping library. Canvas-based. The original Mapbox (called MapboxJS) is based on this.

Openlayers: open source mapping library that’s more capable (e.g many different protections) but also more complex. Can render to Canvas or SVG.

Openstreetmap: public and free source of mapping data. Mapbox uses this as a default data source.

MapboxGL: completely new implementation of a mapping library written in WebGL (should perform better). MapboxGL changed its license recently, prompting the creation of the libremap fork.


A big difference moving from OpenLayers and Leaflet to MapLibre GL is that you can use vector tiles and style them in the browser as opposed to rendering PNG files on the server. Converting OpenStreetMap to vector tiles is implemented by OpenMapTiles and they also have some open map styles.


no, openlayers supports vector tiles out-of-the-box and leaflet with a plugin


True, OpenLayers and Leaflet have some support for vector tiles. However, you cannot rely on it because the performance is not there to render a normal map. Alternatively, you can use maplibre-gl-leaflet to integrate the two but it's experimental with some significant caveats.


You can use vector tiles with openlayers but they draw it on the canvas and not via web GL i.e. it is slower.


Leaflet - developed to work with PNG image map tiles

Mapbox GL/Maplibre - works with vector tiles which are similar in format to an SVG

I believe this plugin[1] is a hybrid approach which allows Leaflet to load vector tiles on a plain 2D map with no map tilt or rotation

[1] https://github.com/mapbox/mapbox-gl-leaflet


Mistakes like what? I'd love to learn more.


1. Extremely huge, irregular shape, multilayer PCB

2. Complete lack of modularity, serviceability, and odd assembly order. This means minor changes will need mobo redesign. And defect found after test, or on return equals scrapping the unit.

3. Custom mechanical parts used liberally

4. Too many programmable ICs

5. Extremely wasteful use of case space to work around rigidity issues.


Ah, thanks for explaining! Sounds like pitfalls of going with a custom design.

Do you think it's a necessary tradeoff? Are other laptops with custom designs subject to the same internal engineering mistakes?


What does "table stakes" mean? Never heard that before.


"Baseline expectation". I think it comes from poker or something


Table stakes are a required minimum bet in a game (often poker) - the meaning being if you can’t provide at least this you can’t play. So if a new language doesn’t support Unicode well it won’t get any adoption.


It's a gambling expression meaning the minimum [money] you need to even sit at the table. To be a really competitive player you need more.


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

Search: