Buying software for small companies (eye doctors, chiropractors, etc.) doesn't make sense - especially now that the US gov't is changing electronic records policies/requirements.
All those practices are being encouraged to upgrade now with incentives - as long as they upgrade to a certified platform.
But with the gov't's certification level rising year after year, why would anyone *buy* software each year? (most practices don't upgrade their installed software every 5 years, right?) Especially now that some vendors are doing even more lock-in/refusing access to your own data, it requires installing and upgrading your own PCs and server(s) - hardware and Windows versions and databases and...
Use an online SaaS. Granted, there is only one working solution out there right now for eye care specialists (www.revolutionehr.com), but it works on modern browsers, integrates with several brands of optometrist equipment, has billing, email, inventory, scheduling... most of what you need. And not only do they help with importing your data, they'll also help you export it if you decide it's not for you.
Other factors might also include that fewer women have the disposition for the kinds of drama/politics/socializing that exists in the IT realm, though that bleeds towards "old boys club" and we're back to sexism talk again...
Which is exactly the deal Antigua should get into: one Antinguan entity makes one copy of just under 1 million U.S. copyrighted items (DVDs, Blurays, CDs, software, electronic books, etc.), removes the copyrights, and then can copy, sell, and distribute to the rest of the world. Suddenly the U.S. has some competition!
I don't know off the top of my head if anyone has more fully dealt with #2, but it has been touched on in:
A. Looper - I was pleasantly surprised it was as sci-fi as it was with multiple timelines (and causal paradoxes/not paradoxed) given a rudimentary treatment B. Sliding Doors - intermixing timelines peaks my curiosity C. (Disney's) The Kid - time travel in a limited sense with intermixed timelines D. Premium Rush - not time travel - I just liked the way they explored the bike messenger's decision process 8)
Wow, I know there have been others but that's what I can think of now.
Hey, I hope you're open to a conversation about this - though I fear I'm more in the learning stages - but: what *is* the U.S. economy based upon?
You've listed the government contracts for military - there's also got to be various other ones, like the Haliburton-type contracts to companies for... humanitarian? efforts.
But I've been wondering this for much longer: if the U.S. *did* actually make a national healthcare system, one where every single health insurance company was eliminated and replaced with a national agency (which would arguably be smaller and cost less than the companies it replaced)... do we go from healthcare-related revenues like 15% US GNP (a number I saw randomly early last year) commercial to 5% government-based organization/employment? Where would that 10% go? Or even 5% Or even 1%?
With the details you gave for follow-up you nicely show the waves of deeper effects a company closing can have. Can we reset those previously Boeing-dependent companies to new effects? New products?
So yeah: I'm wondering not only about how things change from how they presently are (stock market crashes?), but also ways to make this economy (and I suppose further: the world's capitalist economy) more adaptable.
Then I bought a "Best-Lock" set from Toys R Us - the Terminator set that's on half-price sale for $25, comes with "over 1,000 pieces" and you build 6 models plus guys, terminators, dogs, weapons... and 'ruins'.
Once again: OMG. The lack of QA - possibly of quality of any kind is *staggering* after having used LEGOs for years. I didn't understand, apparently! My fingers are sore from trying to put them together. Much of the time the bricks don't actually sit flush with each other - though a problem with LEGOs in the 1970s-80s were at times too flush and impossible to pry apart! These guys... One piece was broken (no double), several had extra flash remaining, it is easy to tell on several kinds of blocks that they had 2 inputs into the plastic moulds, and many pegs didn't fit in the holes - too big or too small.
And now I wonder if they are the FOSS of building bricks *sniff*
I have a new appreciation for LEGOs. But still resent the cost:(
Because this is Slashdot, the answer to the question is, of course: Yes, they sold out. LEGO is doing commercial properties all over the place, and while it has been going on for years, it hasn't been going on forever.
TiggertheMad points out that LEGO sets have sold for about a USD dime per brick for decades. I didn't check his facts, but I am curious why a trowel costs the same as a 64x64 peg baseplate? And I *know* the railroad tracks are *not* priced the same! There's a huge difference between buying certain sets and buying from LEGOs special-piece ordering places. OTOH there is the LEGO stores' buy a container of 'loose' bricks - they just don't usually have much of a selection when I've happened by.
But I didn't see anyone talk about how LEGO plant employees take home garbage bags of bricks for free. (an anecdote, granted, but one I've heard from more than one source). Which makes me wonder about the false LEGO economy and why it is, commercially, what it is.
While I like rtb61's suggestion of us coming up with a FOS brick system (non-LEGO), I'm wary of the thought that manufacturers would start making compatible parts... But I would *love* to see it happen!
I had a lot of LEGO bricks while I was growing up - saved them too, though some got infinitely-borrowed by a charity for kids a few years back. The Technic subbrand was my favorite, even got a couple of the motors and learned about gearing! Also played with lincoln logs, erector sets, Capsella, Radio Shack kits, and several more available to me while I was growing up. (and some guy has inter-set connector designs on makerbot sites?!) There was also a completely different block set which was much.. blockier than LEGOs, only had a couple angled pieces, and basic colors - I remember building several ships out of it - 'people' were single 1x1x1 colored bricks. Imagination ruled!
* screen people for mental health * get people involved in the community * show both patriotism and care of fellow man * possibly even get people less afraid of guns
How do we make it happen?
Oh.. or did you just mean some add-on to the National Guard?... or Neighborhood Watch?
I hate to be the lazy bum, but since it is your made-up notation would you mind adding in the return value checks and pseudo-code for handler calls to allow some better understanding? Feel free to add pseudo-annotations if that helps your cause 8)
Thank you for bringing this up! This topic has certainly engaged me more than any other on slashdot in a few months 8)
+1: first use of 'invariant' in this topic +5: for
What you care about is did it establish the precondition necessary to visit edges departing the destination vertex in the dependency graph?
Later you said:
Error handling involving deeply nested if statements is a nightmare to maintain. The only thing stopping the programmer from flattening it out as I've illustrated is a high pain tolerance for the variable ok.
Huh. I will consider that much more seriously given what you've presented.
Also: I've seen both Ruby and Groovy try giving you a shortcut for
ok = a != NULL && a->b != NULL && a->b->c;
Unfortunately they didn't make them compiler-required and included some false versions of duck-typing, so they're both off my Ideal Programming Language list anyway.
I've wondered why more languages don't include mechanisms (like Java's Exception handling) while implementing them in more CPU-friendly terms. Perhaps it would have a complex return object which already captured the stack trace when it... well, except the interrupt-or-equivalent is still needed... hmm.. Or maybe that's what got us Spring. Ick.
You should, if you want any hope of really dealing with the error, wrap every call in its own try/catch. I have not ever seen that done...
...because it's a silly idea. Now you're just using exceptions as special return values. Exceptions are not supposed to mean "something went wrong here". They should mean "there's a situation that is so unexpected that I don't know how to handle". It's a different paradigm entirely. The idea is that rather than writing your program to anticipate every possible error (as the mathematicians so loved), the program should instead follow a more practical "hope for the best, plan for the worst" design. Rather than worrying about exactly which byte of a file couldn't be read, the program should just understand that something's wrong with the file, and its contents can't really be trusted.
I disagree. You are welcome to use Exceptions in that way, but I want to see IllegalArgumentExceptions and IllegalStateExceptions when the related situations do, in fact, exist. Or are you implying that you'd rather remove certain other types of exceptions? IOExceptions? DatabaseExceptions? IndexOutOfRangeExceptions?
As for what needs to be known when about a problem, that's a completely fluid topic and your sentence addressing it seems terribly overly simplistic to me. If you define your methods such that the responsibilities for dealing with an error are somehow always scoped only to the calling method... well, good luck to you and please let me know what public JARs you're involved with so I can stay away from them. If you instead suggest passing less information back to successive stack levels until a point where a decision can actually be made about how to deal with it and/or report it to a typical user - then we're probably not so far apart. So long as you log it with all the info possible.
Yay: IllegalArgumentException! Yay: IllegalStateException! Thanks for promoting those - they aren't used nearly enough!
Turles
After the first catch-within-a-catch, you've likely exhausted your options, though I think I was in a 3-catch situation once. If there were a "thisCantFailLogIt(...)" we'd use it, right? But I will guess that the depths of the catches is a signal that something within the system's philosophy is wrong, not Java itself. Doesn't mean I wouldn't consider alternatives, but when most alternatives' philosophy is "don't care, pay no attention to this" that erodes any trust I can have for them.
Safe states
Wow, okay, I have not worked in as complex of systems as you, so I'll take your word for it 8) I think part of the more general problem is that there are times when programmers have a hard time determining when/where that safe state exists/existed. And at times it is outside of their code/outside of code they have influence over.
There is no silver bullet
Oh, darn - I'm sad to hear DrD approached it that way: that leaves him in the role of a complainer instead of a changer:(
Also: I've been wanting a way to add @precondition and @postcondition to Java. I can't find one though - do you know of one? I'd throw most of the 'validate all input data' in @precondition - at least Level 0+1 checks (required + value verification). As for @postcondition.. that gets even trickier, especially mid-transaction.
Sorry, this is all off the cuff stuff, but: I like what you're talking about (I appreciate a new, informed, well-thought out perspective) and your code example. However I don't agree with your suggested almost-all-unchecked exceptions philosophy. But that's me.
What some people see as the gratuitous use of checked exceptions in Java is, in my mind, not only a safety measure as you mention but also an educational tool: if programmers aren't forced to deal with exceptions (one way or another) when would they, in a normal day, ever consider what might go wrong? (I do have a low opinion of people claiming to be programmers nowadays..)
Frankly, I *hate* that there are unchecked exceptions except in a couple circumstances because when something *does* go wrong with those my code is caught unprepared because I never thought or never knew to catch them. If everyone were forced to at least include the 'throws MyRuntimeException' in their method declarations, I wouldn't have to pull a Ruby and dig through all the (black-box) APIs to guess what could possibly go wrong.
I think check exceptions are *very* necessary in Java just to keep programming from falling down to a much lower lowest common denominator. It is one of the reasons I really like Java (not that I really like Java in total, but that's another discussion). Part of that is an educational thing, part of that is due to poor tools, etc. All of those could help make up for Exceptions all becoming unchecked, but why not have it at least continued to be supported within the language? Well.. or encourage people to use more checked Exceptions?
- when I first started programing what I'll call modern Java (2000), the boss showing us the ropes used Exceptions not only for signalling the state of technical errors, but also in certain subsystems as business signals. Problem was the internet as it was at the time claimed Exceptions used many more resources within Java. Of course now we have Spring and Hibernate it looks like any concern for computation resources has completely died out wrt Java servers.
Can we make a system where it is all possible? Where we can attach a context/note to an exception within our code (perhaps it just pops out an extra message within the stack trace?).. hmm, though I don't know that there is a better mechanism than try-catch. Unless we also roll in the optional ability to define it in (standardized!!) aspects: Class X @ Method Y [@.. what, Call Z?] if QException thrown add "wow, did the database/hibernate/etc. really just barf while we tried finding a person? [ID=$personId]"
How about adding a.. (runtime?) setting where you can let "maybe-checked" exceptions fly through and on my system I (and maybe other devs and on QA boxes) will have them set as checked?
Curious what your thoughts are - I'd enjoy seeing Java improve (rather than degenerate to a place where you can no longer compare primitive variables to primitive types because of the auto-coersion to objects - thanks lots, guys ):
Maybe Google will bring some reasonableness to cell plan costs in the US (I'd guess 6452% is LOW for the US's markup), and maybe the other guys will fight back with some privacy.
Nah: the other guys will look for every way to sell off data/usage once Google is in the market.
It also means Google doesn't have to sort out existing problems with existing companies, completely re-train everyone to do things better/correctly/non-douchey, as well as Google not being the one to have to fire all the idiot managers or deal with Boards of Directors.
Much better for Google to try it out in a couple different-sized markets, perfect their game, get the big boys nervous, and then steamroll the U.S. of A.'s cellular infrastructure with something that works both technologically and for their customers.
Buying software for small companies (eye doctors, chiropractors, etc.) doesn't make sense - especially now that the US gov't is changing electronic records policies/requirements.
All those practices are being encouraged to upgrade now with incentives - as long as they upgrade to a certified platform.
But with the gov't's certification level rising year after year, why would anyone *buy* software each year? (most practices don't upgrade their installed software every 5 years, right?) Especially now that some vendors are doing even more lock-in/refusing access to your own data, it requires installing and upgrading your own PCs and server(s) - hardware and Windows versions and databases and...
Use an online SaaS. Granted, there is only one working solution out there right now for eye care specialists (www.revolutionehr.com), but it works on modern browsers, integrates with several brands of optometrist equipment, has billing, email, inventory, scheduling... most of what you need. And not only do they help with importing your data, they'll also help you export it if you decide it's not for you.
(disclaimer: former dev)
8-PP
Other factors might also include that fewer women have the disposition for the kinds of drama/politics/socializing that exists in the IT realm, though that bleeds towards "old boys club" and we're back to sexism talk again...
Which is exactly the deal Antigua should get into: one Antinguan entity makes one copy of just under 1 million U.S. copyrighted items (DVDs, Blurays, CDs, software, electronic books, etc.), removes the copyrights, and then can copy, sell, and distribute to the rest of the world. Suddenly the U.S. has some competition!
8-PP
I don't know off the top of my head if anyone has more fully dealt with #2, but it has been touched on in:
A. Looper - I was pleasantly surprised it was as sci-fi as it was with multiple timelines (and causal paradoxes/not paradoxed) given a rudimentary treatment
B. Sliding Doors - intermixing timelines peaks my curiosity
C. (Disney's) The Kid - time travel in a limited sense with intermixed timelines
D. Premium Rush - not time travel - I just liked the way they explored the bike messenger's decision process 8)
Wow, I know there have been others but that's what I can think of now.
8-PP
Hey, I hope you're open to a conversation about this - though I fear I'm more in the learning stages - but: what *is* the U.S. economy based upon?
You've listed the government contracts for military - there's also got to be various other ones, like the Haliburton-type contracts to companies for... humanitarian? efforts.
But I've been wondering this for much longer: if the U.S. *did* actually make a national healthcare system, one where every single health insurance company was eliminated and replaced with a national agency (which would arguably be smaller and cost less than the companies it replaced)... do we go from healthcare-related revenues like 15% US GNP (a number I saw randomly early last year) commercial to 5% government-based organization/employment? Where would that 10% go? Or even 5% Or even 1%?
With the details you gave for follow-up you nicely show the waves of deeper effects a company closing can have. Can we reset those previously Boeing-dependent companies to new effects? New products?
So yeah: I'm wondering not only about how things change from how they presently are (stock market crashes?), but also ways to make this economy (and I suppose further: the world's capitalist economy) more adaptable.
Hope to hear from you!
Why didn't this come up: identity theft, anyone? I think that's a decently serious charge in the U.S., right?
OMG.
I only took your comment about QA half seriously.
Then I bought a "Best-Lock" set from Toys R Us - the Terminator set that's on half-price sale for $25, comes with "over 1,000 pieces" and you build 6 models plus guys, terminators, dogs, weapons... and 'ruins'.
Once again: OMG. The lack of QA - possibly of quality of any kind is *staggering* after having used LEGOs for years. I didn't understand, apparently! My fingers are sore from trying to put them together. Much of the time the bricks don't actually sit flush with each other - though a problem with LEGOs in the 1970s-80s were at times too flush and impossible to pry apart! These guys... One piece was broken (no double), several had extra flash remaining, it is easy to tell on several kinds of blocks that they had 2 inputs into the plastic moulds, and many pegs didn't fit in the holes - too big or too small.
And now I wonder if they are the FOSS of building bricks *sniff*
I have a new appreciation for LEGOs. But still resent the cost :(
Because this is Slashdot, the answer to the question is, of course: Yes, they sold out. LEGO is doing commercial properties all over the place, and while it has been going on for years, it hasn't been going on forever.
TiggertheMad points out that LEGO sets have sold for about a USD dime per brick for decades. I didn't check his facts, but I am curious why a trowel costs the same as a 64x64 peg baseplate? And I *know* the railroad tracks are *not* priced the same! There's a huge difference between buying certain sets and buying from LEGOs special-piece ordering places. OTOH there is the LEGO stores' buy a container of 'loose' bricks - they just don't usually have much of a selection when I've happened by.
But I didn't see anyone talk about how LEGO plant employees take home garbage bags of bricks for free. (an anecdote, granted, but one I've heard from more than one source). Which makes me wonder about the false LEGO economy and why it is, commercially, what it is.
While I like rtb61's suggestion of us coming up with a FOS brick system (non-LEGO), I'm wary of the thought that manufacturers would start making compatible parts... But I would *love* to see it happen!
I had a lot of LEGO bricks while I was growing up - saved them too, though some got infinitely-borrowed by a charity for kids a few years back. The Technic subbrand was my favorite, even got a couple of the motors and learned about gearing! Also played with lincoln logs, erector sets, Capsella, Radio Shack kits, and several more available to me while I was growing up. (and some guy has inter-set connector designs on makerbot sites?!) There was also a completely different block set which was much.. blockier than LEGOs, only had a couple angled pieces, and basic colors - I remember building several ships out of it - 'people' were single 1x1x1 colored bricks. Imagination ruled!
8-PP
This might be a good way to:
* screen people for mental health
* get people involved in the community
* show both patriotism and care of fellow man
* possibly even get people less afraid of guns
How do we make it happen?
Oh.. or did you just mean some add-on to the National Guard? ... or Neighborhood Watch?
bump!
Please mod parent up!!
You've got me interested... but how does it work?
I hate to be the lazy bum, but since it is your made-up notation would you mind adding in the return value checks and pseudo-code for handler calls to allow some better understanding? Feel free to add pseudo-annotations if that helps your cause 8)
Thank you for bringing this up! This topic has certainly engaged me more than any other on slashdot in a few months 8)
Somebody please mod parent up to 11, and give them a knighthood, a late night television show, and a comedy nobel prize!
This needs to be read by so very many people!
+1: first use of 'invariant' in this topic
+5: for
What you care about is did it establish the precondition necessary to visit edges departing the destination vertex in the dependency graph?
Later you said:
Error handling involving deeply nested if statements is a nightmare to maintain. The only thing stopping the programmer from flattening it out as I've illustrated is a high pain tolerance for the variable ok.
Huh. I will consider that much more seriously given what you've presented.
Also: I've seen both Ruby and Groovy try giving you a shortcut for
ok = a != NULL && a->b != NULL && a->b->c;
Unfortunately they didn't make them compiler-required and included some false versions of duck-typing, so they're both off my Ideal Programming Language list anyway.
Like!
I've wondered why more languages don't include mechanisms (like Java's Exception handling) while implementing them in more CPU-friendly terms. Perhaps it would have a complex return object which already captured the stack trace when it ... well, except the interrupt-or-equivalent is still needed... hmm.. Or maybe that's what got us Spring. Ick.
Nevermind.
8-PP
You should, if you want any hope of really dealing with the error, wrap every call in its own try/catch. I have not ever seen that done...
...because it's a silly idea. Now you're just using exceptions as special return values. Exceptions are not supposed to mean "something went wrong here". They should mean "there's a situation that is so unexpected that I don't know how to handle". It's a different paradigm entirely. The idea is that rather than writing your program to anticipate every possible error (as the mathematicians so loved), the program should instead follow a more practical "hope for the best, plan for the worst" design. Rather than worrying about exactly which byte of a file couldn't be read, the program should just understand that something's wrong with the file, and its contents can't really be trusted.
I disagree. You are welcome to use Exceptions in that way, but I want to see IllegalArgumentExceptions and IllegalStateExceptions when the related situations do, in fact, exist. Or are you implying that you'd rather remove certain other types of exceptions? IOExceptions? DatabaseExceptions? IndexOutOfRangeExceptions?
As for what needs to be known when about a problem, that's a completely fluid topic and your sentence addressing it seems terribly overly simplistic to me. If you define your methods such that the responsibilities for dealing with an error are somehow always scoped only to the calling method... well, good luck to you and please let me know what public JARs you're involved with so I can stay away from them. If you instead suggest passing less information back to successive stack levels until a point where a decision can actually be made about how to deal with it and/or report it to a typical user - then we're probably not so far apart. So long as you log it with all the info possible.
8-PP
Mod parent up!
Yay: IllegalArgumentException! Yay: IllegalStateException! Thanks for promoting those - they aren't used nearly enough!
Turles
After the first catch-within-a-catch, you've likely exhausted your options, though I think I was in a 3-catch situation once. If there were a "thisCantFailLogIt(...)" we'd use it, right? But I will guess that the depths of the catches is a signal that something within the system's philosophy is wrong, not Java itself. Doesn't mean I wouldn't consider alternatives, but when most alternatives' philosophy is "don't care, pay no attention to this" that erodes any trust I can have for them.
Safe states
Wow, okay, I have not worked in as complex of systems as you, so I'll take your word for it 8) I think part of the more general problem is that there are times when programmers have a hard time determining when/where that safe state exists/existed. And at times it is outside of their code/outside of code they have influence over.
There is no silver bullet
Oh, darn - I'm sad to hear DrD approached it that way: that leaves him in the role of a complainer instead of a changer :(
Also: I've been wanting a way to add @precondition and @postcondition to Java. I can't find one though - do you know of one? I'd throw most of the 'validate all input data' in @precondition - at least Level 0+1 checks (required + value verification). As for @postcondition.. that gets even trickier, especially mid-transaction.
Thanks much for posting!
8-PP
Greetings and Salutations!
Sorry, this is all off the cuff stuff, but: I like what you're talking about (I appreciate a new, informed, well-thought out perspective) and your code example. However I don't agree with your suggested almost-all-unchecked exceptions philosophy. But that's me.
What some people see as the gratuitous use of checked exceptions in Java is, in my mind, not only a safety measure as you mention but also an educational tool: if programmers aren't forced to deal with exceptions (one way or another) when would they, in a normal day, ever consider what might go wrong? (I do have a low opinion of people claiming to be programmers nowadays..)
Frankly, I *hate* that there are unchecked exceptions except in a couple circumstances because when something *does* go wrong with those my code is caught unprepared because I never thought or never knew to catch them. If everyone were forced to at least include the 'throws MyRuntimeException' in their method declarations, I wouldn't have to pull a Ruby and dig through all the (black-box) APIs to guess what could possibly go wrong.
I think check exceptions are *very* necessary in Java just to keep programming from falling down to a much lower lowest common denominator. It is one of the reasons I really like Java (not that I really like Java in total, but that's another discussion). Part of that is an educational thing, part of that is due to poor tools, etc. All of those could help make up for Exceptions all becoming unchecked, but why not have it at least continued to be supported within the language? Well.. or encourage people to use more checked Exceptions?
- when I first started programing what I'll call modern Java (2000), the boss showing us the ropes used Exceptions not only for signalling the state of technical errors, but also in certain subsystems as business signals. Problem was the internet as it was at the time claimed Exceptions used many more resources within Java. Of course now we have Spring and Hibernate it looks like any concern for computation resources has completely died out wrt Java servers.
Can we make a system where it is all possible? Where we can attach a context/note to an exception within our code (perhaps it just pops out an extra message within the stack trace?).. hmm, though I don't know that there is a better mechanism than try-catch. Unless we also roll in the optional ability to define it in (standardized!!) aspects: Class X @ Method Y [@ .. what, Call Z?] if QException thrown add "wow, did the database/hibernate/etc. really just barf while we tried finding a person? [ID=$personId]"
How about adding a.. (runtime?) setting where you can let "maybe-checked" exceptions fly through and on my system I (and maybe other devs and on QA boxes) will have them set as checked?
Curious what your thoughts are - I'd enjoy seeing Java improve (rather than degenerate to a place where you can no longer compare primitive variables to primitive types because of the auto-coersion to objects - thanks lots, guys ):
8-PP
Isn't he just pushing his company's agenda of trying to get a million youngsters to graduate every year?
It is from the classic Monty Python sketch comedy: http://www.youtube.com/watch?v=IN9mP2_1A-c
Please: take them all!
8-PP
Maybe Google will bring some reasonableness to cell plan costs in the US (I'd guess 6452% is LOW for the US's markup), and maybe the other guys will fight back with some privacy.
Nah: the other guys will look for every way to sell off data/usage once Google is in the market.
Who do we get to talk to then, the FCC?
8-PP
What he said.
It also means Google doesn't have to sort out existing problems with existing companies, completely re-train everyone to do things better/correctly/non-douchey, as well as Google not being the one to have to fire all the idiot managers or deal with Boards of Directors.
Much better for Google to try it out in a couple different-sized markets, perfect their game, get the big boys nervous, and then steamroll the U.S. of A.'s cellular infrastructure with something that works both technologically and for their customers.
8-PP
As always: an outbreak of political insanity.
Yay Republicans - looking out for the corporate overlords /sarcasm
My hovercraft is full of eeeeels!
What? What word don't you understand?