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

> I never understood double entry bookkeeping

While I completely agree with you and have had the same experience, I'll try to phrase it in a way that might "click" for you:

1. An account is an abstract bucket that aggregates things of the same type. For example, the "Sales" account contains all the income from sales and the "Furniture" account represents the value of all the furniture. The "bank account" represents your dollars stored in the bank.

2. A transaction is an event where something of value is moved from one account to another. For example, when you buy furniture, money goes out of your bank account and is "transformed" into furniture. When you get paid, dollars go from an "Income" account to a "Bank account".

3. The goal of double-entry bookkeeping is to show both the source and destination of every transaction. For example, if you have furniture worth $375 in your possession, where did that value come from? Right, a transaction "debited" the furniture account by $375 and also "credited" the "bank account" with the same amount.

I suspect the original article only makes sense if you already have a solid understanding of both graphs and double-entry bookkeeping though...


Thanks, this was a good explanation.


Thanks for this explanation, I see the “graph” now!


Perhaps /g/ is worse, but I feel that applies to most established forums on the internet. It's particularly noticeable if you've bounced around various subreddits that it's just the same 5 opinions rehashed endlessly, and anyone who disagrees has left the building. You just get a different set of 5 opinions when you jump to a new subreddit.


This is why I feel moderation, or perhaps curation is a better word, isn’t a bad thing. A hardcore 4channer might not think so, but I feel the lowest common denominator isn’t. That is to say it just produces a noise that isn’t beneficial at all unless you want to be tickled that way for the lulz.

r/askhistorians is a fantastic example where curation produces high quality insight and debate.


I’m lazily designing a Reddit replacement, can’t really build one while I’m still employed and may never build it.

If you’re not chasing infinite growth, or even if you are but want to set the right culture at the outset, I think the HN moderation model is ideal. Just delete low quality and blatantly offensive posts and ban repeat offenders. You don’t need some complicated mechanism for implementing restorative justice or scaling moderation via community moderation teams, you just don’t want those users to post

4chan is filled with people asking easily googleable questions and the user base generally seems to be about 17. I know that’s the age when I visited the site the most (thank god it was before the 2016 election which irrevocably ruined the site). It has a very low bar for discussion and the signal/noise ratio is terrible unless you’re willing to wade through piles of shit to find a gem here and there.

4chan for sure has useful insights like a very low (captcha) barrier to use the site and a very low-ego culture. But the discussion quality is actually abysmal


I hope you get your chance to build one.

I think a central aggregator that is Reddit still produces the less friction. I haven’t felt compelled to sign up for any alternatives sofar. It’s an interesting field at the moment, and with Twitter in flux, a smart player might be able to take advantage of the unique opportunity.


I do too! It’s not just Reddit and Twitter I want to replace. I think Quora and Stack Overflow, even Wikipedia, had some good social ideas as well. Most of these were ruined by chasing growth (diluting out the good original user base) and trying to juice out as much revenue per user as possible. They’ve all been enshittified unnecessarily - even though not all are profitable, in most cases where they aren’t, it’s because of over-hiring. Running a website isn’t that hard

Unfortunately I will need to switch to a non-pseudonymous account to launch and really talk about it, so can’t get into too much detail on this one.

I honestly think that, if these sites had been ok with measly 9 figure valuations and didn’t go chasing 11 figure valuations (or, a huge nonprofit treasure chest, or allowed petty busybodies to exert undue influence on the site), none of them would have gone to shit.


That's an odd example. askhistorians is meant to reflect current American historians' scholarly consensus, and rigidly moderated to stay that way. While this does sometimes produce insight it's one of the least debate-oriented places on the internet.


I've seen plenty of posts in which people had conflicting accounts of historical events, including anti-Western, anti-Eurocentric, and anti-Imperialist ones, and as long as they are well-sourced they are fine.

The bigger issue is that r/askhistorians is an English-language subreddit, and English is the most widely-used language of the Western-Imperialist powers, so it makes sense that if you ask in their language, you are mostly going to get their answers. The people who would have equivalent expertise from other viewpoints are mostly not lurking that subreddit.

And yes, it's not meant to be a place to debate, it's meant to be a place to get access to historians' subject matter expertise. When 2 historians' accounts conflict with each other, they aren't supposed to start arguing about it, they're supposed to each make a separate reply to OP with their sources.


I mean it’s not called debate historians


> I'm not sure what they're going to do when there aren't any groups left to "other."

There's always going to be an "other". If necessary, some arbitrary social divide will be invented. Most of the "groups" we've split ourselves into are not particularly meaningful to begin with, and it doesn't take much to become an outsider when people really want there to be outsiders.


"sure enough, doing just that sent me into a rabbit hole of errors"

I did that exact thing in a project last weekend, and ended up spending 5 hours trying to fix the horrible mess that ensued. I only tried doing this in the first place because bundler errored out on installing one of the gems, and I figured a "clean" local setup would fix things.

For some reason the project still wanted to use global gems, and when I tried to delete them to force it to use local gems I broke everything. In the end I just installed RVM with a clean version of Ruby and let it use global gems.

I'm sure I did it wrong, but the errors I got were just insane. I couldn't delete gem X because I had gem Y installed, I couldn't delete gem Y because I DIDN'T have gem Z installed. I couldn't install gem Z to delete Y to delete X because my installed version of gem Q didn't match the version bundler wanted, but I couldn't install a new version of Q because of reasons...

After reinstalling the exact same gems (through RVM instead of the apt-get version of Ruby I had before) things still didn't work, and it took me quite a long time to figure out that the error "your version of [some YAML gem] is wrong" means that you have to add a line of Apache config telling Passenger to use Ruby.


I am sorry for your experience with this.

I am just trying to understand your case. So if you have a Gemfile in your folder and then execute something like

     bundle config set --local path "vendor/bundle"
Then all gems should be installed in ./vendor/bundle.

I am not sure how Passenger works (as I am mostly using Puma). I am assuming based on what you wrote that the issue was with the gem passenger itself which is used by the Apache config and it is not a library used by your project.

I don't think the issue you encounter is representative to Ruby and it's ecosystem. I think any module loaded to Apache will probably need a way to know how to load some other modules and probably passenger (via Apache config) needs to know where to find the dependencies it has. Passenger is a web-server so it has its own dependencies.

My suggestion was about the dependencies of your own project.

I am usually doing projects with Rails and Sinatra + Puma + Nginx or Apache and in both of them with the setup I shared I did not encountered any problems releasing the project in production with bare metal configuration (via Capistrano for example) or using Docker.

I am not saying that my experience is representative for everything in Ruby ecosystem. I started using Ruby in 2007 with Ruby 1.8 and I do agree that we had some rough years in the ecosystem specially when working on multiple projects simultaneously.

But now, my experience is a breeze.

On a tangent, I have more problems with npm/yarn than with gems. For example I just started to upgrade an old Rails app to Rails 7 and suddenly on my Mac OS a npm package needs some kind of Python version with some libraries that in turn seems to require some other stuff. Even if I am more like a dinosaurs and prefer to run locally all projects (thank maintainers for asdf) for this one I let it go and put it in docker :)


Thanks, I'll give it another try some day and try switching to local gems. I used the exact command you suggest and it didn't work, but I don't remember why. Unfortunately I didn't keep all the logs, so I don't remember exactly what all the errors were, but I think Passenger was the cause of about half of my woes and I'll look into replacing it.

Bundler was pretty damned useless though, I've had a much worse experience with that than I've ever had with yarn, pip or npm. It really shouldn't be necessary to nuke the whole Ruby installation to do a clean install from a Gemfile, and the errors it produces are extremely misleading and unhelpful.

I'm not really a Ruby dev, I just inherited an ancient Rails project and had to make it work (upgrading from Rails 4 to 7 in the process), so the project setup is less than ideal. I'm sure a lot of my problems were self-inflicted ;-)


Thank you for replying to give more context.

You have some courage to go to a Ruby project and try to upgrade Rails from 4 to 7. I hope it will go as smoothly as possible. Props to you!

I am not sure if it helps and maybe you know these, but just in case here are 3 URLs I keep at hand when I upgrade Rails:

1. https://railsdiff.org (where it shows diff from sources)

2. https://www.fastruby.io/blog/tags/upgrades (they have some great articles in cases of some upgrades)

3. https://guides.rubyonrails.org/v6.1/upgrading_ruby_on_rails.... (there is page for each version just replace v6.1 with the major version that you need)

And also if you have not already started may I suggest you don't go directly from Rails 4 to Rails 7 but just try to go to each major(ish) version:

   Rails 4.0 -> 4.1.x
   Rails 4.1 -> 5.0.x
   Rails 5.0 -> 5.1.x
   Rails 5.1 -> 5.2.x
   Rails 5.2 -> 6.0.x
   Rails 6.0 -> 6.1.6.1
   Rails 6.1 -> 7.0.x
For each version there is an upgrade page. Eg:

- https://guides.rubyonrails.org/v4.1/upgrading_ruby_on_rails....

- https://guides.rubyonrails.org/v5.0/upgrading_ruby_on_rails....

- https://guides.rubyonrails.org/v5.1/upgrading_ruby_on_rails....

You might want to give a try to this gem: https://github.com/fastruby/next_rails. I did not used it so far but I would have a Rails 4 app I will probably try to use it.


Thank you! Those resources would have been incredibly helpful 6 months ago, haha.

It was less courage and more desperation, as the project was running on a server which died before Christmas and we needed it back up before January. The last major change to the project was ~6 years ago and nobody had touched it in ~5 years, so there was nobody around who had the slightest idea how it worked. Props to Rails for just working for that long with practically zero maintenance. In case you're wondering why we had critical software running on a single server with no maintenance: student organization.

We weren't able to find/install an Ruby installation old enough to run the project, so we decided to just upgrade. It was the brute force approach of "run the project, see what error pops up, google the error, fix the error, repeat". In hindsight, this wasn't a good idea and I could probably have found the right Ruby version with a bit more digging, but it works at least.

It's just a handful of pages with minimal code though, so now that things are less desperate I'm considering just starting from scratch with a clean Rails install and manually recreating them. Just need to deal with the legacy database schema and make some changes to it.


> I did that exact thing in a project last weekend, and ended up spending 5 hours trying to fix the horrible mess that ensued.

What gem(s) were giving you issues? I can try and replicate it if you’d like.


Thanks, but I don't remember all the details and couldn't replicate it myself if I tried.

The initial "bundle install" failed on "therubyracer" (0.12.3) on Ruby 2.7.4 (installed with apt). As I had previously installed it just fine on the same machine and it now works just fine on Ruby 2.7.4 (installed with RVM), that doesn't make much sense.


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

Search: