« first day (3968 days earlier)      last day (1282 days later) » 

user707129
21:00
@Catija Was Glorfindel discussed by the CM's or did he nominate himself?
@Xnero I'm really not interested in answering these questions.
@Xnero That is really none of your business.
@Xnero If you're just curious that's fine, though it's time to take 'no (comment)' for an answer... If you're asking because you have a different thing on your mind, it might be better to just be honest.
user707129
@Catija I was just curious, there’s no need to be so dismissive.
user707129
@DavidPostill See above.
user707129
21:12
@Tinkeringbell A different thing like what? I was just curious.
Well one could argue that this is all secretive, and hence wrong etc.
@Xnero I don't know... Some people might ask questions like that while they're really disgruntled about the process and the secrecy Luuklag just mentioned, or the choice of mod, for example ;)
But if anyone should disclose if he nominated himself, it should be him. Not anyone else
Keeping open possibilities is nice, though I'm glad to learn it was just curiosity :)
What a great UI/UX this site I need to work with has.
The symbol to update attachments is an camera icon. While images are only 1 out of 10 possiblities.
Once you are in that screen the only way to get back is to use the back button of your browser.
21:15
Uuuugh
If you uploaded 10 items, that means going back 21 times....
@Xnero Well if it was about me I wouldn't want someone else disclosing that information. It would be an invasion of my privacy.
As every upload has its seperate page, then returning you to the overview page
Also I'm now changing the same attachment in like 20 places. Uploading the file over and over again
@Luuklag I assume this site is not part of SE?
@DavidPostill nope
And uploading it makes no sense, as all locations point to one single file on the server, so I think it just overwrites files with the same name.
21:18
If it's only 20 times it's probably not worth the effort to try and script it :/
@DavidPostill nope, best thing would be for there to simply be a site tree at the top of the page, like most pages have on that site. Or a back button to take you up one level in the tree
Anyways I think I swapped out everything
going to test it in the morning with some fresh eyes
Night everyone
@Xnero I understand that it's not necessarily apparent but I don't know that you're aware of how invasive those questions are. As others have said, it's not my place to disclose the candidates or how they were considered as I have not gained permission from them to disclose it. It's also perhaps worth you questioning why you feel you need this information and what value it has. Or whether it's worth asking.
@Luuklag Night!
@Tinkeringbell You're up late because of your vacation right?
gaming all through the night? xD
user707129
@Tinkeringbell I’m happy with how the process went and the choice of mod.
21:25
@Luuklag Having all the doors open and trying to get the living room to chill down below 20 degrees before the heat of the next two days XD
What's the drama here?
But yeah, that's only possible because of vacation
@forestdistrustsStackExchange who said there's drama and summoned you?!
user707129
@Catija I have already questioned that.
@Tinkeringbell I can smell drama.
@forestdistrustsStackExchange you're sure it's not covid messing with your sense of smell?
21:27
I sure hope not.
The weather tomorrow is going to be dramatic though.
i still haven't regained my sense of smell
I had it in january, and recovered after 2 weeks, regained sense of smell a few weeks later
but... as of about 4 weeks ago, i lost it again
@Tinkeringbell What's your forecast for tomorrow?
21:31
Damn. I hope you get it back.
It must make food taste so bland.
most things taste fine, the only thing i've noticed that tastes odd is toothpaste, of all things
@DavidPostill 30+
@Tinkeringbell Oof. Can your fit inside your fridge? 😀
I briefly experienced non-COVID-related taste distortions. Had to assure at least a couple people that I did not have COVID and there was an unrelated explanation.
(I didn't lose my sense of smell, just distortions to my sense of taste)
distortion is probably a better description for what i have
the things i can't smell, all smell the same
it's not that there's no smell at all
21:36
@DavidPostill nope :( but I have a pool!
A small inflatable one, fits one perfectly and can be filled with very cold water :D
i can tell when there's a scent of something affected quite clearly, as the replacement smell is awful
Yeah, that was what I experienced with taste. It made some things I liked taste rather unpleasant.
@KevinB What do they smell like?
It was sort of...acrid, for lack of a better word. Like I could only taste the bitter parts.
it's... a mix between burnt rubber and week old coffee grinds
21:43
wow
I guess I'm lucky to live far enough away from most people that I've never gotten it. :/
the worst thing it affects, is coffee
Yeah that sounds worse than my thing ^^;
but it hasn't stopped my coffee habit
@RyanM the closest I've had to this is a condition called "pine mouth" related to eating lots of raw, Chinese pine nuts. Apparently there's a chemical that doesn't exist in the Italian ones that does exist in the Chinese ones. Toasting them neutralizes it, though. Unfortunately, the metallic taste lasts 4-6 weeks or more.
Original K&R C is awful.
main()
{
	return sum(7, 4);
}

sum(a, b)
int a;
int b;
{
	return a + b;
}
I'm using a (legacy) compiler that requires that kind of syntax. I'm in pain.
21:50
Ah. Apparently my info is old.
> For a while, researchers thought that a Chinese variety of pine nut called P. armandii was the culprit in this crime against taste, but there’s no concrete evidence to tie a certain pine nut species or farming origin to the condition. The only concrete evidence that the FDA found was that Pine Mouth is a result of eating raw pine nuts.
@forestdistrustsStackExchange May I ask which one it is?
@user HiSoft C.
From 1989 (or 87? Not sure)
Oh wow
Do you need the int a; int b; part? I thought it assumed they're ints by default
@user Dunno, let me check.
Well with gcc -std=c89, it seems to work without explicit declarations. But that was just an example program to show just how awful the syntax is.
That sucks :/
21:55
I mean, it's still better than writing JavaScript.
Ah, 1984, that was the year it was released.
So pre-ANSI C.
@forestdistrustsStackExchange I don't think a JS developer would agree :P
JS developers' opinions are automatically invalid. :P
As are those of C#, Java, any BASIC dialect made past the year 2000, and SH4 ASM.
But that's more my opinion, given how much bad C# and Java there is out there.
Hey, Java's a good language!
It's got no relation to JS whatsoever
I know. Maybe it's good in its design, but most Java developers aren't.
:(
22:00
Their code is often slow, bloated, redundant... At least if they do "enterprise" work.
Where managers think LOC is a metric of quality.
The bloated part's probably because of Java's verbosity and too much abstraction
Well, and camelCase. Which is a cancer.
I had an awful dream some nights ago that the Linux kernel officially started using camelCase.
All the arguments against Java, and you pick camelCase? :P
At least it doesn't use kebab-case
Or Hungarian notation.
snake_case is almost as bad as kebab-case
22:02
Kebab case isn't even possible in Java is it?
Thankfully, no
No that's the best case.
How?
task_struct is better than taskStruct.
Because it's easier to read.
It's two extra keystrokes
@forestdistrustsStackExchange That's very subjective
I'm used to camelCase, and I find snake case a lot harder to read
22:03
Snake case is good when names aren't excessively long.
And they're not supposed to be long.
Oh you mean like analyze_pneumonoultramicroscopicsilicovolcanoconiosis? :P
incrementUserFailedLoginCount() is worse than failed_login_inc().
And failedLoginInc is even better
It's harder to automatically tell where the delimeters are.
I do admit that camel case can be annoying when you have acronyms
22:06
With underscores, it's trivial.
countUsers() is awful. count_users() is better. cntusr() is ideal.
At least for programs that are non-trivial and space needs to be saved to stay within 80 or so chars.
@Catija Huh, that's interesting. "Metallic" is a good description of the result for me, too, but mine was related to temporary nerve damage resulting from surgery.
cntusr is far too confusing. countUsers (imo) is the best, but even count_users is better because it's clearer what you mean
Abbreviations always confuse someone
cnt is pretty much exclusively used to mean count, and usr for user. Just like ctl is control.
@forestdistrustsStackExchange I mean, you can use newlines instead
Newlines are only useful in some cases.
In many cases with complex expressions, newlines just get in the way.
22:08
But seeing that you prefer short code, you should join Code Golf :P
Also, camelCase is a problem when you have macros or are otherwise using case to distinguish variables, like BUSMASTER_ENABLE.
@forestdistrustsStackExchange What kinds of expressions are you talking about? In method calls, I often find it helpful to put each argument on a separate line
@RyanM ah. Interesting, indeed.
@forestdistrustsStackExchange Not a problem in Java. imo Java needs macros, but not the kind C has
@user Expressions in complex switch or even if statements.
22:10
Do you mean it's hard to keep track of which scope you're in because of too much vertical space being taken up by these expressions?
if (setSupplementaryGroups(Null, []) < 0 || setGroupIdentifier(FooGroupIdentifier) < 0 || setUserIdentifier(FooUserIdentifier) < 0)
    doThing();
Compare that with:
Oh, in that case, I personally just make a new variable to make it clearer
if (setgroups(NULL, []) < 0 || setgid(FOO_GID) < 0 || setuid(FOO_UID) < 0)
    do_thing();
Erm
A new variable? Like:
var suppGroupsSet = setSupplementaryGroups([], Null) < 0;
var groupIdSet = setGroupId(FooGroupId) < 0;
var userIdSet = setUserId(FooUserId) < 0;
if (suppGroupsSet || groupIdSet || userIdSet) {
    doThing();
}
oh
That's a lot harder to read.
22:14
Oh lol
¯\_(ツ)_/¯ Guess formatting is a pretty subjective thing
When you have thousands of things like that, making it 5 lines instead of 2 really adds up.
And it gets even worse if fooGroupId is, say, getIdFromUser(fooUser.someStruct->myId).
Or whatever the Java equivalent is.
the java equivalent would need at least three factories, with two adapters each, and if you want to do it properly, another AbstractFactorySupplierAdapterConverterGeneratorSet
They make you toot?
return (drv_set_device(dev, cfg->id, &cmd) == DRV_ERR(dev)) ? cmd->base.duplex : NULL;
Imagine trying to do something like that with multiple lines.
(Just an arbitrary piece of code based on one from the Linux kernel)
22:24
I much prefer it when methods have clear names than when their names are concise
And if you want to save characters, turning your pre-existing snake case names to camel case will save you underscores :P
Don't even know what a method is.
Functions
ah
Well C functions are usually more verbose than random variables. Hence drv_set_device() rather than sdev() or something. Its purpose is rather obvious. It's about setting some property for a device driver.
manual shortening of code for the sake of saving characters is evil
tbh I don't have much experience with large codebases, but on one medium-sized project I worked on, we had to refactor a bunch of stuff because no one understood this old code from a few years back
22:26
@KevinB Which is why it's better to write concise code in the first place.
Let me once again advertise Code Golf Stack Exchange :P
an entire site of evil
@user In large codebases which perform complicated tasks that involve calling functions from a huge number of other libraries or subsystems (such as a kernel), using long variable names is awful.
But having short names that require you to go through all the documentation can't be too helpful either
@user It very quickly becomes apparent in context that ath means Atheros, ctl means control, ctx means context, mtx means mutex, inc means increment, err means error, etc.
22:28
Oh yeah, I'm not against shortening commonly used words
@KevinB We do have fastest-code, code-bowling, and other challenges, not just ones involving shortening code
So you'd prefer athSetMtx() over atherosSetMutex() over ath_set_mtx()?
Yep
no interest from me
22:30
:(
i used to be interested in code outside of work, but... yea no more
athGetMtx() and athSetMtx() look too similar, not ath_get_mtx() and ath_set_mtx().
I'm not sure I understand - both are off by one character
@KevinB never have I been so offended by something I 100% agree with
Do you mean that G looks more like S than g looks like s?
22:31
@user What do you mean?
@user When it's squished in between other letters, it's harder to tell.
Doesn't matter if it's upper or lower case.
Both pairs of names only differ by one character, so they seem just as similar/dissimilar to me
But with athSetMtx(), you have to mentally parse it into the components "ath", "set", and "mtx". With ath_set_mtx(), the mental parsing is significantly easier because your brain only has to distinguish letter from non-letter, so it can be done automatically. Otherwise your brain takes more time scanning to try to find where the components are separated.
@forestdistrustsStackExchange I...guess that makes sense? I don't want to give up my camels :P
this would be solved if you used a single symbol for each
you would have to potentially look up what each character means
And it's quicker to distinguish letter from non-letter than letter from opposite-case letter.
22:34
but that trains you to properly use documentation quickly and efficiently
I can't tell if you're joking @HN
whereas descriptive but similar variable names will be confusing and mislead you into thinking you understand something you don't - it's better to practice how to appropriately utilize documentation
@user no, I'm hyper-neutrino
ಠ_ಠ
@user What, you mean you don't think he's campaigning for the Unicode Consortium to add a new codepoint for every term he's using in his programs??
Okay, you're definitely joking
@forestdistrustsStackExchange lol
I thought at first that HN meant "word" by "symbol"
22:37
We should all just use SCREAMING_SNAKE_CASE.
That's what Java enums use :P
Or even better, rEVERSE¯cAMEL¯sNAKE¯cASE
5
C uses that for most macros, defines, etc.
holy shit
@user tf D:
I think you just gave me cancer of the eyes.
I was trying to sneak kebab-case into it too, but it's the same reversed :(
22:40
ok but what's clearer, [*range(10)][::-1] or ⌽⍳10, which clearly looks like "reverse" and then "first integers up to" 10?
:P
The problem I have with APL is that the tokens are too small and close together
@hyper-neutrino Your code golfer is showing. :P
Can we at least agree that it's all better than Hungarian notation?
rev range 10 is somewhat more readable
@forestdistrustsStackExchange I'll drink to that
10 range rev maybe?
@forestdistrustsStackExchange hey, APL isn't a golfing language :D lol
22:42
Yeah, a real golfing language would have a builtin for 10 :P
it's a production language that's been around for several decades
Either way it doesn't render correctly for me.
@forestdistrustsStackExchange People use it as an enterprise language
But it is kinda obscure
@user well then you'll love Jelly - its symbols all work well with monospace, are the same width, and all make sense ok maybe not so much that
10RU makes so much sense - 10 range reverse
No I meant they're all one character
22:43
@user ZX BASIC programmers save space by using various token combinations to mean constants, like INT PI to mean 3, and NOT PI to mean 0 (in ZX BASIC, tokens take up the same amount of space, regardless of how long the string is).
I need spaces or something to distinguish them, and the fact that ∘ and ○ both exist is annoying
@forestdistrustsStackExchange how does INT PI save space over 3 lol, does 3 take multiple tokens or smth?
@user yeah that's true. also slightly surprised face and more surprised face
22:44
@hyper-neutrino 3 is a constant and automatically floating point so it takes up several bytes.
Whereas NOT PI takes up 2 bytes.
lol what. interesting
It's just like in x86 assembly where you use xor eax,eax instead of mov eax,0.
see if you were an engineer you would be able to get it down to one token
because PI is 3
If you were a nut from Indiana, though, you'd need to decrement pi :P
LET x = INT PI is better than LET x = 3.
Looks like in ZX BASIC, an integer takes 5 bytes.
And SGN PI instead of 1. Lots of crazy tricks exist for tokenized languages.
Of course, that was always there to save space. It didn't improve speed since the ZX ROM's BASIC interpreter was famously slow (I think SQR was almost hilariously slow).
23
Q: Why does this BASIC program declare variables for the numbers 0 to 4?

harlandskiOn pages 150 to 154 of William Tang's (1982) Spectrum Machine Language for the Absolute Beginner, there are these lines of code. (Note GOTO 9000 is the first non-REM statement in the program). 9000 REM 9010 REM initialisation 9020 LET ze= PI - PI: LET on = PI / PI: LET tw = on+on: LET tr = on+t...

10 INK NOT PI: PAPER NOT PI: BORDER NOT PI: CLEAR VAL "24063"
Apparently, that's significantly smaller than
10 INK 0: PAPER 0: BORDER 0: CLEAR 24063
It always amazes me how lazy we've gotten with modern computers, now that we have gigabytes of RAM at our disposal and tiny optimizations have become the exclusive domain of the compiler.

« first day (3968 days earlier)      last day (1282 days later) »