Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Kilgore T.M. Replicant

Pages: 1 [2] 3 4 ... 7
16
Offtopic / Re: Post-meritocracy
« on: October 31, 2018, 04:00:17 am »
On the other hand if you have the guy who keeps telling people to go kill themselves, that one at least needs a talking to.

Is it the responsibility of all maintainers to monitor the Facebook/Twitter accounts of all participants for this? Is the failure to do so an punishable act? The Covenant CoC is pushing for this. That "ddreamland" was not a typo.

Adding responsibilities is a sure way to suck fun out. Next up: TPS reports.

And there need to be very strict limits of what's police outside the project

I maintain the limit should be "never police outside".

If they instead mention going to a political rally, or hitting a party with a shitload of pot . . . don't get concerned.

How about transphobia? That's the Post-Meritocracy Manifesto and Covenant CoC author trying to get a developer kicked out of a project (which the Manifesto author is not participating in) for shit said on Twitter. Is this the kind of policing you wish that all project maintainers are obligated to do?

Apropos of Linux/policy/police: Should patches by Hans Reiser on ReiserFS be rejected? The Covenant CoC does not cover non-participants or discourage murder, but the (now replaced) SQLite CoC does. Does being welcoming cut both ways?

--

EDIT:

And yeah, that would be something I'd say to tell the "harassed" to get over it and go check out the movie.

Would you be as dismissive knowing that interaction with Linus left him "emotionally dead for several weeks"?

--

In case there was any doubt: the Covenant CoC is anti-egalitarian by design.

--

EDIT2:

First though was is Python language is not PC any more? Maybe something not right in they CoC, or  something?

It's extra PC now that they got rid of the master/slave terminology (see OP). In the interest of fostering correct language, I do believe your highness means "their CoC".

17
Offtopic / Re: Post-meritocracy
« on: October 30, 2018, 04:05:38 am »
[...] or getting abusive with the team or other contributors. And even being abusive in e-mail probably isn't a big deal with most of them, unless it crosses into doing something illegal where the police need to be called in.

What counts as abusive? Citing Python in your general direction is harassment. Remember: Professional conduct! No jokes! RIP hacker culture. To be fair, memorizing a 40+ year old comedy film should not be a requirement.

So, basically, they've already been doing what a CoC is supposed to call for.

They weren't responsible for policing each others' conduct outside the projects scope. At least that bit got removed from the Linux CoC.

The old Code of Conflict was short and to the point. The new CoC needed an even longer interpretation document added along with it.

18
Offtopic / Re: Post-meritocracy
« on: October 28, 2018, 01:13:53 pm »
On the face of it, sounds like a CoC is trying to bring new people into the development of open-source software, anything to invite and encourage people to learn coding and participate. But as far as I've seen, any major open-source project has already done that for years, if not decades. They just don't merge bad code.

I disagree on the "major" part. Have you ever heard of any project turning down code because the patch submitter is woman/gay/black/whatyouhave?

I see F/OSS as the most egalitarian collaborative thing humans have come up with. Anyone can submit a patch, only the code is relevant. So of course some busybodies on a mission want to fix that.

It makes me wonder, for projects that are trying to look more inclusive . . . are they including code that is best left in the recycle bin? Or are they just speaking out their asses and continuing as normal?

GNOME (and others) play with Outreachy:
Quote
We expressly invite women (both cis and trans), trans men, and genderqueer people to apply. We also expressly invite applications from residents and nationals of the United States of any gender who are Black/African American, Hispanic/Latin@, Native American/American Indian, Alaska Native, Native Hawaiian, or Pacific Islander. Anyone who faces under-representation, systemic bias, or discrimination in the technology industry of their country is invited to apply.

Fighting perceived discrimation with actual discrimination. Yay? (As a sidenote, the photo was taken by the same person who threw the previously linked rape apologist accusations at a Linux maintainer. Small world!)

As for the recycle bin, see the seppuku comment on the previous page. (Although I wouldn't blame the design problems on interns.)

19
Offtopic / Re: Post-meritocracy
« on: October 28, 2018, 04:07:47 am »
More like tortured into losing them, or so I prefer to believe. The end result is the same.

Indeed. Just to ruin the bad and horrible joke, "marbles" was also alluding to testicles. (The OP mentions fixing Linus.)

I like to play with words. The Linux CoC speaks of inclusive language which is a delightful morsel of newspeak to describe excluding words (aka newspeak). Bravo!

I'm fascinated how this all is reminiscent of the cultural revolution.
(btw, the first part of Cixin Lui's Three Body Problem is mostly a memoir of exactly that).

It's about as pretty. Great book! The footnotes in the English translation were helpful.

20
Offtopic / Re: Post-meritocracy
« on: October 27, 2018, 07:13:25 am »
However I do not like the title of this thread. What has any -cracy to do with Linux? OS should never be about any sort of power.

It's not about the OS itself. It's about how the Linux (kernel) project is governed.

In the Free/Open Source Software world the power within a project is based on meritocracy. Simply put: the ones who write the software get to make the decisions about the project.

The Post-Meritocracy Manifesto is a direct attack on this prevailing F/OSS culture. It's a power grab by those who wish to value non-technical contributors equally to technical contributors. It's an attempt to inject a PR department to software projects. It's about focusing on building diverse communities instead of producing software. It's about shoving politics into blissfully apolitical places.

The manifesto and the new Linux CoC is written by the same person. Among the manifesto signatories is a certain Patricia Torvalds. The CoC was adopted shortly before this piece of character assassination was published. Draw your own conclusions; tin foil hat optional.

This thread is about what it says on the title. Linux is not the only project to be burdened by this nonsense.

"First they came for FreeBSD, but I did not speak because I do not use it.
Then they ..."

Dear F/OSS project leader: When someone makes a pull request adding a CoC, think very hard about who you wish to call the shots in your project.

No, linux-the-kernel isn't going anywhere even though they managed to send Linus to a re-education camp, complete with a struggle session.

Given your earlier note on sanity, "Linus lost his marbles" is an apt summary.

21
Offtopic / Re: Post-meritocracy
« on: October 26, 2018, 07:29:07 am »
I think Kilgore is using that most dreaded of tools: sarcasm.

Poe's Law is a bitch bummer.

Is using our preferred pronoun "Royal We" a correct language in case of this CoC?

Well put, your highness. I was mostly aiming to get rid of poor spelling and grammar. And non-English.

When a participant (say, SupSuper) succumbs to the unacceptable behaviour of bad punctuation, I (the maintainer who does not enforce the CoC) face the repercussions I (the project leader) have chosen: self-flagellation.

I do not recognize any project's CoC being of any consequence whatsoever apart from diminishing my estimate of said project's maintainers' sanity.

This is a very healthy approach. The only winning move is not to play.

---

From the Manifesto:
Quote
We must make room for people who are not like us to enter our field and succeed there. This means not only inviting them in, but making sure that they are supported and empowered.

"Not like us" is the key to diversity. Any young, lean and sober person willing to port 1oom for OSX?

22
Offtopic / Re: Post-meritocracy
« on: October 25, 2018, 06:21:37 am »
If you do not see anything wrong with imposing your will on others then you accept that you are against freedom and self-determination, and, consequentally, any possible form of inclusiveness and diversity (whatever that last one means).

It's like censorship: we must silence and (in the enlightened countries) imprison those who sprout hate speech. How can there be freedom if someone is free to say something blasphemous or hateful?

How can we be inclusive if we do not promise that they will not be harassed, regardless of
Quote
age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation
? (Hmm, funny how that list does not contain "political opinion".)

The strategy of "patches welcome from anyone" lead to the current nightmarish Linux developer landscape: male and pale. How can they be expected to produce quality software? "Homogeneity is an antipattern", as the Manifesto states.

Self-determination is clearly not sufficient for diversity. This is why we need quotas for universities, companies, etc.

I'm sure James Damore can fill in on the details on what diversity is. He went to a seminar about it.

Do you now see how your position is self-contradictory?

Logical inconsistencies in a progressive movement? Impossible! Those are quite difficult to see for those who have drunk the Kool-Aid. Next you're telling me that punching Nazis or calling out [trigger warning]rape apologists[/trigger warning] is not cool.

As the Manifesto states, "interpersonal skills are at least as important as technical skills". Thanks for letting me practise those while I'm procrastinating on learning network programming.

PS. Have you read the 1oom CoC?

23
Offtopic / Re: Post-meritocracy
« on: October 23, 2018, 11:04:09 am »
And it compels one to enforce one's own 'moral' 'standards' upon everyone else.

All those CoCs are but the tools to do that.

What is the point of Free Software if not to impose morals on others?

Some misguided individuals such as Richard M. Stallman think that instead of our CoC we should have some guidelines for getting along with each other. That gun nut Eric S. Raymond has made the preposterous suggestion of replacing our beloved class enumeration with "every individual".

The previous Linux Code of Conflict simply urged to "be excellent to each other". It was replaced for a reason: the deconstruction of meritocracy.

Quote
Citing wikipedia:

I thought Pride was when we don our leather chaps and dance on the streets. That quote speaks of the divine. Perhaps you'd prefer the SQLite CoC? (EDIT: link changed to archived version from when this post was written)

Meanwhile...

Oh no! The Linux folk are about to water down the CoC by removing an essential part:
Quote
Maintainers who do not follow or enforce the Code of Conduct in good faith may
face temporary or permanent repercussions as determined by other members of the
project’s leadership.

How can we build a better tomorrow if punishing community members for wrongthink is not the responsibility of all maintainers? Eternal vigilance is the price we pay for our ddreamland!

I have been wondering why the color of skin of your four little children was blue. After all, isn't that a sign of a lack of oxygen?

Revolution, children. Asphyxiation's cheap!

24
Offtopic / Post-meritocracy
« on: October 22, 2018, 10:56:54 am »
(or how I stopped worrying and learned to love the CoC)

The Free Software (and open source) world has been much too focused on producing software. Instead of striving for excellent code quality, we must focus on what's really important: feelings and diversity. The Post-Meritocracy Manifesto outlines the wave of the future: no more judging based on merit, but inclusion based on ethnicity, gender identity and expression, or socio-economic status.

The main weapon in this fight for justice is the Code of Conduct from the Manifesto author. Recently, it has replaced the Linux "Code of Conflict", getting rid of regressive cruft such as
Quote
Your code and ideas behind it will be carefully reviewed, often resulting in critique and criticism.  The review will almost always require improvements to the code before it can be included in the kernel.  Know that this happens because everyone involved wants to see the best possible solution for the overall success of Linux.
and focusing on the main point of Free Software:
Quote
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

Concurrently, Linus Torvalds has been convinced that shouting at people and calling crap code crap is holding his hobby project back and that he must clean up his act. A clear victory for us! That foul-mouthed, long standing blemish in Free Software's face has finally been fixed. Now you can feel safe to post your wonderful patches and not be put down in a blunt manner. If you still are, complain and get the rude developer excommunicated. Nobody's time is more valuable than your feelings, regardless of your level of experience.

Further inquiries revealed that Linus adopted our CoC for exactly the right reasons:
Quote from: Linus Torvalds
I absolutely do not want to be seen as being in the same camp as the low-life scum on the internet that think it's OK to be a white nationalist Nazi, and have some truly nasty misogynistic, homophobic or transphobic behaviour.

The Manifesto urges you to seek out members of various minorities to include and personally coach in your project. Drop that $EDITOR and get your posterior on Twitter! Remember that diversity brings salvation and focusing of technical issues alone won't get your project far. Your time is better spent on outreach than coding.

Instead of simply accepting code from anyone (or anything), we must enumerate our under-represented and repressed classes in our guidelines and promise punishment for those who cross the line. Let's fill out the forums with discussion on identity politics instead of C/C++, bugs or 25 year old games. On the Internet, everyone knows you're a dog. And if they do not, shout it aloud!

We need more tribalism, harassment, censorship and discrimination in our Free Software. Linux has finally joined us on our path. Embrace the post-meritocracy world and take in a CoC today! Or are you a Nazi?

Quote from: Martin Luther King, 2018
I have a dream that my four little children will one day live in a nation where they will not be judged by the content of their patches but by the color of their skin.

PS. Enlightened by Python's move, I shall replace every instance of "Master" with "Parent" in my projects.

25
Offtopic / Re: Reversing to Orion - project 1oom
« on: October 14, 2018, 11:16:23 am »
Time for a rantrospective.

Over a year ago I stumbled on a MOO1 Le'ts Play [sic] and got bitten hard by nostalgia. On 2017-10-14 I went looking for a Free Software Master of Orion engine to play with. Finding none, I said "fuck it" and rolled up my sleeves. One year later, the LP is wrapping up with a bonus round and we have 1oom going the last inches towards a stable v1.0 release.

Not finding any ready made disassembly was a disappointment. Documentation on the save format gave a starting point.

The disassembly was started using radare2 which turned out inadequate. Finding no better Free tool, I ate my principles and installed wine + IDA 5.0 freeware. It really is a shame that no Free tool is up to the task.

Going from nothing to v0.1 took 6 months of disassembling, manual decompiling to C and refactoring. During those months I worked about 9/7 on average.

The human unautomated part of disassembling is figuring out what "func_1A562" which operates on variables "var_2" and "unk_39BD8" does and naming all of that to something sensible. Here the knowledge on save format allowed to name many variables after spotting the load/save code.

Decompiling is the process of translating assembly to C. As an example, let's take a peek at one C function:
Code: [Select]
void game_planet_destroy(struct game_s *g, uint8_t planet_i)
{
    planet_t *p = &(g->planet[planet_i]);
    /* ... */
    p->rebels = 0;
    p->unrest = 0;
    p->reserve = 0;
    p->prev_owner = p->owner;
    /* ... */
}
And what it looks like in the disassembled v1.3 EXE:
Code: [Select]
game_planet_destroy proc far

var_2           = word ptr -2
planet_i        = word ptr  6

    push    bp
    mov     bp, sp
    sub     sp, 2
    push    si
    push    di
    mov     cx, [bp+planet_i]
    ...
    mov     ax, cx
    mov     dx, size struc_planet
    imul    dx
    les     bx, planet_data_segoffs
    add     bx, ax
    mov     es:[bx+struc_planet.rebels], 0
    mov     ax, cx
    mov     dx, size struc_planet
    imul    dx
    les     bx, planet_data_segoffs
    add     bx, ax
    mov     es:[bx+struc_planet.unrest], 0
    mov     ax, cx
    mov     dx, size struc_planet
    imul    dx
    les     bx, planet_data_segoffs
    add     bx, ax
    mov     word ptr es:[bx+(struc_planet.reserve+2)], 0
    mov     word ptr es:[bx+struc_planet.reserve], 0
    mov     ax, cx
    mov     dx, size struc_planet
    imul    dx
    les     bx, planet_data_segoffs
    add     bx, ax
    mov     ax, es:[bx+struc_planet.owner]
    push    ax
    mov     ax, cx
    mov     dx, size struc_planet
    imul    dx
    les     bx, planet_data_segoffs
    add     bx, ax
    pop     ax
    mov     es:[bx+struc_planet.prev_owner], ax
    ...
That's right: every time a planet (or, well, anything) is read or written to, the address is recalculated. The EXEs could be shrunk down to less than 50% size. Picture wading through about 770 kB of that garbage and that's my life for most of the 6 months before v0.1.

Refactoring consisted of getting rid of global variables and splitting game/UI/AI code allowing switchable AIs, multiplayer and atrocities like the cmdline UI. The game/UI boundary violation that most stuck to the mind was Plasma Torpedo depletion being handled in missile drawing code.

I needed a new nick before going public with this. Why use one unpopular culture reference when you can chain several? Answer: username length limits.

With 1oom-0.1.tar.bz2 in hand I embarked on a journey to publish it. The first place I tried was the home of the unofficial patch: Realms Beyond. Unfortunately they block IPs of "known spammers". After many attempts at fighting against the CAPTCHA to get blocked and seeing the Contact form do nothing, I set my sights on the FreeOrion forum only for the topic to be rejected for containing "links to illegal or pirated software". Registration attempts at the official corpse-of-Simtex-on-display site masteroforion.com were a futile exercise in staring at a spinny please wait circle. Next up was OpenXcom forums (sci-fi, MicroProse, 1993, GPL == close enough). Fresh out of ideas and waiting for the OXC registration to be sorted out, I went to Reddit of all places to make the first public announcement. This thread followed soon after.

It took about 2 weeks to get the first tarball out. That's a lot of lost productivity.

Suggestions to put the project in GitHub followed. I obliged. Then Microsoft bought GitHub. Hello GitLab!

Once a foothold was established in Realms Beyond, the good ideas started flooding in. The feature creep has going on since then. So much for simply replicating v1.3.

The bugs have never piled up. The project has always been starving for bug reports. These days I work on this for about 2/7, mostly towards network multiplayer.

The current status of the project is a fully functional engine replacement with less bugs (I hope) and nifty new features. I see no reason for anyone to use the old DOS EXEs anymore. Mission accomplished?

How to calculate the value of an entertainment product when money is taken out of the equation? I propose comparing the time spent on developing the product to the total time spent on consuming it. I suspect 1oom has not broke even yet.

Cheers to:
- sargon0 for the partial save format docs
- SupSuper for tolerating this thread and helping out with the Windows port
- Stoddard for the invaluable devbuilds and SDL2 fixes
- Hythlodaeus for getting a foot in the Realms Beyond door
- coder111 for the planetary governor
- Jeff Graw for the UI ideas and feedback
- RefSteel for MOO wisdom and forum archaeology
- all who cared enough to report a bug

Lines of code in CSV format:
Code: [Select]
date,version,total,src,game,classic,cmdline,sdl,sdl1,sdl2,alleg,alleg4,dos,win,unix
2017-10-14,vnone,0,0,0,0,0,0,0,0,0,0,0,0,0
2017-11-14,v0.0,2568,896,1641,0,0,0,31,0,0,0,0,0,0
2017-12-14,v0.0-39-gfa00f4b,18204,6046,4437,5742,436,822,490,0,0,0,0,84,147
2018-01-14,v0.0-68-geb03567,30847,6430,8729,13628,436,871,522,0,0,0,0,84,147
2018-02-14,v0.0-96-ge0d2c60,39674,7821,13539,16124,537,878,544,0,0,0,0,84,147
2018-03-14,v0.0-117-g62059b7,49070,8692,18103,19964,633,878,544,0,0,0,0,90,166
2018-04-14,v0.1,57149,9359,23802,21570,723,900,539,0,0,0,0,90,166
2018-05-14,v0.2-55-g681cf86,62852,11419,24160,21694,2816,808,751,908,0,0,0,121,175
2018-06-14,v0.4-38-g5a9834d,67158,12274,25015,22068,3349,1075,816,987,648,453,148,137,188
2018-07-14,v0.5-67-gbe8d753,70168,12438,26229,22477,4216,1196,951,1063,662,463,148,137,188
2018-08-14,v0.6-46-g1ca378e,74222,13502,26696,22794,6315,1209,982,1066,675,467,162,152,202
2018-09-14,v0.8-14-g94ab478,74707,13534,27055,22890,6279,1209,995,1087,675,467,162,152,202
2018-10-14,v0.9-10-gdb25388,75508,13537,27143,23597,6284,1201,994,1094,675,467,162,152,202
2018-11-14,v1.0,75746,13537,27187,23791,6284,1201,994,1094,675,467,162,152,202

Misc:
- hardest bug to fix: the DOS mouse crash
- longest bug post-mortem: #46
- most head-to-desk function: src/gfxaux.c:gfx_aux_draw_frame_from_rotate_limit_do
- stupidest mistake: not reading the Official Strategy Guide before starting
- worst idea: no additional files
- games played since starting the project: 3 (1 to completion)

TL;DR dear diary, while waiting for bug reports I disappeared up my own ass

26
Offtopic / Re: Reversing to Orion - project 1oom
« on: October 02, 2018, 02:24:13 pm »
1oom v0.9 has been released. Changes:
    - map scroll speed is adjustable
    - Planets and Fleet screen lists sortable by name/count/bases/etc
    - keys!
        * Alt-X in main menu toggles -uiextra
        * UHJK scroll the map
        * / to search for a planet by name
        * (Ctrl-)1-9 to tag/recall planet
        * space bar for Continue/dismiss/OK/etc
        * 1-5 as portrait click on Races
    - almost 20 bugs fixed, notably:
        * a cause for the infamous 32000 doom stacks indentified and fixed
        * AI scrapped wrong ship designs resulting in obsolete fleets
        * AI II armor bias fixed, resulting in overall better ship designs
        * all but a few of the 1.40m fixes are now implemented
    - doc/pbxin_fixbugs.txt expanded, including fix for waste calculation

Source code: https://gitlab.com/KilgoreTroutMaskReplicant/1oom
Binaries: https://gitlab.com/KilgoreTroutMaskReplicant/1oom/tags/v0.9
Homepage: https://kilgoretroutmaskreplicant.gitlab.io/plain-html/

Test. Report. Profit?

27
Offtopic / Re: Looking for a new book series to read?
« on: October 02, 2018, 06:31:13 am »
Blindsight+Echopraxia by Peter Watts

Yesssss... Can't vouch for the sequel as it keeps eluding me, but Blindsight is probably the best sci-fi book I've read.  The author has generously released the book for free under a Creative Commons license on his website. Grab, read and enjoy!

Starfish is also excellent but may be a bit offputting to some. Available for free along with the sequels.

28
Offtopic / Re: Reversing to Orion - project 1oom
« on: September 24, 2018, 04:06:06 am »
Nothing's broken. :) To clarify:

- If you run the .exe's directly from the MSYS shell, then you don't need to copy the DLLs, as it will use the shell search path (with the caveat that only the command-line version will work inside a shell).

- If you run the .exe's directly in Windows, then you need to copy the DLLs, since it will use the Windows search path.

The howto (link above) directs the user to start 1oom_classic_sdl1 via the MSYS shell in order to find out which DLLs are missing. According to your clarifications this fails in two ways:

- MSYS shell can find the DLLs when the exe is run inside it and thus will not help in the generic case (which is not that important from the howto's perspective).

- It does not work for the _sdlN exes since only command-line applications can be run from the MSYS shell. (WTF? The mind boggles. Why do you put up with that garbage?)

The point of the howto is to give step-by-step instructions in compiling and running your own build. The current version fails. How is it not broken?

I guess I'll rewrite the DLL hell section and hope for the best.

EDIT:

Rewritten version is up.

Thanks guys spaceship and dog for the help! My Face When receiving a solid contribution:

29
Offtopic / Re: Reversing to Orion - project 1oom
« on: September 23, 2018, 06:18:34 am »
(was just about to post:)

Howto is up. Bug reports / patches here or there.

(when this popped up)

If you run it from inside MSYS, it will find the DLLs in the search paths automatically, but you can only run command-line apps from MSYS (so the command-line 1oom will work, but not the classic 1oom).

... fuck. Did not expect that. Taking down link from index.html and waiting for patches...

30
Offtopic / Re: Reversing to Orion - project 1oom
« on: September 22, 2018, 05:56:30 am »
Thanks, I think I can finish the howto now. Should be up in a few days.

Pages: 1 [2] 3 4 ... 7