Coding: Fleeting Thoughts

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

User avatar
Xenomortis
Not actually a special flower.
Posts: 1446
Joined: Thu Oct 11, 2012 8:47 am UTC

Re: Coding: Fleeting Thoughts

Postby Xenomortis » Sat Feb 07, 2015 11:37 am UTC

You, sir, name? wrote:
Sizik wrote:I kind of want to make a C (or C++) compiler that wipes your hard drive upon encountering undefined behavior.


I think Valve may be way ahead of you on that one ;-)

That's for real?
Image

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Sat Feb 07, 2015 11:47 am UTC

Xenomortis wrote:
You, sir, name? wrote:
Sizik wrote:I kind of want to make a C (or C++) compiler that wipes your hard drive upon encountering undefined behavior.


I think Valve may be way ahead of you on that one ;-)

That's for real?


Sadly, yes.

--- Unrelatedly ---

I was at a Java conference last week. Functional programming is HOT. Like, every other talk I went to was like Monads this, referential transparency that. Looks like all that mucking around with Haskell was time well invested.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Quercus
Posts: 1805
Joined: Thu Sep 19, 2013 12:22 pm UTC
Location: London, UK
Contact:

Re: Coding: Fleeting Thoughts

Postby Quercus » Sat Feb 07, 2015 11:47 am UTC

Xenomortis wrote:
You, sir, name? wrote:
Sizik wrote:I kind of want to make a C (or C++) compiler that wipes your hard drive upon encountering undefined behavior.


I think Valve may be way ahead of you on that one ;-)

That's for real?


It appears so. Here's the line from the changelog for the update that fixed it:
Fixed a rare bug where Steam could delete user files when failing to start.

What it doesn't mention, probably due to the embarrassment factor, is that "user files" doesn't mean some user files, it means all user files.

speising
Posts: 2350
Joined: Mon Sep 03, 2012 4:54 pm UTC
Location: wien

Re: Coding: Fleeting Thoughts

Postby speising » Sat Feb 07, 2015 5:56 pm UTC

having your backup external drive permanently mounted is a Bad Idea anyway.

User avatar
Quercus
Posts: 1805
Joined: Thu Sep 19, 2013 12:22 pm UTC
Location: London, UK
Contact:

Re: Coding: Fleeting Thoughts

Postby Quercus » Sat Feb 07, 2015 6:03 pm UTC

speising wrote:having your backup external drive permanently mounted is a Bad Idea anyway.


Assuming no additional backups having your backup external drives permanently on-site is a Bad Idea. I have two, one lives in my locker at work and the other at home. I swap them every two weeks or so.

I used to have the one at home permanently mounted, but I stopped that after ransomware got big.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11120
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding: Fleeting Thoughts

Postby Yakk » Sat Feb 07, 2015 7:15 pm UTC

That was a shell script, not C++
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Sat Feb 07, 2015 7:47 pm UTC

Yakk wrote:That was a shell script, not C++


I only brought it up because the script failed with the extreme prejudice Sizik prescribed for undefined behavior.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
PM 2Ring
Posts: 3707
Joined: Mon Jan 26, 2009 3:19 pm UTC
Location: Sydney, Australia

Re: Coding: Fleeting Thoughts

Postby PM 2Ring » Sun Feb 08, 2015 3:10 am UTC

You, sir, name? wrote:
Sizik wrote:I kind of want to make a C (or C++) compiler that wipes your hard drive upon encountering undefined behavior.


I think Valve may be way ahead of you on that one ;-)


Code: Select all

# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD

STEAMROOT="$(cd "${0%/*}" && echo $PWD)"

#...

rm -rf "$STEAMROOT/"*


Image

Depending on the shell, $0 isn't guaranteed to contain the path of the script. It does in bash, but it doesn't in sh.

Surely the script could get the user to verify that they want "$STEAMROOT/" deleted before issuing that recursive rm, or at least it could use one of the interactive options to rm.

Also, echo on an unquoted random string can do unexpected things.

Eg,

Code: Select all

d="-e hi\nthere"
echo $d
#output
hi
there


It's unlikely to cause a problem here, but it's still a bad practice, as is not quoting parameter expansions unless you explicitly want globbing and word splitting.

User avatar
Xeio
Friends, Faidites, Countrymen
Posts: 5101
Joined: Wed Jul 25, 2007 11:12 am UTC
Location: C:\Users\Xeio\
Contact:

Re: Coding: Fleeting Thoughts

Postby Xeio » Mon Feb 09, 2015 7:34 pm UTC

Ok... a method that gets a list of data. Sounds sane enough...

At the end of that method, if there is nothing in the list, it adds a blank item (key "0", value "")... ok...

The only place this is used, the list is foreach looped over... except if it contains an item with key 0.

Why not just return an empty list? Who knoooooows.

User avatar
Xenomortis
Not actually a special flower.
Posts: 1446
Joined: Thu Oct 11, 2012 8:47 am UTC

Re: Coding: Fleeting Thoughts

Postby Xenomortis » Mon Feb 09, 2015 8:00 pm UTC

Write a unit test and give it sample data that results in the list containing the key 0.
Spoiler:
Then watch your coworker change it to List.add( INT_MAX, "" ); :roll:
Image

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Mon Feb 09, 2015 9:04 pm UTC

A while back, I found this nugget in being run in the inner loop of an O(n2) algorithm.

Code: Select all

int compareDates(String iso8601DateA, String iso8601DateB) {
    DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date a = sdf.parse(iso8601DateA);
    Date b = sdf.parse(iso8601DateB);
    return a.compareTo(b);
}


Spoiler:
For ISO8601, lexicographical ordering is equivalent to chronological ordering, hence you can substitute that for iso8601DateA.compareTo(iso8601DateB) and reap a 4 orders of magnitude performance improvement.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11120
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding: Fleeting Thoughts

Postby Yakk » Mon Feb 09, 2015 9:18 pm UTC

Not true. After y10k your result gives a different one than theirs.

Well, depending on the parser and how the app chooses to extend the iso format to dates after 9999.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Mon Feb 09, 2015 10:50 pm UTC

2k38 seems like a more immediate concern than the y10k bug.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Xeio
Friends, Faidites, Countrymen
Posts: 5101
Joined: Wed Jul 25, 2007 11:12 am UTC
Location: C:\Users\Xeio\
Contact:

Re: Coding: Fleeting Thoughts

Postby Xeio » Mon Feb 09, 2015 11:00 pm UTC

Xenomortis wrote:Write a unit test and give it sample data that results in the list containing the key 0.
Spoiler:
Then watch your coworker change it to List.add( INT_MAX, "" ); :roll:
Oh, don't get me started on unit tests.

I mean, we certainly have unit tests, and that lines of tested code certainly sits at a middling number, but I honestly don't know what is really tested most of the time. That some invalid input returns a default that doesn't mean anything? Woo.

On unit tests:
Spoiler:
I also haven't even written any unit tests. My only interaction with them is adding additional methods to not fire in the mocking so that the tests won't arbitrarily fail because the method internals do something slightly different unrelated to the output.

Side effects are a bitch when the whole application is designed around one object doing all the heavy lifting.

Example:
So a "GetUser" method. Very heavy on the external data calls, to both the database, and to ActiveDirectory, plus some WCF service calls which do almost all the work on the back end. I added a minor enhancement to allow code to pass in an an AD user GUID rather than the domain/userid string.

It broke the unit test, which literally mocked all the method calls with a "do nothing", and returned a "default" user, and the test ensured that the default user was returned... I just added my new service call to the "do nothing" list.

So... yea.
Last edited by Xeio on Mon Feb 09, 2015 11:06 pm UTC, edited 2 times in total.

User avatar
Carlington
Posts: 1588
Joined: Sun Mar 22, 2009 8:46 am UTC
Location: Sydney, Australia.

Re: Coding: Fleeting Thoughts

Postby Carlington » Mon Feb 09, 2015 11:03 pm UTC

Given that ISO8601 specifies that for dates after 9999-12-31 you must prefix the year with a + (i.e. the next day after 9999-12-31 would be +10000-01-01), how would you Y10K-proof something like that? Lexicographical ordering is out, because you'd get results like (assuming we truncate the + before parsing) +19999-01-01 < 2000-01-01. I guess the way I'd do it would be to parse each date into a list (strip the +, then convert each section to it and separate at the dashes). So (+Y*)YYY-MM-DD would be {(Y*)YYYY, MM, DD} and then I'd probably have to do some sort of thing comparing a[0] to b[0] (and if necessary a[1]/b[1] and so on).

That seems horribly inefficient. It's probably good that this is not my job.
Last edited by Carlington on Tue Feb 10, 2015 12:16 am UTC, edited 1 time in total.
Kewangji: Posdy zwei tosdy osdy oady. Bork bork bork, hoppity syphilis bork.

Eebster the Great: What specifically is moving faster than light in these examples?
doogly: Hands waving furiously.

Please use he/him/his pronouns when referring to me.

speising
Posts: 2350
Joined: Mon Sep 03, 2012 4:54 pm UTC
Location: wien

Re: Coding: Fleeting Thoughts

Postby speising » Mon Feb 09, 2015 11:33 pm UTC

Carlington wrote:Given that ISO8601 specifies that for dates after 9999-12-12 you must prefix the year with a + (i.e. the next day after 9999-12-12 would be +10000-01-01)

seems like a strange convention to me. i'd have thought the day after 9999-12-12 will be 9999-12-13. or will the slowed rotation of earth make the years shorter by that much?

User avatar
Carlington
Posts: 1588
Joined: Sun Mar 22, 2009 8:46 am UTC
Location: Sydney, Australia.

Re: Coding: Fleeting Thoughts

Postby Carlington » Tue Feb 10, 2015 12:15 am UTC

Sometimes I am not good at doing the things. I am going to fix that particular thing that I did not do well at doing now.
Kewangji: Posdy zwei tosdy osdy oady. Bork bork bork, hoppity syphilis bork.

Eebster the Great: What specifically is moving faster than light in these examples?
doogly: Hands waving furiously.

Please use he/him/his pronouns when referring to me.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11120
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding: Fleeting Thoughts

Postby Yakk » Tue Feb 10, 2015 4:19 am UTC

It must have an agreed upon number of digits, not 5 digits, in the year.

That just pushes the problem exponentially far away.

We need a long term solution.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

User avatar
Thesh
Made to Fuck Dinosaurs
Posts: 6568
Joined: Tue Jan 12, 2010 1:55 am UTC
Location: Colorado

Re: Coding: Fleeting Thoughts

Postby Thesh » Tue Feb 10, 2015 7:24 am UTC

What we need is a way to format dates so that it is not ambiguous. For example: "(\d+)([/- ])?(\d{2})\2(\d{2})"; problem solved.
Summum ius, summa iniuria.

User avatar
phlip
Restorer of Worlds
Posts: 7569
Joined: Sat Sep 23, 2006 3:56 am UTC
Location: Australia
Contact:

Re: Coding: Fleeting Thoughts

Postby phlip » Tue Feb 10, 2015 11:56 am UTC

Thesh wrote:What we need is a way to format dates so that it is not ambiguous. For example: "(\d+)([/- ])?(\d{2})\2(\d{2})"; problem solved.

That doesn't sort lexically, though, which is what started us down this path. RFC 2550 does.

Code: Select all

enum ಠ_ಠ {°□°╰=1, °Д°╰, ಠ益ಠ╰};
void ┻━┻︵​╰(ಠ_ಠ ⚠) {exit((int)⚠);}
[he/him/his]

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Tue Feb 10, 2015 7:31 pm UTC

I bet we're using the stardate format by y10k anyway.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Thesh
Made to Fuck Dinosaurs
Posts: 6568
Joined: Tue Jan 12, 2010 1:55 am UTC
Location: Colorado

Re: Coding: Fleeting Thoughts

Postby Thesh » Tue Feb 10, 2015 8:35 pm UTC

phlip wrote:
Thesh wrote:What we need is a way to format dates so that it is not ambiguous. For example: "(\d+)([/- ])?(\d{2})\2(\d{2})"; problem solved.

That doesn't sort lexically, though, which is what started us down this path. RFC 2550 does.

Eh, neither do a lot of things, which is why most reasonable filesystem sorting algorithm sorts "10 - bar" after "9 - foo."
Summum ius, summa iniuria.

EvanED
Posts: 4331
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI
Contact:

Re: Coding: Fleeting Thoughts

Postby EvanED » Tue Feb 10, 2015 9:22 pm UTC

Thesh wrote:which is why mostevery reasonable filesystem sorting algorithm sorts "10 - bar" after "9 - foo."
:-)

(IMHO such a sort is a necessary criteria of being called reasonable.)

EvanED
Posts: 4331
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI
Contact:

Re: Coding: Fleeting Thoughts

Postby EvanED » Tue Feb 10, 2015 10:02 pm UTC

Has anyone read an article or something that had an even slightly trustworthy estimate of what percentage of application crashes are due to or indicative of a bug that is actually part of an exploitable security vulnerability?

("Exploitable security vulnerability" is deliberately a bit vague, but think something like a control-flow hijack and/or reading sensitive information (a la Heartbleed). It's probably also reasonable to assume (i) C/C++ and (ii) reasonably mature programs.)

User avatar
Xenomortis
Not actually a special flower.
Posts: 1446
Joined: Thu Oct 11, 2012 8:47 am UTC

Re: Coding: Fleeting Thoughts

Postby Xenomortis » Wed Feb 11, 2015 9:06 am UTC

Loop to add some default objects to a Vector.
Actually one of two vectors, depending on the derived type. Well, almost.

But that "almost" means some things with the wrong derived type are in the wrong vector! Maybe, I don't know - it's like 8 am.
Better create another array of things to "remove" whilst adding them to the correct vector.

Then remove duplicates.
But only in one of the vectors.

I hope I'm understanding this wrong... It is early in the morning, so there is hope.
Image

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Thu Feb 12, 2015 7:11 pm UTC

I'm considering moving to a different country (with a different currency and cost-of-living), and have a few offers lined up.

How does one go about determining what's a good salary in such a relocation?
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Xeio
Friends, Faidites, Countrymen
Posts: 5101
Joined: Wed Jul 25, 2007 11:12 am UTC
Location: C:\Users\Xeio\
Contact:

Re: Coding: Fleeting Thoughts

Postby Xeio » Thu Feb 12, 2015 7:23 pm UTC

/r/personalfinance? :P

User avatar
Izawwlgood
WINNING
Posts: 18686
Joined: Mon Nov 19, 2007 3:55 pm UTC
Location: There may be lovelier lovelies...

Re: Coding: Fleeting Thoughts

Postby Izawwlgood » Thu Feb 12, 2015 7:52 pm UTC

Should have posted here instead of FFT - if you know anything about writing a reddit automoderator bot, can you message me?
... with gigantic melancholies and gigantic mirth, to tread the jeweled thrones of the Earth under his sandalled feet.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11120
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding: Fleeting Thoughts

Postby Yakk » Thu Feb 12, 2015 8:00 pm UTC

You, sir, name? wrote:I'm considering moving to a different country (with a different currency and cost-of-living), and have a few offers lined up.

How does one go about determining what's a good salary in such a relocation?

With code? Seems tricky.

We could scrape the economist big mac index for the country. Then see if we can get ahold of cost of living estimates for the particular city, including housing costs?
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

User avatar
Carlington
Posts: 1588
Joined: Sun Mar 22, 2009 8:46 am UTC
Location: Sydney, Australia.

Re: Coding: Fleeting Thoughts

Postby Carlington » Thu Feb 12, 2015 8:09 pm UTC

Find lots of listings you would consider applying for and compare the offered salaries. Look at entry level things and other things too, to get a point of reference for baseline salaries. If you know anyone from the country in particular you could also ask them - do you have professional networks that reach that far and you could draw on?
Kewangji: Posdy zwei tosdy osdy oady. Bork bork bork, hoppity syphilis bork.

Eebster the Great: What specifically is moving faster than light in these examples?
doogly: Hands waving furiously.

Please use he/him/his pronouns when referring to me.

Wonderbolt
Posts: 212
Joined: Thu Mar 13, 2014 12:11 pm UTC

Re: Coding: Fleeting Thoughts

Postby Wonderbolt » Fri Feb 13, 2015 12:20 am UTC

Don't forget about costs of living! Salary is pretty meaningless if you don't know what it gets you in said country. Knowing people living there is tremendously helpful in figuring that out.

User avatar
ahammel
My Little Cabbage
Posts: 2135
Joined: Mon Jan 30, 2012 12:46 am UTC
Location: Vancouver BC
Contact:

Re: Coding: Fleeting Thoughts

Postby ahammel » Fri Feb 13, 2015 1:49 am UTC

You, sir, name? wrote:I'm considering moving to a different country (with a different currency and cost-of-living), and have a few offers lined up.

How does one go about determining what's a good salary in such a relocation?

It wouldn't be Canada at all, would it?
He/Him/His/Alex
God damn these electric sex pants!

User avatar
Jplus
Posts: 1721
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: Netherlands

Re: Coding: Fleeting Thoughts

Postby Jplus » Fri Feb 13, 2015 8:35 am UTC

Oh and not the Netherlands either, right?
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)

coding and xkcd combined

(Julian/Julian's)

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Fri Feb 13, 2015 10:57 pm UTC

No, it's London.

I'm thinking I'll try a few heuristics and see if they converge reasonably. There are some websites that seem to offer cost-of-living scaling factors. That's one data point I guess. I could also examine some salary statistics, maybe normalize the local distribution function and apply the result to UK salary statistics. That of course assumes wages are distributed roughly evenly between countries, which may or may not be true.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Quercus
Posts: 1805
Joined: Thu Sep 19, 2013 12:22 pm UTC
Location: London, UK
Contact:

Re: Coding: Fleeting Thoughts

Postby Quercus » Fri Feb 13, 2015 11:10 pm UTC

I can't tell you about CS jobs, but if you have questions about cost of living or other general questions feel free to either post here or PM me - I'm a graduate student who's been studying in London for four years, and living in central London for the last two of those years.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11120
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding: Fleeting Thoughts

Postby Yakk » Sat Feb 14, 2015 2:03 am UTC

The UK is expensive, London doubly so.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

User avatar
felltir
has a sniper scope and a trigger finger.
Posts: 2493
Joined: Tue Mar 04, 2008 5:01 pm UTC
Location: Back in't home town. Never at home.
Contact:

Re: Coding: Fleeting Thoughts

Postby felltir » Sat Feb 14, 2015 7:45 pm UTC

You, sir, name? wrote:No, it's London.

I'm thinking I'll try a few heuristics and see if they converge reasonably. There are some websites that seem to offer cost-of-living scaling factors. That's one data point I guess. I could also examine some salary statistics, maybe normalize the local distribution function and apply the result to UK salary statistics. That of course assumes wages are distributed roughly evenly between countries, which may or may not be true.


As a programmer who lives in central London, I can give you a pretty good idea of what you should expect?

I'd expect a junior programmer to be on 25-30, mid level 35 - 45, senior 50+. All in £1000s.
Spoiler:
RoadieRich wrote:He's a super flexible furry martial artist from London. She is a Rabbit breeding mad scientist from Michigan. They fight crime!
The Great Hippo wrote:I THINK THE SOLAR SYSTEM MIGHT BE AN ATOM OF OXYGEN.


Blog

he/him/his

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Sat Feb 14, 2015 9:39 pm UTC

felltir wrote:
You, sir, name? wrote:No, it's London.

I'm thinking I'll try a few heuristics and see if they converge reasonably. There are some websites that seem to offer cost-of-living scaling factors. That's one data point I guess. I could also examine some salary statistics, maybe normalize the local distribution function and apply the result to UK salary statistics. That of course assumes wages are distributed roughly evenly between countries, which may or may not be true.


As a programmer who lives in central London, I can give you a pretty good idea of what you should expect?

I'd expect a junior programmer to be on 25-30, mid level 35 - 45, senior 50+. All in £1000s.


Thanks, that's extremely useful, and validates some of my results using the model you quoted.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
firechicago
Posts: 621
Joined: Mon Jan 11, 2010 12:27 pm UTC
Location: One time, I put a snowglobe in the microwave and pushed "Hot Dog"

Re: Coding: Fleeting Thoughts

Postby firechicago » Sat Feb 14, 2015 9:44 pm UTC

felltir wrote:As a programmer who lives in central London, I can give you a pretty good idea of what you should expect?

I'd expect a junior programmer to be on 25-30, mid level 35 - 45, senior 50+. All in £1000s.

Wow, I'm a little surprised that salaries for programmers are so much lower in the UK than the US. Programmer salaries in even a second-tier US city (Boston, Chicago, Austin, etc.) are substantially higher, and salaries in New York or San Francisco/Silicon Valley would easily be double that. And it's not like living in London is so cheap comparatively.

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: Coding: Fleeting Thoughts

Postby You, sir, name? » Sat Feb 14, 2015 10:04 pm UTC

Europe, in general, has a pretty narrow income spread. Don't know why. Maybe it's the progressive taxation or something. In Sweden at least, people salaries beyond approximately $70k pa are taxed so heavily most people opt to have anything beyond that paid into the pension system, to avoid losing absurd amounts of it to taxation.

It's also worth noting that it's notoriously difficult to "translate" currencies with exchange rates. The USD/SEK rate has dropped by nearly 40% from the pre-crisis numbers. However, in terms of purchasing power, it's hard to tell any significant difference.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 8 guests