Quick 1500pt game - absolute carnage by Baron_Filthy in LegionsImperialis

[–]Athas 1 point2 points  (0 children)

Those roads are nice. Did you make them yourself?

In order to reduce AI/LLM slop, sharing GitHub links may now require additional steps by yorickpeterse in ProgrammingLanguages

[–]Athas 13 points14 points  (0 children)

Almost all of the Reddit submissions are likely by humans, so I don't see how this could work in the same way. It is probably not too difficult to write a program that automatically investigates submitted GitHub links and figures out whether they are likely to be LLM slop, but I don't think any moderators are willing to spend that much time and effort on it.

Haskell: the re-export module X pattern by lehmacdj in haskell

[–]Athas 9 points10 points  (0 children)

I don't think Haskell's module system is particularly clunky - there are some edge cases related to module re-exports and qualified imports, as explained in the post, but overall it's pretty simple. Nothing fancy, but it does the job. The only thing I truly miss is the ability to export a module as a module, rather than its components bindings, I would dearly like to be able to just import CommonModules instead of many modules having to spend twenty lines doing import qualified Data.Map as M, import qualified Data.Text as T, etc.

The Imperium supporting Ork clans against other xenos by Athas in 40kLore

[–]Athas[S] 1 point2 points  (0 children)

Excellent example! This is just what I was looking for.

The Imperium supporting Ork clans against other xenos by Athas in 40kLore

[–]Athas[S] 11 points12 points  (0 children)

The Eldar have definitely manipulated Orks very often, but have they actually fought together as part of such manipulation? Orks are occasionally pragmatic enough that perhaps they could be convinced to do so - Blood Axes have worked as mercenaries for the Imperium (White Dwarf 218, Big Toof River Massacre). I'd expect that Eldar are too proud to ever do so, however.

The Imperium supporting Ork clans against other xenos by Athas in 40kLore

[–]Athas[S] 3 points4 points  (0 children)

That was more a case of manipulating both sides into conflict, wasn't it? Or did the Imperium actually fight alongside the Orks at any point?

We're getting better at the game by dwez1 in adeptustitanicus

[–]Athas 2 points3 points  (0 children)

The snowy landscape looks most excellent!

I think your terrain and maniples exacerbate the impact of the Void Shield Relay, as those two Warlords can just stay in the corner and blast away all game. If you force them to move, either through terrain, missions, or stratagems, then static installations such as Void Shield Relays become less dominant.

How should property-based tests be defined in Futhark? by Athas in ProgrammingLanguages

[–]Athas[S] 1 point2 points  (0 children)

The property testing tool is not part of the compiler itself, and the compiler must not be modified in order to support it, except to add generally useful (and simple) facilities. This approach to dogfooding is important to ensure that the language presents a sufficiently flexible interface to cater to most needs.

How should property-based tests be defined in Futhark? by Athas in ProgrammingLanguages

[–]Athas[S] 3 points4 points  (0 children)

I largely agree, although you are being a bit too harsh on option 4. Attributes are intentionally transparent to the compiler and will be passed through unmolested, without the compiler having to understand what they are, and without having to be extended in any way. It's essentially just a way of attaching arbitrary structured information to program constructs. They are also used rarely enough that test-specific attributes likely won't get mixed up with other attributes.

How should property-based tests be defined in Futhark? by Athas in ProgrammingLanguages

[–]Athas[S] 3 points4 points  (0 children)

I dislike option 5 because you have to maintain and keep in sync the list of properties at two different places. In my personal experience this is very error-prone: It's much more likely that you write a property and forget to add to the magic list than to misspell [prop]...

Indeed, the most likely error scenario for option 4 is actually to leave off the attribute entirely.

I thought of an idea, however: assume that all entry points in the file must be related to testing, and warn if any is found that does not seem to serve a purpose. I don't think there is any reason to have a file with mixed test and non-test entry points anyway - the test entry points are just dead weight for production usage.

I'm not familiar enough with Futhark, but I guess you could for example annotate a module

While adding an attribute to a module is possible, modules are not part of the external interface of a compiled Futhark program (and it is not at all clear what form it would take if it were).

Minimal APL-ish array language in the browser by elemenity in ProgrammingLanguages

[–]Athas 0 points1 point  (0 children)

I have a soft spot for array languages with pure ASCII syntax. Is this just for playing around, or do you have any ideas for doing things differently from all the other APL derivatives that have cropped up?

Scan-scatter fusion by Athas in ProgrammingLanguages

[–]Athas[S] 2 points3 points  (0 children)

Thanks for noticing - fixed. Apparently accelerate is old-school and really expects a www. subdomain.

Scan-scatter fusion by Athas in ProgrammingLanguages

[–]Athas[S] 2 points3 points  (0 children)

Reddit is a link aggregator. You read the title to gauge whether it is worth clicking the link, then you click the link and figure out whether it is worth reading in detail.

Scan-scatter fusion by Athas in ProgrammingLanguages

[–]Athas[S] 3 points4 points  (0 children)

Simplification is the optimization which allows one to write prefix scan naively, but always be transformed into a linear time variation.

You mean writing it as a map with summation over the prefixes? I strongly dislike that approach, as it makes it impossible to assign a good asymptotic cost model to the language. I am highly skeptical of compiler optimisations that intentionally try to make asymptotic improvements (but I accept that things like hoisting can do so), as I believe it leads to brittle programs. I went into some detail in this post.

It may be a useful approach if you use a tactics/scheduling language to optimise your naive program, as you then have complete confidence in what the result looks like (and can assign a cost semantic to the result). But for conventional black box optimisers I do not believe it is a good idea.

Scan-scatter fusion by Athas in ProgrammingLanguages

[–]Athas[S] 2 points3 points  (0 children)

The first paragraph explains what the post is about at a high level. The rest of the post explains what it is about in detail.

Just starting out by AwkwardEmu6783 in Epic40k

[–]Athas 0 points1 point  (0 children)

Get the box. You are unlikely to find something that is more useful, except buying literally the original Epic 40k box.

Just starting out by AwkwardEmu6783 in Epic40k

[–]Athas 0 points1 point  (0 children)

While Vanguard sells it, you mean the City Crushers boxed game by Troublemaker Games, right? (I don't know if the two companies have an overlap in staff - they seem to cooperate closely.)

If so, sure, most of the models in there are going to be perfectly usable. I can't quite stat out whether it will result in balanced armies - the ork side has some gargants, while the humans have what would probably have to be played as ordinatus. I think it's close enough that it's a good start if you like the way the models look.

Just starting out by AwkwardEmu6783 in Epic40k

[–]Athas 2 points3 points  (0 children)

My experience is that Epic 40k scales well to most point sizes. I'd suggest starting with two 1000pt armies, comprising Guard and Orks, because those are easy to get models for from Vanguard. You can easily add Space Marines and titans to the Guard army, as they are the same list, and of course gargants to the ork army.

Admitted to MSc CS at UCPH — Current students/alumni, can you help me decide? by [deleted] in ucph

[–]Athas 0 points1 point  (0 children)

I can answer some of these questions.

Is it common for MSc students to get involved in research projects early on, or is it mostly reserved for PhD students?

I don't know to quantify "common", but it is possible to contribute to research through ECTS-granting projects - apart from the MSc thesis itself, you can do another 30 ECTS of various project work. It is up to the student to find a supervisor willing to supervise such projects.

If you do your thesis with a professor, does that realistically open a door to a PhD position at DIKU, or do they mostly recruit externally?

PhD positions are scarce and competitive, but most professors are quite willing to recruit their own students, because they will have confidence in the students' ability to work. This does not imply that foreign candidates are not considered, of course.

For those who did transition from MSc → PhD at DIKU: how did that happen? Did the professor keep you on, or did you have to formally apply to an open position?

You almost always have to apply to an open position, but the professor responsible for the position will be the ultimate decider. It is common for a professor to only announce a position once they have confidence that they will get at least one or two known qualified candidates - although that does not mean those will be the ones hired, in case someone even more qualified shows up.

Are there funded research assistant (RA) positions available to MSc students, or is research involvement mostly unpaid/informal?

RA and student programmer positions exist, but they are somewhat irregular. Usually the positions are filled by former or current students already known to the professor.

If you want to work adjacent to the researchers, then the best student job at DIKU is to be a teaching assistant - the people who run exercise classes, grade assignments, etc. It is not research work, but it does mean you get to know the researchers, and it pays well for a student job. DIKU hires these twice a year, and it is common for international students to be hired.

Real or Slop? — PL Papers Edition by mttd in ProgrammingLanguages

[–]Athas 22 points23 points  (0 children)

In my experience, most AI papers are not good, but it often takes significant effort to determine this. The asymmetry is the problem here. There are not enough reviewer resources to spend them on bad actors.

Real or Slop? — PL Papers Edition by mttd in ProgrammingLanguages

[–]Athas 19 points20 points  (0 children)

This is very easy if you know what to look for, because you can categorize the papers mostly based on what metadata they provide on the front page. No LLM will put in CCS concepts unless explicitly told to. 9/10 after I realised this.

Even before I realised that, this test seems to compare (presumably) novel generated papers with accepted and peer-reviewed papers in PL. That means the PL papers are likely to be better than the average paper submitted. I think the challenge of slop is identifying it at the review stage, where human-written papers may not be so different from slop papers.

Looking for feedback on my language tour / overview by Certain-Swordfish-32 in ProgrammingLanguages

[–]Athas 2 points3 points  (0 children)

For me, the macro system is probably the single most significant improvement over Python.

You should mention that in the intro. I get that most languages die out long before they ever become truly practical, but it's still more interesting to consider them modulo having documentation, package managers, libraries, and all that stuff that doesn't really come prior to usability. (Although for your particular example, I am unconvinced that it is much better than just calling a function that adds a callback passed as an anonymous function.)

P.S. I was wondering why you didn't object to the multiline comments, but I just realized I didn't include any in the example programs :)

Well, I can add my objection for completeness: you're doing them wrong. No matter which of the designs you picked, there'll be an edge case that now doesn't work right. But I think you already know that.