I dont feel like going back to work...
-
Gary Kirkham wrote:
Useless isn't the same as wrong.
Well, it would be wrong if it was written in VB.NET. But since C# programmers can do no wrong. . .
Jon "You don't respect those people very much, because you're young and arrogant. But I don't respect them very much either, because I'm old and wise." ~ Neal Stephenson, "Snow Crash" Soap Box 1.0: the first, the original, reborn troll-less
Obviously :)
Gary Kirkham Forever Forgiven and Alive in the Spirit The men said to them, "Why do you seek the living One among the dead? He is not here, but He has risen." Me blog, You read
-
Well personally I'd be having a word with management. Going back to the customer and re-drafting the spec will cost face, but not nearly as much face as a product that doesn't work, is never fully delivered, is full of holes and doesn't deliver on promises.
print "http://www.codeproject.com".toURL().text Ain't that Groovy?
Are you suggesting *gasp* taking pride? Wanting to deliver a quality product? Not having to enter a witness protection scheme should anyone find out were you work? What a novel idea!
Panic, Chaos, Destruction. My work here is done.
-
Well personally I'd be having a word with management. Going back to the customer and re-drafting the spec will cost face, but not nearly as much face as a product that doesn't work, is never fully delivered, is full of holes and doesn't deliver on promises.
print "http://www.codeproject.com".toURL().text Ain't that Groovy?
martin_hughes wrote:
Well personally I'd be having a word with management.
Check x 15. No joy.
martin_hughes wrote:
Going back to the customer and re-drafting the spec will cost face
Check x 10. No joy.
martin_hughes wrote:
but not nearly as much face as a product that doesn't work, is never fully delivered, is full of holes and doesn't deliver on promises.
We are already in penalty clause area, and the product is about 60% finished.
xacc.ide
IronScheme - 1.0 beta 4 - out now!
((λ (x) `(,x ',x)) '(λ (x) `(,x ',x))) -
I wondered were my boss had got to! But as am in a kind mood, you can keep him. ;)
Panic, Chaos, Destruction. My work here is done.
Haha, ditto.
-
martin_hughes wrote:
Well personally I'd be having a word with management.
Check x 15. No joy.
martin_hughes wrote:
Going back to the customer and re-drafting the spec will cost face
Check x 10. No joy.
martin_hughes wrote:
but not nearly as much face as a product that doesn't work, is never fully delivered, is full of holes and doesn't deliver on promises.
We are already in penalty clause area, and the product is about 60% finished.
xacc.ide
IronScheme - 1.0 beta 4 - out now!
((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))leppie wrote:
We are already in penalty clause area, and the product is about 60% finished.
You need more managers!
Panic, Chaos, Destruction. My work here is done.
-
martin_hughes wrote:
technical excellence and all that jazz
by the bucket full
martin_hughes wrote:
Mumbler?
no
martin_hughes wrote:
Strange body odour?
no
martin_hughes wrote:
Shy?
no
martin_hughes wrote:
Unwilling/unable to shout at management types and make demands?
no
martin_hughes wrote:
team leader
apparently not. I'm a 'technical lead' which means my TL is half my age with 1/4 my knowledge and and 1/8 my experience. But I'm not bitter :mad:
Panic, Chaos, Destruction. My work here is done.
And those under you are twice your age, with 4 times your knowledge and 8 times your experience? :)
-
1.21 Gigawatts wrote:
Politely remind him that he's a tw*t.
How's that going to work? The correct approach is: "Oy! Gonad chops! Stop #slap# being #slap# such #slap# a #slap# tw*tting #slap# tw*t #slap# !!" ...and breath.
Panic, Chaos, Destruction. My work here is done.
Nagy Vilmos wrote:
Gonad chops
You missed a scrotum oportunity there
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus) -
leppie wrote:
Side-effects are evil. Learn to appreciate that, and code becomes dead simple.
But isn't that the worst thing about AOP, that you don't know what side effects might be introduced? Marc
I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner
A good AOP design should have orthogonal business logic not affected by 'side effects'.
-
0. Complain that you have headache. 1. Tell rfwstl that you're going to get some fresh air. 2. Mix the fresh air with a large GnT. 3. Rinse, dry, repeat.
Panic, Chaos, Destruction. My work here is done.
Nagy Vilmos wrote:
Rinse, dry, repeat.
FTFY
-
And those under you are twice your age, with 4 times your knowledge and 8 times your experience? :)
Nope, they're a bunch of ####ers. Some older, some younger, but all f###w##s.
Panic, Chaos, Destruction. My work here is done.
-
Nagy Vilmos wrote:
Gonad chops
You missed a scrotum oportunity there
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus)I considered 'festering scrotal sack' but felt it was a wee bit too much. 'Complete and utter ###t' was way off the chart and would never get past the hampsters' black pens. So I settled for 'Gonad chops'.
Panic, Chaos, Destruction. My work here is done.
-
leppie wrote:
Side-effects are evil. Learn to appreciate that, and code becomes dead simple.
But isn't that the worst thing about AOP, that you don't know what side effects might be introduced? Marc
I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner
Marc Clifton wrote:
But isn't that the worst thing about AOP, that you don't know what side effects might be introduced?
Good point, and here's why: I have been experimenting with the Post# AOP Framework - which I think is quite a nice product and certainly could be very useful in a number of areas. However, due to not reading the manual ( ;P ), and therefore because I didn't know that I should override the OnException method in the Aspect, I got caught out by an exception that was being swallowed by the framework. Now admittedly, that's me being an idiot for not bothering to read up on usage, however if this wasn't properly documented - or if developers were rushing to get this into production without fully understanding it - I could see a whole bunch of very difficult to trace bugs being introduced. AOP, though, I think is a pretty neat concept. It has its pit-falls like everything else, but used judiciously is another handy tool for the toolbox.
print "http://www.codeproject.com".toURL().text Ain't that Groovy?
-
Marc Clifton wrote:
But isn't that the worst thing about AOP, that you don't know what side effects might be introduced?
Good point, and here's why: I have been experimenting with the Post# AOP Framework - which I think is quite a nice product and certainly could be very useful in a number of areas. However, due to not reading the manual ( ;P ), and therefore because I didn't know that I should override the OnException method in the Aspect, I got caught out by an exception that was being swallowed by the framework. Now admittedly, that's me being an idiot for not bothering to read up on usage, however if this wasn't properly documented - or if developers were rushing to get this into production without fully understanding it - I could see a whole bunch of very difficult to trace bugs being introduced. AOP, though, I think is a pretty neat concept. It has its pit-falls like everything else, but used judiciously is another handy tool for the toolbox.
print "http://www.codeproject.com".toURL().text Ain't that Groovy?
martin_hughes wrote:
but used judiciously is another handy tool for the toolbox
Excellent point, a tool among a vast number of other tools. Maybe VS2010 will add a ballot screen: "What concept would you like to use?": "1)Imperative programming" "2)OO programming" "3)Functional programming" "4)Aspect programming" "5)Sorry, this one has too low a market share" :-\
You can't turn lead into gold, unless you've built yourself a nuclear plant.
-
Side-effects are evil. Learn to appreciate that, and code becomes dead simple. I can code fresh code faster than trying to understand what his code is attempting to do.
xacc.ide
IronScheme - 1.0 beta 4 - out now!
((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))leppie wrote:
Side-effects are evil.
I'm pretty sure I know what you mean and that we agree, but wanted to add... The problem is hidden side-effects; you do one thing but unbeknownst to you something else is changed. You can minimize this by limiting the scope of what is changed when a function is called, making the scope of state changes as narrow as possible. Think of state machines sending messages to each other in such a way that they don't care what the results are; their invariants are guarenteed regardless. One way I picture software is a collection of stateless functions (functions without side-effects). These are robust functions tested in isolation. On top of that are state machines that manage state changes and use the stateless functions for performing calculations and so forth. Each state machine having a narrow scope and being written in such a way that its invariants are always in force. At a higher level you have a collection of state machines organized to complete a task that the component or application is designed to perform. Anyway, the bottom line for me is that state changes are inevitable. It's a matter of organizing and isolating them so that the end result is robust software.
-
A good AOP design should have orthogonal business logic not affected by 'side effects'.
Brady Kelly wrote:
A good AOP design should have orthogonal business logic not affected by 'side effects'.
There's a mouthful. :) I must say, my brain sort of locks up every time I encounter the words "horizontal", "vertical", and "orthogonal". Maybe it's because I'm thinking of some innuendo rather than biz-speak. Marc
I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner
-
Brady Kelly wrote:
A good AOP design should have orthogonal business logic not affected by 'side effects'.
There's a mouthful. :) I must say, my brain sort of locks up every time I encounter the words "horizontal", "vertical", and "orthogonal". Maybe it's because I'm thinking of some innuendo rather than biz-speak. Marc
I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner
Marc Clifton wrote:
I'm thinking of some innuendo rather than biz-speak
Especially when there are several layers of horizontal side effects? ;)
You can't turn lead into gold, unless you've built yourself a nuclear plant.
-
Brady Kelly wrote:
A good AOP design should have orthogonal business logic not affected by 'side effects'.
There's a mouthful. :) I must say, my brain sort of locks up every time I encounter the words "horizontal", "vertical", and "orthogonal". Maybe it's because I'm thinking of some innuendo rather than biz-speak. Marc
I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner
Try wearing orthogonal shoes? :~
-
as my 'team leader' does not why the following wrong:
a.SomeProp = a.SomeProp; // no funny side-effects, plain old property
And then he asked me not to criticize him... :wtf:
xacc.ide
IronScheme - 1.0 beta 4 - out now!
((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))Nothing wrong with the statement in VB.NET. In fact it is cleaner since you don't have to use any semi-colons and only one character to note a comment... :) a.SomeProp = a.SomeProp ' no funny side-effects, plain old property
Steve Naidamast Black Falcon Software, Inc. blackfalconsoftware@ix.netcom.com
-
as my 'team leader' does not why the following wrong:
a.SomeProp = a.SomeProp; // no funny side-effects, plain old property
And then he asked me not to criticize him... :wtf:
xacc.ide
IronScheme - 1.0 beta 4 - out now!
((λ (x) `(,x ',x)) '(λ (x) `(,x ',x)))1: Often Harmless way to shut up the compiler messages .. but for variables, not properties 2: If done to cause some code attached to that property to fire that isn't readily available elsewhere (or not enough time make new class or somthing) .. so be it. :) In order of importance: MUST WORK :thumbsup: NICE FORMATTING :rose: RUN FAST AS HELL :-\ "Accepted Practices" X| Innovation and Best Practices are mutually exclusive... (Good Common Sense excluded) :cool: --Jason
Know way too many languages... master of none!
-
But where's the line between useless and wrong? I mean, you start here:
a.SomeProp = a.SomeProp;
Then here...
Debug.Assert(a.SomeProp == a.SomeProp);
And somehow you end up here...
while (true)
{
if ((a.SomeProp == a.SomeProp) == true)
{
a.SomeProp = a.SomeProp;
break;
}
}
return (a.SomeProp == a.SomeProp);And then it starts to get a little weird.
Proud to have finally moved to the A-Ark. Which one are you in? Developer, Author (Guardians of Xen)
Next lesson: How to increase compile time, without hurt the program speed, so our project looks huge, once compiled! (e.g. we satisfied our boss for a lot of "work" we did!) P.S. Don't ignore quotes! :)