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
rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
i agree, loosely coupled interfaces are good things.

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->
oh and how!! thinks his service is restful too :3:

tef
May 30, 2004

-> some l-system crap ->

rotor posted:

i agree, loosely coupled interfaces are good things.

this is why I tell people to write code that is easy to throw away, rather than making it extensible.

thing is big rewrites are ok too, but you have to actually maintain the old code during the time, as well as test and use the new code too. not as easy as it sounds. you will end up maintaining two systems, but you can migrate clients across eventually.

it can be worth the extra time, but that's a tradeoff innit

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
the single bigass rewrite will never be as smooth or as efficient as rewriting chunks of it at a time.

tef
May 30, 2004

-> some l-system crap ->

rotor posted:

the single bigass rewrite will never be as smooth or as efficient as rewriting chunks of it at a time.

most of the time, yeah. thing is there was some work that talked about defects and rewrites that mononcqc wrote up here

http://mononcqc.tumblr.com/post/31767374324/an-analysis-of-errors-in-a-reuse-oriented-development-en it's good eh

'Reuse via extensive modification does not provide the reduction in error density that the other modes of reuse yield, and it also results in errors that typically were more difficult to isolate and correct than the errors in newly developed code. In terms of the rework due to the errors in these components, it appears that this mode of development is more costly than new development. However, extensive modification may offer savings in development effort that outweigh the increased cost of rework.'

tef
May 30, 2004

-> some l-system crap ->

Cocoa Crispies posted:

that's why you see more systems like twitter moving to a service oriented architecture, because then you can decouple things like tweet storage and follow graphs and rewrite them as long as they fulfill their obligations

https://vimeo.com/55503728

(http://vimeo.com/55503728 it's 40 minutes)

see also that yegge email that got leaked, where he went 'amazon got service architecture by force, google is not getting it'. in a sort of application of conways law, you have to get your teams talking to each other if you want to get their code talking to each other.

Catalyst-proof
May 11, 2011

better waste some time with you

tef posted:

see also that yegge email that got leaked, where he went 'amazon got service architecture by force, google is not getting it'. in a sort of application of conways law, you have to get your teams talking to each other if you want to get their code talking to each other.

twan't an e-mail, it was a google+ post that he posted externally instead of internally because google+ is such a simple social nets to use

Shaggar
Apr 26, 2006

rotor posted:

the single bigass rewrite will never be as smooth or as efficient as rewriting chunks of it at a time.

irl no one has the time or money to do a bigass rewrite anyways

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Cocoa Crispies posted:

that's why you see more systems like twitter moving to a service oriented architecture, because then you can decouple things like tweet storage and follow graphs and rewrite them as long as they fulfill their obligations

this is why erlang owns; even your tiny rear end program is built as a collection of services. the erlang vm is essentially a service host and otp is a service framework

tef
May 30, 2004

-> some l-system crap ->
otp is good for you

Posting Principle
Dec 10, 2011

by Ralp

tef posted:

oh and how!! thinks his service is restful too :3:

REST just means "uses http", right?

Jonnty
Aug 2, 2007

The enemy has become a flaming star!

Cocoa Crispies posted:

that's why you see more systems like twitter moving to a service oriented architecture, because then you can decouple things like tweet storage and follow graphs and rewrite them as long as they fulfill their obligations

https://vimeo.com/55503728

(http://vimeo.com/55503728 it's 40 minutes)

i still dont get what the difference between OOP, or even DO or RPC and SOA is. when does it stop becoming a method or procedure and become a Service.

JawnV6
Jul 4, 2004

So hot ...
soa is oop one level higher

how!!
Nov 19, 2011

by angerbot

tef posted:

so yeah, spolksy says they are uniformly bad, citing a rewritten product that languished on the next version, that was then replaced by a rewritten product.

"The old mantra build one to throw away is dangerous when applied to large scale commercial applications." the idea is you throw it away before putting it into service.

"It's important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time." this is true in the sense that a rewrite doesn't guarantee, but there are many, many reasons why you can do a better job.

often, the problem you're trying to solve now is different. sometimes, the code doesn't work properly.

then again, the rewrites I have done have mostly worked by the chernobyl pattern. cover the old thing in concrete.

Spolsky's argument summed up is basically "I don't understand why there would be any benefit, therefore there is no benefit".

I worked for a guy a few months ago who was building an advertising network. It was a very simple application. The spec was as follows:

code:
Users create 'campaigns'. Campaigns have the following attributes: [don't remember]
Campaigns contain ads.
Ads have the following attributes: image url, link url
Users also create placements.
Placements have the following attributes: width, height, id
Users place campaigns they created inside of placements
When a placement is rendered, an ad is grabbed from one the campaigns associated with the placement, and it returned as an <img> element
And thats it. The guy spent two years and like 30,000 lines of code to implements all the above. He used pylons, but only utilized about 1% of what the framework offers. He didn't use an orm, didn't use forms, didn't use anything like that. There were tons of 300+ line functions, hardly any documentation, copy+pasted code aplenty, lots of re-invented wheels...

I told him any real developer could implement the spec in one week using modern engineering techniques. But in his mind, it took him 2 years to build, therefore its a 2 year job, and there was no way I could convince him that there could be a better way.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

tef posted:

see also that yegge email that got leaked, where he went 'amazon got service architecture by force, google is not getting it'. in a sort of application of conways law, you have to get your teams talking to each other if you want to get their code talking to each other.
oh amazon's teams talk to each other all right, but they're usually talking about code that they didn't write and has no API documentation so the meetings end up being ceremonial and you just end up reading the other team's code and sobbing

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

JawnV6 posted:

soa is oop one level higher

this is an accurate one-sentence summary.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

it's a neat article but i have a hard time caring about stats gleaned from FORTRAN development at NASA.

tef
May 30, 2004

-> some l-system crap ->

how!! posted:

I told him any real developer could implement the spec in one week using modern engineering techniques. But in his mind, it took him 2 years to build, therefore its a 2 year job, and there was no way I could convince him that there could be a better way.

heee

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
i mean, i'm sure that's cool and everything but this is like linking to a ramjet design and telling me how to make a better beef carpaccio.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

how!! posted:

Spolsky's argument summed up is basically "I don't understand why there would be any benefit, therefore there is no benefit".
no you idiot his argument is that companies have to keep releasing stuff that objectively works to stay in business, why are you so determined not to get this

Shaggar
Apr 26, 2006

Jerry SanDisky posted:

REST just means "uses http", right?

yes

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Jerry SanDisky posted:

REST just means "uses http", right?

uses http, with the emphasis on "use" instead of "is tunneled through"

Shaggar
Apr 26, 2006
the emphasis is entirely optional, though (as with all things rest related)

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
guys im trying to get this eclipse set up, please keep it down over there

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
not that im bitching, it's just Big.

JawnV6
Jul 4, 2004

So hot ...

rotor posted:

i mean, i'm sure that's cool and everything but this is like linking to a ramjet design and telling me how to make a better beef carpaccio.
i remember some NASA study that came out about the stupidly high code quality metrics they use for one-off things that cost billions of dollars and Literally Can't Fail, the comments on it were all beardstroking this is how it SHOULD BE DONE

sure, go try that quality while competing against web devs making GBS threads reams of php daily

Shaggar
Apr 26, 2006

Jonny 290 posted:

guys im trying to get this eclipse set up, please keep it down over there

eclipse is kewl and owns.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

JawnV6 posted:

i remember some NASA study that came out about the stupidly high code quality metrics they use for one-off things that cost billions of dollars and Literally Can't Fail, the comments on it were all beardstroking this is how it SHOULD BE DONE

sure, go try that quality while competing against web devs making GBS threads reams of php daily

not only were they in an expensive safety environment, they also had weight constraints so "do it lots and see if they agree" isn't an option

but yeah different software is different and it turns out lockheed martin has different requirements than twitter and stack homeworkflow

how!!
Nov 19, 2011

by angerbot

Gazpacho posted:

no you idiot his argument is that companies have to keep releasing stuff that objectively works to stay in business, why are you so determined not to get this

I'm going to tell you a true story. When I was in middle school, I was on the track team. One day during a track meet, I was running the 400 meter dash. I made the mistake of not making sure my shoes were tied tightly before the race started. After rounding the first turn, I looked down and noticed my shoe was untied. I couldn't just stop and tie my shoe, because I'm running a race for gods sake. After the third turn, my shoe had almost come completely off because the laces flinging around had made the shoe so loose. When I crossed the finish line I was practically limping because I couldn't run normally or else my shoe would come completely off. I was too afraid to stop and do what needed to be done.

If you have a project full of technical debt, its like running a race with a shoe coming half off your foot. Yeah stopping to tie the show (refactoring code) will slow you down, but not as much as not stopping. A lot of companies act like they're in a sprint, but many times they are not. Most companies are running a distance race, where a week or a month doesn't matter as much as they fear it will.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

how!! posted:

I'm going to tell you a true story. When I was in middle school, I was on the track team. One day during a track meet, I was running the 400 meter dash. I made the mistake of not making sure my shoes were tied tightly before the race started. After rounding the first turn, I looked down and noticed my shoe was untied. I couldn't just stop and tie my shoe, because I'm running a race for gods sake. After the third turn, my shoe had almost come completely off because the laces flinging around had made the shoe so loose. When I crossed the finish line I was practically limping because I couldn't run normally or else my shoe would come completely off. I was too afraid to stop and do what needed to be done.

If you have a project full of technical debt, its like running a race with a shoe coming half off your foot. Yeah stopping to tie the show (refactoring code) will slow you down, but not as much as not stopping. A lot of companies act like they're in a sprint, but many times they are not. Most companies are running a distance race, where a week or a month doesn't matter as much as they fear it will.

that's why you tie your goddamn shoes right

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

how!! posted:

I'm going to tell you a true story. When I was in middle school, I was on the track team. One day during a track meet, I was running the 400 meter dash. I made the mistake of not making sure my shoes were tied tightly before the race started. After rounding the first turn, I looked down and noticed my shoe was untied. I couldn't just stop and tie my shoe, because I'm running a race for gods sake. After the third turn, my shoe had almost come completely off because the laces flinging around had made the shoe so loose. When I crossed the finish line I was practically limping because I couldn't run normally or else my shoe would come completely off. I was too afraid to stop and do what needed to be done.

what a cool story.

Catalyst-proof
May 11, 2011

better waste some time with you

how!! posted:

I'm going to tell you a true story. When I was in middle school, I was on the track team. One day during a track meet, I was running the 400 meter dash. I made the mistake of not making sure my shoes were tied tightly before the race started. After rounding the first turn, I looked down and noticed my shoe was untied. I couldn't just stop and tie my shoe, because I'm running a race for gods sake. After the third turn, my shoe had almost come completely off because the laces flinging around had made the shoe so loose. When I crossed the finish line I was practically limping because I couldn't run normally or else my shoe would come completely off. I was too afraid to stop and do what needed to be done.

If you have a project full of technical debt, its like running a race with a shoe coming half off your foot. Yeah stopping to tie the show (refactoring code) will slow you down, but not as much as not stopping. A lot of companies act like they're in a sprint, but many times they are not. Most companies are running a distance race, where a week or a month doesn't matter as much as they fear it will.

lol

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp

Shaggar posted:

eclipse is kewl and owns.

i havent even started in on java but i installed EPIC and its fuckin' amazing, coming from a "notepad++ open and perldoc in browser" environment

Shaggar
Apr 26, 2006
cool. so first thing first, go to Window -> Prefernces -> java (or perl I guess maybe) -> Content Assist. Under Auto Activation, set the Auto Activation delay from 200 to 20 or 0.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
Inter-team communication at Amazon: I'm on pager duty one time and get a high-severity ticket from a warehouse that they're sending way too many packages to a third-party warehouse I've never heard of and it might cancel its operating contract. I do initial investigation and find out that the interface between our code and another team's code for a recently added feature wasn't clearly negotiated and we're sending the wrong data over it. Our side was written by a (usually competent) dev who had just left the team, leaving a tangle of code that sorta does a little of one thing and then a little of another with no modularity. I go to the other team's manager and tell him that temporarily disabling their side of the feature while I work on the fix will mitigate the issue in the field. He tells me to go gently caress myself (i.e. drop everything and race against the clock to get a fix out before the contract is cancelled). Inter-team communication at Amazon.

Shaggar
Apr 26, 2006
well he successfully communicated that it was your problem

tef
May 30, 2004

-> some l-system crap ->

Gazpacho posted:

Inter-team communication at Amazon: I'm on pager duty one time and get a high-severity ticket from a warehouse that they're sending way too many packages to a third-party warehouse I've never heard of and it might cancel its operating contract. I do initial investigation and find out that the interface between our code and another team's code for a recently added feature wasn't clearly negotiated and we're sending the wrong data over it. Our side was written by a (usually competent) dev who had just left the team, leaving a tangle of code that sorta does a little of one thing and then a little of another with no modularity. I go to the other team's manager and tell him that temporarily disabling their side of the feature while I work on the fix will mitigate the issue in the field. He tells me to go gently caress myself (i.e. drop everything and race against the clock to get a fix out before the contract is cancelled). Inter-team communication at Amazon.

welcome to pager duty

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->

how!! posted:

I'm going to tell you a true story. When I was in middle school, I was on the track team. One day during a track meet, I was running the 400 meter dash. I made the mistake of not making sure my shoes were tied tightly before the race started. After rounding the first turn, I looked down and noticed my shoe was untied. I couldn't just stop and tie my shoe, because I'm running a race for gods sake. After the third turn, my shoe had almost come completely off because the laces flinging around had made the shoe so loose. When I crossed the finish line I was practically limping because I couldn't run normally or else my shoe would come completely off. I was too afraid to stop and do what needed to be done.

If you have a project full of technical debt, its like running a race with a shoe coming half off your foot. Yeah stopping to tie the show (refactoring code) will slow you down, but not as much as not stopping. A lot of companies act like they're in a sprint, but many times they are not. Most companies are running a distance race, where a week or a month doesn't matter as much as they fear it will.

when I was on the track team the shoes they gave me were inefficient and badly designed so I skipped the meet and built a better shoe

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