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
Zombywuf
Mar 29, 2008

FamDav posted:

i'd like to think shaggs meant gathering that information through an actual run of the program, but maybe not

Oh, in that case it's an even more ridiculous statement than I thought. BRB, just running production loads in my IDE.

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006

FamDav posted:

i'd like to think shaggs meant gathering that information through an actual run of the program, but maybe not

yes.

Shaggar
Apr 26, 2006

Zombywuf posted:

Oh, in that case it's an even more ridiculous statement than I thought. BRB, just running production loads in my IDE.

lol if ur not profiling production loads in acceptance.

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

sent this to the company-wide 'neat poo poo' mailing list of the startup I work at

got an 'interesting article' comment from the HR guy at lunch


Shaggar posted:

stuff about testing

shaggar was right

Zombywuf
Mar 29, 2008

Shaggar posted:

lol if ur not profiling production loads in acceptance.

Nah, I have the luxury of running testing directly on prod data sets. Data processing apps can be so much less stressful to develop. I run them on a cluster of machines though, not in my IDE.

When I gently caress up my analysis though, test loads chew through hundreds of dollars of EC2 time.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Shaggar posted:

lol if ur not profiling production loads in acceptance.

lol if your poo poo is so unpopular or limited use you can even do that

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

PleasingFungus posted:

sent this to the company-wide 'neat poo poo' mailing list of the startup I work at

got an 'interesting article' comment from the HR guy at lunch

That article had a really good point:

quote:

Meetings are evil and we have them as little as possible.

What your culture might actually be saying is… We have a collective post-traumatic stress reaction to previous workplaces that had hostile, unnecessary, unproductive and authoritarian meetings...

There are days I feel PTSDd from meetings where the objective seems to be to say as many words as possible.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

quote:

We are all makers who are focused on shipping.

What your culture might actually be saying is… Features are the most important function of our business. We lack processes for surfacing and addressing technical debt. We have systemic infrastructure problems but they are not relevant because we are more focused on short-term adoption than long-term reliability. We prioritize fast visible progress, even if it is trivial, over longer and more meaningful projects. Productivity is measured more by lines of code than the value of that code. Pretty things are more important than useful things.
amazon.txt

quote:

We have a team of people who are responsible for organizing frequent employee social events, maintaining the office “feel”, and making sure work is a great place to hang out. We get served organic, vegan, farm-raised, nutritious lunches every day at work.

What your culture might actually be saying is… Our employees must be treated as spoiled, coddled children that cannot perform their own administrative functions. We have a team of primarily women supporting the eating, drinking, management and social functions of a primarily male workforce whose output is considered more valuable. We struggle to hire women in non-administrative positions and most gender diversity in our company is centralized in social and admin work. Because our office has more amenities than home life, our employees work much longer hours and we are able to extract more value from them for the same paycheck. The environment reinforces the cultural belief that work is a pleasant dream and can help us distract or bribe from deeper issues in the organization.
microsoft.txt

Shaggar
Apr 26, 2006

Cocoa Crispies posted:

lol if your poo poo is so unpopular or limited use you can even do that

yeah that's your excuse for not testing. sure.

FamDav
Mar 29, 2008
its like an echo chamber

an echo chamber of shitposting

ninjeff
Jan 19, 2004

Otto Skorzeny posted:

thank you, don quixote.

i think your arguments about analysis might have gone down better with some other measure than reliability. software in most cases is 100% reliable - it will do the wrong thing every time, in exactly the same way. i also think you already know this though :tipshat:

FamDav
Mar 29, 2008

Cocoa Crispies posted:

lol if your poo poo is so unpopular or limited use you can even do that

or you aren't in web development ork ork

Zombywuf
Mar 29, 2008

ninjeff posted:

i think your arguments about analysis might have gone down better with some other measure than reliability. software in most cases is 100% reliable - it will do the wrong thing every time, in exactly the same way. i also think you already know this though :tipshat:

Says someone who's clearly never used more than one thread.

Bream
Feb 3, 2013

Farmer's Barket

Zombywuf posted:

Says someone who's clearly never used more than one thread.

I wanted to ask about that. Are there any static analysis tools out there expressly for concurrency? That seems like it would be a difficult problem.

qntm
Jun 17, 2009

Cocoa Crispies posted:

lol if your poo poo is so unpopular or limited use you can even do that

lol if your department can afford machines as powerful as the customers use :geno:

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum
i want to do the kind of work where it is important enough to needs reliability calculations :allears:

or maybe i dont

ninjeff
Jan 19, 2004

Zombywuf posted:

Says someone who's clearly never used more than one thread.

ugh yeah that is actually a case where reliability is non-binary isn't it. my bad

my point still holds for many many kinds of concurrency though, and it's telling that much of the point of many concurrency models is eliminating reliability as a factor. reliability still counts when you can't use one of those models for w/e reason though, you're right

FamDav
Mar 29, 2008

Sweeper posted:

i want to do the kind of work where it is important enough to needs reliability calculations :allears:

or maybe i dont

if you aren't even personally auditing your work in some way then god help you mayne.

also i wrote a boggle solver in go last night. they really need to think about string indexing and runes vs. bytes. why is it that I can iterate over the runes in a string s using range s, but in order to index to a specific rune I have to use []rune(s) and index into that array?

edit: also they need to reconsider make/new/composite literal construction with maps, arrays/slices, and channels

FamDav fucked around with this message at 22:57 on Feb 21, 2013

MeruFM
Jul 27, 2010
Engineering reliability of real world parts seems very different than software reliability.

The closest analogy to components of varying failure profiles for software engineering are the fundamental algorithms, proven by mathematics. i.e. Quicksort has a speed profile where so and so percentage of data input is within acceptable performance. This percentage is based on empirical data gathered from use cases. Unless the input is coming from something derived from a hard science and not just ppl's input, doing high level analysis is like predicting whether people will like the new triple-quadrouple heartburn burger.

Servers and harddrives do have multiple backups and cost calculations for the same reason real engineering will calculate the cost of building a bridge that won't collapse for 50 years.

I've only done multi-threading in a past life, bioinformatics. Splitting data to run on multiple threads and sleeping until they are all done to rearrange in order so reliability was not an issue.

Is there a real world example where threading would result in non-binary reliability? Is that just not being threadsafe for a few percent more performance?

MeruFM fucked around with this message at 23:23 on Feb 21, 2013

Shaggar
Apr 26, 2006
yes people don't understand how to do safe concurrency and they make a mess of it. really the solution is to avoid it whenever possible.

double sulk
Jul 2, 2010

Apparently LinkedIn is switching over to Play

http://engineering.linkedin.com/play/play-framework-linkedin

Shaggar
Apr 26, 2006
im the super loving annoying animation on http://www.playframework.com/

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

MeruFM posted:

Is there a real world example where threading would result in non-binary reliability? Is that just not being threadsafe for a few percent more performance?
the therac-25's reliability wasn't "binary" considering that it worked in the overwhelming majority of uses and only killed like 6 people

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

FamDav posted:

if you aren't even personally auditing your work in some way then god help you mayne.

also i wrote a boggle solver in go last night. they really need to think about string indexing and runes vs. bytes. why is it that I can iterate over the runes in a string s using range s, but in order to index to a specific rune I have to use []rune(s) and index into that array?

edit: also they need to reconsider make/new/composite literal construction with maps, arrays/slices, and channels

you can audit code in a way that doesn't involve stat

FamDav
Mar 29, 2008

Sweeper posted:

you can audit code in a way that doesn't involve stat

yeah, but there are insights to be gained from statistical analysis even on personal projects.

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

FamDav posted:

yeah, but there are insights to be gained from statistical analysis even on personal projects.

go on

FamDav
Mar 29, 2008

so since i've got boggle on the brain let's use that. i use a trie and i'm using that to search for words that start from each position on the board. everything runs alright but when I profile the code i notice that i'm spending an inordinate amount of time in calls to containsPrefix(trie) because i'm searching the whole prefix at each entry i visit. instead, i can just pass around subtries in my search and only check that the next character is in that subtrie. i've now reduced something that resulted in quadratic complexity down to something linear.

probably not something you need to do if you just want to solve a single board, but if you want to search for optimal boggle boards then you want to be able to score them as quickly as possible

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

FamDav posted:

so since i've got boggle on the brain let's use that. i use a trie and i'm using that to search for words that start from each position on the board. everything runs alright but when I profile the code i notice that i'm spending an inordinate amount of time in calls to containsPrefix(trie) because i'm searching the whole prefix at each entry i visit. instead, i can just pass around subtries in my search and only check that the next character is in that subtrie. i've now reduced something that resulted in quadratic complexity down to something linear.

probably not something you need to do if you just want to solve a single board, but if you want to search for optimal boggle boards then you want to be able to score them as quickly as possible

i was expecting more, not impressed please see me after class

FamDav
Mar 29, 2008

Sweeper posted:

i was expecting more, not impressed please see me after class

lol

Sweeper posted:

i want to do the kind of work where it is important enough to needs reliability calculations :allears:

or maybe i dont

have you even graduated yet

Brain Candy
May 18, 2006

Shaggar posted:

yes people don't understand how to do safe concurrency and they make a mess of it. really the solution is to avoid it whenever possible.

yo, so this is totally true, and should be lasered onto the moon. But! if you are doing a non-trivial thing that needs threads, you need to do the math proof analysis thing to make sure you didn't gently caress something up. even if its informal. no amount of debugging/testing/logging can save you.

Max Facetime
Apr 18, 2009

Bream posted:

I wanted to ask about that. Are there any static analysis tools out there expressly for concurrency? That seems like it would be a difficult problem.

for java this particular static checker ensures mutual exclusion is properly implemented. seems quite limited but I think it could be used to split UI-thread-only parts away from free-for-all-threads parts in an API and ensure it's followed

clang looks to be implementing a much more expressive system for checking locking policies

Nomnom Cookie
Aug 30, 2009



threading is terrible

shared mutable state is Satan's piss in a glass

fixing someone else's "threading is easy guys, I got this" code is drinking Satan's piss from the glass

Bream
Feb 3, 2013

Farmer's Barket
How about the c++11 thread features?

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

FamDav posted:

lol


have you even graduated yet

no why would i go and do that

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

Nomnom Cookie posted:

threading is terrible

shared mutable state is Satan's piss in a glass

fixing someone else's "threading is easy guys, I got this" code is drinking Satan's piss from the glass

Man, shared mutable horrors are just a large subset of the problems with threading. It's a large subset that I've found Objective-C makes really really easy to get into...thanks NSMutableXXX.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Bream posted:

How about the c++11 thread features?

C++ is poo poo and threading is poo poo, what if we combine them

Progressive JPEG
Feb 19, 2003

Shaggar posted:

a theoretical model is always always wrong.

"I think this is how it should work" is not acceptable or valuable input.

always always?????????????

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

ultramiraculous posted:

Man, shared mutable horrors are just a large subset of the problems with threading. It's a large subset that I've found Objective-C makes really really easy to get into...thanks NSMutableXXX.

are you seriously blaming the library for your shortcomings ahahaha

Carthag Tuek
Oct 15, 2005

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



pro tip: dont share NSMutable objects between threads

Adbot
ADBOT LOVES YOU

Carthag Tuek
Oct 15, 2005

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



in fact theyre entirely non-safe for concurrency and if you use them you are guaranteed to get heisenbugs

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