Techniques in problem solving appear to be a lot more advanced than knowledge of them, which is unfortunate given the growing list of problems that are critical in our everyday lives. I was lucky enough as a kid to have courses on problem solving and also to have a lot of personal reading on the subject. As an adult I am at times mystified when solutions that seem simple to me not only are not known, but people still don't do them even when given solutions that are easy, and easy to explain.
Like consider healthcare insurance which is big in the news a lot lately as well it should be. Healthcare costs are a growing cost of government, and they are spiraling out of control, where one major issue is insuring everyone.
Insurance companies don't want to insure sick people, or people they deem very likely to get sick.
People need insurance though and politicians try to force insurance companies to "insure" people when it really just becomes paying their medical bills as it's no longer insurance when you know the person is already sick, or very likely to get sick. Kind of like asking auto insurance companies to give car insurance to people after the car has been in a wreck.
Oddly enough, politicians seem intent on framing the problem as evil insurance companies, when the proper framing of the problem appears to be, who pays for people who are ill or likely to become ill.
Seem like a small shift? Not really.
I worked for a while at a corporation that had a health insurance company that third party administered its health insurance. So the health insurance company issued us their insurance card, but our company actually paid the insurance costs.
What makes that story even more remarkable to me was that I was working at an insurance company. Naively you might wonder why they didn't just do the insurance themselves, which I wondered. Turns out it was better business to let another insurance company do the administration, while they paid the actual money out.
So if the problem is who pays for people for whom "insurance" is the wrong word, simple answer I'd think is the government, but they still have the same insurance as everyone else, in that they get the same card, but are third party administered.
See? All that from properly framing the problem, but it gets better.
If health insurance companies only directly insure healthy people but everyone has the same insurance while the government just pays for some who are third party administered, then they have a business incentive to keep people healthy!!!
Wow. We just went from evil insurance companies that won't "insure" sick people to benefit partners who work to keep people healthy.
Can that system be gamed?
How? If health insurance companies can only directly bill healthy people what possible incentive might they have to, say, diminish their profit area by saying someone is not healthy if they are? And why would they claim someone ill is healthy? Then they're back to the issue they have today!
I've given more on the pluses and minuses with a full plan that I tweeted a while back and then expanded on one of my other blogs.
I tweeted it July 26th and put it on my blog September 9th, in 2009.
I've watched the healthcare debate with a lot of interest since then, and what is clear to me is that demonizing insurance companies is about asking them to not do the business of insurance, but instead engage in social welfare, without calling it such, when they can be valuable forces for good, by having a simple system that allows them to work hard to increase the number, yup, of healthy people who would be happily paying customers.
Oh, so what happens when a healthy person gets sick? Their insurance company pays to the limits of the policy. Beyond those limits that person gets paid for by the government, but they keep their insurance company which begins third party administration.
So is there some reason it would be really hard for third party administration on the national level? I'll admit, I do not know. Looking for web information on it, here's something I found on the Wikipedia, which I think can give an idea: en.wikipedia.org/wiki/Third-party_administrator
Oh, and what about government entities that already take care of people like Medicare and Medicaid?
Under this idea they'd no longer be necessary.
The government would pay for people who were third party administered and would collect their insurance premiums (yes, you'd still pay premiums if you could afford them), so the cost of administration would be shifted off of the government and onto the insurance companies, leaving the government to handle the social welfare role.
Leaving the business of insurance, to the insurance companies.
James Harris
Blog ran by me, James Harris. And I like to write. Where ideas rule. Mystery matters. Control must have its limits.
Translate
Monday, February 28, 2011
Thursday, December 16, 2010
Prime Counter
An early mathematical result of mine was my own prime counting function.
With natural numbers--means use ints or longs--where pj is the jth prime:
P(x,n) = x - 1 - sum for j=1 to n of {P(x/pj,j-1) - (j-1)}
It counts primes when n equals the count of primes up to sqrt(x), so if n is greater than the count of primes up to and including sqrt(x) then n is reset to that count.
To see an example of it used click here.
For say, the count of primes up to 100, if you tried P(100,10), the algorithm would reset n to n=4, so you'd have P(100,4), because there are 4 primes--2, 3, 5 and 7--up to sqrt(100), and the answer of course is 25. The algorithm is fairly easy to program.
An innovation of mine was to use a two-variable function where math people traditionally use a single variable one.
If you're curious about more of the underlying mathematics--warning is a good deal more abstruse--you can go to a post of mine on my math blog.
James Harris
With natural numbers--means use ints or longs--where pj is the jth prime:
P(x,n) = x - 1 - sum for j=1 to n of {P(x/pj,j-1) - (j-1)}
It counts primes when n equals the count of primes up to sqrt(x), so if n is greater than the count of primes up to and including sqrt(x) then n is reset to that count.
To see an example of it used click here.
For say, the count of primes up to 100, if you tried P(100,10), the algorithm would reset n to n=4, so you'd have P(100,4), because there are 4 primes--2, 3, 5 and 7--up to sqrt(100), and the answer of course is 25. The algorithm is fairly easy to program.
An innovation of mine was to use a two-variable function where math people traditionally use a single variable one.
If you're curious about more of the underlying mathematics--warning is a good deal more abstruse--you can go to a post of mine on my math blog.
James Harris
Labels:
number theory
Thursday, November 18, 2010
Design philosophy of Class Viewer
Class Viewer allowed me to put out my minimalist design philosophy. From the outset I wanted to stay away from feature-creep and lots of buttons or menus or all those other things that developers are notorious for tossing into projects. So much so that even as a tech-savvy person I'm amazed still when I can't use my cellphone well, without consulting a manual, which tends to be incomprehensible. I joke you need a college course to properly use one of these things. (Of course modern kids seem to just inhale them, but they're genetic mutants who have evolved to use modern technology.)
So Class Viewer is designed to be a user friendly as possible--for real, not just saying it is.
Actually I wanted to toss menus entirely but found I couldn't, but I could deliberately break the traditional set of menus across the top!!!
The two window groups design was deliberate as well. My idea was of a larger dataset to your left, which you refine to a simpler set of data to your right. The program is focused around methods, so they can fill the left window, with results in the stacked windows on the right.
Of course I also wasn't excited about trying to put out a lot of languages for what I'd hope would be a useful app--there are too many around the planet and I just really know English--so I like to think that if you're shown how to use Class Viewer, you can use it in any language, and in fact downloads now come from roughly 30+ countries per seven days, according to SourceForge statistics, so maybe I achieved that goal.
So the simple answer to the design philosophy of Class Viewer is, simplicity.
James
So Class Viewer is designed to be a user friendly as possible--for real, not just saying it is.
Actually I wanted to toss menus entirely but found I couldn't, but I could deliberately break the traditional set of menus across the top!!!
The two window groups design was deliberate as well. My idea was of a larger dataset to your left, which you refine to a simpler set of data to your right. The program is focused around methods, so they can fill the left window, with results in the stacked windows on the right.
Of course I also wasn't excited about trying to put out a lot of languages for what I'd hope would be a useful app--there are too many around the planet and I just really know English--so I like to think that if you're shown how to use Class Viewer, you can use it in any language, and in fact downloads now come from roughly 30+ countries per seven days, according to SourceForge statistics, so maybe I achieved that goal.
So the simple answer to the design philosophy of Class Viewer is, simplicity.
James
Labels:
behind the scenes,
project
Monday, September 27, 2010
Class Viewer 5.0 Beta
There is a fairly stable beta version of Class Viewer 5.0 now available on SourceForge. So I think I should say a bit about what's happening under the hood.
First I've done a few clean-up things trying to make the app a bit easier to use and also help it look the same across platforms, so now it will tell you where it's looking for packagedirectory.xml if it can't find it. So you can put it where the app is looking. It is supposed to be looking in the directory from which you're running the program which works fine on Windows, but I'm seeing it do something I think slightly different on Linux.
Oh, yeah, so the app can work just fine across platforms as it is a Java app, but I'm more certain about what it's doing on Windows. So feel free to download it for whatever, but you may have to tweak a few things, but that should be fairly easy.
One thing I've done is fix the math on sizing the screen regardless of resolution so that the app should look roughly the same across resolutions. I'm testing on multiple machines now, more so than before, which is how I even noticed a problem. Freaking thing was giant on the machine I have running Ubuntu Linux.
Biggest change justifying an advance to 5.0 is that I've added in the ability to go to an actual Java file to the method, which I think is cool. So now instead of going to javadocs to the method, if the file is on your hard drive you can open it up and go to the method, if your text editor supports accepting a line number when called, and gedit does so I've defaulted to it.
If your text editor does not support going to line number then the program will just give you the line number of the method before opening it up.
But is that feature useful? I need it. So it's useful to me. Now I can use Class Viewer to open programs I'm working on, which right now mostly means, Class Viewer itself! I think that's sort of neat. And it has been fun doing more programming in this way after so many years. I kind of like, sort of miss it, but not ready to go back into the professional grind with it.
You can download from the main Class Viewer page.
And again, if you're not on Windows it should be easy enough to get it to work on your system without a lot of effort, but I'm just putting it out there for Windows now because that's easier for me.
James
First I've done a few clean-up things trying to make the app a bit easier to use and also help it look the same across platforms, so now it will tell you where it's looking for packagedirectory.xml if it can't find it. So you can put it where the app is looking. It is supposed to be looking in the directory from which you're running the program which works fine on Windows, but I'm seeing it do something I think slightly different on Linux.
Oh, yeah, so the app can work just fine across platforms as it is a Java app, but I'm more certain about what it's doing on Windows. So feel free to download it for whatever, but you may have to tweak a few things, but that should be fairly easy.
One thing I've done is fix the math on sizing the screen regardless of resolution so that the app should look roughly the same across resolutions. I'm testing on multiple machines now, more so than before, which is how I even noticed a problem. Freaking thing was giant on the machine I have running Ubuntu Linux.
Biggest change justifying an advance to 5.0 is that I've added in the ability to go to an actual Java file to the method, which I think is cool. So now instead of going to javadocs to the method, if the file is on your hard drive you can open it up and go to the method, if your text editor supports accepting a line number when called, and gedit does so I've defaulted to it.
If your text editor does not support going to line number then the program will just give you the line number of the method before opening it up.
But is that feature useful? I need it. So it's useful to me. Now I can use Class Viewer to open programs I'm working on, which right now mostly means, Class Viewer itself! I think that's sort of neat. And it has been fun doing more programming in this way after so many years. I kind of like, sort of miss it, but not ready to go back into the professional grind with it.
You can download from the main Class Viewer page.
And again, if you're not on Windows it should be easy enough to get it to work on your system without a lot of effort, but I'm just putting it out there for Windows now because that's easier for me.
James
Saturday, August 07, 2010
Scan to Post Office idea
Problem solving is just fun as an exercise and it seems to me that it's useless for me to work puzzles--man-made problems--as I'm just not good at them, and so hate puzzles, but I love real-world problems.
And the US Postal Service is in the news a lot these days about huge losses, as they try to adjust to the changes brought on by the Information Revolution, where people just don't physically mail as much these days, and I came up with a simple idea--which I have sent to them--which is to allow people to scan a letter at one post office, which is printed out, put into an envelope and physically mailed out from another, closer to the letter's destination.
So the idea simply removes physical transport of the letter between post offices, having it go through cyberspace instead to then be printed out and delivered like a normal letter.
And you may think, why bother? Why can't someone just email or fax the info then?
What if they can't, for any number of reasons? Like not giving their email address? Or not having one for the destination? Or not having a fax number, or not having someone who can accept email or faxes?
Or even better, what if they need a postmark date on the letter? Or proof of delivery?
Problem solving can be about abstracting benefits, and if you think that getting a letter from the postal service is just about the information in the letter, then yeah, email covers that, but if you say, but wait, there's more! Then you can see the postal service gives BENEFITS beyond just the information within a letter, like a postmark date.
Postal services then need to shift in the new world by figuring out all the benefits they give, like the postmark date. I'm sure there are many others that are not covered by things like email and fax.
What I'd like would be to be able to mail a payment for a bill where I can't do that payment online in this way, where I go to the post office and scan in the bill, so that I could avoid late fees or worrying about whether or not the letter would make it on-time. Oh, with that variant on the idea, you'd buy a postal money order--probably with a debit or credit card--for the the amount of the bill, and your bill would be scanned to the closest post office to its destination, printed out, and a money order printed out with it, and inserted along with it to be physically mailed to its destination.
The postal service then saves money on physical transportation of the mail, and can charge full price for the cost of the service, which can be a benefit to consumers, who need a physical letter to arrive fast.
And that is a problem solving exercise for the postal service.
And as it IS an exercise I'm not saying it's THE answer, but I think it's worth putting out there along with whatever other ideas are floating around.
Note, any postal service in the world, of course, can use the idea. It's open source!
Which means free as long as I'm given attribution as the source. Though hey, if someone else had it before, good for that person! It's not like it's a complicated idea, but at least at this point as far as I know, it's an idea original to me.
And I say, real world problems are lot more fun than man-made puzzles.
James Harris
And the US Postal Service is in the news a lot these days about huge losses, as they try to adjust to the changes brought on by the Information Revolution, where people just don't physically mail as much these days, and I came up with a simple idea--which I have sent to them--which is to allow people to scan a letter at one post office, which is printed out, put into an envelope and physically mailed out from another, closer to the letter's destination.
So the idea simply removes physical transport of the letter between post offices, having it go through cyberspace instead to then be printed out and delivered like a normal letter.
And you may think, why bother? Why can't someone just email or fax the info then?
What if they can't, for any number of reasons? Like not giving their email address? Or not having one for the destination? Or not having a fax number, or not having someone who can accept email or faxes?
Or even better, what if they need a postmark date on the letter? Or proof of delivery?
Problem solving can be about abstracting benefits, and if you think that getting a letter from the postal service is just about the information in the letter, then yeah, email covers that, but if you say, but wait, there's more! Then you can see the postal service gives BENEFITS beyond just the information within a letter, like a postmark date.
Postal services then need to shift in the new world by figuring out all the benefits they give, like the postmark date. I'm sure there are many others that are not covered by things like email and fax.
What I'd like would be to be able to mail a payment for a bill where I can't do that payment online in this way, where I go to the post office and scan in the bill, so that I could avoid late fees or worrying about whether or not the letter would make it on-time. Oh, with that variant on the idea, you'd buy a postal money order--probably with a debit or credit card--for the the amount of the bill, and your bill would be scanned to the closest post office to its destination, printed out, and a money order printed out with it, and inserted along with it to be physically mailed to its destination.
The postal service then saves money on physical transportation of the mail, and can charge full price for the cost of the service, which can be a benefit to consumers, who need a physical letter to arrive fast.
And that is a problem solving exercise for the postal service.
And as it IS an exercise I'm not saying it's THE answer, but I think it's worth putting out there along with whatever other ideas are floating around.
Note, any postal service in the world, of course, can use the idea. It's open source!
Which means free as long as I'm given attribution as the source. Though hey, if someone else had it before, good for that person! It's not like it's a complicated idea, but at least at this point as far as I know, it's an idea original to me.
And I say, real world problems are lot more fun than man-made puzzles.
James Harris
Labels:
business,
marketing,
out of the box,
problem solving
Subscribe to:
Posts (Atom)