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

Really clever, nice work. Love the minimal but polished approach you’ve taken


Thanks very much! A minimal approach is indeed one of the goals.


I really think we need to take a good look at Tux, and consider a redesign. For something as symbolic as him, I really think that we need to adjust his shading, such that he is at least 50% black. His current appearance is a literal example of white supremacy, and this should never be tolerated.


This also makes me think of blackbodies, which are literal black bodied objects in physical space that absorb radiation in larger quantities than non black bodies


Such a waste of valuable man hours


I don’t understand why Ruby and Rails get a reputation for being outdated or “legacy.” Over the last several years both have seen massive numbers of contributions, both in improvements and new features. I’d be surprised if any tool for building a new web app could even come close to what Rails has to offer across the full stack.


I've been toying with Perl+CGI-scripts lately and find its super productive with the benefit that I can do serverless without the lock-in.

I don't think the software engineering field is particularly rational and mostly follows trends or what looks good or familiar. We have a proclivity to assume that anything old is legacy. Most developer have never studied any CS history and are quite young, so they're bound to reinvent the wheel as well.

I think its fine to use older technology if its the right fit for the problem, and since the tech is battle-tested, you can read up as to why it went out-of-fashion, and as a result can minimize the risks with using it. It's "predictably disappointing".


> Most developer have never studied any CS history and are quite young

Even the ones who studied it still fall into the trap of novelty for novelty sake. I'm guilty of that as well 20+ years ago at the start of my career, I believe it's one of those wisdom rites of passage someone needs to go through to value the lesson.

Boring old tech that works is pretty good, if it's not unmaintained, gets updates while keeping a stable core, has an ecosystem of good libraries and documentation, I'll always choose it over some new fangled thing from the past 2-5 years.

You need to feel the pain of depending on something that is taken away, or dies a slow but surely death, or creates massive headaches to upgrade, to value the stability of boring old tech.

I feel it's a cycle bound to be repeated by each generation.


I'm old enough to have been using Perl with CGI in the waning years of the old millennium. I loved it then, but it's not just hype cycles that caused people to move on to different solutions: Modern stuff is better in a bunch of very real ways.


I found that with CGI::Application, and similar Perl modules you get the facilities of the modern stuff, as well as the portability and simplicity of a simple index.cgi script.

Two things I think Perl always had a good reputation for was CPAN, providing interfaces to "everything", and a high degree of testing. I love that golang and rust both emphasize testing in modules/crates/packages. Writing perl CGI scripts I always had test-cases for the whole lifecycle, and that's something that isn't so common these days writing handlers in other languages.


if you like perl+CGI, then i suggest you take a look at https://harcstack.org


I love this


Since it doesn't have as much interest from FAANG people treat it like its dead meat. Rails powers a ton of smaller apps (and some very large ones) but everyone thinks their idea is the going to be the second coming and therefore it needs all the insane optimizations that power Google etc.


The money is in working for a FAANG. So that's what Devs trains for.

There's not much money in working for a small saas unless you're the founder.


It's because it's not receiving a constant hype that other fullstack frameworks have, so people thing it's outdated. But in reality, Rails is boring, it's a beast and it just works


It’s the same thing with php. I would say it’s probably because they are languages from the 90s, but then you have python and JavaScript which are from the same era too and people never question their relevance or “modernity”. All of these languages (even java) have been in constant development since then and all of them have modern features. Why are some considered modern and some outdated when they are all basically from the same era?

A truly modern language is Rust.


PHP typically required a web-server, system administration which is old fashioned. No one wants to do that which is fine as it keeps me employed.

When Ruby made western presence it was clunky. No one knew what it was and it got stuck with that personality. It had an ecosystem too but never hooked in to the western world.

Java is tainted by Oracle and seen as "business".

And it's also weird how Postgres has made an uprising appearance. It was sitting duck back in the 00's. I knew it existed because as an script kiddie I could install a php forum and select it as a database backend but I never did.

Want to make a LCD display? You can simply by slapping a python library in to your code.

Ecosystems pull coders in. Thinking about it, it's probably why Perl was popular before with CPAN.

The old net was special but skills had to be learnt. Remember the days when you had one server for one service?

The new net is terrible but everything is handed to you on a golden plate.


> PHP typically required a web-server, system administration which is old fashioned

IMHO deploying PHP to production is easier than Ruby/Python. You need a web-server but once it's configured (not a rocket science) you just copy all .php files. For ruby you also want to have a web-server (e. g. nginx) unless the load is negligible. If you want to deploy a project with all dependencies you probably need something like rvm but some gems would be easier to install form OS packages (like pg or other wrappers around C/C++ libraries installed from OS packages too). And then for ruby you need an additional daemon (HTTP) which will be restarted on updates (and auto-restarted if it will crash).


Postgres didn't really become the darling of SQL databases until rather recently.. i'd say the last 5-10 years. It was a clunky DB back in the day compared to MySQL.


It was clunky because it actually enforced rules.


> When Ruby made western presence it was clunky.

At least when I first encountered Ruby it felt somewhat cool and exotic, I think because of a combination of its friendly website (compared to say Java), Japanese origin, and the fact that some of the first Ruby I ever learned was from why's (poignant) Guide to Ruby.


How is it possible that we have this many programming languages and every single one is worse than the other?


Perhaps because:

"There are only two kinds of languages: the ones people complain about and the ones nobody uses" -- Bjarne Stroustrup


My theory is that this world is actually some other world's hell.


By western world do you mean California? Because in Austin rails was huge and I was a lonely Django fan


> A truly modern language is Rust.

Don't recent PHP releases actually have a pretty good selection of nice, modern features? Union types, JIT compiler, pattern matching against types, nullsafe operator, gradual typing, etc. It seems like FP style is better and better supported with each new release, which is another hallmark of modern languages like Rust.

If you're stuck on some cursed, barely-maintained PHP 6 legacy codebase, you can't enjoy these things, but when it comes to choosing PHP for new projects it seems like it's more modern than its reputation.


This is anecdotal, but one thing I do when comparing languages and frameworks, is browse the most popular libraries on GitHub from that ecosystem, and see how much maintenance they're getting. I usually use the contributors graph, as well as review how/when issues are handled. Ruby projects seem to have the most contributors maintaining the "deepest" libraries of any ecosystem I've seen, consistently, for the longest time. In other ecosystems I keep seeing one guy trickle-maintain some massively popular (based on stars) project that fizzled out over time. You could argue that some of that is due to "completeness", but I keep seeing evidence to the contrary: still many unsolved issues, but the initial activity spike subsides down to a trickle. To me that's what represents the health of an ecosystem: not how many new projects are created, but rather how well supported existing projects are.


I've noticed the exact same thing. Every tablestakes component has a gold standard library (sidekiq, puma, devise, rake, vcr, and so many others) and all seem to have been updated within the last week. The community might be small and have a dull outward appearance, but anyone who works with Ruby knows that the ecosystem has been blooming with life for 2 decades.


I think it's just so strongly associated with a certain era (10-15 years ago) that it's hard for people to get it into the present day. Also, Rails is so dominant in Ruby that there aren't libraries/frameworks for the "latest trends" with as much mindshare.

I wouldn't be against starting a new project in Ruby or RoR.


I feel its the MVC part that IMHO kind of sucks. I really dont like how it couples you to all sorts of frameworky stuff. A simple router is what you really need in 99% of cases.


For anything else you might use ruby for you can use python, so you might as well just use python.

If rails is the best at making web apps, and other ecosystems in other languages maybe get you 90% of the way, might as well use something else and not deal with ruby sucking at other jobs.


Surely language preference factors in somewhere. Python is opinionated and not everybody’s cup of tea.


I prefer Ruby because of it's flexible meta-programming capabilities, like I would easily draft my own DSL if I have an idea of how I want the syntax to look like. This is such a powerful and underrated feature of Ruby in my opinion


Funny, I don't like Ruby because it has easy access to metaprogramming. It's powerful, yes, but in my experience it's a powerful footgun that makes the code very difficult to understand and debug 6 months down the line. And if you have a bunch of "clever" programmers working on the codebase, the horror...


I'd say that other frameworks get you 70% of the way of Rails maximum and if that's what your building, it doesn't help knowning that the language is better in other areas you won't use.


Agreed!


Rails has bad spa suppott.


SPAs are one of those things that few apps truly need. And honestly, these days, if I thought I truly needed an SPA I'd probably just write it in a compiled language that spits out WASM.

But Rails is hard to beat for CRUD apps.


> But Rails is hard to beat for CRUD apps.

I'm honestly surprised it didn't take off massively for internal enterprise CRUD stuff. It's by far the most productive stack I've ever used, the second closest being .NET w/ EntityFramework.

It was the darling of the early SaaS explosion of the early 2000s, and then just kind of died off in hype.

I like that it's opinionated, stops be from going down rabbit holes, and batteries included. There's nothing in the JS/TS framework of the day world that leaves me wondering "hmm, maybe I should stop using rails for this." It all seems worse, somehow, despite being more "modern."


It's difficult for enterprise to bet against C# or Java and I kind of get it. Following the crowd is a form of hedging your own career, if things go south you won't get fired for it, but if you bet on an obscure language and framework with no support you will.


Is that a bug.. or a feature? Probably the latter


U know, nothing beats SPA right ?


…In keeping lots of people employed.

All that extra complexity is great for the economy.


God, I had to deal with a junior we hired that wanted and attempt to SPA all the forms on a intranet application form.

I struggled to explain I would now have to spend 4 hours updating dependencies, maintaining a node js pipeline and dealing with typescript all because you couldn't handle adding a new fucking single form input to a form with only 3 existing inputs, which would have taken only 3 lines of code between the HTML and C#. The cake was this is an intranet app where the entire form only gets used a few times a year at best.


That shouldn't even be web application you should have some kind of off-the-shelf CMS already in use that you can rely on for forms like that.


There is the API only mode :-)


It has bad support for anything that isn’t html.


because they are not javascript??? you realise that ruby and php still need to interact to JS in the end

so why not use JS directly or build on top of that???? that's what people do


I really recommend you do more reading on DDD. This codebase is looking like a ticking time bomb. Biggest red flag I’m seeing right now is your supabase/functions/create/index.js. You have 2000 lines of code that contain what I see is your domain logic mixed with database queries and http concerns. In some places there are 8+ levels of conditionals, promises, and error handling. For an ERP system, this is not good. Ideally the domain logic (accounting, rules, core erp stuff) should be isolated by itself, with solid test coverage, free of any external communications/concerns, etc. The reason being that this is not something you want to fuck up. Business rules are tough as I’m sure you know, and this is going to be a pain to maintain in its current state


I was wondering the same, about their backend domain model (or lack of it).

Fwiw in the TypeScript space, we built Joist (https://joist-orm.io/) to do exactly this.

Granted, we went with a Rails/ActiveRecord minimalist take on DDD instead of some of the more elaborate (overkill imo) implementations that are common i.e. in the .NET space.


I would have told myself that there's going to be a new frontend architecture called "SPA," and a new framework related to it called React.js. And that I should stay far away from both of them.


I strongly disagree with this. I got a 102 on the Putnam and am proud member of Mensa International, yet I never studied for exams or really tried very hard in school. While it makes me uncomfortable, people often call me a “genius,” and they are always even more surprised when they notice I never really have to put in any effort to do anything. I also strongly disagree with the “relearn your field” argument. I have a photographic memory, and never forget anything. The idea that I’d have to relearn something is absurd.


This doesn't really refute anything in the article, he says that at post-graduate level this quickly stops being enough. Have you managed to make a serious contribution to mathematics without trying very hard? I don't dispute what you are saying, but this article is about making real contributions to a field which is way beyond exams or joining Mensa.


Intelligence does not necessarily equate to effectiveness. How have you applied this genius of yours to the world around you?


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

Search: