Ray tracers don't rely on approximations for "anything other than very simple renderings", they rely on approximations for all rendering. For one thing it completely ignores the wave nature of the objects being modelled. There was an attempt (published in Siggraph in the 70's iirc) to render by directly modelling wave interactions of light with the modelled objects but even the supercomputers of the time were inadequate... could be time to revisit that.
Funny though, the argument, about processing power increasing faster than image resolution requirements, which would therefore gradually increase the practicality of more computationally expensive approaches to image synthesis as time went by, was one I made in my thesis proposal seminar. There was one guy on my committee who just couldn't seem to get that... he was thick as a brick and unfortunately also a dick.
As to those who've lost their email due to corrupted files... this happens to Outlook too. Just write a batch script to backup your mail folder once in a while. Problem solved.
This is one of my biggest worries about Thunderbird. To me it seems insane to store all the messages in a single large (huge?) file. First there's the problem of losing most of your mail, because one tiny section of the humongous file gets munged, something you may not notice for a substantial time and then have to go backup hunting. Then, for me at least, in the past it has been the case more than once that I found it very useful to be able to go into a mail directory and be able to see/operate upon the individual messages as individual files.
It can't be file space I mean let's see... suppose you have 100,000 mail messages and they are all very short and your file system is using 4KB blocks so you're losing almost 4KB per message... that's a whole 400MB of wasted storage. Peanuts. Make it a more likely 1,000 to 10,000 messages and it's completely negligible. And it can't be the time for directory access of individual files because that can be done at reasonable speeds.
I really don't get this. I mean don't people ever learn that trying to cram more and more functionality into one thing just ends up creating a bloated crappy mess that nobody wants to use?
Make Thunderbird a great mail reader. It's not bad now but there is obviously room for improvement. Forget about making it read news. Forget about making it handle RSS. And for god's sake forget about making it into a calendaring program. Sheesh.... just make it a great mail client. AND get together with the people who are interested in news readers, rss handlers and scheduling programs and create a standard so that individual programs for each of these functions can cooperate/inter-operate with each other.
Create a seamless (appearing at least) system where users can pick the RSS reader they want to use, the calendaring program they want to use and still have them work seamlessly with the mail program they want to use. Not a monolithic bloated unmaintainable monstrosity that is supposed to do everything and locks a user into only those ways of doing things. Haven't the experiences of the last forty years of software and systems design taught us anything?
Put more succintly: "Objects thrown off a building have always fallen" is a statement of fact. "Objects thrown off a building will always fall" is a hypothesis derived from a theory.
You might instead try "In all cases of which we are aware, objects thrown off off a building have always fallen." is an observation. And a hypothesis is not derived from a theory. You collect observations (data), you hypothesize, you collect more observations (data) to check the hypothesis, then you may theorize and then forever after you look for observations which appear to contradict the theory.
One thing I noticed was that as an undergrad I was taught that, colloquially put, disproving something was as important as proving something novel. However as I moved higher up the academic food chain I found that not to be the case. It isn't hard to understand why, given the way funding and career advancement work in Western countries (the only ones I know about), but it's sad really.
Things falling to the ground is a fact; one explanation for it is Newton's theory of gravitation, also called gravity.
Mmmmm no, it is an observation that objects released above ground tend to move toward the ground below them (and if you looked closely you would see the ground moving toward the object as well). And Newton's theory is not a synonym for "gravity".
We should also teach our children that in science there are really no such things as facts, just observations. Part of the beauty of science comes from its humility. A good scientist never says "we know", he says "we think" or "our best explanation so far is" or "the theory that best fits the observed data is....".
Heh, reminds me of an announcement of some new labs and funding I saw on a bulletin board at one of the local universities a few years back. At the time the latest funding buzzword was "interdisciplinary" and I believe the "researchers" (names deleted below) on one project were all either dancers or choreographers. I wrote it down because... well that's obvious. An excerpt:
"...such as whisper, a joint project of [names deleted]. According to the researchers, whisper (wearable, handheld, intimate, sensory, personal, expressive, responsive system)* builds upon physical practices such as dance improvisation, manifesting cultural and scientific theories of embodiment to inform and to iterate sister methodologies in design, engineering and computing science...."
The announcement said the labs were also getting what at the time was a very pricey little item, a stereo lithographic printer (3D printer)... nothing in the description of the the labs even hinted at a good reason for having this item but I suppose it is possible there was a good reason for it. Any day now I expect to hear of the software engineering breakthroughs brought to us by modern dance, along with the scientific breakthroughs we've all been waiting for from the Social Sciences.
* As everybody knows picking a good acronym is the foundation upon which the roots depend so that the tree of funding can bear the rich fruits of good academic research.
the 'Nazi Socialist PC ball buster' only really exists in the minds of men who are insecure about their own masculinity
Two words(although there are many many many further examples if you want them): Andrea Dworkin
Having shown your claim to be false let me proceed to voice an opinion. To make a statement such as yours requires that the person making it is either honest but exists in a profound state of ignorance or is wilfully promoting an agenda through propaganda.
Time "slowing down" would simply mean clocks here running slower than clocks elsewhere. Personally I think relativity is much easier to understand if one stops thinking about time and instead thanks of clocks ticking. In fact the whole idea of "time" may be the single biggest obstacle to understanding what is actually going on in whatever this is we seem to inhabit.
I worked on contract for a while in a place like this before the dot bomb... bad atmosphere in general and having "the boss" watching over you at all times was really so great for morale. This is all about being able to control and make people more easily replaceable - welcome to your role as just another cog in the machine. The idea that creative work might require some privacy, peace and quiet etc. doesn't seem to matter to those who come up with these schemes.
The problem is not the user it's the device/manufacturer. I know this is/. but could the user bashing stop just for a bit? This is the same attitude that blames naive users for not liking Linux... after all everything is documented somewhere and they should know all that command line stuff anyhow right? Wireless keyboards are more than just a convenience, but even if that's all they were that is justification enough. Don't criticise the users, just make the damn keyboards work safely. Sheesh.
Does wilful stupidity have a moral component to it? Does wilful stupidity that (reasonably predictably) causes an expense to others have a moral component to it? How about taking actions with known consequences and then complaining about the consequences when they arrive?
Aside from the question of moral culpability there are questions of sympathy and resource allocation. Someone may do something that predictably ends with negative consequences for them. Should we feel sympathy for that person? Should we expend effort to protect them from their own behavior when the effort could be spent on protecting others from things that they could not reasonably have prevented?
Well when the rock absorbs that information it doesn't *do* anything with it. OTOH when we absorb that information by making an observation we might do something with it, such as check against other information to see if it is consistent. Put another way the universe wouldn't ("want to") tell us inconsistent things. Of course if you take that sort of view it could imply all sorts of other things, such as our universe being a construct of some kind.
For example some people believe we may be a giant simulation. As long as the simulation engine is processing rocks there is no need to collapse wave functions to specific values. But when the simulation engine is processing concious entities it needs to collapse wave functions to specific values because those entities are empowered to make use of those specific values within the simulation. Non-concious entities can be handled by coarse grain statistical methods (think levels of varying resolution) while concious entities may require extremely fine grain methods.
BTW so far every single post on this topic but one was modded to 5... come on.
consciousness does not have a privileged place in the universe that would fundamentally change the universe.
And you know this how? And btw there is, afaik, no serious contention that conciousness fundamentally changes the universe. The argument is that conciousness is part of how the universe works.
Well since the currency difference has never been enough to justify a 50% markup, and hasn't been anywhere close to that for years, this seems a little extreme. The only difference with selling to Canada from the US is a little extra for shipping and *maybe* 2 minutes to fill out the export form but for low value shipments even that is nothing more than a little sticker. Let's call a 50% increase what it really is: gouging.
Re:Python is part of the answer
on
Open Source Math
·
· Score: 1
It seems to me that if you were looking for a language for mathematicians that it would be something that is syntactically very close to mathematical notation... APL was/is such a language, and with all the interactiveness of Basic... but mathematicians aren't using it in any significant number and never really did.
I don't remember the 4004 being all *that* primitive but perhaps I'm thinking of the 8008. But even the 4004 was easier to program than an old Univac machine I used that used patch boards to set up the program - LOL. Regardless I wasn't comparing the relative difficulty between the two machines. I was just making the general observation that people were able to put quite sophisticated software on very primitive machines in what today would be considered microscopic amounts of memory. As for Fortran that actually wasn't that hard to implement on the PDP-8, I was much more impressed with Algol was implemented. IIRC the Algol compiler was user contributed, in the DECUS catalogue, along with a lot of other sophisticated (for the time) user contributed software.
In fact DECUS may have been the very first organized attempt at general distribution of free and/or open source software.
In 1970 the PDP series from DEC, e.g. PDP-8, had an interpreted (and used interactively) language called FOCAL, arrays (even sparse ones), real numbers, usual math and other functions, for loops, if statements blah blah blah... all the usual stuff - the entire interpreter *and* runtime was programmed in a total of 2K instructions (and they were primitive instructions). That was normal for the time.
I don't know the details on the Alpha situation so I can't comment on that although I think their foray into RISC architectures was a mistake considering their strength had been CISC architectures.
The sorts of things I saw being a problem was their branching away from what they did best (scientific/lab/academic computing) into the Vaxen on one hand and into poorly executed micros (the Rainbow) on the other hand. The Vaxes were ok and may have paid off if things had been a bit different. I always thought Ultrix was a mistake they should have just supported BSD on the Vaxen as well as VMS (for the business users) of course. The Rainbow was too late to compete with the (genuine) IBM PC hardware and they weren't set up to compete with the profit margins which the clone makers were willing to get by on by the advent of the Rainbow. Their search site started off well and then faded away much like DEC itself - and DG etc.
I believe that for a while they were second only to IBM in size/sales. I think if they'd stuck with the smaller machines, gone with BSD and their various PDP-11 OS's then they might have kept the niche eventually taken by Sun.
DEC
Creator of the PDP series of lab computers that revolutionized scientific computing.
Creator of the PDP-11 series which at the time was the best designed small machine on the planet.
And so on...
Yes, they failed in the end but they did a hell of a lot before that. But why not tell us all how you exceeded Ken Olsen's performance nsaspook?
*Sigh* I wish that were true. I have spent the last 3 months fixing a complete pile of crap created by an "old hand" contractor. I currently work in a support section, so I know what needs to be done to make a product supportable. I'm not in favour of the latest programming fad, they really annoy me.
Well you know what? It is true. And since you aren't familiar with the people involved in the situation I described it seems strange that you would even try to comment on the truth of it. Sure an "old hand" can produce crap. So can a "new hand".
I'm sorry, but the kids Google are cherry picking aren't your stupid college code monkeys, they're kids who know their shit.
Yup and they are still, just as you say, kids. Do you think these "kids who know their shit" will stop knowing it as they get more experienced? Well neither did the kids from the previous generation who also knew their shit when they were young and who not only still "know their shit" but now have real experience to go with that knowledge.
All other things being equal the experienced person will do a better job than the inexperienced person. It's really just that simple and I usually find that someone downgrading experience is doing it because they don't have much of their own.
Well it seems to me that if it has an angle of divergence that gives it a one inch diameter spot at 100 miles then it will have a two inch diameter circle at 200 miles. So at double the distance it will have four times the area. What part of that doesn't fit into your understanding of the inverse square relationship?
Very nice response! I'm also a contractor and that has been my experience as well. Some other things...
The young are arrogant. That can be a good thing in that they will take chances others wouldn't. That can be a bad thing in that they will take chances others wouldn't.
The inexperienced may produce something that works. It isn't until five years down the road when someone wants to make a significant change to the product and finds it can't be done because of initial design decisions. So things have to start over from scratch.
The young will value the things they know and not the things they don't. Knowledge of the technical flavor of the day will seem more important than knowledge of design, engineering and management techniques... because the former is what they know and human nature virtually guarantees they will value their own strengths most highly. Hiring people with no experience to act in place of those who do have experience almost guarantees that they disrespect the voice of experience when they do come across it.
With few exceptions money is always in short supply. The pressure is always on to do things cheap and fast. It takes experience to know when it is important to resist that and when to just let it go.
I've had similar experiences to yours of course. Over the years one client had created a software disaster by hiring cheap (read as inexperienced) people to create their software. Then finally they were forced to hire me to replace it with something that actually worked. They loved the new system, got a lot more than they expected and were soon doing things they hadn't even dreamed of before. Of course it was expensive.
Now they are deciding to "save" by having untrained (literally) people in house doing extensions and modifications when they can. Of course, due to perpetual crisis mode and budget restraints, that will turn out to be the norm and it will seem like the smart thing to do. "$5K for you to do that little change or Andy does it for almost nothing? We'll let Andy do it." will become the pattern and it will seem to work for a while. Then one day years from now they will find they are screwed. But despite their own prior experience there is no way to convince them of that here and now, and young Andy once had a programming course so he knows he can do it. Sigh....
Ray tracers don't rely on approximations for "anything other than very simple renderings", they rely on approximations for all rendering. For one thing it completely ignores the wave nature of the objects being modelled. There was an attempt (published in Siggraph in the 70's iirc) to render by directly modelling wave interactions of light with the modelled objects but even the supercomputers of the time were inadequate... could be time to revisit that.
Funny though, the argument, about processing power increasing faster than image resolution requirements, which would therefore gradually increase the practicality of more computationally expensive approaches to image synthesis as time went by, was one I made in my thesis proposal seminar. There was one guy on my committee who just couldn't seem to get that... he was thick as a brick and unfortunately also a dick.
As to those who've lost their email due to corrupted files... this happens to Outlook too. Just write a batch script to backup your mail folder once in a while. Problem solved.
This is one of my biggest worries about Thunderbird. To me it seems insane to store all the messages in a single large (huge?) file. First there's the problem of losing most of your mail, because one tiny section of the humongous file gets munged, something you may not notice for a substantial time and then have to go backup hunting. Then, for me at least, in the past it has been the case more than once that I found it very useful to be able to go into a mail directory and be able to see/operate upon the individual messages as individual files.
It can't be file space I mean let's see... suppose you have 100,000 mail messages and they are all very short and your file system is using 4KB blocks so you're losing almost 4KB per message... that's a whole 400MB of wasted storage. Peanuts. Make it a more likely 1,000 to 10,000 messages and it's completely negligible. And it can't be the time for directory access of individual files because that can be done at reasonable speeds.
I really don't get this. I mean don't people ever learn that trying to cram more and more functionality into one thing just ends up creating a bloated crappy mess that nobody wants to use?
Make Thunderbird a great mail reader. It's not bad now but there is obviously room for improvement. Forget about making it read news. Forget about making it handle RSS. And for god's sake forget about making it into a calendaring program. Sheesh.... just make it a great mail client. AND get together with the people who are interested in news readers, rss handlers and scheduling programs and create a standard so that individual programs for each of these functions can cooperate/inter-operate with each other.
Create a seamless (appearing at least) system where users can pick the RSS reader they want to use, the calendaring program they want to use and still have them work seamlessly with the mail program they want to use. Not a monolithic bloated unmaintainable monstrosity that is supposed to do everything and locks a user into only those ways of doing things. Haven't the experiences of the last forty years of software and systems design taught us anything?
You might instead try "In all cases of which we are aware, objects thrown off off a building have always fallen." is an observation. And a hypothesis is not derived from a theory. You collect observations (data), you hypothesize, you collect more observations (data) to check the hypothesis, then you may theorize and then forever after you look for observations which appear to contradict the theory.
One thing I noticed was that as an undergrad I was taught that, colloquially put, disproving something was as important as proving something novel. However as I moved higher up the academic food chain I found that not to be the case. It isn't hard to understand why, given the way funding and career advancement work in Western countries (the only ones I know about), but it's sad really.Mmmmm no, it is an observation that objects released above ground tend to move toward the ground below them (and if you looked closely you would see the ground moving toward the object as well). And Newton's theory is not a synonym for "gravity".
We should also teach our children that in science there are really no such things as facts, just observations. Part of the beauty of science comes from its humility. A good scientist never says "we know", he says "we think" or "our best explanation so far is" or "the theory that best fits the observed data is....".
Heh, reminds me of an announcement of some new labs and funding I saw on a bulletin board at one of the local universities a few years back. At the time the latest funding buzzword was "interdisciplinary" and I believe the "researchers" (names deleted below) on one project were all either dancers or choreographers. I wrote it down because... well that's obvious. An excerpt:
"...such as whisper, a joint project of [names deleted]. According to the researchers, whisper (wearable, handheld, intimate, sensory, personal, expressive, responsive system)* builds upon physical practices such as dance improvisation, manifesting cultural and scientific theories of embodiment to inform and to iterate sister methodologies in design, engineering and computing science. ..."
The announcement said the labs were also getting what at the time was a very pricey little item, a stereo lithographic printer (3D printer)... nothing in the description of the the labs even hinted at a good reason for having this item but I suppose it is possible there was a good reason for it. Any day now I expect to hear of the software engineering breakthroughs brought to us by modern dance, along with the scientific breakthroughs we've all been waiting for from the Social Sciences.
* As everybody knows picking a good acronym is the foundation upon which the roots depend so that the tree of funding can bear the rich fruits of good academic research.
the 'Nazi Socialist PC ball buster' only really exists in the minds of men who are insecure about their own masculinity
Two words(although there are many many many further examples if you want them): Andrea Dworkin
Having shown your claim to be false let me proceed to voice an opinion. To make a statement such as yours requires that the person making it is either honest but exists in a profound state of ignorance or is wilfully promoting an agenda through propaganda.
Time "slowing down" would simply mean clocks here running slower than clocks elsewhere. Personally I think relativity is much easier to understand if one stops thinking about time and instead thanks of clocks ticking. In fact the whole idea of "time" may be the single biggest obstacle to understanding what is actually going on in whatever this is we seem to inhabit.
I worked on contract for a while in a place like this before the dot bomb... bad atmosphere in general and having "the boss" watching over you at all times was really so great for morale. This is all about being able to control and make people more easily replaceable - welcome to your role as just another cog in the machine. The idea that creative work might require some privacy, peace and quiet etc. doesn't seem to matter to those who come up with these schemes.
The problem is not the user it's the device/manufacturer. I know this is /. but could the user bashing stop just for a bit? This is the same attitude that blames naive users for not liking Linux... after all everything is documented somewhere and they should know all that command line stuff anyhow right? Wireless keyboards are more than just a convenience, but even if that's all they were that is justification enough. Don't criticise the users, just make the damn keyboards work safely. Sheesh.
That sounds reasonable.
Does wilful stupidity have a moral component to it? Does wilful stupidity that (reasonably predictably) causes an expense to others have a moral component to it? How about taking actions with known consequences and then complaining about the consequences when they arrive?
Aside from the question of moral culpability there are questions of sympathy and resource allocation. Someone may do something that predictably ends with negative consequences for them. Should we feel sympathy for that person? Should we expend effort to protect them from their own behavior when the effort could be spent on protecting others from things that they could not reasonably have prevented?
Well when the rock absorbs that information it doesn't *do* anything with it. OTOH when we absorb that information by making an observation we might do something with it, such as check against other information to see if it is consistent. Put another way the universe wouldn't ("want to") tell us inconsistent things. Of course if you take that sort of view it could imply all sorts of other things, such as our universe being a construct of some kind.
For example some people believe we may be a giant simulation. As long as the simulation engine is processing rocks there is no need to collapse wave functions to specific values. But when the simulation engine is processing concious entities it needs to collapse wave functions to specific values because those entities are empowered to make use of those specific values within the simulation. Non-concious entities can be handled by coarse grain statistical methods (think levels of varying resolution) while concious entities may require extremely fine grain methods.
BTW so far every single post on this topic but one was modded to 5... come on.
consciousness does not have a privileged place in the universe that would fundamentally change the universe.
And you know this how? And btw there is, afaik, no serious contention that conciousness fundamentally changes the universe. The argument is that conciousness is part of how the universe works.
Google is doing this in Canada and is having to blur out people's faces etc. because it violates privacy laws.
Well since the currency difference has never been enough to justify a 50% markup, and hasn't been anywhere close to that for years, this seems a little extreme. The only difference with selling to Canada from the US is a little extra for shipping and *maybe* 2 minutes to fill out the export form but for low value shipments even that is nothing more than a little sticker. Let's call a 50% increase what it really is: gouging.
It seems to me that if you were looking for a language for mathematicians that it would be something that is syntactically very close to mathematical notation... APL was/is such a language, and with all the interactiveness of Basic... but mathematicians aren't using it in any significant number and never really did.
I don't remember the 4004 being all *that* primitive but perhaps I'm thinking of the 8008. But even the 4004 was easier to program than an old Univac machine I used that used patch boards to set up the program - LOL. Regardless I wasn't comparing the relative difficulty between the two machines. I was just making the general observation that people were able to put quite sophisticated software on very primitive machines in what today would be considered microscopic amounts of memory. As for Fortran that actually wasn't that hard to implement on the PDP-8, I was much more impressed with Algol was implemented. IIRC the Algol compiler was user contributed, in the DECUS catalogue, along with a lot of other sophisticated (for the time) user contributed software.
In fact DECUS may have been the very first organized attempt at general distribution of free and/or open source software.
In 1970 the PDP series from DEC, e.g. PDP-8, had an interpreted (and used interactively) language called FOCAL, arrays (even sparse ones), real numbers, usual math and other functions, for loops, if statements blah blah blah... all the usual stuff - the entire interpreter *and* runtime was programmed in a total of 2K instructions (and they were primitive instructions). That was normal for the time.
I don't know the details on the Alpha situation so I can't comment on that although I think their foray into RISC architectures was a mistake considering their strength had been CISC architectures.
The sorts of things I saw being a problem was their branching away from what they did best (scientific/lab/academic computing) into the Vaxen on one hand and into poorly executed micros (the Rainbow) on the other hand. The Vaxes were ok and may have paid off if things had been a bit different. I always thought Ultrix was a mistake they should have just supported BSD on the Vaxen as well as VMS (for the business users) of course. The Rainbow was too late to compete with the (genuine) IBM PC hardware and they weren't set up to compete with the profit margins which the clone makers were willing to get by on by the advent of the Rainbow. Their search site started off well and then faded away much like DEC itself - and DG etc.
I believe that for a while they were second only to IBM in size/sales. I think if they'd stuck with the smaller machines, gone with BSD and their various PDP-11 OS's then they might have kept the niche eventually taken by Sun.
DEC
Creator of the PDP series of lab computers that revolutionized scientific computing. Creator of the PDP-11 series which at the time was the best designed small machine on the planet. And so on...
Yes, they failed in the end but they did a hell of a lot before that. But why not tell us all how you exceeded Ken Olsen's performance nsaspook?
Now there was a great machine. And the available OS's were pretty decent too. Damn shame DEC managed to turn its enormous lead into nothing.
*Sigh* I wish that were true. I have spent the last 3 months fixing a complete pile of crap created by an "old hand" contractor. I currently work in a support section, so I know what needs to be done to make a product supportable. I'm not in favour of the latest programming fad, they really annoy me.
Well you know what? It is true. And since you aren't familiar with the people involved in the situation I described it seems strange that you would even try to comment on the truth of it. Sure an "old hand" can produce crap. So can a "new hand".
I'm sorry, but the kids Google are cherry picking aren't your stupid college code monkeys, they're kids who know their shit.
Yup and they are still, just as you say, kids. Do you think these "kids who know their shit" will stop knowing it as they get more experienced? Well neither did the kids from the previous generation who also knew their shit when they were young and who not only still "know their shit" but now have real experience to go with that knowledge.
All other things being equal the experienced person will do a better job than the inexperienced person. It's really just that simple and I usually find that someone downgrading experience is doing it because they don't have much of their own.
Well it seems to me that if it has an angle of divergence that gives it a one inch diameter spot at 100 miles then it will have a two inch diameter circle at 200 miles. So at double the distance it will have four times the area. What part of that doesn't fit into your understanding of the inverse square relationship?
Very nice response! I'm also a contractor and that has been my experience as well. Some other things...
The young are arrogant. That can be a good thing in that they will take chances others wouldn't. That can be a bad thing in that they will take chances others wouldn't.
The inexperienced may produce something that works. It isn't until five years down the road when someone wants to make a significant change to the product and finds it can't be done because of initial design decisions. So things have to start over from scratch.
The young will value the things they know and not the things they don't. Knowledge of the technical flavor of the day will seem more important than knowledge of design, engineering and management techniques... because the former is what they know and human nature virtually guarantees they will value their own strengths most highly. Hiring people with no experience to act in place of those who do have experience almost guarantees that they disrespect the voice of experience when they do come across it.
With few exceptions money is always in short supply. The pressure is always on to do things cheap and fast. It takes experience to know when it is important to resist that and when to just let it go.
I've had similar experiences to yours of course. Over the years one client had created a software disaster by hiring cheap (read as inexperienced) people to create their software. Then finally they were forced to hire me to replace it with something that actually worked. They loved the new system, got a lot more than they expected and were soon doing things they hadn't even dreamed of before. Of course it was expensive.
Now they are deciding to "save" by having untrained (literally) people in house doing extensions and modifications when they can. Of course, due to perpetual crisis mode and budget restraints, that will turn out to be the norm and it will seem like the smart thing to do. "$5K for you to do that little change or Andy does it for almost nothing? We'll let Andy do it." will become the pattern and it will seem to work for a while. Then one day years from now they will find they are screwed. But despite their own prior experience there is no way to convince them of that here and now, and young Andy once had a programming course so he knows he can do it. Sigh....