« first day (1931 days earlier)      last day (3207 days later) » 

01:01
@EᴀsᴛᴇʀʟʏIʀᴋ Did you see my robot
?
@BaldBantha yeah
Im so jazzed about it
@Downgoat grunt is a build tool right?
yeah
Is it like Gulp?
01:06
yeah, they both do the same thing
Jeez all these new fancy toys. back in my day all we had were shell scripts and dinosaurs
all the dinosaurs scripts got crushed and became shell scripts after a million years.
back in my day is still now
doesn't seem to work for me
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\Conor O'Brien>\e[1;1H\e[2J
'\e[1' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Conor O'Brien>
01:08
$ echo -e "\e[1;1H\e[2J"
\e[1;1H\e[2J
Yeah, exactly. Eventually we ran out of shell scripts and had to explore alternate installation energy sources like Perl
@AlexA. Oh come on, our puns aren't that bad. Out of all the puns posted that could have ended terribly, no pun in ten did.
(sorry)
@QPaysTaxes to answer your question it's an ansi thing so most likely no
Really? Huh.
clear just prints that sequence I believe
C:\Users\Conor O'Brien\Documents\Programming\node js>^[[1;1H^[[2J
'←[1' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Conor O'Brien\Documents\Programming\node js>ECHO ^[[1;1H^[[2J
←[1;1H←[2J

C:\Users\Conor O'Brien\Documents\Programming\node js>
@QPaysTaxes
(^[ == 0x1B)
no
but ^[ == 0x1B
01:18
@QPaysTaxes nice try
lelwownope
@MamaFunRoll cool
@MamaFunRoll laughing ear lambs?
@Downgoat sure.
01:22
@CᴏɴᴏʀO'Bʀɪᴇɴ ESmin uses custom encoding
Yeah
I should prob explain that in docs
did you code that entire docs page by hand?
oo can I see an example?
@Downgoat No, I used docco
01:24
I realized today that Exceptions are a good thing, but its catching Exceptions that's the problem
i need to go do stuff, bai.
Aka, if you run out of memory, you really shouldn't be catching it
But stuff like "I can't open this file" should be handled without exceptions
ok @CᴏɴᴏʀO'Bʀɪᴇɴ I explained the encoding.
01:29
> Custom encoding thanks to @Dennis! This encoding can hold up to 1024 chars by storing each character in 1.25 bytes, or 10 bits.
Dam son
yeah
Dennis is truly a menace
BTW when input is empty the Char to byte ratio is NaN
@QPaysTaxes I won't do return via parameters, but I'm not supporting try/catch statements
@CᴏɴᴏʀO'Bʀɪᴇɴ that is expected
Ik, but it's (imo) bad to show an NaN
01:31
because exceptions are bad design.
being able to stop execution at any point in time?
@CᴏɴᴏʀO'Bʀɪᴇɴ yeah, oh well...
then treat fatal errors like they are
no, you die on a fatal error
How will you do error handling then?
@quartata I'm not
01:32
@quartata Just triple check everything using a lot of GOSUBS >_>
aka, if something critically terrible happens, then the program dies, like it should
but if a file doesn't open, then don't handle that with exceptions
simply return "The file doesn't open"
A literal string? I'd rather have an exception, tbh.
What about trivial errors? Like division by zero.
@Geobits lol, they won't be strings
But what will they be that makes them substantially different than exceptions?
01:34
@CᴏɴᴏʀO'Bʀɪᴇɴ that's handled via typing. It'll be a compile time error
@Geobits they don't break the flow of the program
If you check them and handle them, then sure. Like you would exceptions.
@QPaysTaxes right
that won't be possible
@NathanMerrill Compile time?
The problem with that is that everyone is going to have different ways of returning errors leading to happy fun times for people interfacing with multiple differing libraries
01:36
Ok, one at a time
first: division by zero
C does this too and it's annoying as all hell
I'm doing gradual typing
What if I have a function K that returns 1 90% of the time, and 0 10% of the time? while(1) output( 5 / K() )--this will not show a compiler error
what this means is that a Class can have a variety of traits
I can define a NonZero Trait for Integer
Oh, this sounds complicated already.
01:37
which defines the rules of determining whether an integer is non zero
basically, what it means
is that if you do
if (a != 0)
it automatically casts it to NonZero
and you can use it as the denominator
because it requires Integers to have that trait
so if you want to divide, you have to have if (denom != 0)???
@CᴏɴᴏʀO'Bʀɪᴇɴ if the compiler can't figure it out in the first place, yes
you have a chance to make a language more sane than javascript :/
@QPaysTaxes er...depends on how rand_between is written, but likely, yes
@CᴏɴᴏʀO'Bʀɪᴇɴ minecraft server?
01:40
@EᴀsᴛᴇʀʟʏIʀᴋ maybe in a bit
well, for example, there's a GreaterThan trait
@CᴏɴᴏʀO'Bʀɪᴇɴ ;-;
okay
@CᴏɴᴏʀO'Bʀɪᴇɴ I have to fix the room.....
>_>
@Quill Man, I love JS, but it's like my insane child.
and, in NonZero, you could define a rule saying that if GreaterThan<N> , N > 0, then its NonZero
01:41
JavaScript is sane... it's the people who like it that aren't
ok, second issue: Exceptions
Speaking of, it's nearly time for a new JS blog post
@Quill okay, fair enough
you use the insane child to the detriment of sane children.
Q_Q
01:41
@Quill oh btw did you follow me blog?
@CᴏɴᴏʀO'Bʀɪᴇɴ I think so. I didn't. I read some of the blogspot ones, but I haven't seen your new one besides some screenshots
@QPaysTaxes nope. This isn't to get around exceptions, but it's to make the exceptions happen at compile time
my goal is to stop as many bugs from getting in the code as possible
Its not a turing machine
class Bug(string name){This one got through}
:)
I think try/catches are poor design. They shouldn't be used for control flow, which means that the function above should be catching them
01:44
@CᴏɴᴏʀO'Bʀɪᴇɴ update the link in your SE profile, then
thing: Int, error: Exception = get_int_from_file("")
and those types aren't even needed
so, is this lang called "Vigil 2"? :P
I can't stand how try/catches make scopes
if you wanted to use thing after the try, you'd need to declare it before
@CᴏɴᴏʀO'Bʀɪᴇɴ Considering how vigilant he's being able Exceptions, it'd make sense
 thing, error = somefunc()
 if (error){
    do_something
 }
look how clean that is
You can do something like that in node
right, but they don't magically float up the call trace
and cause ugly scoping issues
fs.readFile("thing", (err, data) => {
	if(err){
		console.log(err);
	}

	// do stuff
});
@CᴏɴᴏʀO'Bʀɪᴇɴ In relation to this use a grunt build tool, it can churn everything up and spit it out without you needing to run batch files, it also has Travis and Istanbul integration
01:48
@QPaysTaxes only if you use checked exceptions
most exceptions people are ignoring
@Quill what is grunt, who is Travis, and why are we going to istanbul
int thing;
try {
thing = get()
} catch(){}
@CᴏɴᴏʀO'Bʀɪᴇɴ grunt is a CLI build tool that you can use to convert files and stuff, Travis is a CI integration thing that says whether your code builds, and Istanbul is a code coverage module that shows how well tested your code
^
@Quill it's a tad overkill, isn't it?
@QPaysTaxes right, but if you are going to use curly braces, it'd better be a new scope
because that's consistent
@CᴏɴᴏʀO'Bʀɪᴇɴ TF2 + meme.
10/10
@NathanMerrill ifs and whiles don't get all scopy - stackoverflow.com/a/2829642/3823976
(in python at least)
@HelkaHomba yeah, I know. I don't like while not scoping
I'm on the fence about if, but I still think I'm going to be consistent
hmmm, I have to think about this scoping thing
I mean, its theoretically possible for me to ensure that the particular loop gets run
for X in NonEmptyIterable:
what are you confused about?
02:00
doesn't scanf have allocation issues?
getchar seems a little more self explaining
what does scanf return?
   status = scanf("%s", &res);
   while (status != EOF){
      eatCake();
      status = scanf("%s", &res);
   }
res = getchar();
while (res != NULL){
    eatPie();
    res = getchar();
}
that example seems more readable... I don't think there's a serious difference though
@QPaysTaxes Population: You
TypedArray... huh TIL
02:23
Aug 17 '15 at 4:28, by Alex A.
Unrelated: Using 3 spaces as an indent is what killed the dinosaurs.
it was an accident ;-; see the edit revisions
#noforgiveness
I have yet to see someone use 16 spaces for indent
llama@llama:~$ df | awk 'NR>1{n+=$3}END{print n/1024/1024}'
53.203
And people ask me why I don't use Windows. :P
@quartata My friend does.
02:26
oh no please
@QPaysTaxes he's new to this, forgive him
@quartata How about two tabs?
@QPaysTaxes He uses ruby, primarily
If anything, Ruby uses less indentation...
1/8th
02:28
@QPaysTaxes .__. he's the first person I've talked to in real life that knows what variables are outside of algebra
he actually uses 2 tabs
he said he never (never) gets beyond two levels of indentation. I have yet to see his code.
claims to have made a brainfuck parser >_>
@CᴏɴᴏʀO'Bʀɪᴇɴ One of the CR mods wrote a BF IDE
oh
@Quill wow
I'll text him rn
@BaldBantha That made me think "I have a huge mouth but I can't scream." :P
quack
02:40
yes
depends on the shell, but normally yes.
@EᴀsᴛᴇʀʟʏIʀᴋ I'm pretty sure there's no shell that doesn't do that. Otherwise everything would be broken.
02:58
> ECOG performance score (0=good 5=dead)
Well that's a short scale
1/3 not enough scale
ECOG = Eastern Cooperative Oncology Group
The ECOG performance score is an index that acts as a way to quantify quality of life for cancer patients
0 = asymptomatic, 1-2-3 = symptomatic, 4 = bedbound, 5 = dead
you work in cancer data analysis, right?
03:13
you like your job?
Not particularly. I like some aspects.
Would you recommend it to a new developer?
My particular job?
developer != data analysis (necessarily)
@Alex is trained in Data Analysis (right?)
03:16
Actually no--in my field of work we have very few people with backgrounds in computer science or software development. The closest people get to CS is bioinformatics (which usually shares some core coursework with CS degrees).
@BaldBantha Going to TIP again this year, by any chance?
@Quill Yep
One of the PhD students in my department is writing an algo for sorting protein stacks
I think Alex's ideal job would be as a Julia devop for a puppy adoption center
11
Why yes my good sir I would very much enjoy that position indeed. Quite. Cheerio.
yeah... we don't need to star that message
Cancelling stars is the only decent perk of being a RO
aaaaand now it's starrable :p
03:21
No contest
ಠ_ಠ
@HelkaHomba Why isn't "Any java attempt at winning a code golf" on this list
Because puppies
It doesn't matter what else is on the list
I would vote for kittens first, but they weren't on the list. shrug
> Changing the Google Chrome chrome
2
.... I think most people or animals vote for their kind.
03:26
@EᴀsᴛᴇʀʟʏIʀᴋ ahhhh!
@HelkaHomba Wow, near unanimous with 7 voting for puppies and 1 for babies.
@EᴀsᴛᴇʀʟʏIʀᴋ go visit cathouseonthekings.com/index.php in CA
@El'endiaStarman babies turn into people you see
people never like people
I can think of at least one exception.
03:33
G'night!
03:58
...?
04:41
bai
May 9 at 2:18, by quartata
function requireOnce(module) {
  if(eval(module + "== undefined")) require(module);
}
oh my god eval and ==. this JS scares me
my ide is smart
05:03
function canRequire(moduleName){
    try {
        require.resolve(moduleName);
        return true;
    } catch (e){
        return false;
    }
}
what is require.resolve?
checks whether the module can be accessed
without triggering the code inside
it'll still throw a goddamn exception without the try catch
it's deprecated :(
I've restructered a big part of my code instead
@Downgoat source?
05:07
That's talking about the module above it
such require...
> require.extensions# Stability: 0 - Deprecated
on a side note, @Downgoat, what should I do for my next JS blog post?
@Quill do you talk about ES6 stuff?
if yes, then do one about symbols and how they can be used for private properties, and other cool stuff
I guess, is there something specific you have in mind
(I am a big fan of Symbols)
05:10
I've seen your code :P
I don't actually know much about Symbols
I really hope this works >_>
@Quill basically they are unique values
That's how you store your tokens, right?
no, just errors
they can be used to make enums
const ENUM = {
    AVOCAD: Symbol('AVOCAD')
};
I did it a bit similar: type def and implementation
05:53
in Mathematics, May 3 at 22:23, by Will Hunting
Sometimes we can teleport and get somewhere without walking.
Math flags make me crack up
06:16
06:37
0
A: How many steps does it take from n to 1 by subtracting the greatest divisor?

DennisJelly, 9 bytes ÆṪÐĿÆFL€S Try it online! or verify all test cases. Background The definition of sequence A064097 implies that By Euler's product formula where φ denotes Euler's totient function and p varies only over prime numbers. Combining both, we deduce the property where ω den...

from plugs import shameless
that function is also in the module tv_shows
Anonymous
@Dennis +1 for the math alone
0
Q: Fix my Basic Grammar

George GibsonFix my Basic Grammar While I am excellent at written grammar, when I am typing I have a habit a capitalising almost everything (as you will see from the titles of my challenges). I need a program to fix that, but because I use so many capitals, and capitals are big letters, your program must be ...

07:05
Hello
@zyabin101 Hello.

« first day (1931 days earlier)      last day (3207 days later) »