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
JewKiller 3000
Nov 28, 2006

by Lowtax

FamDav posted:

my variation on this is that certain types of behavior were left undefined to make things easier for compiler writers to optimize, or something.

of course this is a bad thing

here's an excellent series of posts on undefined behavior in C by chris lattner, principal author of llvm: http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html

Adbot
ADBOT LOVES YOU

MrMoo
Sep 14, 2000

tef posted:

aside

remember amqp? the protocol that released a series of incompatible versions before abandoning the architecture for 1.0

anyway, ages ago, imatix went 'gently caress this poo poo' and wrote 0mq

the creator of 0mq then went gently caress this poo poo and forked crossroads.io

anyway, the author of that went gently caress this poo poo and made nanomsg

:v:

I think Martin has burnt out and pretty much given up on both crossroads.io and nanomsg. Ømq is still plodding along.

Slurps Mad Rips
Jan 25, 2009

Bwaltow!

Zombywuf posted:

I'm pleasantly surprised when I meet high level CS degree holders who know what an array is.

Or a variable.

at a job i once worked we had a dude with 2 phds (1 in CS, 1 in SE) try to get a job. my boss at the time was this old as hell, chill as gently caress old country russian who was trying really hard not to laugh when he walked in after waiting 12 minutes for this dummy to finish the fizzbuzz test. when he finally finished it we looked at it, and it wasn't even a pseudo for loop. it was a bunch of text with the word for, braces, a ++ at the end of the braces, and all of it was crossed out with the text "I don't know how to do this" written below.

in the same day we also had a dude who blew away every test we had (we'd ask some really low level windows and COM poo poo because of the legacy support we had to do) and also showed he was extremely competent in API design. he knew his poo poo and from his previous work experience we saw he'd done some work writing software for gps satellites and other embedded work. we didn't look at the whole thing though because it was 7 pages. when my boss found out this guy was also old country russian, they talked for a bit, and my boss started to look all distressed and poo poo, with his eyes moving towards me, the guy, and his resume. after the guy left, he flipped to the last page and started cursing because this smart as hell dude's first job out of college was writing targeting and guidance software for inter continental ballistic missiles for the ussr, and it was at this point we realized that the rest of management would say he was overqualified for a position maintaining a vb.net application while working on ms word plugins in c#

even if he didnt actually write software for an icbm, he was smart enough no one would have cared

Shaggar
Apr 26, 2006
never hire recent grads unless you're a giant rear end company that's gonna take the time to (re)educate them on how to do things.

minidracula
Dec 22, 2007

boo woo boo

MrMoo posted:

I think Martin has burnt out and pretty much given up on both crossroads.io and nanomsg. Ømq is still plodding along.
Yeah, between the three of these, 0MQ seems to be the thing that, y'know, works.

I didn't really understand the Crossroads I/O thing except for "developer/project ownership drama ego blowup". I'm sure I'm oversimplifying. I didn't even know about nanomsg until tef mentioned it.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
ive heard of amqp but not 0mq. which should i use

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Shaggar posted:

never hire recent grads unless you're a giant rear end company that's gonna take the time to (re)educate them on how to do things.

still looking for work, shaggar?

Shaggar
Apr 26, 2006
I've been gainfully employed for almost a decade now.

MrMoo
Sep 14, 2000

nanomsg is a rewrite to make it easier to add new transports, adding UDP, HTTP, WS is rather arduous currently.

Nomnom Cookie
Aug 30, 2009



also nanomsg hit alpha yesterday. also netty is cock solid for real and was trustin lee's second attempt at a networking library. my theory is that it takes a bunch of attempts to get networking right, so maybe this time martin sustrik will be happy with his work

Nomnom Cookie
Aug 30, 2009



also im using nanomsg because it provides broadcast sockets and zreomq doesn't

JewKiller 3000
Nov 28, 2006

by Lowtax
just use rabbitmq and get gay with erlang

Nomnom Cookie
Aug 30, 2009



maybe someday. this particular project has an inner loop

minidracula
Dec 22, 2007

boo woo boo
Post the metaprogrammiest code you got.

tef
May 30, 2004

-> some l-system crap ->

Suspicious Dish posted:

ive heard of amqp but not 0mq. which should i use

tcp :v:

unixbeard
Dec 29, 2004

i wanna do something in lisp whats it good for

weird
Jun 4, 2012

by zen death robot
emacs

unixbeard
Dec 29, 2004

someones already done that whats something else

Stringent
Dec 22, 2004


image text goes here

unixbeard posted:

i wanna do something in lisp whats it good for

nothin'

Nomnom Cookie
Aug 30, 2009



unixbeard posted:

someones already done that whats something else

emacs 2

Zlodo
Nov 25, 2006

Tiny Bug Child posted:

if you never need to write regex your job is so boring that someone has already gotten to the data you need and carefully digested + regurgitated it so your babby self can handle it

my job is not boring BC I'm not a web dev who have nothing else to do than data janitoring

tef
May 30, 2004

-> some l-system crap ->

unixbeard posted:

i wanna do something in lisp whats it good for

learn gambit scheme i guess and play with erlang like stuff

Notorious b.s.d.
Jan 25, 2003

by Reene

unixbeard posted:

someones already done that whats something else

actually emacs in lisp is a big unsolved problem

emacs-the-gnu-product, as a language platform, is incredibly crude and bad. it's a weak sauce knockoff of 1970s lisp environments, crippled with 1970s thinking: no threading, bad concurrency, dynamic scope, etc. it's also bloody loving slow

common lisp environments in 2013 are blazingly fast and have both native compilers + bytecode interpreters that work seamlessly, so you would think they would be the perfect environment for an emacs-like editor... but no one has ever finished a loving project to do it

things i know about :

both projects are really dead
hemlock works well but has no support for anything interesting

Notorious b.s.d. fucked around with this message at 14:51 on Aug 21, 2013

Notorious b.s.d.
Jan 25, 2003

by Reene

unixbeard posted:

i wanna do something in lisp whats it good for

common lisp isn't particularly good or bad for anything

it's a natively compiled language with every feature you ever wanted, and whole bunch more that you never did want. FP? we got it. OO? yep. 1970s "structured programming" ? sure thing, pal.

pick an application and get hacking. my only advice: if you're gonna do a GUI / fat client, use allegro or lispworks. the panoply of open sores GTK bindings will only make you cry

Posting Principle
Dec 10, 2011

by Ralp

Notorious b.s.d. posted:

actually emacs in lisp is a big unsolved problem

emacs-the-gnu-product, as a language platform, is incredibly crude and bad. it's a weak sauce knockoff of 1970s lisp environments, crippled with 1970s thinking: no threading, bad concurrency, dynamic scope, etc. it's also bloody loving slow

common lisp environments in 2013 are blazingly fast and have both native compilers + bytecode interpreters that work seamlessly, so you would think they would be the perfect environment for an emacs-like editor... but no one has ever finished a loving project to do it

things i know about :

both projects are really dead
hemlock works well but has no support for anything interesting

no one has ever finished a project using lisp, because thats not what lisp is about

Shaggar
Apr 26, 2006

Suspicious Dish posted:

ive heard of amqp but not 0mq. which should i use

jms

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

unixbeard posted:

i wanna do something in lisp whats it good for

i was toying around w/ Clojure a while back and that was pretty cool. most of the conveniences of lisp but with (via java calls) libraries for anything you might want to do

Notorious b.s.d.
Jan 25, 2003

by Reene

coffeetable posted:

i was toying around w/ Clojure a while back and that was pretty cool. most of the conveniences of lisp but with (via java calls) libraries for anything you might want to do

this is what i thought clojure would be, but it's 100% definitely not. clojure is a straight up bondage and discipline language. you will enjoy functional programming OR ELSE

the clojure <=> java interop basically sucks. it just barely works for a small number of use cases. unlike common lisp, clojure has essentially no procedural or OO faculties. java is pervasively OO. shocking that these don't interoperate very well.

common lisp makes fp easy and pleasant, but it's not the only choice.

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

Notorious b.s.d. posted:

this is what i thought clojure would be, but it's 100% definitely not. clojure is a straight up bondage and discipline language. you will enjoy functional programming OR ELSE

the clojure <=> java interop basically sucks. it just barely works for a small number of use cases. unlike common lisp, clojure has essentially no procedural or OO faculties. java is pervasively OO. shocking that these don't interoperate very well.

rats. only got to write a dinky lil belief prop alg in it - which thinking about it probably helped disguise the things you're complaining about - but was gonna return to it for the next project i had a free choice of language in. if it's really that much of a pain to interop, ah well.

Nomnom Cookie
Aug 30, 2009



Yeah the java interop is barely there. The dot syntax is nice but when you get to more involved stuff then you have to use gen-class and reify and it gets really grody. Also calling clojure from java is a pita

Condiv
May 7, 2008

Sorry to undo the effort of paying a domestic abuser $10 to own this poster, but I am going to lose my dang mind if I keep seeing multiple posters who appear to be Baloogan.

With love,
a mod


Notorious b.s.d. posted:

this is what i thought clojure would be, but it's 100% definitely not. clojure is a straight up bondage and discipline language. you will enjoy functional programming OR ELSE

the clojure <=> java interop basically sucks. it just barely works for a small number of use cases. unlike common lisp, clojure has essentially no procedural or OO faculties. java is pervasively OO. shocking that these don't interoperate very well.

common lisp makes fp easy and pleasant, but it's not the only choice.

and this is why scala is nice. i get all my nice functional stuff and i've only rarely run into a library that didn't work out of the box with it.

trex eaterofcadrs
Jun 17, 2005
My lack of understanding is only exceeded by my lack of concern.

Notorious b.s.d. posted:

this is what i thought clojure would be, but it's 100% definitely not. clojure is a straight up bondage and discipline language. you will enjoy functional programming OR ELSE

the clojure <=> java interop basically sucks. it just barely works for a small number of use cases. unlike common lisp, clojure has essentially no procedural or OO faculties. java is pervasively OO. shocking that these don't interoperate very well.

common lisp makes fp easy and pleasant, but it's not the only choice.

really?

i have written some pretty complex clojure programs with quite a bit of java interop and not really had too many issues. in fact I've done clojure/groovy interop, and that poo poo was kind of a horrorshow but it still worked and the "interop" part wasn't really the issue.


Nomnom Cookie posted:

Yeah the java interop is barely there. The dot syntax is nice but when you get to more involved stuff then you have to use gen-class and reify and it gets really grody. Also calling clojure from java is a pita

where did you run into this? i macro-generate clojure "javabeans" and register them into a spring di app context and don't even really need to muck around with gen-class or reify (proxy and protocols for sure but i've never had to touch reify)

Nomnom Cookie
Aug 30, 2009



idk i haven't written much clojure myself just reading Storm code. i assumed that was clojure as she is spoke and it uses reify & gen-class, not really proxies or protocols

MrMoo
Sep 14, 2000

Nomnom Cookie posted:

also im using nanomsg because it provides broadcast sockets and zreomq doesn't

Come to IPv6 and see the light, multicast-only.

Nomnom Cookie
Aug 30, 2009



MrMoo posted:

Come to IPv6 and see the light, multicast-only.

nanomsg bus sockets are abstracted over unicast or multicast. the nanomsg socket type relates to the message semantics not transport

PleasingFungus
Oct 10, 2012
idiot asshole bitch who should fuck off

JewKiller 3000 posted:

here's an excellent series of posts on undefined behavior in C by chris lattner, principal author of llvm: http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html

the articles that lattner links to are even older but are really really good. (reading both sets of articles is probably redundant.)

this was my favorite bit

code:
void bar (void);

int a;

void foo3 (unsigned y, unsigned z)
{
    bar();
    a = y%z;
}

void bar (void)
{
    setlinebuf(stdout);
    printf ("hello!\n");
}

int main (void)
{
    foo3(1,0);
    return 0;
}
code:
regehr@john-home:~$ clang -O0 biz_main.c biz.c -o biz
regehr@john-home:~$ ./biz
hello!
Floating point exception

regehr@john-home:~$ clang -O1 biz_main.c biz.c -o biz
regehr@john-home:~$ ./biz
Floating point exception

MrMoo
Sep 14, 2000

Nomnom Cookie posted:

nanomsg bus sockets are abstracted over unicast or multicast. the nanomsg socket type relates to the message semantics not transport

I was just checking the code, same message patterns as 0mq, you're looking at basic pub-sub. 0mq permits pub-sub over ITC, IPC, TCP, UDP, and PGM.

Nomnom Cookie
Aug 30, 2009



nah bus isn't in zeromq. pub-sub is different

tef
May 30, 2004

-> some l-system crap ->


40 year old logo drawing of a bird poopin'

Adbot
ADBOT LOVES YOU

MrMoo
Sep 14, 2000

Nomnom Cookie posted:

nah bus isn't in zeromq. pub-sub is different

Ah ok, it's a pattern PGM supports but 0mq doesn't I remember. For a long time Martin was asking me to remove bus support, go figure.

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