Live data from Hacker News

SDL Moves to GitHub

discourse.libsdl.org

251–260 of 270 posts

Re: SDL Moves to GitHub

#251
post #3

I've never heard of mercurial until this post, I've been using git for version control and it does the job really well. To those who use mercurial over git, why?

Changeset Evolution [1], which allows me to amend and rebase shared commits without co-workers hating me, even when they are building on top of the mutated commits.

[1]: https://www.mercurial-scm.org/wiki/ChangesetEvolution

combined with a large set of tools to tweak commits (i mostly use absorb, amend, split, fold, uncommit, pick), it is very nice to work with if you value a clean history.

there is also the very powerful revset DSL for finding revisions and/or files.

Re: SDL Moves to GitHub

#252

Earlier quoted context omitted.

Not quite, there are ways. The Diablo mod community is an excellent example: before the debug symbols were found on the psx release, the common method was to inject instructions directly into the binary. Similarly, Fallout and the Infinity engine games have mods that patch binaries and replace DLLs.

Yes, that's right, certainly easier than having the source. Your friends and family must appreciate the time you saved them by injecting DLLS. You'd better hope you efforts don't get DMCA'd. Summarizing, closed source projects die. At best you can run them in an elaborate museum (emulator) and at worse, you can attempt to Frankenstein's monster them by injecting DLLs. Open source will outlive us all. How many places…

Bin patching won't get you DMCA'd, and it's really not so different than writing a shim nowadays. Tooling has come a long way.

Doom is a closed source game that was finished, polished, and then open sourced. Strange to use that as a FOSS example.

The FOSS-from-the-start examples would be Tux Racer, 0ad, and so on.

Re: SDL Moves to GitHub

#253
post #118
post #101

Earlier quoted context omitted.

Microsoft is a completely different company than it was even just 5 or 10 years ago. Saying that MS is an enemy of open source is uninformed at best and idiotic at worse. Do me a favor, look at Facebook [1], Apple [2], Amazon [3], Netflix [4] and Google [5]. Now tell me which one has more Open Source repos than MS [6]. I'll give you a hint... none of them. Sure, volume of open source repos may not be the best metric,…

You're factually correct, but you've probably forgotten the "3 Es": "Embrace, Extend, Extinguish" [0]. Microsoft is a business and is therefore about maximizing profits. I'd rather not assume anything, especially not that they are somehow friendly to the OSS movement. Lets give it a few more years before we assume that OSS is something they are gonna do long term. Otherwise, it's like "free" google products; here tod…

You act as though Open Source is somehow mutually exclusive with profits and a sustainable business.

> Otherwise, it's like "free" google products; here today, gone tomorrow.

Respectfully, I disagree... google products are introduced as services, not open source and they shut them down often. If an OSS project is useful and has community support, you can always fork it.

Re: SDL Moves to GitHub

#254
post #154
post #101

Earlier quoted context omitted.

Microsoft is a completely different company than it was even just 5 or 10 years ago. Saying that MS is an enemy of open source is uninformed at best and idiotic at worse. Do me a favor, look at Facebook [1], Apple [2], Amazon [3], Netflix [4] and Google [5]. Now tell me which one has more Open Source repos than MS [6]. I'll give you a hint... none of them. Sure, volume of open source repos may not be the best metric,…

> Microsoft is a completely different company than it was even just 5 or 10 years ago. Saying that MS is an enemy of open source is uninformed at best and idiotic at worse. Rather than fighting the target directly, they are embracing it at first; and this time, the target is open-source and the developers. They are doing it again and are targeting where the developers are: Hence their involvement with GitHub, Xamarin…

Sounds like no amount of evidence will convince you, even with evidence that contradicts your opinion. The stuff you are talking about was the strategy for most big software vendors in the 90's/early 2000's. They sold software licenses and support.

If you look at current MS, it is all about services. Services do better when you have a larger addressable market and not embracing OSS will reduce who they can sell to, which is why they are going to.

VS Code is a perfect example, MIT License... OSS, wide support and well regarded.

Re: SDL Moves to GitHub

#255

Earlier quoted context omitted.

Yes, that's right, certainly easier than having the source. Your friends and family must appreciate the time you saved them by injecting DLLS. You'd better hope you efforts don't get DMCA'd. Summarizing, closed source projects die. At best you can run them in an elaborate museum (emulator) and at worse, you can attempt to Frankenstein's monster them by injecting DLLs. Open source will outlive us all. How many places…

Bin patching won't get you DMCA'd, and it's really not so different than writing a shim nowadays. Tooling has come a long way. Doom is a closed source game that was finished, polished, and then open sourced. Strange to use that as a FOSS example. The FOSS-from-the-start examples would be Tux Racer, 0ad, and so on.

And yet, here we are running Doom on our toasters, refrigerators and watches.

Re: SDL Moves to GitHub

#256
post #197
post #152

Earlier quoted context omitted.

Mercurial also made the really good decision to support Windows long before git was even functional there. I've got clients who have been using Mercurial on Windows for more than 10 years now. They email bundles to each other and have no problems, whatsoever, and don't even notice git. One quote: "Why would I want to go back to a central repository that I have to be connected to? That's stupid." Most Windows users, s…

Not sure I understand the analogy. What is PowerPoint a dumbed-down version of?

An actual textual report? Whiteboards? Overheads? Actual slides? Flip charts? Livecoding?

Powerpoint is optimized for marketing and not much else. It exists because of two reasons:

1) Most people actively suck at presenting something. Forcing them to put their presentation in Powerpoint-standard forces some level of organization on them.

2) A lot of business presentation IS marketing--and Powerpoint is fine for that.

The problem is that a lot of technical communication really doesn't fit into Powerpoint-standard (see: space-shuttle disasters for example). The problem is that now nobody knows how to do anything else and never even thinks about doing anything else.

Re: SDL Moves to GitHub

#257
post #151

Earlier quoted context omitted.

Because I can explain Mercurial's mental model to anybody . And I have--from the CEO to the secretary--pretty much anybody can understand Mercurial. Git, not so much. The whole "staging" area is something that the vast majority of developers simply do not need and would be better off without. The UX of the commands is abysmal --commands that change what they do based upon whether the argument is a file or a directory…

What’s wrong with the staging area? It’s probably my number one most used feature. I tend to have a lot of changes in my working directory. Some are actual code, some are temporary fixes or comments. Maybe even another unrelated fix I threw in. Staging area allows me to pick the parts/files/lines I want for a particular commit.

That is far more state than most people are comfortable keeping track of. Most people have "working" and "committed" and that's almost more than they can deal with.

Ever dealt with someone who has a specific breadcrumb trail for making changes to WordPress, for example? "Staging" is an extra set of steps to his breadcrumbs that can go wrong.

The staging area is useful to a small number of people like you in return for complicating the life of everybody else.

Re: SDL Moves to GitHub

#258
post #256
post #197

Earlier quoted context omitted.

Not sure I understand the analogy. What is PowerPoint a dumbed-down version of?

An actual textual report? Whiteboards? Overheads? Actual slides? Flip charts? Livecoding? Powerpoint is optimized for marketing and not much else. It exists because of two reasons: 1) Most people actively suck at presenting something. Forcing them to put their presentation in Powerpoint-standard forces some level of organization on them. 2) A lot of business presentation IS marketing--and Powerpoint is fine for that.…

Got it. I thought you were comparing to other software tools.

I'm a big fan of chalk talks for anything mathematical. I find it hard to stay engaged with slides, even if the presenter uses tricks like revealing one step at a time, annotations, etc.

Re: SDL Moves to GitHub

#259
post #241

Earlier quoted context omitted.

Thats a distinction without a difference. According to this google result[1] open() / write() are officially part of posix, while fopen() is part of C. Whatever - that distinction misses the forest for the trees. Its the semantics of those methods that hold computing back. Not their syntax. [1] https://www.mkompf.com/cplus/posixlist.html - I'd have read the spec itself but you have to buy it from IEEE. Blergh.

No it does not, a platform with ISO compliant C compiler is not required to support POSIX in any form. By the way, since C11, there is no need for POSIX threads any longer. C11 threads might be implemented on top of POSIX threads, or anything else that the compiler vendor thinks of.

Sorry; the mistake was mine in my earlier comment. I pointed to "the crufty parts of POSIX" in an effort to point vaguely to the UNIX filesystem abstractions - fwrite/write, socket fds, fsync / fsyncdata, as well as fork() and whatnot. I don't actually care about the POSIX spec itself, or how POSIX differs from C11 (or how any of that is wrapped by the equivalent methods in Java).

This caused a distraction from the point I was making - which is that there are other ways we can do computing that don't use this model for files at all. For example we could make file operations transactional, or make files semantically rich - like database objects. So files themselves aren't "buckets of bytes" that need to be parsed by each application which interacts with them. There's lots of other ideas in this idea space - but the yoke of millions of lines of legacy code makes it difficult to explore this space outside of toy programming environments. And I worry as a result we might be stuck with the unix model forever.

Re: SDL Moves to GitHub

#260
post #257

Earlier quoted context omitted.

What’s wrong with the staging area? It’s probably my number one most used feature. I tend to have a lot of changes in my working directory. Some are actual code, some are temporary fixes or comments. Maybe even another unrelated fix I threw in. Staging area allows me to pick the parts/files/lines I want for a particular commit.

That is far more state than most people are comfortable keeping track of. Most people have "working" and "committed" and that's almost more than they can deal with. Ever dealt with someone who has a specific breadcrumb trail for making changes to WordPress, for example? "Staging" is an extra set of steps to his breadcrumbs that can go wrong. The staging area is useful to a small number of people like you in return fo…

Is it really that much state? For example, the thing I am working on right this moment have the following changes:

1. I changed my environment URL because I need to test on a specific one.

2. My actual feature changes, couple of files and a hundred lines changed.

3. A bunch of debug print messages, some are intertwined within the changes in 2, and some are in other places.

I will stage most of things in 2, probably in multiple commits to group logically. Most of 1,3 will simply be discarded once I comment and test final version. 1, might stick around for the next features I work on.

I can not believe this is too much state, nor can I believe this is not a fairly common workflow for developers?

How would you do this without staging? Would you discard the temporary changes and commit, then possibly write them back manually?

—-

I appreciate the Wordpress example but I’m not familiar with it so it flies right over my head to be honest.

Post reply on HN