Archive for February, 2009

23 Feb 09

Control panel changes in Deki Lyons

The release of Deki Lyons is approaching quickly so to get all of you as pumped up as we are, I’ve created a few videos to give you all a good visual on the changes.

Lyons has a lot of exciting new features and changes that some of you may have already checked out in the preview versions. This set of videos highlights changes made to the control panel, such as the much improved navigation, simplified process for customizing the look and feel of Deki using CSS, and the so-easy-a-monkey-could-do-it FCKeditor configuration select feature. Check ‘em out!

Deki Lyons Control Panel – Overview:

Deki Lyons Control Panel – Custom CSS:

Deki Lyons Control Panel – FCKeditor Options:

20 Feb 09

New Fiesta Pro Skins

Although the first preview of Lyons went out about 2 weeks ago I thought I should still call some attention to the two new Fiesta Pro skins: Fiesta-Pro Slate and Fiesta Pro Olive.  Both skins structurally look the same as Pro Carbon simply with a different color scheme.  Take a look at the screenshots below and let me know what you think.

Fiesta Pro Slate

MindTouch Fiesta Pro Slate

Fiesta Pro Olive

MindTouch Fiesta Pro Olive

Thanks

Damien
@DamienH

20 Feb 09

Upcoming Germany & Ireland Trips

europe
cebit

In March, I’ll be traveling to Germany and Ireland. Some of it for work, some for fun. I see this both as an opportunity to decompress–Deki 9.02 “Lyons” should be released by then–and to meet face-to-face some of our community members.

If you’d like to meet up and chat about Deki, learn about the new features in “Lyons”, have some technical questions answered, or provide in-person feedback and suggestions of how we can make Deki better for you and your organization, please contact me at steveb{at}mindtouch{dot}com.

Here are the dates and places:

- Friday, March 6th: Hannover, Germany (I’ll be on the enterprise social networking panel at CeBIT)

- Monday, March 23rd: Munich, Germany

- Wednesday, March 25th: Dublin, Ireland

If there’s enough interest, I can also do a presentation about Deki as a platform and how to scale Deki using EC2. Let me know if you live/work/roam in those parts of the world!

19 Feb 09

MindTouch Deki Lyons Preview 2

Since Preview 1 of Lyons, we’ve been hard at work for the Preview 2 release – we’ve closed out 92 bugs and stabilized the update scripts for this release. Preview 2 is ready for you to download and test the upgrade of your existing systems to Lyons!

Again, I must warn you that Previews should not be used on production systems. Previews should be used to test the upgrade scripts on your development servers to ensure the final release will not cause conflicts with your set-up (let us address those issues now!). With this Preview, you can also begin testing out the latest developer tools available inside Deki (DekiScript improvements, notifications, php hooks, and page & user properties) to see how it will assist you in building rich applications on top of Deki.

Please help us out by grabbing Lyons Preview 2, checking out our bug fixes, and dropping by our forums to let us know of any issues you encounter with Preview 2!

For those of you who want to be made aware, we will post Preview 3 roughly around the end of February. This will continue in Preview 2′s footsteps by providing more code stabilization and UI polish.

Tags:
13 Feb 09

The great concurrency challenge

lioness

Just finished watching a great video discussion between George Chrysanthakopoulos and Erik Meijer from Microsoft about Concurrency, Coordination, and the CCR. George and I share a common past. We worked together for a few years in an incubation project in Advanced Strategies under Craig Mundie, Microsoft’s CTO. That project lead to the creation of the CCR (Concurrency and Coordination Runtime) and was also an inspiration to MindTouch Dream. From firsthand experience, I can attest that George is just as passionate and animated in person as he is in the video. He starts off slow and works up to an epic crescendo with arms flailing, expletives flying, and fists pounding… steamrolling his interlocutor into the ground. Very entertaining stuff!

To get to the point of this post, George and Erik talk about the problem of concurrency and how to address it. Concurrency is an extremely difficult problem in part because we all have learned to build software the wrong way. For example, one of the benefits of object-oriented programming is encapsulation. That is, data is hidden behind methods and properties. However, for distributed/concurrent systems, data hiding is the enemy, because everything revolves around data: operations act upon data and make new data available. Since operations don’t have internal state, they can be used concurrently already. Consequently, the only impediment to concurrency is the lack of simultaneously available data that can be operated on in isolation.

Another problem is fault tolerance. In a distributed world, bad things happen, but they aren’t necessarily permanent. In order to make robust software, code must be written to expect failure and always provide a response. For long running applications, this also means being able to get back to a steady state after a perturbation occurs. Failure recovery is another difficult problem that becomes easier to solve if data isolation is used, but again most programmers are taught to hide data behind interfaces.

The last problem is asynchronous programming. I don’t think this is a huge issue, because programming languages and compilers will be able to take care of it well enough. The most common error in asynchronous programming is to forget to provide a response which blocks all downstream code. This problem is easy to solve and we already did so in Dream. Arne wrote an excellent blog post about asynchronicity and coroutines a few months back. Writing asynchronous code in C# is pretty ugly today, but there are tricks to make it a bit better (especially in C# 3.0, which Dream doesn’t yet target). The bigger problem is that asynchronicity must go all the way down the stack to pay off. For example, some network streams in Mono are synchronous, so it doesn’t matter how asynchronous your code is if it relies on these streams. It simply won’t help. Ditto for library code that uses locks or other exclusion mechanisms. Asynchroncity is an all-or-nothing sum game, which makes it impossible for projects to adopt incrementally.

I’m very excited about what can be done to tackle concurrency and enable highly scalable systems. Message passing, such as used in Dream and CCR, already hold parts of the solution. Dream is released under Apache License 2.0 and is used as the foundation for Deki and its services. Dream uses message passing with support for streams and provides an asynchronous programming library, but is specialized for HTTP. I wish George would open-source the CCR as well. I’m pretty sure we would take advantage of it. Unfortunately, commercialization is taking precedence over adoption, which I think is a big loss to everyone. George, if you’re reading this, please set the CCR free! (preferably under an Apache 2.0 license). ;)

Copyright © 2011 MindTouch, Inc. Powered by