HN2new | past | comments | ask | show | jobs | submit | JJMalina's commentslogin

Zod has branded types: https://zod.dev/?id=brand it works really nicely with Zod schemas


I think the example could be better in this article. Let's say you have a function that takes a database id, an email address, and a name. They're all strings. If you pass arguments to this function and you mess up the order for some reason then the compiler has no idea. Hopefully your unit tests catch this but it won't be as obvious. Branded types solve this problem because you can't pass a name string as an argument that is expected to be an email address.

If you argue that this is not a common problem in practice, then I tend to agree. I haven't seen code with mixed up arguments very much, but when it does happen it can have bad consequences. IMO there is not a big cost to pay to have this extra safety. In TypeScript it's ugly, but in other languages that natively support this typing like Scala, Rust, Swift and Haskell, it works nicely.


> because you can't pass a name string as an argument that is expected to be an email address

Unless you accidentally create the wrong branded type? Which is as likely as disordered arguments.

As you stated, tests should cover this case trivially, I don't see the value in added type complexity.


That’s just plain encapsulation, if I understand you correctly. Branding, on the other hand, prevents complex types from being confused.


Branding works on primitive types as well, which is I think the most interesting use case.

I would also agree that it's harder to confuse complex types as any single instance of a type is unlikely to overlap once you have a few fields.


Not really, not for TS at least. If you just want to take a string and call it an email address and have your function only accept email addresses (the simplest use case) then you need to use branding. That's not encapsulation.


Or double your GC burden by using a wrapper class.


There's quite a lot you can do in game and there are tons of ships with many different specializations (cargo, salvaging, mining, exploration, fighters, bombers, corvettes). Some need multiple players to crew effectively

PVE - Cargo delivery missions (from small to large size) - Bounty hunting (in space and on planet) - Mining - Salvaging - Cave exploration/rescue - Escaping from prison

PVP - Bounty/pirate hunting

Just search for Star Citizen content on YouTube. You fill find a lot. My favorites are https://www.youtube.com/@CaptainBerks and https://www.youtube.com/@Morphologis


Basically, procedural trash grinds?

Squadron 42, the cinematic, single player, space campaign, was supposed to come out in 2014!


Isn't that all games though? Especially MMO's. Why do people think it's so much different for star citizen than any other game? At the end of the day, they're all just entertaining ways to waste time.


Because they were explicitly selling a wing commander type game as part of the package.

Perhaps you don't know how evocative that is, and how cynical it is for you to compare that to procedural MMO quests.

They're very different things. It's like paying for a gourmet meal and then being given a month's supply of tasteless protein bars.


> They're very different things. It's like paying for a gourmet meal and then being given a month's supply of tasteless protein bars.

Isn't StarCitizen funded by their Kickstarter though?

So it would be more like someone asks you for money so they might make you a meal, of unknown quality with unknown timeline, and won't promise you anything even after you pay them. Which is standard for a Kickstarter.


Over the past two years I've played maybe 10-20 hours of SC. I paid $45 for the starter ship and then made some money moving boxes and doing bounties to upgrade my ship and then have enough to buy a bigger one. The game is pretty fun if you're used to MMO style grinding. The only problem is that during the past two years there have been many server state wipes so you lose everything except for the starter ship you purchased. On top of that there have been intermittent stability issues which would cause you to disconnect in the middle of doing something. It seems that it's become much more stable. So yeah, you're at minimum paying $45 for a game that's alpha, which is questionable value. My justification for this was that there isn't really any other game on the market that gives you the same experience. Starfield is releasing soon, but that's all single player, and I don't think it has space flight sim combat like SC does. Despite this, it's still a fun game with a lot of things to do, however it will not be everyone's cup of tea. Check out https://www.youtube.com/@CaptainBerks and https://www.youtube.com/@Morphologis for a better idea.

I really hope server meshing pans out, but I'm skeptical that RSI has the chops to pull it off. The number of objects in SC is huge and the world is seamless. This not something that's entirely new though. EVE Online has meshed servers for persistence of tens of thousands of concurrent players in a single universe successfully for decades now.


There's Elite Dangerous and No Man's Sky, as well as Eve online depending on what you're looking for.

All have their faults, but there are obvious alternatives to StarCitizen out there that's not vaporware.


I think that of the two, Elite Dangerous is the only one that scratches a similar itch, especially in terms of the spaceship mechanics. But it too has suffered from severe mismanagement (pursuing features that got advertising hype over those that made the game fun, abandoning features and leaving them in a broken state, taking forever to fix bugs but being quick on exploits, poor communication and of course the general brokenness of the way they designed their multiplayer in the first place).

I suppose Elite's one saving grace is that it doesn't claim to be in alpha.


My biggest problem with Elite: Dangerous is the Engineering mechanic, which basically gives you strictly better ship components in exchange for very long and boring MMO-style grinds.

If you want to be seriously competitive in PvP, it's required to do Engineering.


Everything about Elite: Dangerous is a huge grind. You basically cannot play it casually, even in the completely offline and singleplayer session.


Elite is kind of tragic in that there are serious steps backwards in performance, VR, and visuals that they just don’t fix things.

A lot of great gameplay mechanics have been added over the years, but it hasn’t all been forward progress.

No Man’s Sky is the total opposite and I really want to come back to that at some point and get lost in it the way Elite was in VR.

Truly transported you elsewhere and gave you presence in an empty uncaring galaxy that made the tedium and grind still feel like something.


I think Elite's devs bit off way more than they realized they were willing to chew, especially with Odyssey, thus dropping consoles and VR.

On the other hand, over the years they've left so many things broken/unfinished or just in general avoided certain things, makes me wonder if maybe the foundation itself was unstable. Eg powerplay being ignored even when it wasn't working right, many years between the addition of new ships and the lack of creativity in terms of the ship's capabilities, similarly with SRVs, weapons bugs, completely failing to capitalize on the excellent PvP mechanics they have, the relative standstill of the Thargoid plot until people largely lost interest, the stagnation/disconnect of Colonia from everything else etc.


Yeah, I gave up on it ages ago. The only fun thing was docking/undocking.

It's funny, we've seen games released by the previous generations leading lights in game design and they're all disappointing so far. Relying on boring grinds, poor difficulty curves, etc.. Julian Gollop, David Braben, Chris Roberts, Peter Molyneux, etc.

It's like they can't adopt the new ideas from the next generation to make their games fun. Quite eye opening on how old age or perhaps success, not sure which, can make your thinking rigid.

Elite Dangerous is one of the worst. It's simply not fun. So pointlessly grindy for what is predominantly a single player game. I was so excited for the first 5-10 hours, and then so disappointed as it was obvious that every mechanic was just another massive progress bar that barely moved after hours of play.

No Man's Sky was much better, 40-50 hours fun play before the procedural nature of it became too obvious for me to enjoy it anymore. I played it 2-3 years after launch though, after all the updates. I'd probably play it again over a holiday weekend if I ever get the MS game pass again.


>Elite Dangerous is one of the worst. It's simply not fun. So pointlessly grindy for what is predominantly a single player game. I was so excited for the first 5-10 hours, and then so disappointed as it was obvious that every mechanic was just another massive progress bar that barely moved after hours of play.

Speak for yourself, I had a lot of fun for hundreds of hours and revisited the game multiple times over the years. I did space trucking and mining and combat at various times, and enjoyed never paying a monthly fee for an MMO.

Elite Dangerous was announced at the same time as Star Citizen, for comparison, and it's so old now that the main reason I don't play it anymore is because I did everything I could do in single player and the concept has finally lost its allure.

I have a friend who played thousands of hours because he was more social than I and wound up in a large player guild.

I love(d) Elite so much that I bought a VR headset and a joystick solely for it, and I don't regret these purchases.


I'm sure it's fun for a small minority of players. The kind that like truck simulators. Takes all sorts. Other than that, it has incredibly shallow game elements. With long grinds of those shallow game elements to get new ships.

Lots of E:D's own player base acknowledge this:

https://www.reddit.com/r/EliteDangerous/comments/qk6kqs/why_...


> There's Elite Dangerous and No Man's Sky, as well as Eve online depending on what you're looking for.

None of those offer all the things as SC even at it's current state. Elite Dangerous is closest and even then they're just different games inherently.

> there are obvious alternatives to StarCitizen out there that's not vaporware.

You can download and play Star Citizen right now. It is, by definition, not vaporware.


I've tried NMS and Elite, Elite was on the right path but fell off hard.

Starcitizen is for better or worse unlike any other. Until another game comes where me and my friends can hop onto a capital ship and travel to planets etc seemlessly - ill switch. But nothing on the horizon yet.

Also love the ground vehicle gameplay too and its quite underrated.


Never played Star Citizen myself but follow the development closely. From my understanding it's the only one (of the ones you mentioned) that simulates actual planets, orbits and has seamless transitions from space down to the pavement of a city.


No Man’s Sky also does seamless transitions from space down to the planets’ surfaces, though I’m not aware of there being any cities on any of the planets, just ancient ruins at best. It’s an infinite universe, but a deserted one (besides various animals and whatnot), and the main questline is about finding out why.


You have to watch closely and find the situations, and yeah Elite has this limiting unrealistic physics, but you have orbital mechanics you can even watch given the right system and patience, and you also can seamlessly transition from space down to planet, just systems are always jumps.


Plus, afaik Star Citizen is the only other game out there that has an equivalent of the "flight assist off" model (that is, has the option of allowing a spaceship to be flown more like a spaceship than a plane).

That toggle adds so much depth and skill to combat in Elite, it's a shame it isn't a more common thing in space games (also a shame that Elite itself doesn't really take advantage of it).


Yes, that exists, but still I found the Elite flight model with its unrealistic max speed limit a real downer.. and the arguments about it being the only way space fights would be fun and everything else too complicated for the masses a real lame excuse, and if there is any foundation to that easily solvable with more flight assist systems (that you could toggle off if desired).

It was fun in the old first Elite games :)


Yeah the max speed limits are a downer. I never experienced the earlier Elite games unfortunately, but did get the experience of "true" spaceship control from KSP.


Many (I would have guessed most) Star Citizen players are long time players of these other games! What SC offers just isn't replicated by anyone yet, but you can be sure that players of this genre keep an eye on the horizon for what other projects might be offering, on a quite regular basis.


Given the development time and effort required to get SC to its current state, it’s hard to see another game getting close to it.


There is such a thing as developement hell. Meaning lots of effort, but not much progress when certain layers became a mess. The latest Duke Nukem game for example was developed for 10 years (I think) and then abandoned and never released.

And I follow SC just from the outside, but at least partially, I get that impression. So sure, shiny new ships are coming out. But the game itself does not seem to get much more stable and .. playable.


Whether the term "vaporware" applies to SC is kind of subjective IMO. The server meshing feature has been advertised for a long time and it still hasn't been shipped. Though they did add object persistence a few patches ago which really changed the game for salvaging.

I bought the game based on what I see people doing in it already, and it was fun enough for me. That definitely won't be the case for everyone and I recognize that. So to me it's not vaporware and there are lots of other people still enjoying the game today.


This is just the SC project, honestly. Lots of "we will have this" and "we will do this" that never pan out because the scope is in perpetual and constant creep, with shifting priorities.

It's a cool project though, and I do enjoy the game, I just find that their plans and announcements should always be taken with a liberal grain of salt.


The jump gate to Pyro was a very exciting prospect when they first demoed it four years ago...

https://www.youtube.com/watch?v=-tB3cark5lA

But I'm in a similar boat now, backed on Kickstarter almost eleven years ago now, and playing the game is just too much of a job.

In its current state, you spend 20 minutes riding elevators and trains around to get off a planet, and then crash into an invisible asteroid and explode, respawn and start over. And add a bunch of errands flying around the system to replace all your gear that blew up.

When it works it's very cool. But unless you have a lot of free time, not worth all the times when it doesn't work.

I hope they finish it, once it stops wiping progress and is possible to slowly accumulate longer term progress I'd be more willing to put in the effort. As-is, I'm not putting in any more money. They need some pressure to actually finish the damn thing (especially Squadron 42), and the bottomless fountain of crowdfunding with no publisher calling the shots clearly isn't working.


It looks to me like "server meshing" is a concept coined by SC for the architecture they have planned. The top page of Google for the term turns up only SC-related results.

EVE uses a different, simpler model where each system is a process, and players connect to proxy servers that keep track of which system they're on (and therefore which server they need to connect to) [0]. I'm sure there are layers of caching and other optimizations built on top of that basic structure, but that's just Gall's Law in action: a working complex system invariably evolved from a working simple system.

I don't think it's a coincidence that the architecture that I can describe in a single sentence is the one powering the legendary 20-year-old game, while no one seems to be quite able to explain what "server meshing" will look like except that it seems to have a lot of moving parts and still hasn't been finished.

[0] https://www.engadget.com/2008-09-28-eve-evolved-eve-onlines-...


Star Citizen is trying to handle physics for objects in stations/planets/ships, debris, asteroids etc. A couple orders of magnitude more objects, I think.

Note that I don't play or follow either game, but I think you're making an unreasonable comparison.


I'm only referencing EVE because OP did, but I don't think the comparison is unreasonable: using a simpler architecture doesn't mean you don't use beefy machines and write your code in C instead of Stackless Python to get better performance in your physics simulations. It just means that instead of being overly clever in your network infrastructure from the get go, you pick something simple that works and iterate from there.


It probably starts at picking a game engine that doesn't absolutely suck dick at any multiplayer workload.

SC was from the start supposed to be a giant multiplayer world, yet they picked cryengine, which can barely handle simple shooter multiplayer gameplay. Half of the updates Chris has given on development are just over-explaining simple multiplayer game engine functionality that they've had to implement from the ground up, while you can download unity or unreal and replicate it in the next hour.

I've always found him to be full of bullshit. The kickstarter video had him spend like ten minutes waffling on about how the ships have thrusters on them and all the physics are calculated off those actual thrusters, as if 1) that's not just a useless implementation detail that changes nothing about the actual game, 2) as if that's impressive in 2012 instead of the exact thing the rest of the industry was doing, 3) as if that was hard work instead of just a normal thing a video game developer should be comfortable building, 4) AS IF IT MAKES THE GAME MORE FUN

I don't understand how he sold anyone off that video. The sales pitch wasn't even aspirational, it was clearly and obviously a grift, though maybe unintentionally, from the very beginning.

It's a great example of someone thinking "more simulation detail === more better". Every game developer should really attempt to take a class on the human psychology of games.


That doesn't work. The biggest battle ever in EVE online[1] had 2,670 players in a single system. The server is chugging through movement/actions/collisions for a few thousand objects, almost all of them not touching and just doing raycasts.

Star Citizen seems to have 100k+ entities per system[2], some with extremely complex collision (eg player models, ship interiors), many of them interacting with each other on each timestep, probably very few of them sleeping.

You can't fix that with faster processors. All those updates trying to go out to players, all subject to checks, all needing updates. It's not in the same class of difficulty.

[1]: https://en.wikipedia.org/wiki/Battle_of_B-R5RB [2]: https://www.reddit.com/r/starcitizen/comments/qbqv7v/heaps_m...


I've played 1,483.4 hours of Elite Dangerous in the past 2-3 years. You don't have to wait for SC to catch up.


Something that needs to be pointed out here is the fact that nearly all of CIG's resources are allocated to finishing their single player game, Squadron 42: Episode 1, and a veritable skeleton crew is working on the Persistent Universe (the MMO). Considering this, and the fact that most of the work done on Squadron should directly translate over to the PU, a lot of the skepticism over how fast development is going is misplaced. At least... I hope so.


> At least... I hope so

As do we all, but CIG doesn't make it easy to hold on to that hope when their transparency has all but disappeared. Squadron 42's store page has been removed from their website for months now, where any links to "pledge" lead to a 404 error. The only acknowledgement of it from them was buried as a reply to a days-old, user-posted forum thread where they claim it was removed for a price change. That was months ago. Meanwhile, multiple ships' prices have been updated.


They publish monthly reports about their progress on all development related to SQ42 though..


Glad to see this article.

I've been running Xubuntu on a Lenovo X1 Carbon 5th gen with since 2016 with no issues. Totally wiped Windows from the beginning. The only frustration I have is when using a non-hidpi external screen I have to change the dpi to match what the external screen is capable, so the laptop screen effectively becomes very small.


How is Plasma in terms of CPU, memory, and graphics load? When I switched from Mac OS X to Linux six years ago I tried Ubuntu but I found Gnome to be incredibly slow and resource intense. Then I tried Xubuntu and I've used it ever since. I'm pretty happy running XFCE on two 4K screens with my desktop and on my hidpi Lenovo laptop. I've noticed Plasma continuing to improve and people recommending it so now I'm more keen to test it out.

Besides the improved UX are there any other advantages of Plasma over XFCE?


Honestly, At this point, KDE is just as light as XFCE and Gnome is pretty low too. From my testing, minimal KDE on Arch or Gentoo install pulls it ~450-500mb at boot, Manjaro and Suse around 550-600mb.

Fresh Gnome on Arch or Gentoo I've seen ~650 at boot and around 750 with Ubuntu, around 650-700 with Fedora.

Gnome's Wayland implementation is much better then KDE at this moment, but KDE is quickly catching up. Nvidia still lacks, even with their EGL support. I use a Nvidia 1060 6gb on an updated (KDE 5.24), but several year old Manjaro KDE install with XOrg as a daily driver, and it's very smooth for me. Games work great. Maybe some occasional stuttering on my monitors that are 144 and 60hz (xorg limitation).

Gnome's gestures and by far and away better then KDE's too (at least as of 5.24, but 5.25 adds many more).


> Gnome's Wayland implementation is much better then KDE at this moment

Agreed, with a caveat— Gnome's Mutter compositor for Wayland has bugs. It does not support server side rendered window decorations while KDE does. This means that the title bars for Alacritty[0] terminal emulator and the mpv[1] video player are ugly and not so functional. This is an intentional decision by the GNOME team[2]. Also the screen locks while watching videos on mpv because Mutter does not support the idle-inhibit protocol, although work is currently being done on this[3].

[0]: https://github.com/alacritty/alacritty/issues/5956

[1]: https://github.com/mpv-player/mpv/pull/7186

[2]: https://gitlab.gnome.org/GNOME/mutter/-/issues/217

[3]: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/111


The window decorations stuff drives me batty. Titlebar and buttons aside, there seems to be a widespread misunderstanding about window shadows. There is some vague effort afoot[1], but a surprising number of developers don't really care whether they're consistent (note, nobody even mentions shadows in that extremely long gitlab issue you linked to), despite the Gtk folks going to tremendous efforts to make them look nice for their specific toolkit. Which is great, until you have a Gtk 3 app beside a Gtk 4 app and it looks like they're each being affected by a different light source, begging the question: why do we even have them? Shadows are supposed to create a consistent sense of space and guide the eye around the desktop, but if they're all different, that isn't happening. They're just noise.

To be fair, it's difficult because Wayland clients might have rounded corners and other odd shapes, and I'm not in a position to really look into it myself so I shouldn't complain, but argh, the indifference about it is frustrating.

[1] https://gitlab.gnome.org/GNOME/mutter/-/issues/1517


Ugh. I enjoy the GNOME look and feel but every thread on their big tracker makes me want to switch desktop environments. "Your standard is irrelevant because we don't want to follow it" is something I'd sooner expect from Microsoft than from an open source collective.


Also, Mutter does not support variable refresh rate.


No way, From my personal experience on my machine with 6gb ddr3, 5400rpm disk, i5 3rd gen KDE is so annoying to use and even multitasking is laggy while on xfce it's very smooth relatively. This was observed on Ubuntu, Arch and opensuse. Opensuse KDE was the worst of them all while arch with Xfce ran the fastest of them all.


Sounds like a configuration issue somewhere. I've run KDE on several computers with no lags, and I am quite sensitive to lags.

I also run KDE on an under-powered (even at the time it was released) x86 tablet released in 2011 (the Airis Kira Slimpad - Intel Atom N450 1,66 GHz, 1 GB RAM DDR2 @ 800Mhz, Intel GMA 500). It was the only desktop environment that was kinda usable on a tablet at the time. It's slow (this tablet is exclusively used to play music by auto starting Clementine), but not slower than anything else.

A 5400rpm disk is tough though with today's distributions and maybe Xfce does fewer disc accesses than KDE. You probably should disable desktop search if you haven't.


I guess it's the hdd thats causing the problems. I guess your tablet has emmc flash storage causing it to be pretty responsive compared to my machine that's better spec and newer too........


I think your issue is the 5400rpm disk. KDE uses a lot more of dynamic libraries (for various plugins) compared to xfce. On hard drives, that means a lot of random disk accesses, which tends to slow down startup speeds a lot.


Plasma (KDE) is generally lighter than XFCE these days. Highly dependent on how you customise each one of course.

IIRC there was a thread a while ago with benchmarks. And an XFCE developer confirmed that this doesn't surprise them, because KDE have a lot more dev resources to spend on optimisation than they do.


It's still heavy.

Other suggest that it uses same or even less memory than Xfce, that may be true on fresh boot, but it's misleading, because Plasma utilizes lazy load aggressively and also still leaks memory like crazy.

I tried to use it for a while and I noticed that memory grows quite a bit after using it for a whole day for example. I witnessed once plasma-shell process using 600MB and kwin 300MB, which is quite bad, worse than even GNOME. You can restart processes and it returns to normal, but I don't want to do that, I want DE using reasonable resources, not 1GB for showing wallpaper and few windows


To be fair, a DE does quote a bit more than just "showing wallpaper and few windows". If that's your only use, switch to something like Window Maker or maybe something even more sparse.


Can't really confirm, it's at 350mb now after 4 days of uptime - when I add krunner and baloo indexer, it's 630mb.


Probably depends on graphics and configuration, I have AMD graphics and 2 monitors.


Yes it's really heavy on my old machine but everyone points me to the benchmark numbers which gets me annoyed.


Regarding GNOME, that is what happens when most of UI stuff is running on JavaScript.

I also moved into XFCE.

KDE has the advantage of a full desktop experience, where all applications targeted to KDE can share the same developer stack and made to interoperate between each other, beyond classical UNIX IPC mechanisms.

GNOME had this as well, but seems to have been lost on their minimalism quest.


I run what I would consider a pretty heavy Plasma desktop, with latte dock, all the fancy compositing effects, and a few other additions. On top of that, I'm running several Electron apps, one Windows app in Wine, and Firefox with several tabs right now. My memory usage is 3.5GB.


I have been dealing with frame drops and not-so-smooth video since I updated the NVIDIA driver to version 515 on my Pop_OS! install on Thinkpad Extreme Gen 2 (last "good" version was 460). I thought of trying another DE to see if that makes any difference and with KDE, even though the graphics issues are somewhat still there, the performance is a definite improvement. I thought of trying KDE because I heard all good things about it and it has indeed been a joy to use. Now if only NVIDIA had the ability to produce some decent drivers for Linux...


Replying to myself in case any poor soul suffering from the same issue sees this. I generated /etc/X11/xorg.conf using "nvidia-xconfig" (it directly writes to this location so backup your existing conf in that location, if it already exists). Then I added the "ForceCompositionPipeline" option to the section for nvidia:

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BusID          "PCI:1:0:0"
        Option         "ForceCompositionPipeline" "1"
    EndSection
Rebooted and the jankiness was gone and everything was totally smooth. Google "ForceCompositionPipeline" if you want to get more into it.


Phoronix benchmarks are showing for years now that KDE has the lowest footprint. Only bare window managers beat it.


Plasma consumes almost the same amount of resources as XFCE. However you tradeoff stability for shiny new features.


I've noticed the same over the course of my life but recently I drove through the interior of Florida to go on a camping trip and the front of my car was plastered with dead bugs.


Foiling has made it possible to do all of these sports with less power. I can now go windsurfing in 12kts on the same size sail that I would use for 20kts.

I remember seeing foils in the late 90s and early 2000s but they weren't available to purchase. I wonder why. Maybe it's because the construction process hadn't been commercialized yet.


The Plantower PMS5003 PM Sensor is unavailable to ship to the US on aliexpress https://www.aliexpress.com/item/32944660534.html Do you know of another supplier that ships to/within the US?


Did you search for "PMS5003" on aliexpress? I found a few suppliers, and ordered one for $15.81 with shipping (4.9/5 rating; 156 orders)


Good call, thank you!


I'm looking for this as well.

The only think I found was https://www.adafruit.com/product/3686, but thats 4x the price of aliexpress.



> Compounded by the money being printed by Fed which also doesn't have a lot of places to go.

I generally agree with your comment about the potential for a structural change in where disposable income is going, but this statement isn't technically correct. I would check out this podcast for a great explanation of it: https://www.macrovoices.com/921-macrovoices-248-jeff-snider-...


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

Search: