Chouyu

[info]chouyu_31


The ravings of a sane person.

Sometimes filled with information.


Rights in the digital age...
Chouyu
[info]chouyu_31
Let's imagine for a moment that you wrote a song. Let's also imagine that you distributed it under a license that allowed the free copying, modification, and redistribution of your song - under the requirements that you be listed as the original author (something like Creative Commons). You did this so that people could enjoy it freely. You also put a donate button on your web page, because hey, getting a couple $ for your work is awesome.

Let's go a step further and say that someone looked at your song, thought "hey, that's not bad." They create a new version of your song whose modifications are to include an intro "This is Jazzy Jack coming to you with Joey Finch's new single, 'My Rubber Ducky Squeaks'", and to add a bass drum kick that seemed to be missing at the end of the track.

Now, because Jazzy Jack is an enterprising fellow, he's done this with hundreds of songs, collected them at his web site, offers them all for download, and scatters donate links everywhere.


Technically speaking, Jazzy Jack has done nothing wrong. But can you see where Joey Finch might feel a little...sad? Maybe a bit angry? Can you see how Joey Finch may feel as through he's being ripped off, and feels as though Jazzy Jack is ripping everyone off (both the producers and consumers)?


I do, because the exact same thing happened to me, only with software. I managed to get them to take PyPE down, but only by being an asshole. See https://sourceforge.net/projects/pype/forums/forum/291132/topic/3521260 .

Aside from the obvious feelings of being stolen from, there is one other thing that really pisses me off about the situation. While seeming to adhere to the letter of the license, winpenpack.com is violating the spirit of the GPL and Free Software. The spirit of Free Software is to help Free Software grow; that modifications can be contributed "upstream" and that the whole community can benefit from those changes (this is part of why source code to modified software must also be provided, as per the GPL). winpenpack.com has done nothing that can be passed to any of the original authors and integrated with any software they are modifying and distributing. They are doing nothing for the Free Software community, except taking money for the distribution of software they had no part in developing.

With every problem, there is a solution. I have one. Do you have some time, talent, and want to help?
Tags:

Consumer electronics rant
Chouyu
[info]chouyu_31
One of the things that has come to annoy me about consumer electronics is how the products will be *almost* what I want, but then miss some crucial bit.


I've been wanting a 1080p projector for a while. Why? Because it would be a far more efficient use of space, power, and money than an equivalently sized television. The problem? Up until very recently, there was no such thing. You could get 1024x768 projectors for a decade. And recently, 720p can be had for around $600-700. Finally my cries of "give me a decent projector" have been answered, and a 1080p can be had for about $1000. Great! Except that it's $1000, and the replacement bulbs are like $250. :(

Moving on from that, there are various DIY methods that use something like what you can get http://diyprojectorkits.com/ , or taking a display panel and adding it to an overhead projector like http://www.tomsguide.com/us/supersize-your-tv-for,review-342.html . The problem? The "build yourself a box" method is (in my opinion) ugly, expensive, and wastes space. The overhead projector is a great idea, but a 15" lcd does not fit width-wise on the "staging area" of the largest overhead projector that I've been able to find (11 1/4" square, but the 15" panel really requires 13.4" wide, which drops a little over 300 pixels on the left and right sides). Even worse, most overhead bulbs are rated for 40-80 hours, or roughly $.15/hour to operate. A person can convert overheads to use Metal Halide lamps with 1500 hour lifetimes. Reasonably priced projection TV? Nope. :(


Early-on in my looking for an LCD that offers high enough resolution for a DIY projector setup, I discovered that consumer 15" panels only do 1024x768, 17" gets you 1280x1024, ... The 15.4" panel that is being sold at http://diyprojectorkits.com/ looks to be a replacement panel for a high resolution laptop, like the Lenovo Thinkpad T61p. It seems strange to me that people don't want high resolution displays. More pixels = more information = more productivity.


I would also like some portable data storage so as to attempt to separate my work and personal life. Easy, right? I've already got a couple 750 gig external drives, and a couple spare external enclosures. Should be straightforward. Except that they all use rotational media at present, the external enclosures all use additional power supplies, and one of the 750 gig external drives has actually died on me after about 30 hours of use. Ok, so I have another requirement. Because it's portable, I want it to be more rugged, and not use an external power adapter. I've been thinking that a solid state drive with a USB interface would be perfect. They use so little power, it shouldn't need an external power adapter. Sure, they wouldn't be as cheap as standard rotating-disk drives, but they might actually survive basic usage scenarios, and I don't need huge amounts of storage (64 gigs is sufficient). The problem? They run around $350. You can buy 64 gig notebook SSDs for $150-175; why does it cost an extra $200 to attach a USB interface to it?

Ok. Looking around, it would seem that $20 USB 2.5" enclosures can handle up to ~5W of power without an external power source, and SSDs seem to pull under 2W, so that shouldn't be an issue. I will probably pick this combination up, but it should be pre-packaged without the crazy markup.


P.S. As an aside, I've read some "how to optimize your SSD" documents online, and one of them was so much BS, I just had to share. Go here: http://www.ocztechnologyforum.com/forum/showpost.php?p=300846&postcount=3 Have you read it? Ok. A little education first.

Your computer uses RAM as a method of storing information so that it can quickly be accessed by your Processor. More RAM means you can do more things at one time, because your computer doesn't need to read as much stuff from your (relatively) slow Hard Drive when it is necessary.

Your computer also uses what is called a "swap file", so that if/when your programs use more RAM than you actually have, instead of getting an "out of memory" error, it writes some recently unused stuff to your Hard Drive, then uses that now freed RAM for other tasks.

That article is telling you to reduce the amount of RAM in your computer, in order to move the swap file into RAM. At best, this does not help, and is equivalent to turning off your swap file. At worst, you are pointlessly moving data between your in-RAM swapfile and the rest of your RAM, which *will* slow down your computer compared to either not using any swap file at all, or even using a moderately sized swap file.

What's really silly is that the advice is given under at least two other known false beliefs. I'll not go into it, but your 32 bit operating system can only see 3.25 gigs of the hardware's 4 gig maximum. This guy thinks that if you get 4 gigs in your machine, you'll be able to use that lost .75 gigabytes as a swap file. That is not the case.

Further, he thinks that moving the swapfile off of the SSD will increase it's lifetime. That may be the case, but in real-world scenarios you're not going to ever notice any difference. Why? If you have a 64 gig SSD, and you write/rewrite the drive at full speed (I'll call it 250 megs/second, which is the maximum write rate of the high end drives nowadays) 24 hours/day (which is 21.6 Terabytes/day, incidentally), your drive will last *at minimum* one year, with the 100k write cycle spec that is provided. However, unless you are downloading a huge amount of data daily (which won't be written to the SSD), typical users are probably writing to a disk something under 5 gigs/day, even under heavy use. That means that the drive will last over 10 years, assuming that they last to the minimum specification. In practice, these drives have been independently tested to last 3-5 times their rated specification, which will result in a typical 30-50 year lifetime. But, even if you reach the end of their lifetime, the only change is that you will no longer be able to write to them. You'll still be able to read them... as long as you can plug the device in.

So sit back, relax, and if you find that an SSD is what you want (in terms of performance, capacity, etc.); don't worry about it's longevity. You'll be replacing it with a higher capacity faster version years before it will stop allowing you to write because you've already written too much to it. Also; you don't really need to defrag a SSD drive. :D
Tags:

PyPE 2.9
Chouyu
[info]chouyu_31
It's been a couple years, but I just released PyPE 2.9. It's got features and bugfixes that I've been developing over the last 2 years, many of which have been in the subversion repository since May. Windows binaries and source distributions can be found in the normal place: sf.net/projects/pype .

Obviously it's been a while since I've done a release at sourceforge, and I am not a fan of the new method.

(no subject)
Chouyu
[info]chouyu_31
Pardon me for a moment while I do a bit of ranting on web templating.

Generally speaking, when you are building a dynamic web page (it is rendered based on information from a database, user input, ...) the standard mode of thinking is that you should separate your application and business logic from your templates. Why? Because embedding what your application does as part of rendering the html generally causes some nasty issues that all come together to make code unmaintainable.

Recently, I've been doing a small bit of paid ColdFusion* development as a favor. ColdFusion was a language designed, more or less, to give web pages the ability to fetch and render information from a database. More recent versions have thrown in the proverbial kitchen sink, offering most of the operations one could expect from a full-on programming language, including (from what I can tell) the use of java libraries, calling out to the command line, and reading/writing files.

Personally, I can see the desire to want to quickly fetch data from a database to display. But that's a slippery slope; soon you'll be accepting form variables, storing the data in the database, ... What was once a simple "oh, we'll just be displaying some data" soon becomes a full on application. And because of the ... ugliness of an xml-based programming language syntax, everyone's productivity dealing with it goes to crap.

PHP is another one of these languages. On the upside, at least it doesn't use XML (similar to C++). The downside is that everyone and their brother thinks that they know php, so everyone is writing a huge amount of crap php web pages, and I've so far not heard of anyone not embedding everything in php (though at least it's got Smarty and other validation toolkits).

There's also JSP, ASP, ... which use templates very similar in syntax to PHP with different languages.


Other templating languages, like Cheetah and Spitfire, allow the "do everything in the template" technique, but both (as well as pretty much all Python-backed templating languages) require the use of a parent server that commonly handles form validation, database/object manipulation, etc. Heck, in the Cheetah and Spitfire I have my fingers in, the act of doing anything related to the database in a template is publicly shamed.


Please make Josiah happy, separate your web application code into layers:
* database code (this actually makes database calls)
* object logic (you can combine this with database code with an ORM, but those usually produce *insane* database schemas ... though Google's appengine does this really nicely)
* business logic (this can be combined with object logic in most situations, or at least hang out in the same files)
* server logic (this should always be separate from all other layers)
* templates (this should perform basic rendering operations on pre-populated objects)

It's not just a different design to be different, it's a different design to make your application maintainable in the future.

Thank you.


* ColdFusion was developed by the Allaire brothers, at least one of which went to Macalester, which is my alma mater.

Halloween...
Chouyu
[info]chouyu_31
Ok, so I've been really lazy about uploading pictures, and I've been busy as hell, but this is what I did Halloween weenend: http://blasphemina.livejournal.com/985144.html
Tags:

(no subject)
Chouyu
[info]chouyu_31
Over the years I've watched a lot of movies. Some years more than others. For quite a few of them, I collected the ticket stubs for the ones I've watched in the theater, and stuck them to the wall. Whenever I moved, I'd have to pull them off the wall, stack them chronologically, and re-stick them in the new place. I stopped the ritual of attaching them a few years and moves ago, but I still collect the stubs. If you ask me to explain why, I won't be able to.

It's not uncommon in my movie watching experience to more or less enjoy a film, but not think it's special. Some I will laugh continuously, but still not think it's a great movie. I've watched action, horror, drama, romance, comedy, foreign, and any number of combinations of all of them. My top 10 list of movies include Amelie, The Big Hit, the first two of the Alien series, and perhaps a few movies some of you have or have not seen. I do have a soft spot for movies in which characters fall in love, because ultimately, I'm a total softie at heart. In the past months, thanks to my girlfriend, I've been watching quite a few romantic comedies, plain romance, etc., many of which I've enjoyed.

Tonight I watched a movie that felt like it really portrayed what it is like to fall in love as a 14-22 year old kid. The mannerisms, thoughts, dialog, ..., all remind me of how I behaved during those years in the pre/early stages of relationships. The awkwardness, the crush, the not knowing how to talk to them, the flirting, the ... everything. It reminded me of a time when I was younger, when life was a bit simpler. It felt true to me, despite the fact that it was about two girls. "The Incredibly True Adventure of 2 Girls in Love" has warmed the cockles of my heart, and found it's way onto my top 10 list.
Tags:

Borrowing money...
Chouyu
[info]chouyu_31
I'll get to writing about my vacation soon, but in the mean time, I thought I would share an experience that I had when visiting Wells Fargo recently.

I had a desire to borrow some money from Wells Fargo so as to purchase something that I was interested in. I figured that with my good credit, stable job, and my doing business with them (for almost 10 years, including direct deposit of my paycheck for 7 of that) that I'd be able to get a reasonable rate. While I had the cash to purchase the object outright, the purpose of getting a loan was to allow myself more flexibility; if something bad happened, then I would continue to have cash on hand to deal with the emergency. But the bank thought otherwise.

For an unsecured loan they were offering something like 12.65% interest. What? Seriously? My credit cards do better than that for convenience checks. But what about a secured loan at 7.65%? Well, about the only thing I have are investments (which they can't secure) or my cash...but then they would take that cash and lock it up until the loan was repaid. Um...no? You hold onto my money (making interest on it) while you borrow money from the fed at 0% to loan me at 7.65%? I don't think so.

A credit union will do better, but not nearly as well as I believe is reasonable.

My proposed solution? A new credit card with 12-month 0% APR on balance transfers and 3% fee. So as long as I keep moving money around yearly, I can effectively get ~3% APR through a credit card. Yes, I did look at prosper.com and lendingclub.com, both of which seemed to offer unsecured rates as low as 7% or so, and the feel-good factor of regular people making money and not some board of trustees that made bad decisions in the last decade. We'll see how it plays out.

But really banks? Really?

Using numbers to shoot down another neocon talking point
Chouyu
[info]chouyu_31
Update: a friend has pointed out an error in my math, read the comments for better math. The spreadsheet has been updated. Also, the US is still behind.

Recently, I've heard some very poor arguments about why birth and death rate statistics make the whole "life expectancy" number not comparable from country to country. This is, obviously, an attempt to claim that the current US health care system is at least as good, if not better than, those countries that do better in life expectancy for less money. Before I get into proving them wrong with numbers, I'll point out that the people making these arguments are likely in one of two camps. Either they are "true believers", that is, a group that believes counter-arguments to something they dislike, regardless of how little proof there is, because "the enemy of my enemy is my friend", and quite possibly because their world-view is tied up into their beliefs (as opposed to reality). Or they are "mouthpieces", that is, a group of people who know the arguments to be false, yet still use them as an attempt to derail policy or conversation about policy through misinformation.

To get deeper into what birth/death rate statistics I'm talking about, the claim is that because of the higher US murder rate, and because we consider "live" much smaller premature births in the US, that our life expectancy numbers are unfairly biased downwards, so comparisons against health care are not comparable by using life expectancy. I intend to show that murder rates and infant mortality rates make little difference in the numbers, so the claim of not being comparable due to those numbers is bullshit.

First, we will start with a "nominal age", that is, an age at which we assume everyone dies if they aren't murdered or die in childhood. It turns out that, thanks to statistics, this works the same as if there was a more complicated distribution that just happened to average out to 80 years old. I use 80 because life expectancy for industrialized nations is about that, but we can use any age; the only difference is that higher ages scale the difference between the nominal age and expectancy up.

We will then have a "homicide rate", that is, the number of murders per 100,000 people. When we perform the calculation, we will assume that all people are murdered when they are born. This biases the calculated pseudo "life expectancy" number down, but because we'll do this for all countries we calculate, this is fair. We get these numbers from: http://en.wikipedia.org/wiki/List_of_countries_by_intentional_homicide_rate

We have an "infant mortality rate", that is, the number of infant deaths per 100,000 people. We obviously assume these children die when they are born. We get these numbers from: http://en.wikipedia.org/wiki/List_of_countries_by_infant_mortality_rate

We will also, for the sake of argument, replace "infant mortality rate" with "under-five mortality rate", also getting these numbers from: http://en.wikipedia.org/wiki/List_of_countries_by_infant_mortality_rate

We also need "birth rate", so as to determine how much "infant mortality rate" and "under-five mortality rate" affect our statistics. We get these numbers from: http://en.wikipedia.org/wiki/List_of_countries_by_birth_rate

This stuff should be used as reference, please see the comments for better math, which still shows the US behind.

First, we are going to find out the proportion of the population that is murdered. That is simple; we take our "homicide rate" number, and divide it by 100,000. In the case of the US, that is 6.8 / 100000 = .000068 . We'll call this h_prop.

We then find out the portion of the population that is born in any given year. For the US, that is 14.0 per 1000 population, which we can scale up to 1400 per 100,000 population (to be consistent), which we then scale back down to .014 . But, we need to know how many of these children die before their time. In the US, the infant mortality rate is 6.3 per 1000 live births, or .0063, which we multiply by .014 in order to get the actual proportion of our population that dies as an infant; .014 * .0063 = 0.0000882 , we'll call this im_prop. Doing the same number for under-five mortality gets us 0.0001092 , we'll call this ufm_prop.

We now have enough numbers to do our calculations.
age * (1.0 - h_prop - im_prop) -> ifm_exp -> life expectancy assuming only infant mortality and murder.
age * (1.0 - h_prop - ufm_prop) -> ufm_exp -> life expectancy assuming only under-five mortality and murder.

80 * (1.0 - .000068 - .0000882) = 79.987
80 * (1.0 - .000068 - .0001092) = 79.985

Looking at the worst-case under-5 mortality rate, (80-79.985)*365 = 5.17 days. Yep, the homicide rate in the US combined with under-5 mortality rate, assuming that murders happen when a person is born, adds up to a change in life expectancy of 5.17 days.


I created a google spreadsheet, which you can view and make a copy of if you have a google account, which will perform these calculations for you: https://spreadsheets.google.com/ccc?key=0AiQlFAGAyO9SdEdaUm9zVnNVY1J0Q1JMMGJLT2xZcFE&hl=en


As I just showed you, using simple math, the argument that birth/death rate statistics make the numbers not able to be compared from country to country is just plain bullshit. Making claims of them being not comparable and not running the numbers is at best lazy, but really, it shows how little some people care about actually making this an argument about apples vs. apples. This is apples vs. death squads, apples vs. murders, and any other nonsensical comparison that can be done to derail the real discussion; health care in America could be better, and it is shameful that people are making arguments based in obvious lies, especially when the lies hurt people who aren't getting health care (you know, the 30 million people without health insurance). Shameful.

Update: a friend has pointed out an error in my math, read the comments for better math. The spreadsheet has been updated. Also, the US is still behind.
Tags:

my morning, aka health insurance fail vol. 2
Chouyu
[info]chouyu_31
As posted, yesterday I jumped through a few hoops just to be told that I wouldn't be covered when visiting 2 different urgent care facilities.

Today, it was much of the same. Upon arriving at the physician's office, I started filling out a medical questionnaire while they took my insurance card and driver's license. I'm not half way done with filling paperwork out before I am told that they don't take HMOs. What? This place, however, offers to take cash for the visit. I say that I will be seeing the doctor, but that I'm going to call my provider to get them to cover me.

With a pen in one hand to continue filling out paperwork, I dial my provider's phone number. Bullshit annoying voice prompts (that are very hard with my messed up voice) lead me directly to a woman. I give her the short version of what I went through yesterday, and explain that I need to see a doctor. I say that since I'm already at a doctor's office, am already filling out paperwork, and that they had *already* wasted 2 hours of my time the day before, I'd like to be covered. She refuses. She says that since I was informed prior to my actual visiting of the doctor, I know the situation, and wouldn't be covered. WTF? They sent me here, and now they tell me it's *my* fault for coming here? I ask to speak to another representative. She says that I need to hang up and call again.

So I call again. After giving the short version again, with an acknowledgement that my experiences with her company have been less than satisfactory, I explain that I know she can do some magic and get my office visit covered today, even if it wouldn't normally be covered, because they repeatedly messed up. After giving me a bit of attitude, saying that I wasn't asking a question before, so didn't know what I wanted (I want to see a doctor, preferably the one whose office I'm in - it shouldn't take for me to *ask* to be covered for that to be obvious), but now that she did know, would enter a note that they would be covering it. She then asked to speak with the people at the office to tell the office how to bill the insurance provider.

So I hand my phone off... and the physician's office woman proceeds to argue with the insurance provider woman about whose fault it is that I'm standing there and they have to talk to each other. Apparently the doctor has called both the medical group *and* the insurance provider more than once (I believe "dozens" was stated) to get them off, but they keep sending him people. After a few minutes, some information is written down, I'm asked if I wanted to talk with the woman on the phone. I decline, and that's it.


After a 5 minute wait, I get to see my doctor. I explain the situation, he listens to my lungs (clear), looks in my ears (clean), checks my throat (irritated), gets my temperature (99.8, slight fever), and does 3 nasal swabs (a little uncomfortable, but not bad). They are going to be doing a culture to check for flu A, and if that's positive, sending it off to Atlanta for testing for H1N1. I am to call them on Friday to find out, but just to be safe, I was given a prescription for Tamaflu, and told to stay home.


A bit of clarification is in order. The young lady I mentioned had spent time in the hospital for H1N1, turns out she just had the regular flu. Hrm. I could have sworn it was the pig death. However, even finding this out, the fact that I was unable to see a doctor, despite invoking the specter of H1N1, is preposterous. Never mind the fact that even showing up to the office that I was directed to by my insurance provider, I was told I wasn't going to be covered.

I say again, something needs to change. And I will reiterate that if you don't believe that the US system of medical providers and insurance needs to change, then you are an idiot.

my afternoon, aka health insurance fail
Chouyu
[info]chouyu_31
Around 2:45 I went to the Blue Shield of California web site and logged in, looking for urgent care facilities. Why? My girlfriend and I seem to be infected with some flu variant, and being that we both spent some time with a young lady that was in the hospital for H1N1, *and* that my girlfriend is leaving the country next week, we wanted to make sure she wasn't infected.

So I find a facility, conveniently located 1.5 miles away from my apartment. Great! So I go there. I was told, "not covered, call your provider."

So I sat in the parking lot and called my primary care physician, around 3PM. I was told that my primary care physician was in downtown Los Angeles, but that I couldn't see him, because he wasn't taking any new patients, and neither were any of his partners. I asked about urgent care facilities, which were in downtown LA or Pasadena. Those are 30-45 minutes away, without traffic. WTF? I had originally set up a primary care physician in Santa Monica, maybe 15 minutes from where I worked, but they switched me automatically for some strange reason.

A few months ago when I was bitten by a dog, I also went to an urgent care facility. I got a bill in the mail a couple weeks ago explaining that I wasn't covered because I want to a location that wasn't covered under my insurance. Again, a location that had been given to me by the insurance providers' web site.

So I call up the insurance provider, they tell me everything I already know. I then ask if there was a method by which I could go to an urgent care facility somewhere near to where I live, while also getting a primary care physician that would be reasonably close to where I live. She said that she could find a new group and a new doctor for me. Great.

At 3:30 I got off the phone, with information about a new doctor, and the address of an urgent care facility that takes walk-ins that was covered under my medical group. The lady on the phone said that if the provider needed confirmation that I was covered, that they could call them and they would fax over confirmation. Wonderful. So I drive to El Segundo and present my information.

At 4:30 I'm asked to the front desk. I'm told that my insurance company redirected them to my primary care physician (wtf happened to the faxed authorization?). My primary care physician's medical group doesn't contract with any urgent care facilities, despite the fact that 6 are listed on my insurance company's internal database as being contracted with that medical group. WTF?

So I talk with the front desk person at my primary care physician's office, and I get an appointment for 9AM tomorrow. Which, in my opinion, is preposterous.

The moment I mention that I've spent time with someone who spent time in the hospital for H1N1, they should be working hard to take care of me so I don't accidentally infect people. Instead, I'm told to not let the door hit my ass on my way out, and when I call up my insurance provider to explain the bullshit I've just been subjected to, I am told a lot of stuff I know. She calls up the urgent care facility and discovers that they don't contract with any HMOs, and says that she'll update the database so this doesn't happen to others. I explain to her how I got to the first urgent care facility in the first place, and she tells me that I should have verified the medical group at the urgent care facility I wanted to go to.

Wait, what? Your computer knows what group I am in. Your computer knows where I'm searching around. Your computer can't filter the list of the "thousands" of providers down to just those I can visit and be covered by? The mind boggles.


I'm certain that my experience is not unique; I remember having to jump through similar hoops to get Annie a primary care physician in a network with an OB close to where we lived.

To those people who don't believe that something needs to change with health care in America: you are idiots. I just spent 2 hours finding out that I can't actually see a physician today, unless I walked into an emergency room and waited 4 hours. Mind you, I have insurance, and/or could pay cash for any conceivable procedure they would perform on me today. But the two facilities I walked into today outright refused to treat me.


For reference, I'm with Blue Shield of California, and I have an HMO plan. I chose HMO because it limits my personal liability if, for example, I were to be severely injured in a car, motorcycle, surfing, skateboarding, ... accident. While I don't expect to be severely injured, I participate in at least 3 activities where severe injuries are not uncommon.