You are hereNews aggregator / Sources / Newsfeed

Newsfeed


Syndicate content Latest News from Open Source Magazine
Latest News from Open Source Magazine
Updated: 2 weeks 5 days ago

eBay Sued by Skype Inventors for Infringement

Fri, 09/18/2009 - 03:00
The Internet’s terrible twosome, Skype and Kazaa inventors Niklas Zennstrom and Janus Friis, have thrown a monkey wrench into eBay’s plans to sell off 65% of Skype to an investor group led by Silver Lake and involving Netscape co-founder Marc Andreessen for around $2 billion. Zenstrom and Friis were clever enough to keep the P2P Global Index IP underneath Skype so they could reuse it for other ventures.

read more

Virtualization and Fault Tolerance

Mon, 09/14/2009 - 10:45
Virtualization and fault-tolerant technology are like the would-be ideal couple, a match made in heaven, but who never meet, even though they’re constantly in the same place at the same time. That can be a funny conundrum in romantic comedies, but in the real IT world, virtualization and fault tolerance need to get together quickly and often. IT organizations that are virtualizing their server infrastructures need both technologies if they’re going to succeed in building platforms that have virtualization’s efficiency but also provide the continuous availability they need to support enterprise applications.

read more

Is Microsoft as Free as Open Source?

Sat, 09/12/2009 - 17:30
Jon has a point; Microsoft’s restricted (i.e., Express) editions are as free as the open source alternatives. This is undeniably true, since the purpose of many software vendor’s “Express” edition is to compete against open source on price. However, the difference is that with open source you get the full-powered editions. For example, Linux (e.g., CentOs), Xen (for virtualization), PostgreSQL/MySQL, Apache, Java, Tomcat, AspectJ, Lucene, Hibernate, and Eclipse are all robust, full-featured, and powerful technologies available for free to developers. The variety and the quality of product available from the open source community are just astonishing.

read more

White Paper: Open Source Middleware Reference Architecture

Fri, 09/11/2009 - 21:30
As open source development expands and deepens its innovative capabilities, JBoss Enterprise Middleware, by Red Hat, continues to deliver enterprise-class alternatives to expensive, cumbersome proprietary solutions at additional levels of the software stack. These go beyond the application server, to middleware for application integration, data integration, development tools, business rules management, even management and monitoring tools.

read more

Novell Releases SecureLogin 7

Fri, 09/11/2009 - 17:15
Novell has released SecureLogin 7, the latest take on its enterprise single sign-on (SSO) solution, said to cut the time required to SSO-enable an organization’s applications from weeks to days. Password proliferation is supposed to cause significant losses in IT and end-user productivity. A recent Novell survey found that at least 30% of IT help desk time is spent dealing with password-related issues.

read more

Deploying Azure Hosted Services Should Be as Easy as Deploying a Heroku Application

Tue, 09/08/2009 - 13:30
Recently a friend of mine showed me Heroku, an "instant Ruby platform". Basically what you can do with Heroku is build your Ruby application and the deployment to the remote Heroku site is not only brainless, painless, and simple, but it can be done entirely from the command line (which means it can be automated even further than it already is). But don't take my word for it, check out this screencast showing exactly how simple it is to build Ruby applications in the cloud using Heroku.

read more

Open vSwitch Project Launches

Mon, 09/07/2009 - 15:00
Last week a new Open vSwitch project was launched with little fan fare and even less insight into who is behind the project. The project aims to create a multilayer virtual switch licensed under the open source Apache 2 license. At first glance the project looks very promising as the basis for creating distributed VLan and Virtual Private Clouds (VPC).

read more

Astaro Offers VMware Users a Free Firewall

Thu, 09/03/2009 - 07:15
Astaro Corporation, a 150-man German network security vendor started by a college dropout infected with the viral get-rich-quick fever that was pandemic at the turn of the century, is going to give away an open source-based business firewall for VMware. The object of the game is to get noticed in an increasing crowded market although Astaro’s low profile doesn’t seem to have done it much harm. VCs have stuffed $12 million in its jeans and it’s reportedly been profitable for the last three years. It says the recession hasn’t hurt.

read more

Preparing for the Cloud: Is Your Team Strategic or Tactical?

Thu, 09/03/2009 - 06:45
During a lunch with Peter Coffee last May at Interop Peter made a comment that really stuck with me. He said that tech marketers are essentially anthropologists. Our conversation wandered around a bit, from our upcoming Interop panel on cloud computing to the advantages of various approaches to cloud; yet his comment really stuck as I navigated through Interop briefings and single malts before heading to San Diego for the Future in Review Infrastructure 2.0 panel. How true. Tech marketers are indeed like anthropologists. Well said, Peter. Then James Watters at Silicon Angle said the equivalent of the same thing last week during an upcoming video podcast on infrastructure 2.0. He observed that cloud computing could have a bigger cultural impact on IT than it ever has from a technology standpoint. Well said James. In many ways the evolution of technology parallels the evolution of culture. Some cultures stress continuity and tradition as a survival or success strategy while others emphasize innovation and risk taking. Individuals with different capabilities are often rewarded differently based on culture and incentive.

read more

IT Events Audit Standard Emerges

Wed, 09/02/2009 - 11:30
This is an emerging standard that’s being orchestrated through The Open Group, but it’s an open-source standard that is hopefully going to help in compliance and regulatory issues and in improving automation of events across heterogeneous environments. This could be increasingly important, as we get deeper into virtualization and cloud computing.

read more

Gmail is Down Again

Tue, 09/01/2009 - 23:00
At the risk of being redundant, Gmail has come a cropper again. It’s been down this time for hours and hours with no explanation given other than a “service outage” note. At around 4pm Eastern time Google’s Apps Status page finally said, “Google Mail service has already been restored for some users, and we expect a resolution for all users within the next 1.2 hours. Please note this time frame is an estimate and may change.” Tech Crunch says it was acting funny this morning, “but it appears now that it has completely crashed and disappeared.” Apps for Domains was down too.

read more

Novell Revenues Unexpectedly Down 12%

Fri, 08/28/2009 - 18:45
Novell, which contrary to public opinion took a serious hit the other day when a federal appeals court threw its ownership of Unix – and its ability to silence SCO – back to a jury to decide, earned five cents a share or $16.7 million on revenues down 12% to $216.1 million in the July quarter. Thanks to cost cuts its earning picture, as expected, improved over last year when the company lost $15 million, or four cents a share, but its revenue performance was another matter. Wall Street expected it to do $216.6 million.

read more

Benefits from Web 2.0: Open Source

Fri, 08/28/2009 - 10:00
Though Linux started about 15 years ago, the open source movement has only started to gain momentum.

Let's consider what has happened recently in Netherlands. The government has set out a task group ‘NOIV’, to stimulate open source and open standards within the Dutch government. With the amount of open source solutions available on sourceforge and more packages that are launched every day, it seems an unstoppable development. Even ERP solutions, which have been one of the major cash cows of the software industry in the past decades, can be downloaded from the Internet.

read more

Transition a C-Level SOA Skeptic into a SOA Backer

Thu, 08/27/2009 - 15:00
SOA C-level skeptics come in all shapes and sizes. They can be in any industry or any government agency. They can be close friends who “really like you” and no matter what, will invite you to their backyard barbeques. However, despite their differences or that fact that they may be you friends – C-level executives must have confidence the enterprise architect can deliver on what he proposes.

read more

Roadmap to Create Profitable Cloud Computing Industry

Thu, 08/27/2009 - 03:00
SYS-CON Events announced today that Steve Lesem, President and CEO of Mezeo Software, will be presenting at SYS-CON’s 4th International Cloud Computing Conference & Expo in Santa Clara, CA, this coming November 2 – 4, 2009. His session is entitled “The Profit Model for Cloud Computing.” The Cloud storage segment can provide a roadmap for how to create a viable, profitable cloud computing industry.

read more

Cenzic CTO to Present at 4th International Cloud Computing Expo

Thu, 08/27/2009 - 01:00
SYS-CON Events announced today that Lars Ewe, CTO and VP of Engineering at Cenzic, will be presenting at SYS-CON’s 4th International Cloud Computing Conference & Expo in Santa Clara, CA, this coming November 2 – 4, 2009. His session is entitled “Security in the Cloud: Protecting Your Cloud Apps.” Securing data and applications that run on the web and in the cloud are among the most pressing information technology challenges for organizations today.

read more

Event Handling in SproutCore 1.0 - Part 2 - Dragging a View

Mon, 08/24/2009 - 18:30

In my last post I introduced event delegation in SproutCore and the basics of how to handle events.   In this post I’m going to build on this foundation to show you how you can add event handlers to drag a view around the window.*

Introducing the Mouse Events

As I noted in the first post, SproutCore recognizes several different types of mouse events.  Most of these events are essentially the same events sent by most browsers, though some differ significantly in order to give you tighter control.

Remember that to listen for events, you just need to add a method to your view with the same name.  Here is a quick rundown of the different methods you can add to your view:

  • mouseDown() - Called when the mouse button is pressed while over your view.   You must return YES (i.e. true) from this method for mouseDragged() or mouseUp() to be called.
  • mouseDragged() - Called when the mouse is moved while the button is pressed.  This is only called if you returned YES from mouseDown().
  • mouseUp() - Called when the mouse button is released.  Only called if you returned YES from mouseDown().
  • mouseOver() - Called when the mouse enters the view’s visible area.
  • mouseOut() - Called when the mouse leaves the view’s visible area.
  • mouseMoved() - Called whenever the mouse is moved while over the view.

It’s important to note that all of these events, except for mouseDragged() and mouseUp() are sent first to the view that is directly under the mouse pointer at the time of the event.  mouseDragged() and mouseUp() only happen after a mouseDown() event.  They are always sent first to the view that implemented mouseDown() AND returned YES (or true) from that method.

Events do bubble up your view hierarchy using something called a Responder Chain, but that will be the subject for another post.

Event handler methods are always passed an SC.Event object describing the event.  This class provides a consistent cross-platform API for accessing event info.  In general, it follows the API conventions for the built-in Event object on Firefox.

Listening For Dragging

So, let’s say we want to create a view that can be dragged around the screen.  To do this, we need to implement three of the above event handlers: mouseDown(), mouseDragged() and mouseUp().

Let’s start with mouseDown().  The primary purpose of this method is to setup any information we need to save to handle dragging and, of course, to return YES so that we get our other calls.  Here’s some good starter code:

MyApp.MyDragView = SC.View.extend({ mouseDown: function(evt) { var layout = this.get('layout'); this._mouseDownInfo = { pageX: evt.pageX, // save mouse pointer loc for later use pageY: evt.pageY, left: layout.left, // save layout info top: layout.top }; return YES; // so we get other events } });

The mouseUp() handler is also pretty simple.  It just needs to do some cleanup.  Basically delete the mouseDownInfo hash and return YES to indicate that the event has been handled:

mouseUp: function(evt) { // apply one more time to set final position this.mouseDragged(evt); this._mouseDownInfo = null; // cleanup info return YES; // handled! }

Note that this method also calls mouseDragged().  This is the same method that will be called whenever the mouse is moved with the button pressed.  The reason you want to call this method again here is to give the view one last chance to position itself with the position mouse location.  Otherwise you might find your view will occasionally “miss” your last drag just before you release the mouse.

So with mouseDown() and mouseUp() handled, we just need to add the dragging support.  This is where the magic happens.  All we do in this method is compare the current location of the mouse against the original location of the mouse at mouseDown().  We then adjust the location by this same delta from the original position.  Here’s how this looks in code:

mouseDragged: function(evt) { var info = this._mouseDownInfo, loc; // handle X direction loc = info.left + (evt.pageX - info.pageX); this.adjust('left', loc); // handle Y direction loc = info.top + (evt.pageY - info.pageY) ; this.adjust('top', loc); return YES ; // event was handled! }

One interesting thing to pay attention to here is the way we calculate the new location of the view.  Most developers write dragging code for the first time by examining the current mouse location against the last time mouseDragged() was called.  Then they adjust the top/left by the delta.  This code instead saves the mouse and view location at mouseDown() and compares against that.

Note also the use of adjust().  This method is an easy way to adjust one or more layout parameters on your view without having to generate a whole new layout object.  It is very efficient for rendering.

The reason we take this approach here is because you want the offset of the mouse, relative to the view, to always remain fixed while you drag around.  Sometimes when you just look at the delta between events, this won’t happen.  It is usually always better to write UI code using this kind of “instantaneous point” approach - where calling a method with the same params will always have the same results, regardless of how it was called in the past.

Putting It All Together

So that’s all there is to it.  Three methods and you’ve added nice professional draggable views to your UI.  To help finish this example out, I’m going to add a property called “isDragging” and update the render() method of the view to add/remove a class name when that changes.  This will allow you to draw the view highlighted.  Here’s how the view looks when you put it together:

MyApp.MyDragView = SC.View.extend({ // .......................................................... // DISPLAY // // class name is added to the output HTML classNames: 'my-drag-view', // becomes YES when a drag becomes. isDragging: NO, // make sure view will auto-rerender. displayProperties: 'isDragging'.w(), render: function(context, firstTime) { // add/remove class name. Use CSS rule like this to style: // .sc-view.my-drag-view.dragging // context.setClass('dragging', this.get('isDragging')); }, // .......................................................... // EVENT HANDLING // mouseDown: function(evt) { // indicate dragging - rerenders view this.set('isDraggin', YES); var layout = this.get('layout'); this._mouseDownInfo = { pageX: evt.pageX, // save mouse pointer loc for later use pageY: evt.pageY, left: layout.left, // save layout info top: layout.top }; return YES; // so we get other events }, mouseUp: function(evt) { // no longer dragging - will rerender this.set('isDragging', NO); // apply one more time to set final position this.mouseDragged(evt); this._mouseDownInfo = null; // cleanup info return YES; // handled! }, mouseDragged: function(evt) { var info = this._mouseDownInfo, loc; // handle X direction loc = info.left + (evt.pageX - info.pageX); this.adjust('left', loc); // handle Y direction loc = info.top + (evt.pageY - info.pageY) ; this.adjust('top', loc); return YES ; // event was handled! } });

Now you know how to do basic mouse event handling. Next we’re going to head into keyboard land. Before that, however, you’ll need to learn another key concept with events: the Responder Chain

* Note that SproutCore also has a generic facility for drag and drop called SC.Drag.  SC.Drag is better for complex operations and will eventually integrate with the browser-based drag/drop events in HTML5.  But that is a topic for another day.

read more

Opportunity for ERP Enthusiasts with Open Source ERPs

Mon, 08/24/2009 - 16:30
Open ERP has released its new service offer - Odoo, the Ondemand ERP solution with minimal costs involved for end user. Its a SaaS (Software As A Service) offer from Open ERP, which provides access to end user without any investments or any infrastructural costs.

read more

SpringSource Adds Grease to Java Cloud Skids

Sun, 08/23/2009 - 01:00
This is the clear path for open source and Java developers to the cloud. Microsoft will have its hands full just keeping the .NET developers and operators on the farm, so to speak. SpringSource made headlines last week when VMware scooped up the Java infrastructure and management firm for $420 million in a move to breed easier cloud migration. Now, the spotlight is on the San Mateo, Calif. company once again as it leverages one of its own recent cloud industry acquisitions.

read more

Moonlight 2 Beta Out

Fri, 08/21/2009 - 21:30
The open source Mono Project sponsored by Novell has put out a beta release Moonlight 2, the Linux equivalent of Microsoft’s Silverlight 2, which gives users a platform to view and use Silverlight and Windows Media content on Linux. The beta offers improved functionality compared to Moonlight 1, including support for adaptive video streaming and audio playback, which means better streaming of multimedia content based on the quality of the user’s connections.

read more