Breastfeeding = Child Porn?

Just checked in at Kuro5hin, which is not on my daily rotation but probably should be. One of the topics being discussed there was an article from the Dallas Observer regarding a family charged, essentially, for generating child pornography for taking pictures of their one-year-old child breastfeeding from his mother. Child protective services have taken the children from the parents, immigrants from Peru, and, as far as the article knows, still has them in their custody.

Where to begin. First off, the notion that a child suckling from his mother’s breast can be considered a sexual act, as charged by a Dallas County grand jury, is straight out ludicrous. The question of whether such an act can be used to satisfy the sexual interests of an individual viewing it is really irrelevant – seeing as just about *anything* can satisfy at least someone’s sexual interest (there’s literally a fetish for everyone), we’d pretty much have to make everything illegal. While it is odd that they had the child suckle despite the fact that he has been weaned, the boy was still an 18-month-old infant. I think this is still within the social acceptability of being young enough to breastfeed.

The pictures weren’t posted anywhere for public consumption – heck, the parents hadn’t even had a chance to see them. An employee at the place where they had the photos developed viewed them as suspicious and called it in (yet another reason to go digital, folks). That’s actually a responsible and commendable act, if you want the truth. The harm that can come to minors by adults preying on them sexually is devastating, and no one should sit idly by and watch it happen. However, the officers investigating this matter, and the district attorney assigned the case, and the grand jury reviewing the case and handing down the convictions all should have seen these photos for what they were – innocent, albeit rather intimate, baby pictures. In fact, of all the pictures in the processed rolls, which also included images of the children and parents posing nude and bathing together, all in an apparently non-sexual way, only the breastfeeding image was called into question. There’s a rather over-processed image of the photo in question attached to the article which gives an impression of what is going on. While it’s by no means a good representation of the original, it certainly doesn’t appear sexual. If anything, it looks awkward.

The Kuro5hin entry that mentioned this lists a couple of contacts for those interested in making their opinions known to the folks responsible for all of this. I’m flat out bewildered by the whole thing. It doesn’t necessarily surprise me, but it is a reminder of just how amazingly puritanical this country is.

Roundup

Whew… it’s been, like, what… half a month since I last updated? Way crazy busy, but there’s been a lot to talk about. Here’s a quick roundup:

PeopleSoft
As you may (or may not) recall, I spent about three weeks in PeopleSoft training. At the time, I totally drank the Kool-Aid and found my initial concerns about the platform fading. Now that I’ve had my hands in it, I feel the fires of my frustration renewed. I’ve already ranted on my issues with PeopleSost’s insistence on using archaic and proprietary languages (SQR? PeopleCode? Perl! Python! ECMAScript! Jeez…) but I’m also frustrated with the user interface. There’s no simple way to document expanded functionality, and their PeopleBooks documentation is arcane and error prone. All in all, I find the whole situation very frustrating.

As a developer, I want to be right up next to the computer. I hate having too many levels of abstraction between me and the system. PeopleSoft is a platform on top of a platform on top of a platform, and each additional level adds complexity that is almost unnecessary. An open source enterprise system to replace/complement PeopleSoft, SAP and Oracle would be very welcome. If nothing else, it may spur some further innovation from these existing sleeping dragons, forcing them to think more in terms of flexibility for the customer rather than locking them in on their technology.

Emerging Technology Conference
Last week in Santa Clara, O’Reilly hosted the Emerging Technology Conference. Working in San Francisco for a decidedly non-technical company (hello… ART COLLEGE?), there was no way that I was able to make it down. Which is a genuine shame as there were TONS of great topics being discussed that I would have dug. But what is a conference about cutting-edge systems that doesn’t actually try to prove the technologies being discussed? It turns out that physically going to the conference, while optimal, was not necessarily the only way to attend the conference.

The organizers hooked up with Socialtext to produce the ETech Wiki. A wiki, for those not in the know, is a type of website where the community can freely add, edit and delete pages to create something of a free-form informational hub. You really have to see it to believe it. They’ve been making the rounds and gaining a bit of publicity in the geek press for a while now, but it always sounded way too chaotic for my taste. When the height of Internet cracking is the defacement of public websites, a wiki just seems to make it all too easy for the assholes of the world to let their presence be known.

The ETech wiki was my first foray into this little spot of technology and, despite a few problems, it turned out to be wildly effective. Most of the folks attending the conference were connected to the Internet via the WiFi (802.11) networks provided at the conference. This meant that they could bring their laptops, PDAs or what have you into the conference and stay connected, discussing the sessions in chatrooms and through instant messaging while immediately posting the notes they took online.

SciFi author Cory Doctorow‘s notes from Bunnie Huang’s talk on hardware hacking fascinated me. While I’m sure they lacked in some of the detail that Bunnie covered, they were detailed enough to give me the feeling of having been there. The notes were unpolished, riddled with typos and incomplete sentences and were short on descriptive images and illustrations, unlike an edited, professionally written article covering the event. But that’s part of the point. It was a completely unvarnished account of what took place, like looking at a reporter’s notebook instead of reading the article. Anyone who has done a little journalism knows how much needs to be left out of the finished story in order to meet deadline and fit into the space granted them by the editors. A lot of interpretation must occur during that translation from notes to story, and much of what is initially written down isn’t really suitable for consumption by the reader who prefers to passively read rather than try to connect the scattered notes of the author. But, when it comes to tech how-to’s and the like, those scattered notes are often extremely useful as the author, in the translation phase, may have misinterpreted something or overlooked a vital piece of info that simply didn’t fit into the time and space granted them.

Of course, the beauty of posting these notes in the wiki means that someone else who attended that session can come in, take a look at what Doctorow wrote and fix any errors or add any extra notes they feel is missing, and all without having to go through the hassle of contacting the author, asking for permission, and, perhaps, never getting a response. It happens on the fly. I myself fixed a couple of Doctorow’s typos, just to see how the system worked. I’m flabbergasted. It requires a writer to give up some of their ego to allow this happen — even more so than allowing an editor to rip through their prose — but, if they remember that they’re writing for an audience that will going to try to actually use what they have written, it will end up benefiting the reader rather than hurting them.

The wiki wasn’t the only impressive thing to come out of the conference. Ideas like Smart Mobs (which got a lot of press despite the fact that Harold Rheingold changed his speech topic at the last minute) and swarm intelligence — as well as warnings about how such groups can be their own worst enemies — were enormously inspiring. So much so that I’m working on implementing one or two of them myself as we speak. (You wanna know more? You’re gonna hafta ask me.) And then there was Tim O’Reilly’s talk on what’s on his radar. (Essentially, technologies that encourage geek communities to contribute to their development). I could wax on all day about this, but it’s best you check it all out yourself. I found the whole conference amazingly inspiring.

Wiki Documentation
One ETech inspiration was using a wiki for collaborative developer documentation. I find that, as I work on a project, I think of things that I will later need to add to my final docs for the users so that they are aware of certain features and limitations. I usually jot these down on a note pad somewhere. All too often, those notes get buried amongst the other scribblings I jot down as I work and can get left out of the final documents.

The idea of having an easily editable/updateable area for my development docs was very appealing to me. As I work, I can write down the warning to the end-user in a place where they can immediately see them and determine whether that’s acceptable. I can watch my documentation grow as I proceed on the project, adding here and there as more functionality is added. Once I have delivered the project, I can go back and clean up my notes rather than transcribing them from pad to computer. As the user gains experience with the product and finds errors — and workarounds — or undocumented features, they can easily add these to the official documentation themselves. QA teams can do the same. The wiki is a truly living, breathing document.

At the Academy, we don’t have a QA team. Nor do we have tech writers. Though we do a lot of our own development, it always gets tested and documented by the developers themselves. This is a far less than ideal situation. A wiki would ease this by allowing the free flow of ideas and notes to take place throughout the lifecycle of a project. To test my theory, I have implemented a wiki using PHPWiki running on Apache with a MySQL backend on my workstation. So far, I’m the only user (I have yet to even announce its existence to the rest of the team – there are still some bugs to work out) but I’ve found it remarkably useful. I have fully documented three current projects in about a quarter of the time it usually takes. I leave a browser pointing to the wiki open on my desktop at all times so that it’s a simple matter of alt-tabbing over.

Of course, it’s completely useless if no one uses it, and I’m afraid that’s what I’ll be up against once I release this to the rest of my team. This is not a true tech shop, and it seems that many of the folks here have limited experience in a true development-for-production environment. The concept of the software development cycle is almost completely lost here and asking them to document their work like this, despite being easier than actually producing traditional documentation, is essentially asking them to do more work as no one currently requires them to document their projects. The complete lack of documentation here is, in fact, what prompted me to give this a shot.

I’m growing tired of asking everyone for information about our systems, only to be turned to someone else who still doesn’t have an answer. I literally go in circles like this every day. Simple documentation – even just the slap-dash publication of developer notes – would help the situation immensely. And, rather than suggest it to someone who may get excited about it but quickly drop it when another big project comes down the pike (VERY short attention spans here), I chose to implement it myself, get it working and THEN announce its existence. It’s not keeping me from getting my other projects done (I’ve been staying late to work on it a little each night) so no one can complain that it takes the focus from something else. It’s kind of sad that I need to do that, but that’s part of the problem in working for a company where technology isn’t the focus.

If I can build an internal community around a wiki, I think we’ll see improved efficiency and communication. Little things like this can make a huge, positive difference to a strong team.

Lazy Americans (please pass the Cup O’ Soup)
Read this in the Food section of the Chronicle this morning:

“A comprehensive study of American food trends, published in the Institute of Food Technologies magazine in April, shows that more consumers are interested in trying a anew low-carb product that a low-fat one. Low-carb was fifth on a list of what consumers most wanted in new food products, behind ready-to-eat, heat-and-eat, eat-on-the-run, and foods that required no utensils.” (emphasis mine)

This leads me to my latest get-rich-quick scheme: Vein Vittles! Why waste your time heating and chewing your food when you can get those nutrients straight into your blood stream? Eat on the go! Great for the kids! Also comes in a low-carb version for you Atkins acolytes! (60% CriscoTM.)

PeopleSoft: Standardize

Been busy like mad, as you can tell by my radio silence. Dani and I are taking lessons at Arthur Murray in preparation for the wedding. Between dancing the night away and nursing her poor bruised toes, I haven’t had much time left in the evenings. But we’re having fun and doing it together and, frankly, that’s enough for me. I enjoy spending time with my D.

Just updated my resume section with some more code samples. There’s a list of four such samples at the bottom of my interview page. I also updated the interview to reflect the fact that my C/C++ skills are much better than before. All of my coding skills are feeding back on each other. I love it.

PeopleSoft is getting on my nerves. As a developer raised in the time of the personal computing revolution and the Internet, platforms like PeopleSoft seem so archaic. From a developer perspective, I always assumed “Enterprise” simply meant distributed, scalable computing. It seemed kind of lame to me to create a term for something I had always assumed every networked application should strive for. Now that I’m working in PeopleSoft, I finally understand the functional definition of Enterprise as a gigantic system used to store, analyze and report on massive amounts of data.

The developer in me is outraged and annoyed by PeopleSoft. With all of the cool things that one can do with a computer, it reasons, why am I wasting my time on something as boring as data analysis? Of course, I then realize that this is *precisely* what the computer was invented for. It’s not like a bunch of scientists were sitting around one day saying, “Hey, board games kind of suck. Wouldn’t it be cool if we could build some sort of machine that feed eye candy and playability straight to our brains?”

Still, I find the PeopleSoft implementation to be rather behind the times. PeopleCode bares only a passing resemblance to existing languages, which requires developers to learn yet another syntax. I feel they would be better serving their customers as well as their own business needs if they, instead, implemented something like ECMAScript. Using a standardized, widely supported language like ECMAScript would allow PeopleSoft customers to leverage the existing skills of their developers during a transition rather than requiring them to be retrained. In addition, PeopleSoft can concentrate on implementing the scripting interface rather than having to also build and conform a brand new language to their needs.

PeopleSoft delivers a language known as SQR for data manipulation outside the main PeopleSoft platform. It is, at this time, the only language they support. They purchased the rights to it from the parent company Brio and are supporting it on their own. This is yet another language, though, that bears almost no resemblance to other accepted languages on the market and requires even more proprietary training for their customers. Using something like Perl or Python for extra-platform coding would, again, leverage the existing knowledge of many of their customers without costly retraining while allowing PeopleSoft to focus on their core business of building and enterprise-level platform.

You may think I’m naive to say that PeopleSoft should change their proprietary ways and start looking at existing standards for their platform. Their current model forces customers to attend PeopleSoft training at one of their many “universities”. They employ large staffs of trainers for this very purpose and charge quite a bit for the classes. However, turning to open standards would actually give PeopleSoft a competitive advantage in the enterprise market. As a CTO, if I can implement PeopleSoft without spending the time and money to retrain my staff of web developers and IT personnel, I’ll probably be more likely to go with them. As a developer, I know that my training time wouldn’t be wasted as I could apply the skills I learned there to other applications that support open standards. Finding developers on the open market would be a breeze and companies wouldn’t be required to pay a premium for proprietary, over-specialized skills. It would be win-win all around.

Given all this, it’s easy to understand my frustration. I feel that PeopleSoft is locking me into technologies that aren’t easily translatable outside of that platform. Rather than build upon my existing skills, I’m forced to learn new ones that are really only useful for one purpose. Normally, I thrive on the opportunity to learn new things. But, in the case of PeopleSoft, I find it more limiting than liberating.

Closed Source Innovation for Free!

I find these contest rules at TabletPCDeveloper.com to be both hilarious and disturbing at the same time. In short, the contest is asking for code snippets developed for Microsoft’s new Tablet PC system. Every entry will receive a free hat, but three selected entries per month during the contest will receive a free Tablet PC. Sounds kind of cool, until you get to this sentence:

“Further, by participating in the contest, entrants grant to Sponsor, a royalty-free, non-exclusive, perpetual worldwide license to copy, modify and otherwise use and distribute their submission, or any element of the submission, in any and all media for the purpose of promoting Sponsor’s website(s) and developing future products without additional compensation.”

Well, OK, I can argue that world-class coders give away their best code daily for free on such open source projects as Linux, Apache and the GIMP. But that code is then open for reuse by anyone who takes a gander at the source. If Microsoft takes the fancy code someone wrote for a gestural recognition program a la Black and White and adopts it universally as a major UI feature in all future Microsoft applications, the original coder will get nothing more than a $2000 first-generation Tablet PC, assuming that chunk of code was chosen by the judges. You can probably assume that the developer may also get some kind of job offer from Microsoft, which is nothing to sneeze at in this economy, but that’s about it. Oh, and a hat.

So, while this is a good contest to get people interested in developing for the Tablet PC (I know I’m starting to consider it) I don’t see how it will spark any serious innovation from anyone other than the most naive of developers. And it seems to be kind of an underhanded way to get development at a bargain basement price. I may want to take a random stab at it — maybe developing some kind of small drawing program or something — just to get a free hat out of the deal, but if I came up with a mind blowing idea I wouldn’t waste it on the mere chance that I may win a tablet PC. Perhaps I’m missing the point, but the assumption in the rules is that they do expect to receive some workable, reusable code. If that’s the case, and they plan on keeping it closed source, they should at least have the decency to pay some small amount of royalty to the developer. Hell, it’s not like Microsoft is giving anything away for free these days.