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.
 
  • Locked thread
Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...
now that i've gotten used to reading s-exprs all other syntax just seems super dirty

like why do you need so many different characters to represent these things

Adbot
ADBOT LOVES YOU

Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...

Dessert Rose posted:

why do you need so many different characters to represent these things

mlmp, etc

JewKiller 3000
Nov 28, 2006

by Lowtax
because humans like syntax

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
red hat interview was weirdly easy.

Valeyard
Mar 30, 2012


Grimey Drawer

MALE SHOEGAZE posted:

red hat interview was weirdly easy.

have you decided what you will do if/when they offer you the job?

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Valeyard posted:

have you decided what you will do if/when they offer you the job?

no :(. like definitely see if my company comes back with more money (they probably will) and then do some soul searching.

one cool thing about where i am now is that like, we're starting on a system from scratch, but it's a replacement for a legacy system so we actually have really solid product requirements and i have tons of say in how everything is implemented / architected.

i really doubt i'll have nearly as much control at redhat, like i could really just end up making webforms. or i could end up working on really cool stuff. it's hard to say.

like the questions were easy enough that it felt like maybe they just want someone to write rails views which is like, not what i'm into.

but on the other hand i am an ok terrible programmer so maybe i take some me time while writing web forms for 6 months and then since i'm actually good at way more stuff i'll get to work on cool stuff. i mean it's redhat after all.

DONT THREAD ON ME fucked around with this message at 01:13 on May 1, 2015

CPColin
Sep 9, 2003

Big ol' smile.
In general, how long after starting a new job should one wait before proposing complete overhauls of the development process?

Asking for a coworker.

ChiralCondensate
Nov 13, 2007

what is that man doing to his colour palette?
Grimey Drawer

CPColin posted:

In general, how long after starting a new job should one wait before proposing complete overhauls of the development process?

Asking for a coworker.
do all the work in secret then ambush everyone at the next stand up

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

ChiralCondensate posted:

do all the work in secret then push it into master without saying anything

CPColin
Sep 9, 2003

Big ol' smile.
It's not me, I swear. I've been around for eight years. It's a new person who took one look around and declared that we were all doing it wrong.

Which may be true, but get the shrinkwrap off of your desk first!

ChiralCondensate
Nov 13, 2007

what is that man doing to his colour palette?
Grimey Drawer

CPColin posted:

It's not me, I swear. I've been around for eight years. It's a new person who took one look around and declared that we were all doing it wrong.

Which may be true, but get the shrinkwrap off of your desk first!

oh, then kill him and assume his life/wife/mortgage

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

giogadi posted:

Elm's syntax is almost exactly like Haskell's. If you don't like Haskell's syntax you won't like Elm, but besides syntax many people's beefs with Haskell come from (a) people's liberal use of complex structures from category theory, and (b) lazy evaluation being really confusing to reason about.

Elm addresses these two things by not having typeclasses and using eager evaluation. These are compromises of course, but the payoff is a vastly simpler language than Haskell, even with the syntactic similarities.

elm isn't lazy because nobody's figured out how to do a lazily evaluated functional reactive programming implementation without space leaks

JewKiller 3000
Nov 28, 2006

by Lowtax

fart simpson posted:

nobody's figured out how to do a lazily evaluated programming implementation without space leaks

ftfy

also maybe it isn't lazy because lazy evaluation in general is not what you want. hth

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

MALE SHOEGAZE posted:

no :(. like definitely see if my company comes back with more money (they probably will) and then do some soul searching.

one cool thing about where i am now is that like, we're starting on a system from scratch, but it's a replacement for a legacy system so we actually have really solid product requirements and i have tons of say in how everything is implemented / architected.

i really doubt i'll have nearly as much control at redhat, like i could really just end up making webforms. or i could end up working on really cool stuff. it's hard to say.

like the questions were easy enough that it felt like maybe they just want someone to write rails views which is like, not what i'm into.

but on the other hand i am an ok terrible programmer so maybe i take some me time while writing web forms for 6 months and then since i'm actually good at way more stuff i'll get to work on cool stuff. i mean it's redhat after all.

1) if you believe that there is interesting work at a company it's almost always easier to move into a position internally than from the outside

2) don't take a job that you know 100% how to do, life's too short

3) if the initial job description doesn't cause you to orgasm, ask about how internal movement works and career development and so forth. if they offered then they want you, use your leverage, etc. (I have a whole effort post somewhere about this)

4) practice your spelling of "red hat"

ChiralCondensate
Nov 13, 2007

what is that man doing to his colour palette?
Grimey Drawer

Subjunctive posted:

4) practice your spelling of "red hat"
rad hate

lol amirite folks

giogadi
Oct 27, 2009

JewKiller 3000 posted:

ftfy

also maybe it isn't lazy because lazy evaluation in general is not what you want. hth

I love Haskell but I'll openly admit to having serious Stockholm Syndrome on the lazy evaluation. I convince myself that I like it until I'm trying to profile a space leak and immediately want to shoot turpentine into my rear end in a top hat.

If an eagerly evaluated, purely functional language that compiles to native code came out (and it had a community), I'd jump ship immediately. Although maybe I'm misremembering, but didn't SPJ say once that Haskell's purely functional model was only possible with lazy semantics?

AWWNAW
Dec 30, 2008

if it's more money and you've been at your current job for 2+ years it's time to leave

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Subjunctive posted:


4) practice your spelling of "red hat"

red hot enterprise linux

and thanks. i definitely asked a lot about what the position would look like long term and explained that i wasn't really interested in doing CRUD interfaces. all of their answers were great and what i was looking for. the only thing that gave me pause was the simplicity of the questions.

AWWNAW posted:

if it's more money and you've been at your current job for 2+ years it's time to leave

it will probably be about the same and i've only been at my current job for ~ 10 months. i wasn't actually looking to get a new job i just had a chance to interview with them so i said 'sure why not' thinking there was absolutely no way i'd make it passed the phone screen.

DONT THREAD ON ME fucked around with this message at 02:59 on May 1, 2015

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

MALE SHOEGAZE posted:

and thanks. i definitely asked a lot about what the position would look like long term and explained that i wasn't really interested in doing CRUD interfaces. all of their answers were great and what i was looking for. the only thing that gave me pause was the simplicity of the questions.

easy questions can mean a lot of things:

1) they're mostly looking for an idiot filter and then the secondary signal of how you behaved in the interview is more important
2) they overweight "culture fit" abstract bullshit
3) you might be working with unskilled people
4) they recognize that interviewing is a hopeless practice and have become numb to the ritual

if they generally hire unskilled people then they might be good at developing them, or you might get to be a rockstar just by not showing up in a coding-horror thread. think about what you'll do if your team proves to be incompetent (like if you get assigned to work on anaconda f.e.), and if you're comfortable with your (many) options then just enjoy looking like a badass.

if they treat you well through the interview process (answer questions promptly and frankly, etc.) that's a strong positive signal.

but all career moves are rolling some number of dice. you don't *really* want two jobs in a row less than a year, but it's not fatal in software if you can tell a good story about it.

conclusion: make them get to an offer you like, then go for it.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

elm trip report: this is a pretty cool concept that's fun to play with but i do not like the syntax. maybe later i will try porting my blackjack program that's gone from python to c# to c++ to 6502 assembly so far to it

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Subjunctive posted:

but all career moves are rolling some number of dice. you don't *really* want two jobs in a row less than a year, but it's not fatal in software if you can tell a good story about it.

so i'm less concerned about this one from a 'what does it say about me' point of view, and more concerned because i genuinely like my job and feel like they've treated me really well. i'm not saying i owe them anything, but i do feel like i'm leaving them for a younger/more attractive woman

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

MALE SHOEGAZE posted:

so i'm less concerned about this one from a 'what does it say about me' point of view, and more concerned because i genuinely like my job and feel like they've treated me really well. i'm not saying i owe them anything, but i do feel like i'm leaving them for a younger/more attractive woman

I'll make another numbered list, because apparently that's where tipsiness is leading me

1) they care about you as much as you care about the company, and will miss you but be excited/happy for you on this new adventure

or

2) they don't care about you as much as you care about the company, and will be manipulative and whiny, in which case :fuckoff:

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
well that's a pretty good point

Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...

giogadi posted:

immediately want to shoot turpentine into my rear end in a top hat.

well this is oddly specific

leftist heap
Feb 28, 2013

Fun Shoe
don't kink shame

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:
just popping in to say that i dont enjoy bitbanging 32 bit register values into POJOs so i can figure out wtf i did wrong programmign this gigabit switch chip

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

(sorry for making GBS threads up the thread with Terrible Career Advice)

Bloody
Mar 3, 2013

:justpost: :quig:

Luigi Thirty
Apr 30, 2006

Emergency confection port.

bobbilljim posted:

just popping in to say that i dont enjoy bitbanging 32 bit register values into POJOs so i can figure out wtf i did wrong programmign this gigabit switch chip

did you know over 2 billion devices use java worldwide?

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:

:agreed:


Luigi Thirty posted:

did you know over 2 billion devices use java worldwide?

this device uses java 1.3 (with some extras from higehr java versions lmao) and now i have to do bulsshit bit wrangling too

JewKiller 3000
Nov 28, 2006

by Lowtax

giogadi posted:

If an eagerly evaluated, purely functional language that compiles to native code came out (and it had a community), I'd jump ship immediately.

ocaml already exists :colbert: just don't type mutable, or ref, or Array.* ;)

giogadi posted:

Although maybe I'm misremembering, but didn't SPJ say once that Haskell's purely functional model was only possible with lazy semantics?

technically there's no reason you can't have a purely functional language that's strictly evaluated. it's just that allowing side effects is so appealing that almost everyone succumbs. what simon pj said is, haskell's laziness helped keep it pure. because if you have no idea when a side effect will be evaluated, then you can't have them at all!

Luigi Thirty
Apr 30, 2006

Emergency confection port.

bobbilljim posted:

this device uses java 1.3 (with some extras from higehr java versions lmao) and now i have to do bulsshit bit wrangling too

java 1.3? lmao good luck

Destroyenator
Dec 27, 2004

Don't ask me lady, I live in beer

JewKiller 3000 posted:

ocaml already exists :colbert: just don't type mutable, or ref, or Array.* ;)
or half of the string functions

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:

Luigi Thirty posted:

java 1.3? lmao good luck

:thumbsup:

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



i use an app that is stupid about only letting you save images as they are displayed on the screen (so the quality of the image essentially depends on your monitor's resolution) which is dumb as heck

so i found this http://www.arbingersys.com/osx-injection-override-tutorial-hello-world/
and used it to hijack a method that is called when hitting a button in the UI, to get it to save the full image before moving on.

i got it working but the parameters for the call are a bit strange.

the method im overriding is Filter::normalize(QImage) returns QImage, mangled to __ZN6Filter9normalizeE6QImage. i couldnt get it to work until i added the unused void *z parameter, i think maybe it is because it is a class/instance method so the first param is the class or instance, but since my overridemethod is already on a dummy class, it should already have that set up???


C++ code:
#include <cstdio>

#include "mach_override.h"
#include "mach-o/dyld.h"

#include <QtCore/QtCore>
#include <QtGui/QtGui>

// function prototype
QImage (*originalMethod)(QImage) = 0;

// override function with weird *z parameter
class Dummy
{
public:
    static QImage overrideMethod(void *z, QImage img);
};

QImage Dummy::overrideMethod(void *z, QImage img)
{
    printf("Going to save image %p\n", &img);
    
    bool didSave = img.save("test.png", 0, 100);
    
    printf("Saved: %s\n", didSave ? "YES" : "NO");
    
    return originalMethod(img);
}

// the rest below is basically as-is from the url above

void install(void) __attribute__ ((constructor));
void install()
{
    printf("Attempting to get symbol\n");
    
    void *originalMethod_ptr;
    
    _dyld_lookup_and_bind("__ZN6Filter9normalizeE6QImage", (void**) &originalMethod_ptr, NULL);
    
    // Assign our pointer to our function prototype
    originalMethod = (QImage (*)(QImage))originalMethod_ptr;
    
    printf("testlib: originalMethod_ptr   = %p\n", originalMethod_ptr);
    printf("testlib: originalMethod       = %p\n", originalMethod);
    fflush(stdout);
    
    // Do the override
    mach_error_t me;
    
    me = mach_override_ptr(originalMethod_ptr, (void*)&Dummy::overrideMethod, (void**)&originalMethod);
    
}
can someone non-terrible explain whats going on here?

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Luigi Thirty posted:

did you know over 2 billion devices use java worldwide?

I bet that's counting all the ARM CPUs that have some form of Java instruction set and also all blu-ray players and things like that which can technically run java but never actually do

and also every feature phone ever manufactured that had J2ME and now sitting in a landfill

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Snapchat A Titty posted:

i use an app that is stupid about only letting you save images as they are displayed on the screen (so the quality of the image essentially depends on your monitor's resolution) which is dumb as heck

so i found this http://www.arbingersys.com/osx-injection-override-tutorial-hello-world/
and used it to hijack a method that is called when hitting a button in the UI, to get it to save the full image before moving on.

i got it working but the parameters for the call are a bit strange.

the method im overriding is Filter::normalize(QImage) returns QImage, mangled to __ZN6Filter9normalizeE6QImage. i couldnt get it to work until i added the unused void *z parameter, i think maybe it is because it is a class/instance method so the first param is the class or instance, but since my overridemethod is already on a dummy class, it should already have that set up???

...

can someone non-terrible explain whats going on here?

I'm pretty sure you'll find that Filter::normalize(QImage) is an instance method of the Filter class, which means that it has an implicit Filter *this parameter.

your override being on a dummy class has nothing to do with it because your override method is static, it won't have an implicit this. you could have just as easily made your override a plain function; it's actually what I'd recommend to make it clearer what's going on, as well as including the first parameter in the prototype:

C++ code:

typedef QImage (*Filter_normalize_override_t)(void *filter, QImage);

static Filter_normalize_override_t Filter_normalize_original = NULL;

QImage Filter_normalize_override(void *filter, QImage img)
{
    printf("Going to save image %p\n", &img);
    
    bool didSave = img.save("test.png", 0, 100);
    
    printf("Saved: %s\n", didSave ? "YES" : "NO");
    
    return Filter_normalize_original(filter, img);
}

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



poo poo that makes a lot of sense thanks!

i dont remember when why i put static in the first place, i think maybe i was confused by the method signature as displayed by c++filt only having the one parameter, and then assuming it wouldnt be an instance method.

$ c++filt __ZN6Filter9normalizeE6QImage
Filter::normalize(QImage)

i guess mangled names dont have info on whether its an instance method or not, as well as return types?

Soricidus
Oct 21, 2010
freedom-hating statist shill

Destroyenator posted:

or half of the string functions

or the standard Hashtbl, Buffer, Queue, and Stack types

ocaml is very much not about pure fp

Adbot
ADBOT LOVES YOU

jesus WEP
Oct 17, 2004


modern ui for wpf owns super hard

  • Locked thread