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

You know, I used to agree, but what I realized, is I am a software engineer, and I'm used to working in large projects with source-code as the only documentation.

And that's what's great about NixOS, you just clone nixpkgs and treat it like any other underdocumented software you might work on.


> I'm used to working in large projects with source-code as the only documentation.

As a software engineer I have an opposing attitude towards this. I work on projects with terrible documentation because somebody pays me to do so or there is a significant potential that I can unlock.

There are significant alternatives to NixOS like bootable containers and OSTree which are more useful and better documented. If Nix project really cares about being competitive and adopt users, they have to document their stuff. They are already going against the grain and ain't nobody has time to put up with their weird language and their subpar documentation.


> I work on projects with terrible documentation because somebody pays me to do so or there is a significant potential that I can unlock.

I mean, I'd argue there is significant potential, but really, for me it's just easy because I've been doing it for 20 years, and documentation is always fundamentally worse than code in some important ways.

> If Nix project really cares about being competitive and adopt users, they have to document their stuff.

This is one of the good/bad things about OSS.. most users don't provide positive value to the project. So do they really want to adopt users? Shrugs but the project is certainly competitive.


> for me it's just easy because I've been doing it for 20 years

C’mon, just drop the “greybeard” act. Nix not having proper documentation is bad practice, period. No ifs buts or howevers, it’s just an objective fact. Good documentation is always (ALWAYS) a net positive, and this is an OS with it’s own unique mindset and way of doing things, good documentation is essential. End of.


+1. I would also recommend using Github search to look for existing examples.

And actually to add, I've been finding myself going to nixpkgs first for reference on how to build and/or configure packages even outside of nix.

It's like most things in software, if you constrain the problem enough, focus on the problems you actually have and make some smart choices early on, it can be a very modest lift on the order of a week or two for a 90% solution, but on the other end of the spectrum, it's a lifetime of work for a team of hundreds...


Except not in the USA. To bad the rings looks nice.


Copyright isn't some axiom, but to quote wikipedia: "Copyright laws allow products of creative human activities, such as literary and artistic production, to be preferentially exploited and thus incentivized."

It's a tool to incentivse human creative expression.

Thus it's entirely sensible to consider and treat the output from computers and humans differently.

Especially when you consider large differences between computers and humans, such as how trivial it is to create perfect duplicates of computer training.


Been looking into this for a while myself, very cool. It seems .nl has a lot of resources and support for this sort of thing. Any similar resources like coloclue in the San Francisco Bay Area? It seems confusing to find just a couple of U of rack space in SF that you could peer in and out of?


I'm actually not sure the Northridge earthquake was cited in the Richter scale, most references I see have it as about a 6.7, which based on the USGS catalog, was it's moment magnitude 6.7 Mw

https://earthquake.usgs.gov/earthquakes/eventpage/ci3144585/...

And today's earthquake for comparison:

https://earthquake.usgs.gov/earthquakes/eventpage/us6000qw60...

And some information of Magnitude types: https://www.usgs.gov/programs/earthquake-hazards/magnitude-t...

I think it's probably safe to assume, that today's earthquake is much more energetic at least.


yeah i misread the charts, where like 3.5ML (richter) is ~5.0, and i missed that it was mb rather than ML, 8.8 ~= 6.7ish body wave magnitude.

That's the thing with standards, there's so many to choose from.


Great, so now I need a special editor plugin, and a compatible editor just to be able to properly view code?

No wonder why spaces "won"


Yes, this. Which the counter point is either, Don't align things, or use tabs for indentation, and spaces for alignment.

And maybe you can enforce no alignment, but that's a hard fight to win.

And as far as tabs for indentation and spaces for alignment, I've found no practical way to enforce this via tooling/linting. And a rule without enforcement becomes inconsistent, which is how we get files full of mixtures of spaces and tabs, which is how people get frustrated with tabs, and we decide to throw it all out.

And inevitably, that's part of how spaces "won"


Disallowing /[^\t]\t/ and /^ / is a good start.


These regexes don't solve what I think is one of the major common problems/complaints though: using extra tabs past the logical indent point as a shortcut to avoid typing so many spaces for alignment purposes.

To take this example from a sibling post:

  if (foo) {
  »   frobnicate(bar,
  »   ...........baz);
  }

Many people will wind up doing this:

  if (foo) {
  »   frobnicate(bar,
  »   »   »   ...baz);
  }
And then your alignment is all messed up if you have a different tabs setting.

Checking for that requires something more like a linter with a detailed understanding of the syntax parse tree.


There are degrees of “detailed”.

For example, I considered writing a small Awk program to check C code in response to another poster’s complaint about lack of tooling, but then quickly came to the conclusion that, with C’s insistence that (say) /??/<newline>* is a valid comment starter, getting this exactly correct probably does need an actual lexer that would go character by character. That sounded like it wouldn’t fit in an HN comment, so I stopped there.

(That said, that’s as far as you’d need to go in the majority of cases. A dishonorable mention is warranted for languages that use the same character as an operator and a paired delimiter simultaneously, that is C++, Java, C#, TypeScript, and Rust with their abuse of the less-than and greater-than symbols, because that would in fact require a parser. In C++ especially, you’ll need full semantic analysis with template expansion, name resolution, and consteval evaluation. Because C++.)

Yet you probably don’t actually need to be that accurate, do you? The majority of syntax highlighters aren’t, and they are still useful. You can usually afford to say that code that perverse deserves to lose, and in return I expect you should be able to gain a fair amount of language independence, which could be worth the tradeoff.

So instead of checking if things are aligned with what they should be, you would just check they are aligned with something, like a left word boundary preceded by a delimiter, and so on. I can already see unpleasant corner cases after thinking about it for a few minutes, but it doesn’t look hellish yet, it looks something like you could experiment with over a weekend to see if it was viable.


At some point you just have to flog people ;)

Anyhow, if code reviewers always use tools that highlight the tabs during the reviews, there's a good chance to catch these things.

Maybe you could also have the tab width set randomly at every review, to make these horrors stand out


Or dont try to align lines with different indentation levels.

Addind a comment with the right amount of tabs as a table header and align all fields with spaces after the tabs would do the trick.


It would be crazy that spaces would have "won" because of the silly idiosyncratic alignment that some people seem to like and then teach to others for many decades.


> Legally perilous maybe, although my non-lawyer brain sees that as fair use, especially if the emulator doesn't let you play the full game. Idk, but it'd be a unique thing on the internet.

IANAL, but I think what a lot of people don't understand is that "fair-use" is a defense. Which basically means you have to be prepared to argue in in court. A lot of potential fair-use is quashed before it gets to that point.

It's also a balancing test, which means that it's very fact/context dependent, and subjective, which results in for a lot of cases, you really won't know until you actually get to court.


This is incredibly relevant to projects in this space, and we continue to hold discussions about what is and isn't tolerated in our community, and what features we should avoid building, in order to protect ourselves from legal attacks. One thing you'll never see integrated into the RomM is a way to pull/download ROMs from cloud services or website; you'll always need to provide the games to RomM directly, after sourcing them legally of course.


It is well known. But also not all developers want to/ can afford the risk to tie all their networking services to Steam.


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

Search: