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
Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
an almost-good position to be is one where everyone is all "heh, i guess we should make some tests, that would be a good thing, oh well"

being actively hostile towards the idea of automated tests: very weird. (i have worked at such a place)

Adbot
ADBOT LOVES YOU

Opinion Haver
Apr 9, 2007

Cocoa Crispies posted:

yeah i update my poo poo and i think heroku updates theirs

how can you make a dos-proof hash? isn't just a matter of time until somebody finds different keys with the same hash?

instead of hashing the string, hash prefix + string, where the prefix is randomly determined on process startup

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

Gazpacho posted:

Test... server???

They rewrote the site in Er-haskell.

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance
my coworker's conception of a unit test: "it didn't throw an exception or return null, so it must have worked!"

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Wheany posted:

an almost-good position to be is one where everyone is all "heh, i guess we should make some tests, that would be a good thing, oh well"
after being laid off from a contract job that required dev unit testing, i took a full-time hire job at another company that told me they had unit tests in place when it was a bold-faced loving lie. in two years working for the company i never got over that. basically every in-house developed module that i was expected to build the app on was subject to bizarre failures

don't ever let an interviewer off with a simple yes/no answer to a dev practice question, ever

Gazpacho fucked around with this message at 01:19 on Jan 1, 2013

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
"we have unit tests" = "we have exactly one test per binary, sometimes two"

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Cocoa Crispies posted:

yeah i update my poo poo and i think heroku updates theirs

how can you make a dos-proof hash? isn't just a matter of time until somebody finds different keys with the same hash?

Every hash table ( and hash algo) is theoretically vulnerable to birthday type attacks

Luigi Thirty
Apr 30, 2006

Emergency confection port.

whoa threaded applications doing asynchronous web requests and shoving arbitrary objects into viewing boxes is so easy c# owns

tef
May 30, 2004

-> some l-system crap ->
fart bums

PrBacterio
Jul 19, 2000

Malcolm XML posted:

Every hash table ( and hash algo) is theoretically vulnerable to birthday type attacks
this is why you should use a balanced binary tree representation for associative arrays :q:

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
so i had a fun idea for a weekend hack which required writing a plugin for a piece of windows software

the code was written in 15 minutes

getting it to link correctly with __cdecl and __stdcall static linker hell took over 7 hours and 3 irc channels...



developers developers developers

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
oh and the msdn documentation flat out lied

gabensraum
Sep 16, 2003


LOAD "NICE!",8,1

Suspicious Dish posted:

oh and the msdn documentation flat out lied

i scroll straight to the bottom to check for angry community corrections before i do anything.

MononcQc
May 29, 2007

Cocoa Crispies posted:

yeah i update my poo poo and i think heroku updates theirs

how can you make a dos-proof hash? isn't just a matter of time until somebody finds different keys with the same hash?

It would possibly be an implementation of cuckoo hashing or a variant of it.

Shaggar
Apr 26, 2006

Luigi Thirty posted:

whoa threaded applications doing asynchronous web requests and shoving arbitrary objects into viewing boxes is so easy c# owns

yeah its the best. doing uis with anything else is a hilarious joke.

Progressive JPEG
Feb 19, 2003

Luigi Thirty posted:

whoa threaded applications doing asynchronous web requests and shoving arbitrary objects into viewing boxes is so easy c# owns

Shaggar posted:

yeah its the best. doing uis with anything else is a hilarious joke.

does this also apply to mono

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance

Shaggar posted:

yeah its the best. doing uis with anything else is a hilarious joke.

shaggar what lib do u use for jax-ws axis and cxf both seem to blow

tef
May 30, 2004

-> some l-system crap ->

MononcQc posted:

It would possibly be an implementation of cuckoo hashing or a variant of it.

sorta, but nope.

that said cuckoo hashing is more resistant to collisions, and probably shows better resistance than just a plain hash with linear probing/chaining. but if you end up using a known hash, an attacker can sorta prepare collisions. even if you use something cryptographically strong, but truncate it or take the modulus to fit it into a (much) smaller number of hashes, the attacker can brute force collisions.

so you use a keyed hash - a hash function that takes a key - a bit like salting - so the hash values are unpredictable to an attacker. using a cryptographically strong hash is a very slow way, and many of the existing methods for keying the hash turn out to be vulnerable. the attack presented used a technique called multicollisions, based around differential analysis, which worked on cityhash and murmurhash.

it was possible to create collisions independent of this key/seed value. crypto is hard.

djb et al have released sip hashing http://en.wikipedia.org/wiki/SipHash as a fast keyed hash with excellent security properties.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug
djb is the raddest

Shaggar
Apr 26, 2006

HORATIO HORNBLOWER posted:

shaggar what lib do u use for jax-ws axis and cxf both seem to blow

i use cxf. It works fine, its just not as nice as wcf.

If im writing the service, I create the model (including interface) in one maven project and then the service in another. This way if im also writing the client for it, I can just import the model project and cxf can reuse those classes.

If im writing the client and dont have the model already, I just use the cxf-codgen maven plugin to generate it.

tef
May 30, 2004

-> some l-system crap ->

Cocoa Crispies posted:

djb is the raddest

he is so dreamy :swoon:

Max Facetime
Apr 18, 2009

so idon't know if you've noticed but the forums changed and all the apps that were scraping it broke

this didn't need to happen and wouldn't have happened if somethingawful had an api

vapid cutlery
Apr 17, 2007

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

Win8 Hetro Experie posted:

so idon't know if you've noticed but the forums changed and all the apps that were scraping it broke

this didn't need to happen and wouldn't have happened if somethingawful had an api

No one cares though

X-BUM-RAIDER-X
May 7, 2008

Shaggar posted:

i use cxf. It works fine, its just not as nice as wcf.

If im writing the service, I create the model (including interface) in one maven project and then the service in another. This way if im also writing the client for it, I can just import the model project and cxf can reuse those classes.

If im writing the client and dont have the model already, I just use the cxf-codgen maven plugin to generate it.

cxf owns

Notorious b.s.d.
Jan 25, 2003

by Reene

Cocoa Crispies posted:

everyone wants to hire rubyists who know how to test, regardless of if their firm does it or not

the thought might be that it's a good way to gauge how much they Care

every tech firm and software consultancy i ever worked with claimed to have test suites and do tdd ... but i have never seen it in action

tests either always fail or are hopelessly incomplete or both

what do i know, i'm just here to clean up the bit vomit

tef
May 30, 2004

-> some l-system crap ->
testing - a way of preventing change, and enabling it too.

it becomes harder to change your api and behaviour, but you are free to change implementation. for something like sqlite, testing is fantastic. the sql api is somewhat fixed. when you're designing an api, writing your tests first can be like painting yourself into a corner.

testing by default causes lots of code duplication, tests that rely on implementation specific behaviour, and everyone's favourite 'put sleep in so the test passes' nondeterminism.

testing also seems to be the code programmers have the hardest time throwing away.

testing is great but great tests don't come for free.

tef
May 30, 2004

-> some l-system crap ->
it seems the next year I will write the following post over and over and over again.

engineering is about tradeoffs, design is about constraints, and programming is suffering

programming is hard. programming in a team is a social problem. it involves people. people are messy.

programming is a pop culture, chasing after fads, complete with celebrities and magical recipes to you save us from suffering - by simply by doing what they do, even with different people, and tasks, you will be as successful as them. you could call it algorithmic approach to producing software, but really it's cargo culting.

we don't admit this, we pretend we're in a meritocracy. programmers equate popularity, success, and luck with technical skill, and many hope that by being good, they too will be popular, successful and lucky. just like all those elegant languages everyone uses.

programming will always suck because code is a product of the culture that builds it. and we are a bunch of whiny, screaming idiots.

conway's law. eat it.


:smithicide:

tef
May 30, 2004

-> some l-system crap ->
*bangs on soapbox, cries*

qntm
Jun 17, 2009

quote:

put sleep in so the test passes

but z/OS systems are really slowwww, we need to allow more time for this thing to deploy

never mind the elaborate collection of wrapper functions that your predecessors and colleagues set up to let you do all of this stuff synchronously

Max Facetime
Apr 18, 2009

the scrapers were probs being very brittle about their thing, maybe didn't even have any alternate heuristics as fallbacks, otherwise no show-stoppers or bugs with no workarounds, just minor inconvenience

all in all a triumph for the de facto movement for reduced software testing

Catalyst-proof
May 11, 2011

better waste some time with you

Win8 Hetro Experie posted:

the scrapers were probs being very brittle about their thing, maybe didn't even have any alternate heuristics as fallbacks, otherwise no show-stoppers or bugs with no workarounds, just minor inconvenience

all in all a triumph for the de facto movement for reduced software testing

this is more to do with how lovely it is to have to scrape in the first place and how stupid it is to base an app on scraping data rather than the site administrators being adults and providing an api

Catalyst-proof
May 11, 2011

better waste some time with you

tef posted:

testing - a way of preventing change, and enabling it too.

it becomes harder to change your api and behaviour, but you are free to change implementation. for something like sqlite, testing is fantastic. the sql api is somewhat fixed. when you're designing an api, writing your tests first can be like painting yourself into a corner.

testing by default causes lots of code duplication, tests that rely on implementation specific behaviour, and everyone's favourite 'put sleep in so the test passes' nondeterminism.

testing also seems to be the code programmers have the hardest time throwing away.

testing is great but great tests don't come for free.

this aligns with my experience especially the tests being the hardest code to throw away

my last project's test suite (which took twenty minutes to run and no that wasn't selenium or anything ridiculous) also required its own instantiation and serialization layer because the objects we got from the main codebase weren't guaranteed to be in a valid state when the tests asked for them :(

tef
May 30, 2004

-> some l-system crap ->

WHOIS John Galt posted:

this is more to do with how lovely it is to have to scrape in the first place and how stupid it is to base an app on scraping data rather than the site administrators being adults and providing an api

scraping is ok - if the pages had stable markup on them, the scrapers wouldn't break .

what you want isn't an api but a promise not to break an interface.

tef fucked around with this message at 22:54 on Jan 1, 2013

PrBacterio
Jul 19, 2000

WHOIS John Galt posted:

this aligns with my experience especially the tests being the hardest code to throw away
what'd you expect; after all, tests are the code that the coders enjoyed writing the least, and thus could be the least bothered to rewrite
so of course they're going to hold on to those for dear life once they've actually gotten it out of the way to write them, it's not like they want to ever have to go through writing test cases ever again

Jonnty
Aug 2, 2007

The enemy has become a flaming star!

tef posted:

scraping is ok - if the pages had api markup on them, the scrapers wouldn't break less.

what you want isn't an api but a promise not to break an interface.

scraping's still poo poo. i'd rather not have to abstract away all the ugly stuff and just have it be a call to a sensible api. the api interface has to stay reasonably static but well duh

tef
May 30, 2004

-> some l-system crap ->

PrBacterio posted:

what'd you expect; after all, tests are the code that the coders enjoyed writing the least, and thus could be the least bothered to rewrite
so of course they're going to hold on to those for dear life once they've actually gotten it out of the way to write them, it's not like they want to ever have to go through writing test cases ever again

c.f build scripts

X-BUM-RAIDER-X
May 7, 2008

Win8 Hetro Experie posted:

the scrapers were probs being very brittle about their thing, maybe didn't even have any alternate heuristics as fallbacks, otherwise no show-stoppers or bugs with no workarounds, just minor inconvenience

all in all a triumph for the de facto movement for reduced software testing

I think people making these apps are more concerned with getting stuff working and features into their hobby project rather than care about some spergy heuristics fallback mechanism for the scraping which wouldn't even be that hard to fix if something changed once in a blue moon. There should be an api, however.

Jonnty
Aug 2, 2007

The enemy has become a flaming star!

having to keep a webpage which describes content for a human viewer constant so that a machine can read it is a pretty big horror

tef
May 30, 2004

-> some l-system crap ->

Jonnty posted:

scraping's still poo poo. i'd rather not have to abstract away all the ugly stuff and just have it be a call to a sensible api. the api interface has to stay reasonably static but well duh

it is possible to abstract away all the ugly stuff with this approach. a json api would still require this work.

Adbot
ADBOT LOVES YOU

X-BUM-RAIDER-X
May 7, 2008

tef posted:

scraping is ok - if the pages had stable markup on them, the scrapers wouldn't break .

what you want isn't an api but a promise not to break an interface.

Why should the admins need to care that somebody is exploiting the layout of their website, which is purely intended for rendering in a browser, in order to make their app work? That doesn't make any sense.

It makes much more sense to have an api which is intended to be used by apps and not browsers and thus it can be maintained separately.

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