Languages do evolve, but it also isn't simply a free-for-all. If we allow misuse to desiccate words of meaning, we lose the precision they once connoted. Irony as a literary device is sublime. Irony as a synonym of 'coincidence' is banal.
I'm not promoting effete pedantry, I just appreciate a good nuance now and then.
Not at all a dumb question. One thing you may not be familiar with is AspectJ's 'declare' keyword. This allows you to specify that any pointcut designator (PCD) actually represents a warning or an error. The AspectJ compiler will either emit a compiler warning or stop in its tracks if someone writes code that matches the PCD.
You could then use this to say that any call to the core JDBC classes that does not occur within the lexical scope of the database facade layer is a warning or an error.
So, Joe Schmoe developer ignores the mandate to use the facade. You can either push the aspect into the common build environment (which would cause error/warning annotations w/ tool tips to show up in Eclipse when using the AJDT) or catch it in the nightly build when he checks in the code.
This represents a static policy enforcement because it is detectable by the compiler. You can also associate advice that throws exceptions if something is not detectable statically but represents an error condition at run time this way.
For example, I was handed a body of code on a fixed price contract once that I discovered was loosey goosey about updating Swing components via the UI thread. I pulled my hair out in frustration for a few minutes before I realized I could catch all of these violations w/ an aspect.... at any call to any public method of any JComponent or one of its children, check to see if it is running on the UI thread. Throw an exception/dump the stack trace if isn't. I found seven violations that night. I left it compiled in for another month and never found any more. So, that could have been a bear of a code review without the ability to express the contract (must run on Swing UI thread) as code using AOP.
Well, I am advocating the use of AOP for more than DSC, but, in essence, yes. You will note that I did mention that other languages do not require the use of a meta tool like AspectJ to provide similar features. Eiffel is a great language and I hope its use and influence continues to grow. Until then, 97% of the developers out there will wonder why you are talking about a tower in a programming discussion.:)
AOP is not the answer to everything, but one of the main points of a talk I give at the NFJS show is that you can find tons of uses w/ development aspects without ever having to migrate them into production.
You can enforce (and detect violations of) various architectural decisions (i.e. no direct JDBC connectivity without going through a facade), define and enforce contracts (and leave them out of production), detect threading issues (How would you find all Swing thread abuse cases in a large, multi-threaded application?), get a sense of code coverage, etc. around any arbitrary cut of your system.
If you take the time to build around interfaces and support Object decoration via some variant of factories, you can do some of these things using Decorator and Dynamic Proxies, but you don't always have that luxury.
Tool support has been fundamentally lacking until things like recent versions of the AJDT. It still isn't perfect, but should serve to answer many of the early critics complaining about debuggability and losing track of what is going on.
I am an advocate of AOP in production systems, but you don't have to drink the whole glass to find aspects tremendously useful in development alone. With support for Ant-based builds and whatnot, it isn't even really an onerous task to give it a try.
Don't use AOP for things it isn't a good fit for, but there are quite a few things that can't be done as easily and elegantly without it (at least in Java). As others have pointed out, languages like Lisp and Objective-C have support for AOPish things built in.
Phish started doing something similar...
on
Instant Concert CDs?
·
· Score: 4, Informative
...with their recent Holiday run. The New Year's Eve show was available for download one or two days after the concert as either MP3s or SHNs (lossless compression see Etree for more on the common formats). The price was reasonable ($11/$14 depending on compression) for the equivalent of three CDs of music. The cool thing is that they still allow tapers to record and trade the shows, you just can't trade these sanctioned downloads which presumably sound better. It's a very cool idea though.
It would be an interesting turn of events for someone to organize a month of no music and movie spending to send a message back to the media industry that they are not in charge, the consumers are.
I agree KEXP is the coolest radio station I've ever heard. I highly recommend anyone who loves music (and not necessarily single genres) give it a listen. John in the Morning plays a phenomenal variety. This station can help you learn to love music again.
I recorded this off the Sundance Channel last night and watched it today. If anyone is interested in seeing it, they are showing it again several times in the coming months.
One of the main responses from the/. crowd is to question the point of the effort. I think that may say as much about the crowd as anything, but it is important to remember that your own response to the art is often as important as the intended "meaning". You'll also note in the credits, however, that the film version was made to accompany the pre-existing music, not the other way around.
My own response was that this was a love affair with a medium. It was perhaps a little self-indulgent and a larger effort than the kernel of inspiration afforded, but one worth experiencing nonetheless. I found the soundtrack to only complement the images about half the time; otherwise, it was a little oppressive and took attention away from the images. This is most likely a result of film following music.
While the execution of the vision may have been a little repetitive, the breadth of the source material saves the concept. Many of the images are of what we would consider mundane activities from our highly-stimulated postmodern sensibilities, but I think that was in part, "the point".
When film was new, people took record of everyday things because the whole process was fascinating and those everyday images were all people knew at the time. They hadn't had their perspectives bombarded with excessive post-processing yet; they hadn't lost the specialness of the moment. Amidst the quotidian scenes, we have birth, illness, death and other bigger events. Life can be comprised by the occasional exciting events, but there is a lot of mundanity in-between.
So, with "images as life" as a possible theme, the decay of image is a useful visual metaphor for the inevitable decay of life. You can almost see the people in the scenes as trying to reach out from the past, from the midst of their loss with a message. Call it "Carpe Diem", call it "Appreciate the Now". Implicit in the choice of medium (and I believe the marketing decision to provide only VHS copies backs this up) is the final reminder that how you view things (read life) has consequences.
Simply prefacing a statement with "IMHO" doesn't excuse it of whatever comes after it. My point is that the narrow scope of his own vision doesn't encompass all possibilities of why someone might stay at a place and not get paid.
You can argue over what is a "reasonable" time to give to a cause without renumeration. Hell, you can argue over what is a "reasonable" cause. However, the categorical dismissal of anyone who sticks to a cause longer than you would as "suckers" is just inane.
You are also free to feel no pity for them, but I hope neither of you are ever faced with a similarly stingy dispensation of pity from those around you when you might need it.
I don't give two shits whether Loki had a chance. I was responding to the condescending and oblique attitude of the original poster.
I was stressing that these people probably stuck around because they were passionate about their goal. I wouldn't have done it, but I'm not going to criticize someone for having different goals than I do.
You're missing out on the fact that these guys probably really believed in their mission of getting these games to the Linux desktop. They probably also legitimately believed it was a hard thing to do and so were willing to make some sacrifices toward that larger goal.
That goal may not have sustained you (or many folks) through a period of inactivity. Sure, you have to pay the rent and know when to draw the line, but it hardly seems kind/fair/legitimate to lambast someone for having vision and principles beyond making a buck.
While clearly well-designed and offering a great feature set due to its JMX bus architecture, I'm curious how you come to the conclusion that JBoss is the best J2EE webcontainer out there.
I'm excited about its future, I just don't seeing it being adopted in production environments yet which clearly indicates skepticism toward your claim.
That's not my "American Way". Nor was it the "American Way" of the Americans in the 1960's to whom I referred. BTW, I agree with what I believe to be the spirit of your critique, but perhaps it could have been dressed more diplomatically. You know, honey catches more flies than vinegar. Unless you were just being caustic...
I have the same problem with this as any pro-my-agenda-over-yours approach. If what we are seeking is equality/respect, resorting to the same tactics are unlikely to legitimately modify behavior. It's not through lynchings and beatings that the civil rights movement succeeded. It's not through imperial conquest that India became an independent state.
And it isn't going to be through holier-than-thou rhetoric couched in do-unto-others-as-they-do-unto-you that the open source/free software movements are going to make converts.
For the acts of some negligent employees, but certainly UPS the corporation should take a more proactive role in fixing this guy's situation now. I'm sure a little/. exposure might help.
I once had a UPS guy pick up a vendor's computer equipment that we had borrowed and sent back. He stacked way too much on his hand cart presumably to make a single trip. As he started moving, the top box (a monitor), did a back flip and landed on the ground. His response? "Whoops! You always lose one!"
But then again, I dropped an HP monitor out of the back of a minivan once. They were very nice about it though and didn't even blink when I explained the situation.
Languages do evolve, but it also isn't simply a free-for-all. If we allow misuse to desiccate words of meaning, we lose the precision they once connoted. Irony as a literary device is sublime. Irony as a synonym of 'coincidence' is banal.
I'm not promoting effete pedantry, I just appreciate a good nuance now and then.
Not at all a dumb question. One thing you may not be familiar with is AspectJ's 'declare' keyword. This allows you to specify that any pointcut designator (PCD) actually represents a warning or an error. The AspectJ compiler will either emit a compiler warning or stop in its tracks if someone writes code that matches the PCD.
You could then use this to say that any call to the core JDBC classes that does not occur within the lexical scope of the database facade layer is a warning or an error.
So, Joe Schmoe developer ignores the mandate to use the facade. You can either push the aspect into the common build environment (which would cause error/warning annotations w/ tool tips to show up in Eclipse when using the AJDT) or catch it in the nightly build when he checks in the code.
This represents a static policy enforcement because it is detectable by the compiler. You can also associate advice that throws exceptions if something is not detectable statically but represents an error condition at run time this way.
For example, I was handed a body of code on a fixed price contract once that I discovered was loosey goosey about updating Swing components via the UI thread. I pulled my hair out in frustration for a few minutes before I realized I could catch all of these violations w/ an aspect.... at any call to any public method of any JComponent or one of its children, check to see if it is running on the UI thread. Throw an exception/dump the stack trace if isn't. I found seven violations that night. I left it compiled in for another month and never found any more. So, that could have been a bear of a code review without the ability to express the contract (must run on Swing UI thread) as code using AOP.
Well, I am advocating the use of AOP for more than DSC, but, in essence, yes. You will note that I did mention that other languages do not require the use of a meta tool like AspectJ to provide similar features. Eiffel is a great language and I hope its use and influence continues to grow. Until then, 97% of the developers out there will wonder why you are talking about a tower in a programming discussion. :)
AOP is not the answer to everything, but one of the main points of a talk I give at the NFJS show is that you can find tons of uses w/ development aspects without ever having to migrate them into production.
You can enforce (and detect violations of) various architectural decisions (i.e. no direct JDBC connectivity without going through a facade), define and enforce contracts (and leave them out of production), detect threading issues (How would you find all Swing thread abuse cases in a large, multi-threaded application?), get a sense of code coverage, etc. around any arbitrary cut of your system.
If you take the time to build around interfaces and support Object decoration via some variant of factories, you can do some of these things using Decorator and Dynamic Proxies, but you don't always have that luxury.
Tool support has been fundamentally lacking until things like recent versions of the AJDT. It still isn't perfect, but should serve to answer many of the early critics complaining about debuggability and losing track of what is going on.
I am an advocate of AOP in production systems, but you don't have to drink the whole glass to find aspects tremendously useful in development alone. With support for Ant-based builds and whatnot, it isn't even really an onerous task to give it a try.
Don't use AOP for things it isn't a good fit for, but there are quite a few things that can't be done as easily and elegantly without it (at least in Java). As others have pointed out, languages like Lisp and Objective-C have support for AOPish things built in.
...with their recent Holiday run. The New Year's Eve show was available for download one or two days after the concert as either MP3s or SHNs (lossless compression see Etree for more on the common formats). The price was reasonable ($11/$14 depending on compression) for the equivalent of three CDs of music. The cool thing is that they still allow tapers to record and trade the shows, you just can't trade these sanctioned downloads which presumably sound better. It's a very cool idea though.
It would be an interesting turn of events for someone to organize a month of no music and movie spending to send a message back to the media industry that they are not in charge, the consumers are.
I agree KEXP is the coolest radio station I've ever heard. I highly recommend anyone who loves music (and not necessarily single genres) give it a listen. John in the Morning plays a phenomenal variety. This station can help you learn to love music again.
I recorded this off the Sundance Channel last night and watched it today. If anyone is interested in seeing it, they are showing it again several times in the coming months.
/. crowd is to question the point of the effort. I think that may say as much about the crowd as anything, but it is important to remember that your own response to the art is often as important as the intended "meaning". You'll also note in the credits, however, that the film version was made to accompany the pre-existing music, not the other way around.
One of the main responses from the
My own response was that this was a love affair with a medium. It was perhaps a little self-indulgent and a larger effort than the kernel of inspiration afforded, but one worth experiencing nonetheless. I found the soundtrack to only complement the images about half the time; otherwise, it was a little oppressive and took attention away from the images. This is most likely a result of film following music.
While the execution of the vision may have been a little repetitive, the breadth of the source material saves the concept. Many of the images are of what we would consider mundane activities from our highly-stimulated postmodern sensibilities, but I think that was in part, "the point".
When film was new, people took record of everyday things because the whole process was fascinating and those everyday images were all people knew at the time. They hadn't had their perspectives bombarded with excessive post-processing yet; they hadn't lost the specialness of the moment. Amidst the quotidian scenes, we have birth, illness, death and other bigger events. Life can be comprised by the occasional exciting events, but there is a lot of mundanity in-between.
So, with "images as life" as a possible theme, the decay of image is a useful visual metaphor for the inevitable decay of life. You can almost see the people in the scenes as trying to reach out from the past, from the midst of their loss with a message. Call it "Carpe Diem", call it "Appreciate the Now". Implicit in the choice of medium (and I believe the marketing decision to provide only VHS copies backs this up) is the final reminder that how you view things (read life) has consequences.
In Amused to Death Neil Postman discusses why it isn't the Orwellian future that should frighten us, but the Huxleyian one.
Are they going to be eliminated or renamed Bogusium and Fullashitium?
I was just scanning the comments to make sure that
*SOMEONE* had commented on this connection.
:)
And people like you are the ones who give the /. comments system its reputation for excessively cranky, marginally illiterate buffoons.
Simply prefacing a statement with "IMHO" doesn't excuse it of whatever comes after it. My point is that the narrow scope of his own vision doesn't encompass all possibilities of why someone might stay at a place and not get paid.
You can argue over what is a "reasonable" time to give to a cause without renumeration. Hell, you can argue over what is a "reasonable" cause. However, the categorical dismissal of anyone who sticks to a cause longer than you would as "suckers" is just inane.
You are also free to feel no pity for them, but I hope neither of you are ever faced with a similarly stingy dispensation of pity from those around you when you might need it.
I don't give two shits whether Loki had a chance. I was responding to the condescending and oblique attitude of the original poster.
I was stressing that these people probably stuck around because they were passionate about their goal. I wouldn't have done it, but I'm not going to criticize someone for having different goals than I do.
You're missing out on the fact that these guys probably really believed in their mission of getting these games to the Linux desktop. They probably also legitimately believed it was a hard thing to do and so were willing to make some sacrifices toward that larger goal.
That goal may not have sustained you (or many folks) through a period of inactivity. Sure, you have to pay the rent and know when to draw the line, but it hardly seems kind/fair/legitimate to lambast someone for having vision and principles beyond making a buck.
I'd be very curious (and I'm sure I'm not alone) about more details concerning your company's use of JBoss.
Without giving away who your company is, can you answer the following questions?
What was difficult about using JBoss in a production environment?
What kind of load does it support?
What parts of JBoss are you using?
Did you purchase any documentation/support or did you do all the leg work yourself?
Certainly not for performance or documentation criteria...
What then? Bang for buck?
I'm excited about its future, I just don't seeing it being adopted in production environments yet which clearly indicates skepticism toward your claim.
And an appropriate way to do it too.
I proposed in the middle of a fight (she said, "Yes.").
The new Fuel is only part of what they just announced. The Visual Area Networking/VizServer stuff looks pretty spiff too.
Right, which is why I said 'we', not 'he'! :)
That's not my "American Way". Nor was it the "American Way" of the Americans in the 1960's to whom I referred. BTW, I agree with what I believe to be the spirit of your critique, but perhaps it could have been dressed more diplomatically. You know, honey catches more flies than vinegar. Unless you were just being caustic...
I have the same problem with this as any pro-my-agenda-over-yours approach. If what we are seeking is equality/respect, resorting to the same tactics are unlikely to legitimately modify behavior. It's not through lynchings and beatings that the civil rights movement succeeded. It's not through imperial conquest that India became an independent state.
And it isn't going to be through holier-than-thou rhetoric couched in do-unto-others-as-they-do-unto-you that the open source/free software movements are going to make converts.
If speed is your metric, you are correct.
If total experience is your metric, I would say the comparison is valid.
Tell the wardens to take away your posting privilege freak boy. Oh yeah, up the thorazine.
For the acts of some negligent employees, but certainly UPS the corporation should take a more proactive role in fixing this guy's situation now. I'm sure a little /. exposure might help.
I once had a UPS guy pick up a vendor's computer equipment that we had borrowed and sent back. He stacked way too much on his hand cart presumably to make a single trip. As he started moving, the top box (a monitor), did a back flip and landed on the ground. His response? "Whoops! You always lose one!"
But then again, I dropped an HP monitor out of the back of a minivan once. They were very nice about it though and didn't even blink when I explained the situation.