Hacker Newsnew | past | comments | ask | show | jobs | submit | djbusby's favoriteslogin

Oh if you set the environment variable COMPOSE_FILE, you can specify a colon-separated list of compose files, which get merged together. This lets us have our core services in our main compose.yaml, since they're shared between dev and production, and then have extra services that are prod-only, or toggle certain prod-only environment variables, inside the compose.prod.yaml . And extra services/settings which we only want in the dev environment go in compose.override.yaml .

Eg

    COMPOSE_FILE="compose.yaml:compose.prod.yaml" docker compose up
My work is OS so you can check it out here if you wish: https://github.com/internetarchive/openlibrary/

If you'd like to make oobleck at home, here's the recipe from Peter van der Linden's book Expert C Programming, Deep C Secrets:

"If you have enjoyed this book you might also enjoy the text Bartholomew and the Oobleck, by Dr. Seuss, ( New York, Random House, 1973). As Dr. Seuss explains, Oobleck "squiggles around in your fist like a slippery potato dumpling made of rubber." He doesn't tell you how to make it, so I will here.

How to make Oobleck

1. Take one cup of cornstarch. 2. Add some drops of green food coloring; Oobleck should always be green in color. 3. Slowly knead in up to half a cup of water.

Oobleck has some extremely strange, non-Newtonian properties. It flows like water through your fingers, except when you work it like dough—then it immediately assumes a solid consistency. Except when you stop kneading it, it turns back to liquid. If you strike it quickly with something hard, you can shatter it!

Like all Dr. Seuss books, Bartholomew and the Oobleck can be read and enjoyed on several levels. For example, One Fish Two Fish, Red Fish Blue Fish can be deconstructed as a searing indictment of the narrow-minded binary counting system. Software engineers can benefit from a sophisticated reading of Bartholomew and the Oobleck.

The world would be a better place if every programmer would just play with Oobleck occasionally. The good programmers would be more rested and refreshed and the bad programmers would probably get their heads stuck to the table. But always remember, no matter how lowly or exalted a hacker you are, you are a child process of the universe, no less than the disk controller, or the stack frame mechanism (explained at such length in Chapter 6)."

This book came out in 1994 so is dated now, but as you can see it's treasure!


If you use VS Code there are a couple of extensions that insert the current timestamp with a hotkey. That makes it very easy to add to documentation.

I use this one that allows you to configure the output format:

https://marketplace.visualstudio.com/items?itemName=gieson.w...


My .bashrc script (when logging on, which is checked by the fact that no GUI session is running) starts X Window (actually it starts an XFCE session, because that is what I use), then it remaps the keyboard to a custom Dvorak variant and it configures Wacom thus:

WACOM_ID=$(xsetwacom list | grep STYLUS | cut -f 2 | cut -d " " -f 2)

xsetwacom set "$WACOM_ID" "Button" "2" "button +3 "

xsetwacom set "$WACOM_ID" "Button" "3" "button +1 -1 +1 -1 "

xsetwacom set "$WACOM_ID" "Mode" "Relative"

The line that discovers WACOM_ID is necessary because the Wacom device driver does not always use the same device numbers, even when nothing has been inserted or extracted in or from the USB ports. Moreover, even the Wacom subdevices are not always listed in the same order, hence the need to use grep for row select.

There are many other ways to execute a script on startup, where you can add these lines.

The acceleration of the Wacom mouse cursor is configured in the standard desktop settings.

"button +3 " means that the associated action is right click.

"button +1 -1 +1 -1 " means that the associated action is left double click.

I have left the default action for touching the tablet with the pen, which is left click. Selection by pointing and touching is even more natural than with a mouse or other alternatives.


Having been in/around the game for a good few years, I can assure you it's not nearly as complicated as they try to make it sound.

The game works like this: the VCs want 100% of your company, and you want to give away 0% of your company. (Of course, 90%+ of companies will fail, so it doesn't really matter. But let's pretend we're all in that special 10%.)

If you do end up choosing to play that particular game, then you'll find some common numerical rules of thumb. They usually go like this: Each round should raise 12-18 months of runway, and each round's investors usually get about 20-30% of your company.

On one side of the game, you have the VCs, who basically play this negotiation full-time — and whose comp structure depends on extracting as much equity from you as possible. This is why we get the constant stream of "thought leadership" from VC bloggers, because they're trying to distinguish themselves as offering something more than capital. (And, having distinguished themselves, they can extract more % from you for less $.)

After decades of practice, VCs have plenty of hustles they can run. Some of the classics are the old "participating preferred" play, as well as the usual sound bite about how "it doesn't matter what the exact numbers are."

On the other side of the game, you have the founders, who basically want the maximum amount of money in exchange for the least amount of equity — but also for the least amount of time. Fundraising is a massive distraction, and VCs know it — which is why time always gets used against the founder, with long and drawn-out "fundraising processes" that (by total coincidence, of course) also happen to exhaust the founder and push them towards signing.

The twist is that this game isn't only for 1 round. Once you take your company into this game, you're stuck in it — you'll have to keep fundraising to keep fueling the growth that you've kickstarted using external capital. With the average IPO timeline being 7-10 years, combined with fundraising every 12-18 months, you can expect to play this game 5+ times on the way to IPO.

Sometimes, for a variety of reasons, the founder raises too much $ for too little %. You'd think this is a good move — but, since this is an iterated game, it's not all upside. Decisions in this round set the stage for the next round. If you can't live up to the growth expectations implied by the high valuation, then you're in for a "down round."

VCs have a standard "down round" playbook, too. They'll have their way with the cap table, of course — and it's also not uncommon to see some/all of the founding team shown the door. The press piles on as soon as they hear of it, which drags on employee morale as well as the talent pipeline, both of which then destroy product velocity and market positioning... it's very easy to have a single "down round" be the kiss of death for a company.

So that brings us all the way back around to your question. For this particular company — as well as for many others that raised during the "cheap money" era of the pandemic and pre-pandemic years — it sounds like they're facing this conundrum. Crowdsourcing the next round is a somewhat new way to tackle this situation — new regulations came out a few years ago, and founders sometimes go this route instead of risking the "down round" game with VCs.

You usually only see B2C companies making the crowd-funding play in the first place, since you need the name recognition and customer base to even try to raise money in this way. Because founders can essentially "divide and conquer" their investor base in a scenario where everyone's investing only four or five figures, the common scenario here is that the founder sets the terms to avoid the down round — and then they begin the fundraising. Since they're fundraising from hundreds/thousands of people instead of 5-10 people, it ends up being more of a marketing campaign rather than high-touch sales, which can also play to some founders' strengths.

Anyway, I could keep riffing for a while (and I'm sure others here could do even better). I'll let the other commenters chime in with book recommendations — I'm sure someone's written about these market dynamics in much more detail.


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

Search: