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
The Phlegmatist
Nov 24, 2003

Nippashish posted:

Also when your toolchain is known to be terrible (which sounds like the case here) then "the build artifacts are wrong" becomes a reasonable debugging hypothesis fairly quickly.

Yeah, people are spoiled working with mature toolchains (although MSVC and UTF-8 was a fun source of bugs for a while and that would qualify as mature.)

The early days of coding LISP on ARM were...fun.

Adbot
ADBOT LOVES YOU

iospace
Jan 19, 2038


LISP on ARM sounds like a special hell

The Phlegmatist
Nov 24, 2003

iospace posted:

LISP on ARM sounds like a special hell

I unironically enjoyed it although gently caress LISP syntax in general.

Most fun bug was the fact that integers in LISP are supposed to be arbitrary-precision, but they were represented in this commercial implementation by a four-bit type descriptor followed by a 28-bit container. Worked entirely fine unless you stored a number in memory between 2^28 and 2^32 at which point it'd mangle its type descriptor and crash at runtime.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

The Phlegmatist posted:

I unironically enjoyed it although gently caress LISP syntax in general.

Most fun bug was the fact that integers in LISP are supposed to be arbitrary-precision, but they were represented in this commercial implementation by a four-bit type descriptor followed by a 28-bit container.

Hmm well it's always unfortunate to have a performance cliff when you start having to spill large integers to the heap but it's still probably the right trade-off vs. using a fatter value represe...

The Phlegmatist posted:

Worked entirely fine unless you stored a number in memory between 2^28 and 2^32 at which point it'd mangle its type descriptor and crash at runtime.

wat

Athas
Aug 6, 2007

fuck that joker

QuarkJets posted:

I think it's pretty common for parallelism libraries to set a "do not do IO or blocking with any of this stuff" rule

It's also pretty common to set a "don't spawn more parallel work from inside the parallel operation" rule. Nested parallelism is hard (if you want it to run fast, otherwise it's easy).

Zemyla
Aug 6, 2008

I'll take her off your hands. Pleasure doing business with you!

The Phlegmatist posted:

I unironically enjoyed it although gently caress LISP syntax in general.

Most fun bug was the fact that integers in LISP are supposed to be arbitrary-precision, but they were represented in this commercial implementation by a four-bit type descriptor followed by a 28-bit container. Worked entirely fine unless you stored a number in memory between 2^28 and 2^32 at which point it'd mangle its type descriptor and crash at runtime.

This is why you use sum types in your integers.

Soricidus
Oct 21, 2010
freedom-hating statist shill

Jabor posted:

https://docs.oracle.com/javase/7/docs/api/java/nio/channels/AsynchronousFileChannel.html :confused:

So yeah you could just do a parallel map over your stream, compress your data and issue an async write. Then (outside the stream) block on all those returned futures.

Yes, that does look like the way java is expecting me to do it, thanks!

The nio async stuff is still based on threading tho so now my code is using two global thread pools and two work queues. I guess it’s probably fine, they were both implemented by people who know more about concurrency than I do

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
This analysis of who's moving from which language to which language unfortunately says that Go appears to be the new hotness. :saddowns:

Doc Hawkins
Jun 15, 2010

Dashing? But I'm not even moving!


Joining the ranks of such luminaries as JavaScript, Ruby, Python, Java...

Excuse you, I am not a "language hipster," I am an informed language enthusiast.

Mr Shiny Pants
Nov 12, 2012

Doc Hawkins posted:

Joining the ranks of such luminaries as JavaScript, Ruby, Python, Java...

Excuse you, I am not a "language hipster," I am an informed language enthusiast.

An "artisan coder".

Mr Shiny Pants fucked around with this message at 20:01 on Nov 27, 2017

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

TooMuchAbstraction posted:

This analysis of who's moving from which language to which language unfortunately says that Go appears to be the new hotness. :saddowns:

did they do search for golang or go? cuz it seems they did it by search terms and uh "go" is a drat common english word

Pollyanna
Mar 5, 2005

Milk's on them.


Bespoke artisanal crash-to-desktops.

Mr Shiny Pants
Nov 12, 2012

Pollyanna posted:

Bespoke artisanal crash-to-desktops.

At least you took pride in what you made.

CPColin
Sep 9, 2003

Big ol' smile.

bob dobbs is dead posted:

did they do search for golang or go? cuz it seems they did it by search terms and uh "go" is a drat common english word

"Go," but in a way where the confusion probably didn't affect the results:

The dang article posted:

Note that I searched for exact queries by putting it in quotation marks: eg “switch from go to c++”

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
shucks to me for not rtfa
i'm pretty sure that the goog does machine learning stuff in addition to the boolean ops tho

Coffee Mugshot
Jun 26, 2010

by Lowtax
Isn't it a natural thing for a new language that claims some maturity to be the target of a lot of rewrites and subsequent articles after some period of time? I'd expect that same analysis to show a trend for Rust in the next 2-3 years or something like that.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



He found *squints* about 5k people switching to Matlab from islands of relative sanity Python and R? I question his results.

TheBlackVegetable
Oct 29, 2006

Munkeymon posted:

He found *squints* about 5k people switching to Matlab from islands of relative sanity Python and R? I question his results.

He also found probable movement away from Postgresql to Mysql, if I'm reading it right. Someone tell me why that makes sense?

Kazinsal
Dec 13, 2011

Munkeymon posted:

He found *squints* about 5k people switching to Matlab from islands of relative sanity Python and R? I question his results.

31.5k people switching from R to C.

I'm really curious now.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



TheBlackVegetable posted:

He also found probable movement away from Postgresql to Mysql, if I'm reading it right. Someone tell me why that makes sense?

It costs less on AWS :downs:

spaced ninja
Apr 10, 2009


Toilet Rascal

TheBlackVegetable posted:

He also found probable movement away from Postgresql to Mysql, if I'm reading it right. Someone tell me why that makes sense?

A quick google search shows a TON of articles about why Uber moving to MySQL was bad and a bunch more are simply "we designed it this we so you CAN move to MySQL from Postgres". I'm guessing its just a ton of noise in that specific search. It also probably doesn't help that pretty much all CMS software is backed by MySQL these days.

redleader
Aug 18, 2005

Engage according to operational parameters

The Phlegmatist posted:

I unironically enjoyed it although gently caress LISP syntax in general.

Most fun bug was the fact that integers in LISP are supposed to be arbitrary-precision, but they were represented in this commercial implementation by a four-bit type descriptor followed by a 28-bit container. Worked entirely fine unless you stored a number in memory between 2^28 and 2^32 at which point it'd mangle its type descriptor and crash at runtime.

Is this like undefined integer overflow but worse? Better?

Soricidus
Oct 21, 2010
freedom-hating statist shill

CPColin posted:

"Go," but in a way where the confusion probably didn't affect the results:

Yeah, that methodology just opens up other error sources tho. For example the first page of results for “switch from python to node” (first example I tried) includes an article that includes that exact phrase ... in the context of explaining why the author strongly believes you should not do that thing

fritz
Jul 26, 2003

Kazinsal posted:

31.5k people switching from R to C.

I'm really curious now.

Someone who's got r code that's too slow?

Pollyanna
Mar 5, 2005

Milk's on them.


lovely old academic code and libraries?

The Phlegmatist
Nov 24, 2003

redleader posted:

Is this like undefined integer overflow but worse? Better?

Better since it at least has the decency to crash immediately rather than causing undefined behavior.

Worse because Common Lisp is supposed to convert between fixnum (24 bit integers) and bignum (arbitrary precision) automatically and anyone with a Common Lisp background would expect any weirdness to occur around 2^24. Extra worse because a 4-bit type descriptor and a 28-bit integer aren't even on word boundaries so that interpreter must have been doing some serious voodoo behind the scenes to pack in those extra bits. Which didn't even work in the end regardless.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

Soricidus posted:

Yeah, that methodology just opens up other error sources tho. For example the first page of results for “switch from python to node” (first example I tried) includes an article that includes that exact phrase ... in the context of explaining why the author strongly believes you should not do that thing

the goog will also nowadays straight-up disrespect the quotes a lot of the time

NihilCredo
Jun 6, 2011

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

Pretending for a second those search results are worth a drat, I'd like to meet whoever it was that supposedly switched from Rust to COBOL.

I would assume it means that they had to switch because their magnetic toroids physically turned to rust.

ShimaTetsuo
Sep 9, 2001

Maximus Quietus

That article posted:

I also know the chain has to be ergodic and a bunch of other things, but in reality that’s basically always the case.

uuuuuuh obviously that doesn't apply if the transition matrix is time-varying (which it obviously is...). The "computing the future distribution of languages" bit is complete nonsense. Just because switching to go is the current fad doesn't necessarily mean there is any space for go in the ultimate final state of the universe.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

ShimaTetsuo posted:

uuuuuuh obviously that doesn't apply if the transition matrix is time-varying (which it obviously is...). The "computing the future distribution of languages" bit is complete nonsense. Just because switching to go is the current fad doesn't necessarily mean there is any space for go in the ultimate final state of the universe.

way more things you can assume stationarity on than you can think, if you have really totally all of the data. financial markets can be seen as nonstationary buncha weirdo poo poo or fractional brownian motion (statistics of fbm: "go gently caress yourself and die")

guy prolly doesn't think of it like that tho lol

not kidding about fbm being the fyad of time series btw

edit: in this specific case he coulda just smoothed it

Doom Mathematic
Sep 2, 2008

NihilCredo posted:

Pretending for a second those search results are worth a drat, I'd like to meet whoever it was that supposedly switched from Rust to COBOL.

I would assume it means that they had to switch because their magnetic toroids physically turned to rust.

Just to highlight how useless those results are, your post contains the string "switched from Rust to COBOL" and so could potentially appear in a Google search for a string of that kind. And mine does too. Twice!

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!
Don't worry! A trained machine learning specialist has approved the technique and the results.

Coffee Mugshot
Jun 26, 2010

by Lowtax
I don't really think the search used is affecting the results as much as y'all claim, even if I don't agree with the article's conclusion that people like Go for some reason this year. The only reason people use go nowadays is because of docker and kubernetes afaict

iospace
Jan 19, 2038


C is the best :colbert:

NO I DO NOT HAVE STOCKHOLM SYNDROME THANKS FOR ASKING

Volguus
Mar 3, 2009
Speaking of machine learning libraries and the scientists that write them. At work we use in one of our products the mlpack library. Really nice library. At one point I tried a little experiment: create 5 threads and run an mlpack regression in a thread. The class was created and destroyed in that thread, nothing shared, perfectly thread safe. Segfault, terminate, "timer blabla was created while another timer was active". WTF?
Looking in the sourcecode I find there is a singleton object called CLI, that creates timers in a static std::map every time one of its ML algorithms are being invoked and that throws an exception if a timer with the same name already exists in the map. Which, when you make 5 threads that all invoke the same algorithm, you're bound to hit no matter what :argh:. Fortunately the fix is easy: comment that out and use our version of the library instead of the one the distribution comes with (yes, problem was fixed upstream too, but distributions will get that next century).

But then, next issue: mlpack uses armadillo (a linear algebra library) which in turn uses OpenBLAS (basic linear algebra) for some of its calculations. On my home system (Fedora 27), my coworker's system (Debian whatever) and on production system (CentOS 7) no matter how much we stress the program it works like a champ. On my work system (Fedora 27, slightly slower CPU) it crashes at the 49th serial computation somewhere in the gremm driver. Every time.

Now we're gonna have to use a custom version of armadillo too, and compile mlpack against that and remove OpenBLAS from the equation completely, because some people just can't hold their pointers. Brilliant scientists. Awful programmers.

baka kaba
Jul 19, 2003

PLEASE ASK ME, THE SELF-PROFESSED NO #1 PAUL CATTERMOLE FAN IN THE SOMETHING AWFUL S-CLUB 7 MEGATHREAD, TO NAME A SINGLE SONG BY HIS EXCELLENT NU-METAL SIDE PROJECT, SKUA, AND IF I CAN'T PLEASE TELL ME TO
EAT SHIT

bob dobbs is dead posted:

the goog will also nowadays straight-up disrespect the quotes a lot of the time

And it also loooves flipping words and searching for their opposites so your results are all exactly what you didn't want. Really great when you're searching for specific technical things!

canis minor
May 4, 2011

I wouldn't suspect that The Times is a spammer, but here we are:



Worth mentioning - I've not subscribed to anything and followed the link that they included if I want to opt out from receiving emails. Changing these settings didn't do anything, so I've had to contact support directly.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Assuming you're getting it on one of the big email services, you should really report it as spam because it'll hurt their score on the filters and they won't take their lovely compliance seriously until people who actually want their daily whatevers don't get them.

fankey
Aug 31, 2001

Coworker came to me complaining about integrating a 3rd party C library - he had to manually convert from a signed to an unsigned byte array. I thought this was odd since you should just be able to cast so I went overt to show him how simple.... oh

Both calls come from the same vendor. Call 1 produces a 'byte array' which is a bracketed string with comma separated signed ASCII integers
code:
"[ -23, 4, 0, -100, 8, ... ]"
Call 2 wants a 'byte array' but not the same - a bracketed string with comma separated unsigned ASCII integers
code:
"[ 233, 4, 0, 156, 8, ... ]"
We paid a lot for this library.

Adbot
ADBOT LOVES YOU

Pollyanna
Mar 5, 2005

Milk's on them.


Why is it a string?

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