Archive for the 'WebTech' Category

20th Nov 2010

Shelving MacSimStick for now

I’m going to shelve my work on MacSimStick for the time being.  I’d been hoping to crack the nut of running Mono and everything else off of a disk image (Apache, PHP, and MySQL run fine, as does OpenSim paired with a Mono install on a local disk).  It doesn’t seem like the need is there, and I’ve been spending hours trying to get install_name_tool and dynamic libraries to play nice.

Sometimes it is good to fail fast and move on.

So anyways, there is a distribution out there that will run, provided you have Mono already installed.   Maybe that is a success and people are happy with that.  I’ll turn my attention to OpenSim paired with Amazon’s EC2, and Unity.  If someone makes progress on MacSimStick, and there’s interest, I may jump back in – I do have several ideas / goals for it.

Posted in Mac, VirtualWorlds, WebTech, opensim | 1 Comment »

08th Nov 2010

The MacSimStick Project

Recently some enthusiasts got together the idea of running OpenSim off a usb key. Even doing a video to show the process.  Pathfinder did a great post on it, as did Ener Hax.  Tateru Nino made a ready to go version of it available.

Pretty Cool, if you are a Windows person.  You plug in a usb key, press a couple of buttons, and have a self contained virtual world on your machine that you can connect to with your fave viewer (SL, Phoenix, Imprudence, etc.)

I’d been waiting to see if someone would do the same thing for the Mac folks.  Time Passed …

… Well … ok, fine, I’ll do it!

So I am undertaking the MacSimStick Project.

I must be out of my mind.  There are a lot of moving parts :)

So What Is The Goal?

The goal is to insert a usb key into a mac, click on an icon, have a self contained virtual worlds environment come to life, use it, and to be able to walk away with any changes you make.

That nicely glosses over about a dozen things happening in the background.

Some assumptions and goals:

  • be self contained, keeping off of the local disk as much as possible (log files, etc)
  • dont make the user install anything
  • wont assume what they have installed (such as Mono).
  • dont interfere with web server or database already running on the machine (use different ports)
  • provide the power to change things (MySQL and OpenSim consoles), but work without requiring their use

What Are The Puzzle Pieces To This?

A reason why I include Apache and PHP is because it opens up a lot of interactively options for scripts in a Sim to call into a local web server.

Where Am I With It?

I am working with a disk image on my iMac:  /Volumes/MacSimStick

The first iteration of this will depend on that name.  I compiled Apache, PHP, MySQL, and Mono to depend on paths within /Volumes/MacSimStick/usr/local

Apache, PHP, and MySQL work fine.

The Diva Distro of OpenSim is connecting to MySQL and writing to the database, but bombing out further in the process.  I’m thinking that a good approach will be turn off a lot of things (why is it trying to call JScript?), get things working end to end, and then slowly turn some things back on.

If I am still stuck in a day or so, I will upload what I have to get some more eyes on the problems.

What’s Next?  What Do I Need?

As far as configuration goes:

  • corral all of the config files together by having a Config dir full of links to the actual files (PHP, Apache, MySQL, Mono, OpenSim)
  • create a startup script which launches a terminal session (using the “screen” command).  This will provide separate shells for MySQL and Opensim.
  • create a shutdown script

I need beta testers.  I dont want to make this widely available until I am confident that it works for a handful of folks (for one thing, it’s going to be a sizeable download).  Contact me at my gmail.com address: javajoint, and I will point you at a download.  I am pondering if I want to put this up at Amazon S3 or Dropbox …  It’s going to be a few hundred meg.

I need some extra eyes checking out the configuration.

Donations!  This is going to cost me in hosting, and I am between jobs.  If you can help sponsor the work, cost of hosting, etc, I’d sure appreciate it.  I’ll stick a PayPal button at the bottom of this post.

More on this soon.  Thanks for the enthusiasm so far!


Posted in Mac, Tech, VirtualWorlds, WebTech, opensim | 2 Comments »

02nd Nov 2010

Current Techy Learning

Not long ago, I wondered aloud about what to learn.  Even if I stopped sleeping, I’d still not have the time to absorb all of the things I’m interested in.  I’m glad that I will never be bored, but I am always dealing with the priorities of “what to focus on?”  It’s a fun side of being a generalist: so much is so damn interesting!

So I thought I would write about the flip side, and mention what I am learning.  That way, potential employers and friends will know that I am not sitting around cooking bacon for my cat all day, and that I do have a project or two.

I am focusing on Cloud Computing, C# and .Net/Mono, NoSQL, OpenSim, and Unity.

They all tie together too, kinda.

As you know, a big interest of mine is Virtual Worlds.  I’m a champion of OpenSim and the Hypergrid, because I see a lot of parallels to where we were with Apache and the Web in 1995.  I am glad we have the Windows Sim on a Stick download which utilizes the Diva Distribution.  I am  currently looking into how to use MAMP to do the same thing for the Mac community.

Now that I have mentioned the server side of things, let me do a quick take on the client.  As I’ve written, I really want to see a Unity-based front end to OpenSim.  I have started porting my Slider object from SL to Unity.   My work so far has been in JavaScript, but in order to network it with, say,  Smartfox Server, I’ll be writing a bit in C#.  I see some good reasons to learn C# and Mono (starting within the contexts of Unity and OpenSim [1]).   I’ve been reading Programming C# 4.0.

[1] Seeing as how OpenSim is written in C#

So far so good.  You may be wondering how I tie Cloud Computing into this.  On the Cloud Computing side, I’ve been a user of Amazon S3 for a while.  EC2 was sorta off my radar, but a recent post by Ener Hax caught my attention, where she points at the idea of using the cloud to host OpenSim instances.  This put me on the chain of thought of “how to quickly scale for events in Virtual Worlds?”.  That has me delving into Amazon Web Services, and I am reading Jeff Barr’s Book “Host Your Web Site in the Cloud“.

The last bit of my current techy study stuff is NoSQL.  I’ve been through the try-redis tutorial and love it.  I am decent with MySQL, but I’ve always been a big fan of hashtables/associative arrays/keys & values etc… it fits my mental model of what I like to do in a program (index into an array, based on a key) — having that approach for a database makes sense for a couple of projects I have in mind (my photo database, and ThereThen addresses) .

So that’s my current focus.  I see jobs come across that want other things (like Java…), but I like what I’ve picked for myself!

Posted in Daniel, Tech, Uncategorized, WebTech, opensim | 1 Comment »

08th Oct 2010

Creating A Virtual Worlds Search Engine

I was just reading an article on MakeUseOf.com: Create A Google Custom Search Engine For Your Research

I got inspired to tinker with a custom search engine for Virtual Worlds stuff.  Let me know if you want to collaborate on it.

Try a sample search. Go on. You know you wanna ;)

Loading


Posted in Tech, VirtualWorlds, WebTech, opensim | Comments Off

24th Sep 2010

What To Learn?

I’m in a bit of a Quandry.

I’m in all out job search mode, and I get a fair number of inquiries from recruiters each day.  They seem to like my resume.

So far, so good.

The thing is, I do know a wide range of tech, and much of what I see fits me well, but there is often some skill that I dont have, such as some language or some bit of technology.   Either I dont know RoR well, or .Net, or am rusty on Java, etc.

There is so much that I could learn, but there is only so much time.

So that is the fun part.. I am a great generalist, and am interested in a lot of facets of Tech.  So what to focus on?  It’s no good changing gears every day.

My idea at the moment is:  I’ll jot down the things I am very interested in learning. and hopefully a couple of folks will write me and say “well hell, Daniel, just dont sleep — you mean to say you dont know all of this already!?”

Languages and Frameworks

  • PHP – I know 5.x, and a bit of CakePHP.  So, Zend FrameworkSymfonyCodeIgniter? Others?
  • Python / Django? – I’ve gone into python and have made minor changes.  I like Python from what I know of it.
  • Ruby / RoR – I’ve done some Ruby on Rails tutorials, and dug it.  I have not had a project to really get my feet wet with it.
  • Perl – actually, I am pretty good wth Perl.  I  just have not touched it much since 2006 at Friendster.  I actually wrote a perl shell back in 1992.  Catalyst FrameworkMason?
  • C# / .Net / Mono – this may come as a surprise to anyone who knows my leanings to all things Mac and Linux.  My interest comes from wanting to do more with two key projects:
    • OpenSim – yep, OpenSim is written in C#, and runs on .Net or Mono
    • Unity – the scripting languages for Unity (JavaScript, C#, and Boo) run on top of Mono, and access underlying .Net libraries.  I also love the idea of Embedding Mono for other projects.

In the category of “well, if I need to go back to…”:

  • Java -  I have not done new java code since 1996!  I would not want to work on client side java at this point (who is doing applets at this point?)  — I would be into the whole Eclipse + server side angle (I’ve worked a bit with Weblogic and Presto)   Java has so many technologies associated with it at this point, that it is hard to know where to jump in.
  • Flash / AS3 -  I have not touched flash much since 2005.  I think HTML5 + JS + CS3 is the way forward.  I do like ActionScript, which is a close cousin of JavaScript.  When I dealt with AS2, I had one entry point on the first frame and used a lot of classes.  I didnt do the snippets attached to the timeline deal.  My leaning is that I could back into flash again for a specific project, but there are many other things I’d like to learn first
  • C / C++ – It’s been forever ;)

Content Management Systems

Ok, which to learn?  DrupalJoomlaWordpress?

NoSQL / SMAQ

I’ve been reading a lot about NoSQL, and just came across this article about SMAQ (Storage, MapReduce and Query)

What to learn?  HadoopCouchDBCassandraVoldemort?   etc…

Besides Programming

It’s obvious I am interested in a wide swath of the programming side.

Now, if someone were to ask me what I would do besides programming, I would say photography, writing, or possibly speaking / demoing.

The other big interest of mine is multimedia.  I know a bit, but wish I could just dive into
it for a year and learn a lot more.  Some apps I would like to know would be:

Logic Studio
Final Cut Studio
PhotoShop CS5
Maya / 3DS MaxBlender

A lot of the output of this would be directed towards work in Virtual Worlds (assets in
a Unity project, as one example)

(in other words, I know a bit of the creative side, and wish I had the time/money/chance to
really learn a lot more of it)

Anyways, to sum up, I’m interested in a lot, but every situation wants different skill sets.  Hard to know where to focus!

Posted in Daniel, Musing, Tech, WebTech | 4 Comments »

06th Feb 2010

FlexiPhoto is on the way

When I was starting to learn PHP and MySQL in 2001, I wanted to tackle a project that meant something to me; a non-trivial web application…

So, being a photographer and programmer with some time on my hands, I decided to write a photo database.

The first iteration of FlexiPhoto had a hard-wired interface.  I rewrote it to support multiple UIs and languages.  Sometime in 2004-2005, I rewrote it again as a PHP5 app.

In 2006, I got distracted by Second Life :)  It was like going down a rabbit hole.  I got good at scripting in LSL [1].  I shelved my web projects.  What a mistake!  Although I have learned a lot of web tech in the last 5 years, I had my attention split by learning a lot about Second Life.  It’s nice to be good at it, but it doesn’t pay!  And, damn, I could use some money about now …

So I am back on the case with FlexiPhoto.  I have a virtual Ubuntu machine running at Slicehost, which I’ll use for the public-facing Demo, Wiki, and Download site.  I’m in the midst of dusting off FP (switching database layer from DB to MDB2, for one thing), and expect to have it available within a week.  It’s going to look clunky and very pre-AJAX, but then, I am a big fan of iteration.

A fun side note about Linux and running virtual machines at home: I still have my old 1U rack server, which hosted FlexiPhoto and other sites back in the day.  The damn thing is loud! It’s running an old version of Debian.  My task today is to mirror my Slicehost OS at home.  I’ve installed Ubuntu Karmic Koala (9.10) on my iMac, hosted via VirtualBox. That will give me synced development & public environments.  I also am able to dual boot my Samsung NC10 Netbook to Windows XP and Ubuntu.  I’ve got it covered, baby!

Geez, geeking out here big time.

Anyways, FlexiPhoto is a good portfolio piece of mine, and I am stoked to be working on it again.  It’s like an old friend :)

[1] …although, to this day, I really think Cory O should have finished LSL.  It even makes Tcl look good, and that’s saying a lot…

Posted in Daniel, FlexiPhoto, LAMP, Linux, Tech, WebTech | Comments Off

19th Aug 2009

Techy Refocusing

I’ve been thinking about what I want to do, gig-wise.  For way too long, I’d been waiting for Second Life and OpenSim to pop up on the radar as a marketable skill.  I’m good at it, but hell, the average salary for SL gigs is way down there [1]

There is a lot out there in the Tech Landscape that thrills me:

Google Wave, Augmented Reality, and the iPhone (in addition to the Web 2.0 LAMP/AJAX stuff I love doing)

I am waiting for my developer login for Google Wave.  Visualize Email that turns into an IM, which flows into a collaborative document, with full playback of who edited what.  That’s an icebergian tip …

Or you can look at some pretty pictures and get an idea …

I also found it instructive to watch the video on how Wave handles Concurrent Editing.

One imagines Wave dovetailing with projects in SL, Augmented Reality, and all manner of mobile devices.

As for AR (Augmented Reality), three examples everyone should check would be:

Oh, and the ARToolkit running on the iPhone

Speaking of the iPhone, I have downloaded the SDK and have signed up as a developer.  Objective C hits me as a kinder, gentler take on C++ and Java.  I am digging it so far.

None of this should be taken as a sign I am leaving Web Development.  Far from it!  I am just looking at the likely directions that spring from it, where I think there will be a lot of interest and opportunity.

[1] I  have recent info from Susan, who heard it firsthand from someone presenting from Marketing Truths at SLCC

Posted in Daniel, Musing, Tech, WebTech | Comments Off

15th Apr 2006

Google Maps Programming Note

I just noticed that the Google Maps API has added an overlay control: GOverviewMapControl() — thanks Digg’ers for the heads up!

I’ve updated the iframe file referenced by the post Fave Station. If the map doesn’t do the right thing, let me know.

See the Google Maps API Blog for more info.

Here’s a deliberately exaggerated example — I plan on heading to Amoeba Music sometime in the next week, which is near Golden Gate Park:

Posted in Tech, WebTech | Comments Off

grupa LGBT