Where I Have Been

I’ve been heads down since early April. People may ask why I have fallen off the face of the Earth with good cause! So here is the update for those who read this blog.

Basically April was Drupalcon in San Francisco, an event I have been greatly looking forward to. In order to have the week free the whole team worked their butts off to complete all the projects on our plate. Which we did.

Except one very important and large one.

From April 19th to mid-May (right through Drupalcon) I was working day and night rewriting and completing the project in time to meet the clients dates. We did that, but it meant that between that and the rest of the workload all non-work related communication was ignored. It really was only at the beginning of June that I began to come up for air again, and now that things are more steady state.

So of course, I’ve been getting geeky! Here are some of the things that have happened

* My first patch got committed to Drupal core. Documentation, but still. I’ll try for patch review next, then actual code.

* Lots of projects got delivered.

* I have continued moving my life back onto Emacs, making it my organizer with Org Mode and sync’d to my iPhone with Mobile Org just this afternoon

* There is now a running Android development environment on my machine in preparation for a 30-day prototype build out. Android is really interesting — some of it seems great, other design choices seem … less great. Can’t wait to see what we do with it.

* The name of the company is changing to Kowari Kode, after much negative feedback.

* I have an idea for a brand new Drupal module that I think might be useful to write and contribute back

* I have nephew / niece number 8 now. Plan to visit him in July.

* Twice I have found old blog posts of mine on the front page of Google Search

* and much, much more …

Hopefully in another two weeks I’ll be back to a real human life again, blogging, living, and enjoying the brief period of great weather San Francisco is experiencing!

Why Facebook Endangers You

Hacker gets access to accounts of Facebook employees, uses them to get access to higher level accounts, and got access to personal data of millions of people. Were you one of them?

Zuckerberg accused of violating privacy by looking at the personal data of Facebook users that might have said something negative about Facebook.

Apple decides to change the types apps it will allow in its stores, and the livelihood of developers dependent on those apps is eliminated overnight.

As I write this Facebook, unannounced, has taken down my clients application. According to the forums it isn’t just us. My client? He’s on the way to an investor meeting to show the app off.

People, there is danger in letting others control your life records — your photos, your friends lists, your IMs, your posts … then we put our applications in their hands, we put our ability to earn food to eat in their control as well.

That’s why open standards, such as One Social Web, are such an important idea. Everyone is trying to keep records on you. Eventually that information will be mis-used. The solution? Don’t let it happen in the first place.

Scroogled?

Scroogled is the title of a short story by the personality Cory Doctorow that attempts to highlight the dangers inherent in having any one organization have too much information about you. Since Google’s value is primarily based on knowing all there is to know about what you do, who you hang out with, what you listen to, what you read, what you look at, and literally every movement you make, they were a good foil to demonstrate Cory’s point. But you can replace them with Facebook, MySpace, or almost anyone, including the non-obvious ISP who delivers your internet to your home.

Have you been reading the papers lately? Notice that the FBI is again pressuring ISPs to record every website you go to and hand it over to them? Do you think Carnivore and its brethren has disappeared off all the hard drives on the Earth? I think not.

You see, we force government to try to take away our privacy. This is just a natural consequence of the job we have given them: keep us safe from everyone. Before they can do that, they have to separate the people who are dangerous to society as a whole from all the rest of us. How can they do that? I think the only choice today is to get as much information as possible on everyone, and look for patterns that indicate someone may be a ‘bad guy’. How much information? So much that personal privacy must be decreased to almost nothing. I really think that the FBI, the CIA, and the NSA cannot do the job they have been given unless that happens. So what are the choices they have been handed? Let’s use 9/11 as an example. If there is another 9/11, we the FBI scapegoats and end careers of the people at the top. If the FBI quietly keeps trying to violate our privacy and gather more information, which they need to try to stop another 9/11, then we shake our fingers and 30 days later it’s out of the papers.

I’d choose choice B if I was running the FBI. I think you would too.

If you accept that, you have to ask: what, if any, response should we have to this dilemma? Do we accept that allowing this is necessary to ensure our safety, or do we attempt to deny this removal of our personal privacy and increase the odds of more ‘bad guys’ carrying out their goals? Is it really this simple, and is there a third choice? Have we given government the right job if that is the best way for it to be achieved?

Apple Tablet Development

I admit it, I got off the iPhone development track long ago. I did learn quite a bit about Apple’s development environment however, and that is a good thing.

Because as of now, I intend, somehow, to find the time to become an Apple Tablet developer. Watch the live announcement of the device today at 10 AM. You will buy one — it’s more important than having a TV.

By God, we have Star Trek tablets now!

A 2009 Retrospective

It’s 11 Jan, way past the time when I should have done my New Years retrospective, but there you go!

2009 was a interesting year for most of the United States, and the same held true for yours truly. In January 2009 I paid off the last of the tax debt from the 2001 stock market crash. In June 2009 I was asked to leave Vitria in relation to budget cuts. Win some, lose some. For a month or two I was not sure what I wanted to do, then I re-discovered Drupal and realized what a great thing it has become. Now I freelance consult web infrastructure projects around the Drupal platform (one integrates a Facebook Flash app, Amazon, streaming video servers, and a chat server with Drupal as an integration hub) and am working hard on giving a bit back to that community. You can find that business at Judah Skye.

Last year I looked at my 2008 goals and I had achieved 80% of them. Unfortunately I only achieved 50% of my 2009 goals, but nonetheless, they were pretty decent. For the record, here is what I plan on for 2009. Mostly this is a record for myself, but might as well declare it publicly!

  • Move to a more vegan diet and shrink that waistline to a 34 again
  • Complete at least 50,000 words of a novel
  • Contribute at least 5,000 lines of code to open source with a focus on Drupal
  • Put another 3 months of living expenses into investments
  • Grow the business to where it makes sense to have an ongoing relationship (contractor on employee) with at least one other person
  • Take at least 1 – 2 week working vacation in either Amsterdam or Buenos Aires. Might as well say working vacation because we all know that I will be working!

Naturally some of this is underway — I have been mostly raw vegan for two weeks for example, and the weight is steadily dropping.

In other 2009 news, I moved downtown to 1.5 blocks from the desk I rent. That has shortened my commute to something on the order of 5 minutes! I have a gorgeous 19th floor view with Market Street on my left hand, and a view out to the bay on my right. Could not ask for better. 2 minutes to Muni, then 4 stops to Embarcadero Station, where my gym is. Whole Foods is a 10 minute ride from a bus stop a block away. I am very happy about this, as it was one of my 2009 Goals, and I only achieved it on the 26th of December.

That’s a short summary, but you can see it was a fun year. Long-term debts were discharged; life changes happened and were made to happen; and 2010 has started off with a happier me. Now it’s time to make it better!

So what are you planning for 2010?

Back!

To anyone still reading this blog, I know that it has been too long since I posted here. I’ve gone freelance under the company name of Judah Skye. Feel free to read the details at http://www.judahskye.com. In the future technical posts (which we know are most of my posts!) will appear over there.

This site will remain the destination for my personal blog posts when I feel I have something non-technical that needs to be said.

SL Paired Programming

Years ago I first logged onto Second Life. I tried to figure out how to share a computer screen inside the game to show people what I was lecturing about (the PHP web framework, Symfony, to be specific). The closest I got to was a small client-side program that took screenshots of my screen and put them on a server. The prim in SL would then download and display the image in-world. Not very efficient, nor effective, but it was something. I even looked at a multi-national software development company with offices inside of Second Life. Lots of crazy thoughts run through my head, but I assure you, at the time they all seem to make sense.

Fast forward to today. I am part of a small web framework consulting team where we are not physically co-located. GotoMeeting or DimDim are solutions towards working together, but don’t help with casual meetings with groups (or at least not without a cost).

Today I find that Second Life has released new APIs which allowed Aimee Trescothick has implemented VNC to control your computer from inside Second Life.

Let me say that again. You can present your screen, and show what you are doing right here in Second Life.

Here is a video shamelessly copied from New World Notes



Ok, the coolness potential here is huge. I am already collaborating with a Drupal developer in Idaho, and we bounce things around with a Dreamweaver expert in Amsterdam … how can we leverage this?

No Post Today

I wrote a long tutorial on passing node id arguments from Drupal Panels to a contained Drupal View. While there are tutorials on the net telling you how to pass Taxonomy Terms, I found none talking about node ids. It seemed I would be contributing something original.

After writing the blog post in my editor, my local Apache server would not respond, no matter how many times I rebooted it. That meant no screenshots. So I saved the post as draft in my blogging software, and rebooted my computer.

Now Apache works again, but the draft post I spent an hour is gone.

Then I read Planet Drupal and found out the interface I based the tutorial on is obsoleted by new module updates released today by MerlinOfChaos.

So no post today — sorry. I’ll go back to working on writing a Drupal module, and maybe set up an environment to use to try and tackle issues on the Drupal Issue Queue instead.

Developmentseed Feature Server Alpha Release

The Developmentseed Feature Server is out in an alpha release (thanks to Developmentseed’s Yhahn for alerting me in IRC!). Naturally I had to download it and experiment immediately.

You install it as a standard feature, and activate it on the Features, not Modules, screen.

Then you create a content of type Project, which represents the release stream of the Feature you want to distribute.

From there you go to your Drupal root URL and add ‘/fserver’ to get to the Feature Server administration screen. You’ll see your new Project, and can add a release to your new Feature.

Picture 3.png

Then go to your client machine, with the Features module installed. Download and install the new feature using a regular download from the URL on the Feature Server. Install it as a Feature (extract to the modules directory and enable it on the client site Features screen).

Now return to the Feature Server and modify your Feature — change a view for instance. Return to the Features screen on the Features Server and you will have the option to update the Feature. Do so, and export the Feature with a new version number.

Now return to the ‘/fserver’ page, and do a new release of the Feature using the tarball you just exported.

Return to the client installation and do a manual check for updates on the ‘admin/reports’ screen, ** not ** the Features screen. You should see your new Feature release is available!

(At the moment I do not, but others seem to, so I assume I have made a simple mistake that will quickly reveal itself when I am out of this meeting and can concentrate.)

That’s it. Feature release and update!

Here at iQuations we are extending Open Atrium with User Story and Iteration features for Agile Development support. So far everyone is agreed that this will be released to the community. My hope is that next week you will be getting these Feature releases directly from the iQuations Feature Server!

Remember, for Drupal development, including module development and legacy CMS migration, we can be reached via the contact form on my site, or at the company site (down for maintenance atm) www.iquations.net.

First Drupal Feature Created

In my last post I kowtowed in the general direction of Developmentseed for the work they are doing making possible a higher level of Drupal module and getting out the necessary components to make a viable ecosystem. Then, this being my 9th day with Drupal, I went to try and make a Feature of my own.

This turned out to be very easy. A Feature, at the end of the day, is a packaged set of content type, view(s), and optional taxonomy. All three are selectable through the Feature Administration panel. So a simple Mental Disorder content type became a feature in five minutes with this configuration

Picture 1.png

Choose the content type(s) and view(s) you want to put in the feature

Picture 2.png

See if the automatic detection missed anything you want to include

Picture 3.png

and finally, download the new feature

Picture 4.png

That’s it! You made a Feature!

Next step is to learn how to set-up a Feature Server (if they are out, I am not even sure) and see if I can distribute the feature and update it. I hear the wonderful call of virtual machines to set up a nice test bed here!

First though my relative inexperience with Drupal was exposed during even this little process. So I am off to hit the books. Feature Server, thou must wait until tomorrow!

Man, I can’t wait to make some real Spaces with Features in them. My clients are literally going to go crazy with the productivity gains the next six months.