This post has nothing to do with any of the normal subjects of this blog, but I thought I’d vent a little anyway.  You see as of today I am ending a relationship with my bank that has gone back twenty years.  I have been a loyal customer of a series of banks which has grown by acquisition from Delaware Trust Company, the Core States, then First Union Bank, and most recently Wachovia.  I suppose you might read this and say that it is my own fault, but I think it’s also something awry in the banking industry that has made them think they can control their client’s money and establish policies in spite of the wishes of their clients.

You see the problem has been a Certificate of Deposit.  Now I understand the idea behind a CD, you put a lock on some money and the bank gives you a higher interest rate.  Of course it’s based on the idea that banks actually pay significant interest rates, but still the idea makes sense.  So a couple of years ago I took out a CD to store some investment money that I did not intend to invest for 6 months, or more.  I took the bank up on a special CD that they offered at that time, a two year step-up CD with an option to withdraw without penalty at 6 month intervals.  That was nice, and gave me a good out if I needed the money for something sooner.  Now, the thing with CDs is that they automatically renew.  Apparently it can’t be stopped, Wachovia’s computer system has a boolean setting for Renew Y/N and I’ve seen it on their screens, but they’ve assured me that it does nothing.  Yes my friends and fellow programmers this cannot be fixed!  Not only that, my carefully selected step-up CD was rolled over not into another step up, but rather into a standard fully locked 2 year CD at a lower rate than ING Direct’s Orange Savings Account.  So, I hemmed and I hawed, and ultimately bent over and took it.  And I stopped by a couple times asking whether there was any way to get it not to renew again, apparently it still is beyond the scope of modern banking technology.

So, that CD came up for renewal again this year, and I swung by the bank yesterday to try to close it.  Branch closes at 3pm, current time 3:30, a call today revealed that the window to close a CD like that is 7 days, not 10 as I had been misinformed, closing yesterday.  And a check on-line shows that it renewed into a 1.8% 2 year CD, while Wachovia’s front page clearly advertises 4.25% CDs.  You’d think that they would roll over to the best rate possible, that to me is both courtesy and fiduciary responsibility.  I’ve asked Wachovia to close my CD even at penalty and am openning an Orange savings account, my other main deposits with Wachovia will be similarly transferred to another bank.  Ideally one who can handle the concept of not renewing a CD.  Has anybody seen a bank with such high technology in play?

Particles a go-go

October 1, 2007

Particles a go-go

At the beginning of the month a note originally posted to the SL Educators list by Hilary Mason about her script generator was reposted to the SL Scripters list. It read in part:

I’m interested in making scripting (and programming in general) more
accessible to everyone. Over the last few days (procrastinating from
prepping for my courses :) I created a script generator for LSL…

at the time I was walking to the DMV and reading this on my cellphone and I kind of expected only the two age old fates of endeavors to bring programming to the masses: obscurity or a new programming language. Actually Hilary has done something rather different, her tool does not attempt to cover all of the possibilities of LSL scripting, but rather is a sort of code generation wizard that lets you pick a few options and fills out a script based on that.

Ron Blechner and Jeroen Frans got to talking about how the same approach would work for particles and that seemed like a good little project to me. After some coding and some settling I’m opening the tool to the world at http://something.newworldelectric.com:8885/particles. The web form there will let you fill out settings for a particle system and then both generate the LSL code and send the system to a particle source on my lawn i Pi. It’ll give you a slurl to the exact source and take just a couple seconds for it to load, lag in Pi permitting.

This is a spin off of the same technology I use in my basement and other projects and I do plan to develop it somewhat further based on any suggestions I recieve, I’ll be happy to take bug reports by e-mail to andy -at- New World Electric or the comments here.

- CF

The Writing on the Wall

September 19, 2007

So, the Linden’s have posted the next step in their identity verification program.  Look! you can now flag stuff restricted, you know, if you want to.  Estate owners, you can now encourage your residents to flag stuff restricted, you know, if you want to.  Restricted content will get extra warnings and bar anyone who’s not verified.  Verification isn’t fully open yet, but we can assume that’s soon.

The interesting thing here is that there is no penalty specified, content that should have been flagged but wasn’t might be abuse reported, and then something might happen.  Until some further revision an AR would probably fail if the content is on a mature sim to begin with.  Odd.  Let me read the writing on the wall to you, the key phrase is:

As has always been the case, Residents are morally, socially and legally responsible for their actions and content in Second Life. Clearly, any illegal activity or content will be investigated and appropriate action will be taken.

and the key analogy is gambling.  The way I read this is that somewhere there is a decency law, California logically, and it says one cannot show “adult” material to people under the age of 18 unless you check their age.  Now, since Linden Lab stopped checking for credit cards at the door, and arguably even before that, there’s been no effective check on the age of new users signing up.  Thus, anyone exceeding the limitations of that law is in violation.  Now the terms of service say we have to obey the law even in SL, that’s 4.1.iii:

[ you agree that you shall not:] (iii) take any action or upload, post, e-mail or otherwise transmit Content that violates any law or regulation;

that’s the same reason running an illegal casino in Second Life is illegal, it’s against the law and we have to obey the law.  Now then, the next step will be a nice little note in Linden Blog reminding us of all these facts together and pointing out that unflagged adult content is against the law, and hence a terms of service violation, and thus subject to pretty much any penalty LL wants to apply.  Probably as weak as the law will let them get away with, but the law may not give them much room.  Of course, LL can’t afford the staff hours to do a sweep of the grid, but vigilantes, maybe even griefers will get to you eventually.

Now, there are plenty of voices saying that this is a bad thing.  It’s definitely a hole in our utopia, a division in our community, and a reduction in our privacy, with degrees we can argue anytime you like.  But let’s look at the way this is a good thing, remember, the law is not changing, if you have adult content and you are not checking the ages of your visitors then you’re in violation of it already.  A sufficiently bored assistant attorney general can bring criminal charges against you today and if a check box where the user says they’re over 18 is not sufficient, then you get to be a test case.  Now that could be fun, but you may have some other things you’d rather be doing so maybe you just want to shed a couple tears, tidy up your poseballs and see what comes next.

-CF

Literature Factory Chapter II

September 5, 2007

So, while the Literature Factory is intended for a somewhat limited run it looks like it will be getting one, probably two new chapters, the next chapter is the Literature Factory Bookstore, which is coming together as a build for Burning Life at Burning Life (Diablo) (65,206,25) we will be selling books from the factory for 0L$ so if you want one, drop by. Chapter III is in progress, but not ready just yet, I will however say if you are interested in teaching a class or promoting particular pieces of literature in Second Life I’d like to hear from you at (my SL First Name) @ gmail . com.

Also, the Literature Factory has drawn a number of media responses and I wanted to pull together a run down here:

* SLNN - This factory is a fine example of vertical product development, as the robots start the process by making words, sorting them into the correct part of speech, assembling them into sentences, then finally scanning them into a giant book which is finally shrunken into a more manageable sized tome.

* The Philadelphia Inquirer - And as we put down the paper and finish our coffee, the Word-o-Mats are still working away, not unlike those hypothetical monkeys typing for eternity. Who’s to say what they’ll come up with?

also a number of blogs:

* Second Tense - Yeah, it’s a farce. But why not? It beats 1000 monkeys banging away on typewriters. Maybe this is the modern day equivalent?

* Beth’s Second Life - Someone best wake up Walt Whitman, cuz‘ I think he is dying all over again…

* Second Seeker - One has to like the idea of grinding out letters, words, stories, books … one wonders what gets left on the factory floor! The factory’s motto, “The finest literature that a factory can produce — you have our word on it!” seems particularly apt.

* Natalia Zelmanov’s Second Life Diary - Well, this was bound to happen one day. Factory robots have been building everything from cars to kitchen sinks. Now, theres a factory full of robots building literature in Second Life!

* Lythe Witte - Just discovered the Literature Factory by Ciemaar Flintoff. Tis a great work that is a lot of fun.

Also Lludmila Mirrikh has posted a Flickr set from the factory so let me link that here too.

- Ciemaar

A family business for 10 generations

Ever wonder what it would take to create Burning Life out of season? Turns out it takes months of building and scripting, like from May to August. Something to be said for the power of a deadline to focus the mind. On some land loaned out of Joi Ito’s Kula2 sim myself and some of my teammates from Burning Life 2006 have been building a Literature Factory in a Burning Life like folly build since May. Thanks to exterior work by Binnie Zander, a huge amount of interior building(including about 15 different robots some of which you see here) by Sandhya2 Patel, and scripting from yours truly it’s finally done. So, we’ve scheduled a grand openning for this Saturday. While I’m naming names I should also thank Alondria LeFey for additional scripting, Enki Stardust for sentence making rules, and Roger Thunders for help concepting.

Now, the natural question here is what a Literature Factory might be. Well now, that’s a silly question, it’s simply a factory that makes literature. Now, according to Wikipedia:

The term “literature” has different meanings depending on who is using it and in what context. It could be applied broadly to mean any symbolic record, encompassing everything from images and sculptures to letters. In a more narrow sense the term could mean only text composed of letters, or other examples of symbolic written language (Egyptian hieroglyphs, for example). An even more narrow interpretation is that text have a physical form, such as on paper or some other portable form, to the exclusion of inscriptions or digital media.

Well, we certainly meet that criteria, excepting the physical form bit, but I hope you’ll let that slide.

Now, I have things to do and people to see, so we went ahead and automated the factory. This row of Word-o-Mats runs tirelessly day and night, manufacturing words for the factory, the Bin Bots with them take charge of ferrying the words from the Word-o-Mats to the sorted bins on the other side of the factory.

Word-o-Mat Row

This is a view from the other side where the Bin Bots drop off their words and other bots build sentences and transfer them into the new works of literature under constant production.

Sentence Assembly

But pictures only convey so much, so drop in to the Literature Factory at Kula 2 (189,9,25).

So, I was futzing around with a little Python blog reader the other day and I realized that it was perfect, but…. with a but in this case being that it was littered with &#8220 and &#8221s. Not a problem right? Just toss thing thing through htmlentitiesdecode() or something and be on my way? I should have known better I think, going the other way was a simple enough matter, one line of code that looks like this:

"my unicode string".encode('ascii', 'xmlcharrefreplace')

However finding that line was a pain in the neck with a Google search filled with people implementing their own encoding.  I was not completely surprised then to find people doing the same thing the other way.  Checking the docs at python.org I found there was a String.decode() function, but it didn’t reverse the above.  In 2003 someone wrote one that did work in reverse, but the bug was killed with a won’t merge.  I think that may have slipped through the cracks a bit, but still people are doing this right?  Nothing in the cookbook and a look at Pears was no help, they just use a wxHtml control and let it deal with it.  In despair I started to code up my own codec.

The answer, it turns out is Beautiful Soup, Stephen Laniel should get “I told you so” rights on this except his server was down when I clicked it up.  The final code then:

 decodedString=unicode(BeautifulStoneSoup(encodedString,convertEntities=BeautifulStoneSoup.HTML_ENTITIES ))

as simple as Python, but why so hard to find?  I guess for a language that usually is so easy to work with I should show some tolerance when it’s as hard as other languages–not that I’m planning to.

- CF

Sometimes the time just flies buy and certainly my time in Second Life has. It seems like only yesterday I was congratulating Hiro Pendragon on making the move to full time and chuckling as he told me I’d join him soon, and now I am, where has the time gone? What do I really have to show for a year and a half of puttering and working in Second Life. So here then is a roughly chronological review of my work. The first project I ever did in Second Life that wasn’t merely for my own use was this set of waterfalls and the surrounding landscaping for the vow renewal of a couple of friends I met in-world. It’s been taken down now and built over with a club, but I still have the pictures and love how it came out.

Wedding Waterfalls

My next major project was in the fall of last year, the Dessert Island for Burning Life 2006. I headed up a team of four builders to bring to life this dessert in the desert, complete with a chocolate well feeding a creek, self pouring and boxing bonbons, a hot cocoa hot tub, milk bridge, cake house, snow cone Gatling gun, Trojan bunny, and pie planetarium in the sky.

Dessert Island

The same team also worked on a second build for Burning Life 2006, the Oasis of Hope, but I didn’t get any good pictures.

Since then I’ve been doing some contracting for Infinite Vision Media as well as a few “device projects,” my control panel and Weather Wisdom, each of which has it’s own blog entry here. The control panel was in partnership with Bill Ward and Weather Wisdom with both he and Sandhya2 Patel. My latest major project has been the Literature Factory, an automated factory staffed by automatons and dedicated to producing books. Again I’ve been proud to have the help of Binnie Zander and Sandhya2 Patel on the building.

Literature Factory

Hmm, what else? Well, lots of little bits, like the products in my shop, from left to right, my metal and glass furniture, peace stompers, dance floor, comment boxes, and couples bracelets.

CFP Store

…. and also the toys out at my workshop, again from left to right; my underground lair, galleryzebo, soccer set, and in the foreground, the weather maker built for one of the aforementioned IVM contracts, Weather Island, from February of this year.

CFP Workshop and Office

And none of this is counting the projects that aren’t ready to show yet of course, so I guess I have been busy.

-CF

Going Full Time

June 25, 2007

Just a professional update, I’ve quit my job at The Burgiss Group and will be working full time as a meta-verse developer. I will be working on a contract basis, primarily with Infinite Vision Media. I will also be forming my own company New World Electric along with Bill Ward. With Infinite Vision Media I will continue to develop some of the most creative projects in the meta-verse. New World Electric is a smaller venture at the moment focused on some products and smaller projects which Bill and I are particularly interested in and possibly consulting on some related projects.

There are three main interfaces that can bridge the gap between SecondLife and real life:

* e-mail - E-mail is the simplest of Second Life’s external interfaces and the one that can be used without an external server. On the downside, it also has the greatest lag and highest latency. Outbound the Lindens add 20 seconds of script lag to each call, inbound there’s no scripted lag but your messages are subject to normal E-mail delays. E-mail is designed to be slow but reliable, for example, the spec requires that clients retry failed messages and suggests a 30 minute retry interval. I’m sure you’ve seen much delays up even to several days.

* xmlrpc - xmlrpc is the only option that allows an external program to trigger an in-world event, in fact xmlrpc can only be triggered externally triggered though the script can send data out in a reply. Xmlrpc is low lag and low latency, the Lindens add 5 seconds of script lag and only when your script sends a reply. Sending a reply is optional from the standpoint of lsl, but not replying will likely raise an error in your external code. Xmlrpc communication is based on channels which are assigned by Second Life’s servers. Any program using xmlrpc must include a mechanism to get the channel identifier out of SL. The other two SL/RL interfaces are prime candidates though you could ask users to copy and paste. You should also make provisions to open a new channel when the old one idles out, the scripted object rerezzes or changes region, or the channel is closed by a grid reset. This is rare, but something you need to plan for.

* http request - while xmlrpc uses http internally you’re not supposed to think about that. If you wanted to think about it you would use http request. Http request effectively turns Second Life into a web browser. Http has no lag and low latency, the Lindens limit it to 100 requests per 100 seconds, you’ll have to add your own lag if needed to stay within that limit. You can use three of the http methods; GET, POST, and PUT. GET and POST are commonly used in web sites, with a little bit of effort you can interface them to any web framework you’re familiar with, either to retrieve data or send it to a form. You’ll need to format your data and run it through llEscapeURL yourself, but your framework will handle it from there just fine. PUT is a little less common in web applications and may turn up somewhere odd in your framework, but it can be used to send unformatted data very nicely. All http requests are initiated from within Second Life, but they can retrieve up to 2k from your web service. With the low lag you could easily poll to allow an external service to trigger events in SL.

I’ll write more about each of these in later entries or take questions by comment or e-mail.

After we posted the control panel In Kenzo left us a note inviting us to enter into the NMC Connect art show. While Bill and I had defiantely talked about the possibilities of building some sort of art piece using the technology, hopefully a large installation and likely working with a more established artist, we certainly weren’t expecting to do one just a couple weeks later. But, we didn’t want to pass up the opportunity either. So, Bill, Sandhya2 Patel, and I sat down to brainstorm how to run our skills into art. Sandhya2 was a great help since unlike Bill and I she is an incredibly skilled artist. Bill chipped in with the comment that we could do light and temperature easy, so, of course we came up with a plan that required a barometer. Sandhya2 built a wonderful little german weather house, Bill got a barometer, and I wired the whole thing through so that the sensor is entangled with both the actual Weather House and an in world replica of the controller.

Here’s the finished in-world build:

Weather Wisdom Build

And the finished real world controller:

Controller in place in the windowClose up of the controller

You can see the build up until the 13th at http://slurl.com/secondlife/NMC%20Campus%205/225/124/20. We’ll probably put it up again somewhere else after the show, but we can’t be sure just where yet. Also, after the show we definitely want to hook up the LEDs that we have in the world build. Hooking up 3 devices to one serial port takes a little doing and we had to cut it out of the RL controller.

NB:  Pingbacks are disabled because I keep getting pingback spam on just this entry.