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
Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Private Speech posted:

im not, nor are the jobs ive posted

i guess if you go fintech or something you can get more, also racism could play a role a bit maybe seeing as im slav even if my degree and work history is in the uk

anyway im not complaining too much, its enough to live on comfortably when paying half the rent id pay in london. I might even be worse off at ~46k in London once london rent and higher effective tax rates are taken into account

yeah cost of living is the kicker of course.

i have unironically had conversations where people have said "we moved our dev team from India to Poland and its amazing" and "what we really need is some Eastern European devs as I hear they're really good" but again, most of the UK is basically racist so that's not indicative of the average experience!

Adbot
ADBOT LOVES YOU

Sapozhnik
Jan 2, 2005

Nap Ghost

Slurps Mad Rips posted:

c tp s: I'm trying to (desperately) make sure I never have to touch CMake again (this is a lie, but if it means I have to touch it less often then its worth it) by writing a library that does the common operations everyone does in CMake automatically. Even a few of the maintainers are keeping an eye on it. This means I've been deep into CMake and know it to a degree that the average mere mortal is nowhere near understanding. So here's a small "Everything you never wanted to know about CMake" post

  • contrary to popular belief variables in cmake can be any valid unicode byte sequence the hard part is dereferencing said variable. Want to get the value out of it? You'll need to escape each non-alphanumeric non "-./_" byte. This means you can have variables named 💩that can be set as booleans (since an if() dereferences automatically), but can't actually be dereferenced unless you do some magic byte poo poo and that's error prone.
  • this rule of what constitutes a valid identifier also applies to properties, cache vars, you name it except commands. (macros/functions)
  • add_library(whatever::dude::gently caress::it INTERFACE IMPORTED) is basically how you can have namespaced dictionary types in cmake. These exist at the directory scope (the old pre-CMake 2.8 default scope) and are available anywhere below their definition, but not available above.
  • cmake actually supports "destructors" so you can fire events off at the very end of its configure step. just call variable_watch on CMAKE_CURRENT_DIR and when its set to an empty string you'll know you're done configuring.
  • because cmake treats lists as strings separated by semicolons, a lot of the core cmake devs resort to its internal lovely regex engine for escaping. I said "gently caress that" and decided to do string replacements using the old ascii control code separator units of FS,GS,RS, and US. This allowed me to take the above "dictionary" types and then serialize them to disk. vim and emacs render these files in a not terrible way so the data is still readable.
  • remember above when I said "any valid unicode sequence"? I lied. Properties also permit invalid byte sequences, so I can have a key named INTERFACE_${c0} where c0 is the invalid byte C0 and you can't loving stop me.
  • there are more than just ${variable} style variable references in CMake. There is also CACHE{VAR} and ENV{VAR} references for the CMakeCache.txt and environment variables respectively. You can also make custom variable references like the ones found in the ExternalData module. So I said "Well, what if I had a variable syntax to represent a git repository or a zip file or archive?", so now I can do fetch(HUB{catchorg/catch2@v2.6.0}) because gently caress you
  • generator expressions combined with file(GENERATE) allow you to do things like
    • generate a response file for use in some other target
    • generate a custom toolchain that is invisible to the average person because you injected a custom target_sources command
    • generate a pch which the developers of cmake has said would be hard and impossible to do because they are cowards unwilling to enter into a dark contract with an eldritch demon named "Grant"
    • never have to touch grpc or protobuf's bullshit cmake garbage ever again
    • generate unity builds on a per directory basis

How am I getting this loving shitshow of a library out to people? They put a FetchContent call at the top of their build file and watch the fireworks. You'll only ever use like 5, maybe 6, commands unless you're doing some wacky poo poo like generating an ar script as a hack or whatever.


I loving hate cmake

or your could just use meson

Sapozhnik
Jan 2, 2005

Nap Ghost
the united kingdom is a third world labor market, and that was before their recent self-inflicted gunshot wound

thanking my lucky stars every day that i successfully escaped

cinci zoo sniper
Mar 15, 2013




Private Speech posted:

im not, nor are the jobs ive posted

i guess if you go fintech or something you can get more, also racism could play a role a bit maybe seeing as im slav even if my degree and work history is in the uk

anyway im not complaining too much, its enough to live on comfortably when paying half the rent id pay in london. I might even be worse off at ~46k in London once london rent and higher effective tax rates are taken into account

wait those were not post-tax figures? lmao

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slgt skal flge slgters gang



pls don't depress me y'all

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Krankenstyle posted:

pls don't depress me y'all

you write python, no? if you want the figgies but stay in united scandistan just go apply to some webdev jobs in like stockholm or something

yes it's webdev and yes it's stockholm but there are chill places where the programming is only mildly terrible to be found

TheFluff fucked around with this message at 18:06 on Feb 1, 2019

Aramoro
Jun 1, 2012




Private Speech posted:

Full Stack PHP Developer

The gently caress is this?

Also 20-28K is terrible in in Edinburgh, having just hired a bunch of fresh out of uni graduates who are all on ~27 I think.

Jellyhound is run by someone I know as well. I can see why it's not paying great.

Aramoro fucked around with this message at 18:38 on Feb 1, 2019

Soricidus
Oct 21, 2010
freedom-hating statist shill

Xarn posted:

wat?

According to google, my yearly eastern european salary is ~40k gbp

yeah, turns out committing national economic suicide hasnt worked out too well for the pound

fwiw Im on about 50k in brexitland and expect that to be 60k soon. I remember when that would have been six figgies in usd :smith:

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slgt skal flge slgters gang



TheFluff posted:

you write python, no? if you want the figgies but stay in united scandistan just go apply to some webdev jobs in like stockholm or something

yes it's webdev and yes it's stockholm but there are chill places where the programming is only mildly terrible to be found

thx but gently caress webdev

im doing okay, i just wish i was able to work like other people do and i get real maudlin when i think about the money i coulda made if i didnt have a brokebrain.

anyway, hell yea i just figured out how to split the paragraphs on these scanned docs (tesseract thinks the 2 paragraphs are 1, so the ocr is a mess)

the red line is the split (its off center, midpoint is 1375, the line is at 1325)

Carthag Tuek fucked around with this message at 18:24 on Feb 1, 2019

Private Speech
Mar 30, 2011

I HAVE EVEN MORE WORTHLESS BEANIE BABIES IN MY COLLECTION THAN I HAVE WORTHLESS POSTS IN THE BEANIE BABY THREAD YET I STILL HAVE THE TEMERITY TO CRITICIZE OTHERS' COLLECTIONS

IF YOU SEE ME TALKING ABOUT BEANIE BABIES, PLEASE TELL ME TO

EAT. SHIT.


Aramoro posted:

The gently caress is this?

Also 20-28K is terrible in in Edinburgh, having just hired a bunch of fresh out of uni graduates who are all on ~27 I think.

it's a junior position, so it fits relatively speaking

and the posting is code for "we want another dev who can do everything for our terrible web business"

anyway as I said I do get about 10k more myself and everything

gonadic io
Feb 16, 2011

>>=
god drat is gcr's poo poo documented poorly, especially their container-optimised os stuff

gcr-container-docker lets you tell it to take the creds from an env var. which env var? :iiam:

okay on its github pays it tells you that it's GOOGLE_APPLICATION_CREDENTIALS but seriously why doesn't the --help tell you????

FlapYoJacks
Feb 12, 2009
Jesus, I dont even have a degree and my base salary is $150,000 which is 114,000 pounds.
whats the expected salary of a programmer in England after a decade?

gonadic io
Feb 16, 2011

>>=

ratbert90 posted:

Jesus, I dont even have a degree and my base salary is $150,000 which is 114,000 pounds.
whats the expected salary of a programmer in England after a decade?

3 bob and a shilling

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slgt skal flge slgters gang



ratbert90 posted:

Jesus, I dont even have a degree and my base salary is $150,000 which is 114,000 pounds.
whats the expected salary of a programmer in England after a decade?

remember to calc in healthcare, etc, at least for a while

gonadic io
Feb 16, 2011

>>=
go checkout the stack overflow surveys, they're probably one of the better sources for all this stuff

Private Speech
Mar 30, 2011

I HAVE EVEN MORE WORTHLESS BEANIE BABIES IN MY COLLECTION THAN I HAVE WORTHLESS POSTS IN THE BEANIE BABY THREAD YET I STILL HAVE THE TEMERITY TO CRITICIZE OTHERS' COLLECTIONS

IF YOU SEE ME TALKING ABOUT BEANIE BABIES, PLEASE TELL ME TO

EAT. SHIT.


gonadic io posted:

go checkout the stack overflow surveys, they're probably one of the better sources for all this stuff

the UK numbers specifically are going to be skewed by london, which has close to one sixth of the population and probably a lot higher percentage of devs, but is also really expensive

but it's pretty good for general numbers yeah

gonadic io
Feb 16, 2011

>>=

Private Speech posted:

the UK one specifically is going to be skewed by London, which has close to one sixth of the population and probably a lot higher percentage of devs, but is also really expensive

but it's pretty good for general numbers yeah

good point, but that only reinforces what i was saying: you gotta be in london if you want the

Soricidus
Oct 21, 2010
freedom-hating statist shill

ratbert90 posted:

Jesus, I dont even have a degree and my base salary is $150,000 which is 114,000 pounds.
whats the expected salary of a programmer in England after a decade?

it cannot be repeated often enough that britain is a broken shithole that produces nothing of value and whose economy is largely kept afloat by the banking sector, which is about to be utterly destroyed by brexit

the most plausible reason for us to even have programmers in a decade is because well be a cheaper english-speaking offshoring destination than india lol

Falcorum
Oct 21, 2010

gonadic io posted:

good point, but that only reinforces what i was saying: you gotta be in london if you want the

on the other hand, you'd also be living in london, which besides being stupid expensive, is also london.

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

gonadic io posted:

e: scala haskell f# rust is the only good lang

rust seems cool but i haven't touched in a long time. whats the preferred mechanism for implementing a non-blocking socket-based server these days?

gonadic io
Feb 16, 2011

>>=

CRIP EATIN BREAD posted:

rust seems cool but i haven't touched in a long time. whats the preferred mechanism for implementing a non-blocking socket-based server these days?

it's still tokio, although the api is improving since support for futures is in the lang, and async/await syntax is in nightly. idk i've not done much with it

if you do have a play post a trip report

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
it's tokio but the ecosystem is in total flux right now and even figuring out which version of tokio you want is kind of a pain.

gonadic io
Feb 16, 2011

>>=
idk the only async i've done is using nb, which is a more simple event loop designed for embedded use where you gotta wait for registers to change instead of having a nice os level watcher/waking mechanism

Arcteryx Anarchist
Sep 15, 2007

Fun Shoe

Powerful Two-Hander posted:

in other mvc news our "new" dev has now spent close to two weeks rewriting a page that should take at most a couple of days and the checked in code is still riddled in commented out lines and a completely separate set of duplicative controller routes "used for debugging"

like seriously you just need to pass 4 params to a route, apply one filter to a list and return it. that's it. instead we have nonsensical nested if statements that perform the same operations and half of the params passed via a form submit and the others by manual js.

this will be the third person offshore I feel like I've ended up "training" to not write total garbage. if he hasn't tidied it up today I'm just gonna refactor it myself.

this was always my experience with offshore people and I just think the whole thing is a huge scam that the actual persons are only mildly innocent in

brap
Aug 23, 2004

Grimey Drawer
it is just that an offshore dev team should siphon as much money as possible for as little work as possible.

gonadic io
Feb 16, 2011

>>=

brap posted:

it is just that an offshore dev team should siphon as much money as possible for as little work as possible.

as opposed to onshore dev teams, who

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

this is a little too specific for me to comment on but,
have you ever seen a good build tool?

in my experience, properly used autoconf/automake has everything else beat (pity about windows support). emphasis on "properly used" because tons of projects do poo poo like hardcoding CFLAGS in their configures, that the autoconf manual explicitly tells you not to. I used cmake once or twice, when I was forced to (eg. google loves it. I mean it beats their old ndk build tool but...) and I had a really bad impression, especially using non-conventional toolchains and/or cross-compiling

really I don't see any c/c++ build environment succeeding unless they let you do the autoconf/automake thing of enforcing a common set of compiler flags for all projects you build as part of a matching set. c/c++ compilers are like non-standard-mutually-incompatible-abi generation machines, and forcing your static libraries to compile with COMDATs, LTCG, etc. or your dynamic libraries to all link to the same runtime library etc. is a necessity

I mentioned that I used to work on a cross-platform voip thing, that shared a common c/c++ core between three platforms. the core, in turn, depended on and statically linked to several third party libraries (sip stack, audio codec, crypto libraries, etc.). on android and ios, the third party dependencies were built, slowly and thoroughly, by a bash script that built each dependence six times (three architectures x two configurations), making full use of autoconf's unique features like --prefix, $CFLAGS, etc. which ensured uniform results, among which the correct ARM ABI, debugging symbols in a consistent format and true whole program optimization. the apps themselves were built in the official ides instead, and referred to the third party libraries as external dependencies that incidentally happened to be under a subdirectory of the project

of course it all went to poo poo in the windows port, and not for lack of trying on my part (you have no idea how many combinations of cygwin, mingw and random wrapper scripts I tried. I even tried and failed to build a cygwin-win32 clang cross compiler), so I just bit the bullet and decided to use the dodgy visual studio project files that many projects, usually out of pity, bundle. I could kind of force all projects to build under a consistent set of toolchain/target/options, with only minimal changes to the project files (mostly to include a couple of per-solution property files that overrode the tragic defaults), a solution that I only resorted to after days of futilely reading msbuild documentation and unanswered stackoverflow questions. but I know how fragile compiling c/c++ code can be, and how consistent build options are a moral duty, and I endured it

(hardest one to integrate was openssl, that must be built with a homegroan perl/make based build system. I wrapped the homegroan with a powershell script - specifically powershell and not batch so that I could serialize builds using a mutex named after the path of the source directory, because openssl doesn't support parallel builds until 1.1 - and the script with a visual studio project. worked like a charm. I pity whoever has to maintain that now)

at new job, we get third party dependencies from NuGet repositories, both public and internal, and it sucks. there are no two libraries built with the same options. you can't upgrade or downgrade packages because only a narrow range of versions is built with the same version of visual studio or the same runtime library as your project. half of the libraries don't come bundled with debugging symbols at all. total clown show. basically only linux distributions and bsd ports trees get it right (at the cost of increased maintenance and/or compilation as part of installation), everyone else likes to pretend the problem of binary distribution is easy and maybe even attacks you for "making" it complicated

basically, slurps, please swear to me that c++ modules will get it right

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Krankenstyle posted:

thx but gently caress webdev

im doing okay, i just wish i was able to work like other people do and i get real maudlin when i think about the money i coulda made if i didnt have a brokebrain.

anyway, hell yea i just figured out how to split the paragraphs on these scanned docs (tesseract thinks the 2 paragraphs are 1, so the ocr is a mess)

the red line is the split (its off center, midpoint is 1375, the line is at 1325)


i was lucky to find a job with workflows that kinda support my particular brokebrain, as well as a supportive and understanding boss, so it worked out for me :unsmith:

re: prcessing scans, idk what you're using, but when i was trying to make book-like things out of photos of loose sheets of paper i found this fork of scantailor to be extremely cool and good - it supports multiple columns, de-warping of pages, converting to monochrome, etc. doesn't do ocr, but it sure makes pictures of pages look one hell of a lot better.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slgt skal flge slgters gang



TheFluff posted:

i was lucky to find a job with workflows that kinda support my particular brokebrain, as well as a supportive and understanding boss, so it worked out for me :unsmith:

re: prcessing scans, idk what you're using, but when i was trying to make book-like things out of photos of loose sheets of paper i found this fork of scantailor to be extremely cool and good - it supports multiple columns, de-warping of pages, converting to monochrome, etc. doesn't do ocr, but it sure makes pictures of pages look one hell of a lot better.

thx :o

the mormons did the whole scan + dewarp thing. the pages are excellent, except the short distance between the columns is messing with tesseract.

so i wrote up a solution for finding the inner edges of the big opencv-contours...

The_Franz
Aug 8, 2003

Sapozhnik posted:

or your could just use meson

meson seems nice, but every time i look at it there's still some niche thing i do in cmake that it can't replicate

cmake is easily the worst build system, except for all the other build systems

Illusive Fuck Man
Jul 5, 2004
RIP John McCain feel better xoxo 💋 🙏
Taco Defender
I like bazel a lot

animist
Aug 28, 2018
i had to maintain an ant/ivy project for years and i still shudder at the thought of executable xml

it may have just been that it was a poo poo project though. fifteen years of code written by college students in their spare time, held together with spit. eugh

Xarn
Jun 26, 2015

hackbunny posted:

basically, slurps, please swear to me that c++ modules will get it right

Ahahahahahahahahahahahahahahahaha

Hahahahahahahahahahahahahahaha



Currently, modules are developed to satisfy core issues, and build systems are supposed to "just figure it".

What do you mean that modules should have easy mapping from name to their defining file? I see no reason why module butts can't be conditionally defined in file pretty-butterfly.cpp or ugly-moth.cpp.


(Since you are on Slack, you can depress yourself by reading the SG15 channel :v:)

Slurps Mad Rips
Jan 25, 2009

Bwaltow!

Xarn posted:

Ahahahahahahahahahahahahahahahaha

Hahahahahahahahahahahahahahaha



Currently, modules are developed to satisfy core issues, and build systems are supposed to "just figure it".

What do you mean that modules should have easy mapping from name to their defining file? I see no reason why module butts can't be conditionally defined in file pretty-butterfly.cpp or ugly-moth.cpp.


(Since you are on Slack, you can depress yourself by reading the SG15 channel :v:)

Also make sure to read the notes from our recent telecon because were finally loving doing stuff. we have another telecon next week.

luckily, a few people are listening to me now that theyve seen it with their own eyes despite me raising hell over this since October of 2017. apparently some people thought I was being alarmist and then recently realized I wasnt :v:

the one good thing that came out of that telecon was getting the author of the Modules TS to agree that compiler devs arent putting enough effort into their frontends. fingers crossed we can get something into C++20 but Ill know more in a few weeks after Kona happens.

Falcorum
Oct 21, 2010
everyone's complaining about cmake and here i am using jam

gonadic io
Feb 16, 2011

>>=

Falcorum posted:

everyone's complaining about cmake and here i am using sbt

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

animist posted:

i had to maintain an ant/ivy project for years and i still shudder at the thought of executable xml

it may have just been that it was a poo poo project though. fifteen years of code written by college students in their spare time, held together with spit. eugh

our legacy app server product is built with in-house extensions to ant. i don't think it's incompetent but it's uh... not fun to work with.

The_Franz
Aug 8, 2003

cmake support has found it's way into a lot of tooling as well

clion supports it directly, vscode has a mature, well supported cmake extension and i think even msvc knows what to do with it now. direct support for other cross-platform build systems is generally mediocre to nonexistent

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
cmake is actually good. I never had any problems converting a large projects build system from visual studio into cmake. Made cross platform builds so easy, especially conditional stuff and generating platform specific headers.

love it, id suck its dick if I could

Adbot
ADBOT LOVES YOU

FlapYoJacks
Feb 12, 2009
I used to use CMake, but then I switched to Meson.
I don't think I will ever go back to CMake except as a thin wrapper to call meson so I can use CLion.

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