Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

ultrafilter posted:

Lot of selection effects and confirmation bias going on right now.

sorry dr. filter

Adbot
ADBOT LOVES YOU

raminasi
Jan 25, 2005

a last drink with no ice

defmacro posted:

part of the problem is there's a shitload of CS PhDs relative to other fields and they can't all get faculty jobs so they gotta end up somewhere. doesn't help that the code they wrote really only needs to work once for the paper.

Hell, that's any academic programming. The standard of correctness for research code is "has to generate at least one result set, once, that looks superficially plausible to a credulous supervisor and two or three reviewers of varying skepticism." That's it. It's a really bad state of affairs.

QuarkJets
Sep 8, 2008

Absurd Alhazred posted:

That might explain it - I'm not a CS PhD.

I'm a socially inept know-it-all for completely different reasons

defmacro
Sep 27, 2005
cacio e ping pong

raminasi posted:

Hell, that's any academic programming. The standard of correctness for research code is "has to generate at least one result set, once, that looks superficially plausible to a credulous supervisor and two or three reviewers of varying skepticism." That's it. It's a really bad state of affairs.

it's definitely better in some fields. it seems like statisticians slap their R monsters on CRAN pretty readily. and security is starting to improve at the big paper venues by giving more credit for open data/code.

but yeah the bar is super low.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


There's a movement to improve code quality and the reproducibility of analyses. Right now it's mostly concentrated in psychology, but it's having an influence on other fields. Progress is slow because science literally advances funeral by funeral, but there's momentum building up and we will eventually get to a better state.

(Computer science is one of the worst fields, though, because they've never really come to terms with being an actual science. Someday.)

lifg
Dec 4, 2000
<this tag left blank>
Muldoon

ultrafilter posted:

(Computer science is one of the worst fields, though, because they've never really come to terms with being an actual science. Someday.)

Computer science is one of the best fields because it has Edsger W. Dijkstra, who wrote all his papers in longhand and cited nothing, and that’s a hero move.

OddObserver
Apr 3, 2009

lifg posted:

Computer science is one of the best fields because it has Edsger W. Dijkstra, who wrote all his papers in longhand and cited nothing, and that’s a hero move.

That's computing science. Totally different. More seriously, though, CS is weird since the mathy parts have, well, mathematical rigor, but for anything that's more engineery it's basically impossible to really do controlled evaluation of ideas.

F_Shit_Fitzgerald
Feb 2, 2017



CS is a very math-y major that desperately wants to be seen as an engineering discipline like its bigger brothers EE and ME.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


There are some people doing rigorous experimental work in hardware and HCI. You could theoretically do that in ML as well, but it's pretty rare. I think the only subfield where it's really tough is software engineering.

OddObserver
Apr 3, 2009

ultrafilter posted:

There are some people doing rigorous experimental work in hardware and HCI. You could theoretically do that in ML as well, but it's pretty rare. I think the only subfield where it's really tough is software engineering.

I was thinking mostly systems. Like I would read a paper making a reasonable case about how their system using idea X is an improvement over a previous system because of X, and wonder if it's really X doing it or just a bunch of hundred of others small decisions they have made when implementing this really complicated thing that made theirs better.

(And of course proper answer in systems are highly dependent both on workload and various performance ratios of things).

Edit: I imagine software engineering could learn something from social sciences; it s, after all, about humans

F_Shit_Fitzgerald posted:

CS is a very math-y major that desperately wants to be seen as an engineering discipline like its bigger brothers EE and ME.

Depends a lot on individual group. Like I don't think anyone using denotational semantics would pick engineering over math....

OddObserver fucked around with this message at 01:01 on Dec 7, 2021

F_Shit_Fitzgerald
Feb 2, 2017



OddObserver posted:

Depends a lot on individual group. Like I don't think anyone using denotational semantics would pick engineering over math....

Yeah, I'll admit that I'm looking at it from the perspective of someone who studied CS in a mostly software-oriented context. I don't know all that much about them but I'd imagine that ML and robotics are 'harder' engineering than coding.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


F_Shit_Fitzgerald posted:

ML...'harder' engineering than coding.

:roflolmao:

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

F_Shit_Fitzgerald posted:

Yeah, I'll admit that I'm looking at it from the perspective of someone who studied CS in a mostly software-oriented context. I don't know all that much about them but I'd imagine that ML and robotics are 'harder' engineering than coding.

Robotics sure, ML haha... no.

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION
also this https://github.com/elfring 404's now - is this the end of an era?

repiv
Aug 13, 2009

all those pull requests lost in time... like tears in rain

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

repiv posted:

all those pull requests lost in time... like tears in rain

Pull Request.... denied.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


https://twitter.com/TeaStats/status/1467785202567200768

Just in case R's not inconsistent enough for you.

Macichne Leainig
Jul 26, 2012

by VG

F_Shit_Fitzgerald posted:

I'd imagine that ML and robotics are 'harder' engineering than coding.

I spent four hours QCing a dataset yesterday afternoon.

Beef
Jul 26, 2004
Supporting both 0 and 1 based indexing is a good way to gently caress up your language (or API, looking at you MKL)

Zopotantor
Feb 24, 2013

...und ist er drin dann lassen wir ihn niemals wieder raus...

Beef posted:

Supporting both 0 and 1 based indexing is a good way to gently caress up your language (or API, looking at you MKL)

IIRC the original BASIC had an OPTION BASE 0/1 command, checks out.

csammis
Aug 26, 2003

Mental Institution

Zopotantor posted:

IIRC the original BASIC had an OPTION BASE 0/1 command, checks out.

This was true through VB6 :eng99:

rarbatrol
Apr 17, 2011

Hurt//maim//kill.
Just last week my team encountered a defect around VB.Net's array initialization syntax. (You need a Dim foo(-1) as Integer for an empty array if you were wondering)

rarbatrol fucked around with this message at 00:18 on Dec 8, 2021

Doom Mathematic
Sep 2, 2008

Beef posted:

Supporting both 0 and 1 based indexing is a good way to gently caress up your language (or API, looking at you MKL)

Old versions of Perl had a configurable variable which could make it use 2-based indexing or whatever you wanted.

ExcessBLarg!
Sep 1, 2001
R's one-based indexing has never been a problem for me. Occasionally if you have to manually walk through a vector by index you'll have to remember to write "for (i in 1: length(v)" instead of "for (i in 0:(length(v)-1)" and that's the rare mode of iteration anyways.

It's also occasionally useful to take the zeroth index of a vector to get an empty vector of the same type.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


I played around with the index0 package a bit. If you take a non-existent index from a standard vector you get an empty vector, but if you do the same with a 0-indexed vector, you get NA.

raminasi
Jan 25, 2005

a last drink with no ice

rarbatrol posted:

Just last week my team encountered a defect around VB.Net's array initialization syntax. (You need a Dim foo(-1) as Integer for an empty array if you were wondering)

Hah, looking this up led me to learn of the ReDim statement. VB is full of weird little things like that.

nielsm
Jun 1, 2009



In Pascal (or at least the Delphi variant of it), you can define an integer type with some arbitrary range, and declare an array indexed by that range type. You can also declare an enumeration type with named values and declare an array of that enumeration.

I think the syntax goes something like this:
code:
type SomeRangeType = 5 .. 37;
type SomeEnumType = (Foo, Bar, Baz);
var a = array[SomeRangeType] of Integer;
var b = array[SomeEnumType] of SomeRangeType;

Wipfmetz
Oct 12, 2007

Sitzen ein oder mehrere Wipfe in einer Lore, so kann man sie ueber den Rand der Lore hinausschauen sehen.

raminasi posted:

VB is full of weird little things like that.
VB's arrays are weird, anyway, especially once you start throwing pointers around. I think it's because they're just a thin layer over SAFEARRAY (except inside user defined types)?
Or maybe it's me who considers them weird because I expect arrays to be packed like C-arrays.

Wipfmetz fucked around with this message at 14:43 on Dec 8, 2021

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

raminasi posted:

Hah, looking this up led me to learn of the ReDim statement. VB is full of weird little things like that.

I thought at one point or another I'd used every obscure piece of VB.NET syntax, from Call to Static to Shadows, but it turns out I'd never even seen Erase.

The old VB garbage collector must have sucked bad if you couldn't just do 'someArray = Nothing' and trust that it would GC the elements as well, instead having to invoke a special statement.

Zopotantor
Feb 24, 2013

...und ist er drin dann lassen wir ihn niemals wieder raus...

nielsm posted:

In Pascal (or at least the Delphi variant of it), you can define an integer type with some arbitrary range, and declare an array indexed by that range type. You can also declare an enumeration type with named values and declare an array of that enumeration.

I think the syntax goes something like this:
code:
type SomeRangeType = 5 .. 37;
type SomeEnumType = (Foo, Bar, Baz);
var a = array[SomeRangeType] of Integer;
var b = array[SomeEnumType] of SomeRangeType;

Yup, that's standard Pascal.

Absurd Alhazred
Mar 27, 2010

by Athanatos
I miss Pascal. :smith:

more falafel please
Feb 26, 2005

forums poster

Absurd Alhazred posted:

I miss Pascal. :smith:

I've never actually written a Pascal program, but I came up programming in C on the old Mac, and reading documentation for the Macintosh Toolbox which was all assuming you were using Pascal or assembly. I got real used to length-prefixed strings.

Foxfire_
Nov 8, 2010

NihilCredo posted:

The old VB garbage collector must have sucked bad if you couldn't just do 'someArray = Nothing' and trust that it would GC the elements as well, instead having to invoke a special statement.
I think the VB6 'garbage collector' was just reference counted COM objects, and it was your problem to make sure that there were no cycles in dead objects. So you might need to explicitly erase (=decrement reference count) things for cycle breaking.

OddObserver
Apr 3, 2009

Absurd Alhazred posted:

I miss Pascal. :smith:

I never programmed much in it, but having had to TA intro CS classes in Java I feel like it's missed badly as a teaching language (maybe adjusted to have better strings).

Beef
Jul 26, 2004

nielsm posted:

In Pascal (or at least the Delphi variant of it), you can define an integer type with some arbitrary range, and declare an array indexed by that range type. You can also declare an enumeration type with named values and declare an array of that enumeration.

I think the syntax goes something like this:
code:
type SomeRangeType = 5 .. 37;
type SomeEnumType = (Foo, Bar, Baz);
var a = array[SomeRangeType] of Integer;
var b = array[SomeEnumType] of SomeRangeType;

That is the sanest way I've seen to deal with the indexing base problem.

APL has the quad-io construct which changed the behavior of all subsequent operations, introducing a global effect and wrecking modularity. (not an APLer, just listen to ArrayCast)

Tei
Feb 19, 2011

c

code:
enum bool = { True=1, False=2,  Undecided= 3};

Xarn
Jun 26, 2015
seems fine? We called then yes, no, cantsay though

Zopotantor
Feb 24, 2013

...und ist er drin dann lassen wir ihn niemals wieder raus...

Tei posted:

c

code:
enum bool = { True=1, False=2,  Undecided= 3};

The canonical third boolean is FileNotFound.

Absurd Alhazred
Mar 27, 2010

by Athanatos
True = 1, False = 2, Nice = 69, Dope = 420

Adbot
ADBOT LOVES YOU

Polio Vax Scene
Apr 5, 2009



everything in life can be simplified down to two options, true, false, and null.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply