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

On the same note, the implementation of Stuff in Ruby is not very ruby-like. It could have just used `.each` on the `@a_list` (in that case, you just delegate the implementation to `@a_list`, no reason to use a for-loop.


It's not really up to you to decide what brings joy to the author. You can write a similar essay, who said you couldn't? What point are you trying to make? If it's something you feel strong about, all power to you. This kind of comment is deprived of any real content.


The point is that some things are better kept to yourself, and if you don't then you might annoy other people.


This is deviating too much from the original topic, but: 1) Your initial comment just took a bash at the author about being joyful regarding some topic - "what's there to be joyful", which is really a subjective matter; 2) I'll take your point, but I strongly disagree. I would never recommend anyone living by "do not share, you might annoy other people", you will never share anything then. Case in point, you shared your thoughts, I'm pretty sure you didn't care whether someone would be annoyed by your opinion ;) 3) Not sharing a small analysis regarding words and naming just because it may annoy someone it's a huge stretch. It's not even like he's sharing some hot political topic. Someone that gets annoyed at looking at such a simple project may want to take a deep breath and go for a walk. But anyway, that's my view.


I would be curious to understand what frameworks people tend to use on top of nodejs (or even react). I have not found a standard devise-like way of implementing authentication in nodejs. The usual recommendation I come across is to develop all from scratch (encryption, emails, session management), using something like Passport, outsource it and pay to some third-party or use a framework like nextauth which is very opinionated and hard to change basic options. It's not uncommon to see people changing between ORM or SQL builders all the time because it's hard to find one that works greatly - it seems like a common discussion online in node communities.

I love TypeScript and would love to use it more extensively, but whenever I start a project, I quickly feel like I'm wasting so much time to do something that I'd hope a) it'd be very quick, and b) there would be some general agreement in the community on the right approach. It'd be great to compile what libraries to use, so you can very quickly put something together like you'd be able to do with Rails (e.g. devise, sidekiq, actionmailer, ...).


I'm very confident the whole comment by OP is of sarcastic nature


Poe's Law striketh


My take is that there's many unnecessary complexities (at least in many cases), where using an old, battle tested, "boring" technology suffice. The graph just seems to be an illustration of that, but it focus on storage (there could be a better graph that focus on the database only, but I guess the message is conveyed)


I believe that's a bit of a strawman comparison. Not taking any sides, but in your example, the resulting system would be the same - artwork aside - you would end up with the same set of algorithms put together to create the exact same game.

Copilot, as far as I know, tend to be used to generate snippets and small algorithms that, by themselves, are not a full system/product/game.

There still may be some merit to your argument, but I believe the opposite side should be a bit steelman'ed beforehand.


My license isn't "you can take a bit but not the whole bit".


I did not argue against that, I was talking about the argument. I don't think it's a straight comparison or even one that holds water. I don't think the parent comment mentioned licenses at all. I clearly mentioned that you can make an argument claiming that it's not ok to copy a snippet - I just don't think the argument to absurdity I replied to, in this case, is the best or most appropriate one.


You're right. It's a few orders of magnitude worse than that.

It's not just one snippet, it's thousands of them, every day being slurped up and copied across code bases everywhere license free.

If the pirate bay can get jail time for facilitating mass copyright infringement, maybe Microsoft needs a little jail time too.

It's been said in this thread already:

Either licenses matter or they don't. Pick one.


For some reason, you keep presenting arguments as if I have taken any sides. I don't agree with arguments even if I would agree with the end result.

I disagree that comparing Copilot with Pirate Bay is a good argument to make your case (maybe Dall-e is a closer comparison if resulting artwork could contain licensed artwork from the training set). You'd probably have other fronts to use and present a stronger argument.

And let me remind you that I have not argumented on behalf of any side, so I do not think this thread requires arguments against arguments I have never brought forward (it feels a bit more emotional than constructive).


> I disagree

This is an argument. A bad one, but an argument none the less.

Copilot seems to be copying code snippets from the internet wholesale. It's not using AI to generate snippets which would possibly be ok.

Copyright doesn't care about the size of the abuse or the size of the works involved.

Microsoft is creating these copies and even facilitates their redistribution on GitHub.

I know legally it's more likely the users of copilot that are at risk here but we said the same thing about torrenting.

Look at Napster, LimeWire or the pirate bay. The outcomes Microsoft deserves here is pretty cut and dry.


There are a lot of existing legal precedents about what constitutes fair use vs infringement. This isn’t a new question.


https://www.alrc.gov.au/publication/copyright-and-the-digita...

so if your work is transformative, it can be exempt as fair use. But i'm not sure what degree counts as transformative - i do think that training an AI model with millions of repos worth of code is transformative.


I think, in theory, it would work regardless of the starting address. As long as you don't try to access the invalid address (which you wouldn't assuming that it's starting in the index 1, you would always be accessing the first valid address)


In theory, it’s not guaranteed to work at all. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf#p... (emphasis added):

“In other words, if the expression P points to the i-th element of an array object, the expressions (P)+N (equivalently, N+(P)) and (P)-N (where N has the value n) point to, respectively, the i + n-th and i − n-th elements of the array object, _provided_they_exist”

[…]

If both the pointer operand and the result point to elements of the same array object, or one past the last element of the array object, the evaluation shall not produce an overflow; _otherwise,_the_behavior_is_undefined.

In this case, the minus-one-th element doesn’t exist, so the expression

  int * b = a - 1;
triggers undefined behavior.

I think some compilers use this in practice to produce faster code (that, often, will not do what the programmer expects it to do). Start reading at https://stackoverflow.com/questions/56360316/c-standard-rega... if you’re sure they don’t. I expect that will change your opinion.


That is a description of the commonly agreed upon definition of the C abstract machine and language semantics. You could simply define the language another way with regards to this behaviour.

Not that I would want to do it, I think zero-based addressing is not very taxing for the convenience of being closer to how we think of memory addressing.


Nice work on getting this out. I think it looks pretty neat and simple to use.

I’ve had some issues when using it though: - on mobile, moving the cursor in a calculation doesn’t work very well; - More important, multiplying “200 * 10%” results in “2000%”, I believe the result should be “20”; https://www.wolframalpha.com/input?i=200+*+10%25


Those are equal values right? This is just formatting preference.

I agree formatting should probably go with the first factor, but I wouldn't say current behavior is incorrect


I also had issues navigating on mobile (iPad). There seem to be hover states that get in the way (example: I tapped on a line to move to that line and it had a small popup to say something was copied)


This could work - similar to what happens in some bluetooth pairing flows. But you could still send a text message with a phishing link under the same Sender ID and fool someone into opening it. You'd really need to know that the specific sender would never a) send you a link, or b) send you anything without the "two-way verification" flow you suggested. I don't think any of those options are realistic at a certain scale.


I see this more as "do not assume until there's evidence of malice". Not that you should not look for evidence - basically, innocent until proven guilty. There's a tendency to judge every ignorant act as malice when, a lot of times, it's just that - ignorance/incompetence.

Not talking specifically about this case, although it may apply, we just read a twitter thread.


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

Search: