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

Twice actually. The first time it someone who I grew up and was close friends throughout my schooling and higher studies. It started out well enough. They offered me sweat equity upfront (no cliffs or vesting) so that showed a lot of trust. As time went on, him and his partner began spooling off different companies with no intimation and conflicts of interests. They even diluted my stake without informing. I waited till I was 4 years complete, asked them to hike up my equity stake by a few points as the business while running was not making a load of cash and the salary I was drawing was peanuts compared to the market offers I was saying no to. They didn't respond on that request for a year. Put in my papers. As to how our childhood friendship fared. He had a child recently and I found out via common friends :-)

After a stint in another startup, have joined another friend at his startup. It is hard but there is much better transparency. Only time will tell though if the friendship will survive the stint (I hope it does).


My boy is 11 now. We've used Anki with him every day since he was about 5.

Examples of things he's memorized, for fun:

* every country, recognized by unlabeled shape on the map

* spelling

* many body parts, names of bones and organs, from illustration

* chemical elements, by symbol (Na, Fe, Zn, etc)

* unix filesystem commands

* numeracy references (km from here to Japan, earth to sun, meters from home to school)

* recognizing/naming photos of places we've been since he was born

* recognizing musical instruments or musical pieces by listening

* notes on a piano

* religious facts (when Judaism began & who started it, when Muslims pray & towards what, where Jesus was born & died, etc)

* names of characters in books he's read

* wise aphorisms

He enjoys it, and dances around while answering, proud of himself. Sometimes when learning something new on YouTube, on his own, he'll say, "Dad can we add this to Anki? I want to remember this."


> The Kubernetes API is fairly straightforward, and has a well-defined (JSON) schema, people should be spending a bulk of their time learning k8s understanding how to use the API, but instead they spend it working out how to use a Helm chart.

This is a general pattern in software. Instead of learning the primitives and fundamentals that your system is built on, which would be too hard, instead learn a bunch of abstractions over top of it. Sure, now you are insulated from the lower-level details of the system, but now you have to deal with a massive stack of abstractions that makes diagnosis and debugging difficult once something goes wrong. Now it's much harder to ascertain what exactly is happening in your system, since the details of what is actually going on have been abstracted away from you by design. Further, you are now dependent on that abstraction layer and must support and accommodate whatever updates may be released by the vendor, in addition to whatever else is lurking in your dependency graph.


I use Tortoise TTS. It's slow, a little clunky, and sometimes the output gets downright weird. But it's the best quality-oriented TTS I've found that I can run locally.

It's allegedly the basis of the tech used by Eleven Labs.

https://github.com/neonbjb/tortoise-tts


A lot of people here complaining that Soloproneurs only make "useless" "pet rocks".

There is a big bias here, only the pet rock solopreneurs are very public about what they are doing and their success at it, because that is their marketing, YOU (their audience on HN and Twitter) are the pet rocks buyers.

Solopreneurs with stuff other than pet rocks often don't want to share their success and how much they are making especially not to a tech savvy and entrepreneurial audience, as this would just cause more competition.


I am really fed up with this kind of indie hacker story.

MMR updates are superficial. Weak signal. I'm confident most are absent of critical info and some are entirely made up. I don't disbelieve anyone in particular, but when a mechanism of virality proliferates, it often gets deployed without the backing substance.

"How I XYZ" around money is similarly misleading. Most entrepreneurs I know cannot recreate their own success – when they set out on a new venture, they need to look with fresh eyes, invent some new techniques, and discard a lot of methods that previously worked. If entrepreneurs aren't even able to reuse their own "how I xyz," then how will a stranger with even less nuance be able to learn or apply much from the blog post? Again, some of these stories have great lessons, but as a category I believe they are more noise than signal.

Finally, the sheer obsession with money saddens me. The great entrepreneurs of our world are hardly motivated by money – to them, money is a tool that they factor in as they work to realize a vision, not an end goal. How ethically/morally impoverished is this technical class to be so obsessed with money? There's a term for this – greed. I know that a lot of jobs suck, a lot of stuff in life is expensive, we need money to do a lot of basic things, etcetera. But money is not the only solution, and more money is not an even better solution. I don't think this incessant messaging around money is virtuous – I think it is both a product of greed and a means of harnessing the greed in others. (And where are the entrepreneurs bragging about impact?)

(For the record, I am not jealous – I make my money doing literally whatever I want, on projects that I find much more exciting, with ample time left over for nature walks, rock climbing, reading, and more. Unlike these authors, the money I make is not the most interesting part of my story.)


It's great to see people moving in this direction, but I'm disappointed that everybody has decided to reimplement basically the same thing independently.

Mobx was ahead of the game here (though, granted, it too draws on Knockout.js). You can use Mobx to declaratively describe reactive state, much like this. But it isn't integrated into any framework - you can use it in vanilla JavaScript with no other runtime or compilation required. You define models with Mobx, then on top of that there's mobx-react, which ties your model into React's update APIs (essentially making render() automatically observe values, and making relevant changes trigger a re-render), or there's mobx-vue, or mobx-svelte, or mobx-preact, etc etc. Decoupling this is super helpful - for example I'm using mobx to model raw state, computed state & reactions to changes in server side Node.js, no problem.

Meanwhile, recreating the same reactive concepts independently in each library instead makes all the resulting code incompatible, so even your pure JS state models are coupled to your UI framework - e.g. createCounter in this post has to import & use $state from Svelte. That makes it far harder to change frameworks in future, hard to share code between apps using different frameworks (plausibly even different versions of the same framework), etc etc.

I'd love to see a native common standard for this, similar to how promises were eventually standarized and suddenly everything had a compatible model for handling async future results (I could swear I've seen initial discussion on exactly that already, but I can't find it anywhere now sadly).


On most Unix flavors it is not built-in. The only shell I know that has "ls" built-in is BusyBox.

And besides, I said in other places: "ls" has been "deprecated by its maintainer" more times than exa, it's just that somebody has always forked it. GNU "ls" (the one in Linux) is a complete rewrite of the original shell, and it is annoyingly incompatible with the macOS fork of BSD ls.


As long as you're young and willing to put the work in (which is demonstrated by building things like nice apps), the software industry will always have space for you. No commitments, high stamina, inexperience in contract negotiation, willingness to believe in corporate ideals, willingness to live in corporate accomodation... what's not to like?

Microsoft and Apple were the first companies to understand this truth so deeply, so I'm not surprised Apple is still into these practices. If you are young, use them to your advantage; just - please go in with eyes wide open, because the industry doesn't really have your best interest at heart and never will.


The short answer is write-through cache.

You write the update directly to the cache closest to the user and into the eventually consistent queue.

We did this at reddit. When you make a comment the HTML is rendered and put straight into the cache, and the raw text is put into the queue to go into the database. Same with votes. I suspect they do this client side now, which is now the closest cache to the user, but back then it was the server cache.


Indeed. Add a single JavaScript dependency… you will get the banana, the gorilla holding the banana, the tree holding the gorilla, and the whole jungle.

Hmm, the main weakness of Cap'n Proto is that you have to already know so much stuff in order to understand why it makes all the great decisions it does. The weakness you're talking about matters to me, sure, I don't use Cap'n'Proto because it lacks the same tooling as gRPC, but it is better than gRPC from an ideas point of view.

I am not going to write those language implementations, I have other stuff I need to do, and gRPC is good enough. But the people who love writing language implementations might not understand why Cap'n Proto is great, or at least not understand as well as they understand Golang and Rust, so they will rewrite X in Golang and Rust instead.

Anyway, the great ideas haven't changed in whatever it is, almost 10-15 years you've been working on this, they've been right all along. So it is really about communication.

A comment on HN that really stuck with me was like: "Man dude, this is great, but try to explain to my team that it's Not React. They won't care."

I'm just a guy, I don't know how to distill how good Cap'n Proto is. But "The Unreasonable Effectiveness of Recurrent Neural Networks" is the prototype. What is the unreasonable effectiveness of Cap'n Proto? In games, which I'm familiar with, entity component systems, user generated content and their tooling have a lot in common with Cap'n Proto. "The Unreasonable Effectiveness of ECS" is deterministic multiplayer, but that is also really poorly communicated, and thus limits adoption. Maybe you are already facing the same obstacles with Cloudflare Workers. It's all very communications related and I hope you get more adoption.


I read this stuff and I feel super cynic about it. I feel like "no way, not on my watch!", and then I realize that all I can do is sign a petition, or send an email to a representative that has zero fucking clue what this means... Same reason it does not matter to my zoomer brother its contemporaneous TikTokers.

People DO-NOT-GIVE-A-SHIT. Because there are bigger problems, like "what the fuck am I going to pay the rent with tomorrow", and more entertaining spectacles, like watching a person pretend it's an NPC for 5 hours straight and give them money for it.

And I feel a lot of the people I have worked with are the same type of individual, used to realizing they are getting screwed sideways, addicted to complaining, but only as long as it's among a very select group of individuals sharing common interests.

It's the most draining type of revolution. Nothing ever gets done, fucks are handed left and right: DNS, JS-fiasco, web neutrality, browserland... And we always just kick the buck and revisit the good 'ol days on another thread further down the line, once no other rights are left be destroyed...

And yet, what am I going to do? reject the PR?


Because when I think of what I need in an email client, I think "beautiful" not "functional". It's a tool not a work of art. I use it to get work done not stare at it in awe.

UX people have killed application software. I need basic tools to work, not make me excited to use them. When I pick up a screwdriver, I don't do it for the experience. Ugh.

You know what's a beautiful email client to me? Netscape Communicator 4.x


Most people's goal is security, I wager. But here's a quote you might like:

“Self-sufficiency is the greatest wealth of all, and the greatest fruit of self-sufficiency is freedom.” – Epicurus


Serverless everywhere yields apps with massive latency & loading times and if timeouts aren’t well tuned (read: set unreasonably high) you often get dropped connections on api calls. I am currently migrating an app off vercel to raw compute (EC2) and the difference is night and day.

I looked into serverless postgres offerings a few months ago and came to realize that while it is possible, it doesn't appear that we have figured out how to develop with it as well as we have with traditional postgres. ORMs are fairly incompatible with serverless postgres, and schema migrations are difficult to handle because you have an unknown number of asynchronously updated copies of your code spread around the world. Definitely something you can account for with good planning, but probably not worth the headache to the small and medium-sized teams that would want to sign up for Vercel.

Am I the only Luddite who

Deploys Go app containers. Pick a cloud. Use whatever they offer.

Deploys static JS to cdn

Calls it a day.

I really do not understand these tools. Who is using them?

I’ve built and worked on apps used by millions of people. Really don’t understand where the benefit is or if people are just over complicating basic things to extract money from chump developers?


Its extremely expensive, and I'm aware of two companies migrating away from NextJS itself (neither were ever hosting with Vercel, though).

I've only talked in depth with one of them, but the reason is complexity: they want "a react framework" and every update to NextJS substantially raises the complexity bar, introducing a large number of features that they don't want or need. There's also been at least one incident of a NextJS bug which only affected non-Vercel deployments; and that incident came up in this discussion as evidence for their concern that NextJS doesn't have a future outside of Vercel (the company and the platform).


Yeah, that is fair. For that problem, from an admin perspective, killport becomes a bandaid for not fixing the bug of poor behavior when the laptop lid closes. Instead of finding an automatic technical solution that does the right thing, every developer must toil by running operational commands to resolve their hung server.

If you have a "cargo cult" culture rather than an "understand the problem" culture what happens is that you hire a new dev and teach them that when the lid closes, you run killport to get it running again. The environment takes 10 seconds to set up and that's fine. By the time you are 100 employees you have 100 employees killporting their dev server and now taking 2 minutes to restart.

If you're lucky you get an altruistic hero dev who says "screw this, I don't want to deal with this any more" and they solve it. If you're unlucky, the behavior gets scaled out to 1000 employees your dev server takes 10 minutes to initialize and your developer tools team is under resourced and has higher priority stuff to deal with since "dev server hung" already has a solution. That's a little hyperbolic, but I've seen similar things.

Maybe what you really want is a cron job or supervisor that health checks your environment and restarts it when it's hung. Maybe there's a place to shim open/close lid behavior. Maybe spinning disks are being used instead of SSD's. Maybe the problem is local dev environment instead of remote. Most of those suggestions are automations or mitigations. The real solution might be as simple as a configuration change.

It seems like a very solvable problem.

> now cant boot my dev server during local development

Why?


i collect these for fun! adding to my collection https://github.com/sw-yx/spark-joy/blob/master/README.md#dro...

more like this:

- https://andybrewer.github.io/mvp/ mvp.css

- https://yegor256.github.io/tacit/

- https://github.com/alvaromontoro/almond.css has thin fonts

- https://picocss.com/ Elegant styles for all natives HTML elements without .classes and dark mode automatically enabled.

- https://simplecss.org/demo 4kb incl dark mode

- https://watercss.kognise.dev/ Small size (< 2kb)

- https://github.com/xz/new.css (https://newcss.net/) 4.8kb sets some sensible defaults and styles your HTML to look reasonable

- https://github.com/oxalorg/sakura supports extremely easy theming using variables for duotone color scheming. It comes with several existing themes

- https://github.com/susam/spcss


One thing I’d add to this conversation, though I’m certain it’s already been stated: As many have mentioned, there is a large subset of the user base that uses Python for applied purposes in unrelated fields that couldn’t care less about more granular aspects of optimization. I work as a research assistant for international finance faculty and I would say that compared to the average Hackernews reader, I’m technologically illiterate, but compared to the average 60-80 y/o econ/finance faculty member, I’m practically a Turing award winner.

Most of these applied fields are using Python and R as no more than data gathering tools and fancy calculators. something for which the benefits of other languages are just not justified.

The absolute beauty of Python for what I do is that I can write code and hand it off to a first year with a semester of coding experience. Even if they couldn’t write it themselves, they can still understand what it does after a bit of study. Additionally, I can hand it off to 75 year old professors who still sends Fax memos to the federal reserve and they’ll achieve a degree of comprehension.

For these reasons, Python, although not perfect, has been so incredibly useful.


I had a database table where I used UUID as primary key. Big mistake. Haunts us to this day.

Not sortable. Takes a lot of space. Table relationships are annoying. Etc.

What we do instead is have a secondary UUID key and keep Bigint as primary keys. Then use the UUID column in the external context instead.

UUIDs are fine for 99.99999% of the time in your own domain.

Don’t expect universal uniqueness across all domains.


I find this hilarious. We all understand that the core reason some people might want to hurt twitter is because it is no longer going to follow the moderation policy that they liked (namely, silencing people with different political opinions). Yet, people can't name this reason honestly, and invent some other thin weiled excuses like 'layoffs are baaaad and unethical'.

Bold prediction: this influencer with 40k followers will find that ~40 of his followers have followed him to mastodon, and will be back quietly in a few months. Likely, after finding some reconciling excuse about Musk doing something good so he can be forgiven.


I am Medium’s new CEO and was a major publisher there before that. I’m reading a lot of “go the way of Medium” type comments. Completely fair.

Medium was going in a good direction and then made a wrong turn. Call it a lesson learned maybe. But there isn’t anything preventing us from reversing back to that decision point and going down the right path.

The right path is making sure we surface the good stuff. It’s there. We just made incentive and distribution decisions that swamped a lot of expert level writing with derivative content mill stuff.

We like being an open platform and that means plenty of less good stuff. But we have plenty of tools to select the posts that actually provide value. Turning those on is most of my focus.

In practice we overlap competitively with all the publishing options. That’s Substack and ConvertKit, Wordpress, Ghost, LinkedIn. Others.

The biggest philosophical difference is that I want to hear from people that don’t have time to build an audience. You don’t learn programming, design, marketing or entrepreneurship from a journalist. You want to learn those things from other experts. At least I do. By definition, experts are too busy being experts to be full time writers and audience builders.

A person with one great thing to say should be able to show up on Medium with no following and get that thing read by thousands of readers.

Nobody has to tell me we aren’t delivering. But I know the system well enough to know we can reverse course. And I know the results so far well enough to know that being useful is enough to overcome our history.

So that’s the state of Medium.



I love my M1, but does anyone else have horrific performance when resuming from wake? It’s like it swaps everything to disk and takes a full minute to come back to life.

Hi all! I'm David, CEO @ Retool. I'm looking in to this right now and will update my comment here with a response in the next two hours.

Edit: just did a bit of digging.

It looks like we have a Retool template that has some fake data in it (https://retool.com/api-generator/). This is an app built in Retool, and has a few thousand rows of hard-coded data.

Most of this fake data is self-generated, but we used the faker.js library (https://github.com/marak/Faker.js/) to generate three datatypes: IP address, avatar, and industry. This MIT licensed library, when used, creates data that links directly to fakercloud (https://cdn.fakercloud.com/avatars/). Here is the code itself: https://github.com/Marak/faker.js/blob/master/lib/internet.j..., and here is a demo that shows the library generating those links: https://rawgit.com/Marak/faker.js/master/examples/browser/in....

I just spoke to the engineers who worked on this project, and we are sorry for including links to fakercloud. This wasn’t intentional, and we just pushed a commit removing all avatars from the template. This is already deployed. I hope you all can understand why we trusted the data generated by the MIT licensed project, and didn’t think it would link to anything proprietary.

I myself am an engineer (and avid HN reader, as evinced by how I found this while reading HN on a Sat night), understand Marak’s frustration, and agree that monetizing OSS is hard. While we’ve already contributed around $10k to various libraries we use (https://opencollective.com/retool), including faker.js, Babel, ESLint, and JSON Schema, I’m going to see if there is more we can do. We’ll be writing a blog post about it this week and I will follow up with more next steps. I wonder whether there is a better way of sponsoring OSS, other than just donating dollars every month? (Maybe we could commit one engineering-day per month for contributing back to OSS libraries we use heavily?) In the meantime, we'll certainly continue sponsoring all the libraries we’re sponsoring already, including faker.js.

(Also: I’m sorry to Marak for not responding to his email re. acquiring Faker. More in this child thread: https://news.ycombinator.com/item?id=27252420)


The projects/app relationship never 'clicked' with me. I also have a dislike for the awkward 'polls' example in the django tutorial.

That said, I like Django. Of course, I liked Rails better, but maybe that's because it was my 'first' and I never used any of the big php frameworks for a long period of time.

I quit wasting my time with Flask for projects a while ago. It's a really great project and suited for smaller things, but you just end up re-implenting django. I'd rather someone made those decision for me.


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

Search: