Hacker News new | past | comments | ask | show | jobs | submit | ipnon's comments login

I’ve always followed Paul Graham’s advice: “live in the future, then build what’s missing.” If you’re really good at a few different things, and smart enough to learn how to do everything else, then usually the optimal startup idea is somewhere in the middle of that space. For me I’m a good programmer and I love learning languages, so I started building tools that I always wanted but no one else was selling. Once I got a prototype and some users to get feedback from, everything began to slowly snowball from there.

What’s important to clarify is that I’m not building exactly what I had in mind when I first dreamt all this up long ago, but my first idea would never have worked anyway. The best thing I ever did was just launch, because your users (or lack thereof) will quickly prove which ideas are good and which are not. So my advice is just pick the best idea you have right now. Or if you don’t have any idea just solve a problem you or your friends have. Then launch as soon as you can and pivot, pivot, pivot. It’s always going to be an iterative process.


Moon by 2030 and Mars by 2040 seems like a winning bet lately

The Delta-V is comparable since you can aerobrake on mars. It's only the difference between the time.

Earth to moon without Aerobraking is a delta v of around 13k/s, mars is 13.3


Won’t someone think of the commercial real estate investors?!

At a certain point companies prefer employees who can memorize lots of trivial information and perform at a high level while being constantly monitored for adequate performance. Leetcode pop quizzes are excellent tests for this within an hour: POSIWID.[0] Should you work at these companies? Is this kind of employee optimal for company performance at an any given company size? I don’t have these answers.

[0] https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_wha...


My POSIWID guess is reducing market liquidity and dev pay by reducing competition for staff. These companies have been caught for it before. Even though I was pretty close in getting these processes reformed at my previous big tech company and nobody hinted at that.

At this point I think it's a self perpetuating system, like medical residency sleep deprivation or 'accrediation', which incidentally makes changing hospitals a 6 month BS process for any doctor.

A certain segment of engineers voraciously and autistically defend the leetcode interview since they were selected by it and probably like competitive coding and they are exhausting to deal with. The sane reformers eventually give up and leave them to their empire of dirt since nobody gets promoted for changing these things in big tech companies.


When you want to write a monad the first step is usually to take a coffee break to make sure everyone agrees on what a monad is.

I have this same feeling using Elixir, and I think it’s because it’s excellent at showing you exactly where you have undefined behavior in your application, much in the same way you spend most of your time writing Rust by wrangling with the compiler that keeps showing you all the holes in your logic. You can write a seemingly equivalent program in Python, and it runs just fine because it’s interpreted, so it seems like you hit the bullseye first try. But as we’re all aware, there are still countless bugs in your system, they just don’t surface until later when it’s Friday night and your website finally went viral. It’s the downside of the “fail fast, fail often” OTP paradigm: you develop the program by working through your faulty logic step by step as determined by the (many) errors raised by the BEAM. The upside being that unlike Python none of these errors are usually strong enough to be fatal to your application.

This is a huge part of it, for sure.

I think this is why people often dislike state machines too, for example. They force you to really think through what you're trying to do, and there are no shortcuts.

The irony is that the state machine pattern itself kind of is a shortcut to stable, reliable, safe code. People find them overly complex and full of ceremony, but it's like... Do you really want to try getting the same assurances from your code without this kind of abstraction? I'd rather know my I can't shoot myself in the foot, because I guarantee you that I will.

Elixir also has the added layer of unfamiliarity for a lot of people (myself included) where you might intuitively know how to do something imperatively, but you need to do it within the FP paradigm. I like FP and have adopted a lot of its patterns all over the place, but I still find I'm not a great FP thinker in general. After something like 10 years. My FP-fu is limited to relatively basic operations, and when I go into advanced territory I'm constantly leaning on reference material. That's more so a skill issue than an Elixir issue.


For the most part you really only need to know Enum.map, Enum.reduce and if you really hate recursion, Enum.reduce_while

And the nice thing is that those are highly imperative/declarative functionals.

Edit: ok, also "returning stuff out of if and case statements". That one kept triggering a python developer I had, had to remind him something like 20 times. Elixir would be way better if it had 'no shadowing variables' rules.


> The upside being that unlike Python none of these errors are usually strong enough to be fatal to your application.

That's a great point. Each language has its domain where it excels. The reality is that 90% (or more) of all apps don't deal with the traffic scale of YouTube, the complexity of an operating system, or the mission-critical constraints of software for the F-35. For most businesses, Python is more than sufficient in 2024. At the same time, for learners, it's much easier to pick up. It's a sweet spot.


No manager is going to lose their job by hiring 10 Python and JavaScript engineers to accomplish what could be done with 1 Elixir engineer. And that’s how most time and effort is allocated in our tech labor market economy. It’s by working backwards from “I want to still have a job in tech next year.”

The number of people who are calculating which language to write in by thinking “how can I write a fault-tolerant distributed system with less time and energy so that I can quickly release performant products” is minuscule. The lack of popularity of Elixir is evidence of this I think.

In regards to your point on ZIRP: billions of dollars have been poured in to LLMs that are biased toward legacy languages like Python and JavaScript. Even the file structure of these languages is conducive to LLMs. A HTTP server can be and is frequently defined in a single file or function, where everything from socket creation to connection handling to request parsing to database queries to response can be composed in literally a few lines of code. This immense expressiveness is a testament to the power of HTTP. But as I’m sure we’re all aware there are limits to what can be accomplished with a single machine serving these stateless requests, and the limit can be reached very quickly. But LLMs gravitate towards producing these haiku-like incantations, it’s trivial for them.

Elixir’s power comes from having a well-defined API and explicit failure modes for each of these layers, each in their own expressive modules. This makes it difficult for LLMs to write Phoenix code when they’ve been optimized to output a 3-line FastAPI decorator-definition-query endpoint. Each of these layers in Phoenix is by itself quite simple, each layer has about 2-4 required functions to be implemented, and Phoenix can generate all of these for you. But ChatGPT doesn’t seem to be able to grok it all at once the way a good engineer can after readings the docs for an afternoon.

Will Elixir survive an era of programming where RTFM is a lost art? I suppose we will find out soon enough!


How is Elixir giving 10-1. That would be insanely good? Is it because it is replacing the devops and SRE work somehow? Or you can be super productive? I am skeptical. I imagine the 10-1 ratio can happen for some projects but not all. Right now the FAANGs would get their fangs into this for some downsizing!

So everything is a conspiracy?

Whenever it suits our own personal beliefs. If not, then no.

Yes, I'm all in on Phoenix and LiveView because of this.

The AI bit of the story is a bit of alarmist spin. As alleged he simulated traffic to music streaming sites and received royalty for it, even though no one created the music being "played" and no one was really listening. It's quite fraudulent on the face of it.

AI allowed him to avoid detection for a long time. It allowed him to create thousands of songs so that the each one would only get moderate amounts of streams thus not raising suspicion.

Had he created songs by hand they would rack up millions/billions of botted streams but them not being international hits anyone had ever heard before would have made it obvious botting behaviour.


What about the "Musician" part? Seems like the headline should be "AI Musician aided by Computer Programmer in Complex Artificial Streaming Scheme" or similar

This wording insinuates that the AI Model is the one profiting from the scheme and the programmer merely helped.

This would be a very dumb way of phrasing the situation, because the “AI musician” doesn’t have any understanding what the scheme is, it was entirely a plan of the human conspirators. It’s exactly as childish and stupid as saying “gun aided by human shooter in murder.”

There is no evidence. Because the defendants have remained anonymous, the court issues what’s called a “default judgment.” Essentially this means that since the defendants’ did not present their case, the court is obliged to accept the plaintiffs’ case as-is.


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

Search: