Custom Search

Saturday, February 25, 2012

Tizen Conference Announced

Just in case you missed it, the first Tizen conference has been announced!  It will be held at the Hyatt Regency in San Francisco, from May 7-9.

The 2012 Tizen Conference will be a good opportunity for developers and device builders to learn more about the platform, where it's going, and how to make best use of it when building products.  In addition, there will be a special Tizen hosted hands-on lab for developers, prior to the conference - register early to save your spot.

The call for papers is now open.  We're expecting conference tracks to include:
?    Application development and deployment
?    Device/Product development
?    Platform development
?    Tizen project, process, and progress

The Tizen project also welcomes submissions on any other Tizen related topics, so be creative!  The call for papers is open until midnight on March 8th, and sessions will be announced March 12th.  

More details are available at http://tizen.org - submit your proposal or register as an attendee today!


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Thursday, February 23, 2012

Hands On with the Cinnamon Desktop

As one of the GNOME users who's still fond of the old-school GNOME desktop, the recent release of Cinnamon 1.3.1 caught my eye. While it's not exactly GNOME 2.x, it's close enough that most users with a fondness for the 2.x days will feel right at home.

The GNOME Shell (and Ubuntu's Unity) are making lots of rapid progress, and they may (or may not) be the bee's knees for many users. I've been using Linux desktops for a long time now, so I'm probably not the target audience for GNOME Shell or Unity. Either way, I'd rather spend my time writing and learning about how to use server-side software than re-learning how to use my desktop.

The Linux Mint folks have been doing a pretty good job keeping the GNOME 2.x spirit alive, and Cinnamon is the latest project in that effort. Cinnamon is a fork of the GNOME Shell that's meant to provide some of the advanced features in GNOME 3.x, with a familiar desktop experience.

The 1.3.1 release came out on Monday, February 20th, so I decided now was a really good time to take it for a spin and see how it handles.

Using Cinnamon

Cinnamon Desktop and SettingsCinnamon started with Linux Mint, but don't let that fool you. You can grab packages for Cinnamon for Ubuntu 11.10, Fedora 16, openSUSE 12.1 and more. If you're running Linux Mint 12, you can just grab the cinnamon package and you're good to go.

I went with the Linux Mint 12 packages, logged out of the Xfce desktop and into Cinnamon. The look and feel was close, if not exactly, to the experience of Linux Mint 11.

To start, I checked out the menu. It has a similar menu to the old Linux Mint menu for GNOME (much like the SUSE Slab menu), but search is now at the top and the "Places" and "System" menus are no longer there. On the left-hand side you now have Favorites, and then the applications by category and system tools and so forth.

It's pretty intuitive to add or remove applications to the favorites or panel, just right click on an icon and choose the appropriate action.

As you'd expect from a GNOME 2-ish desktop, you can put launchers and files on the desktop (if you like) and have the standard taskbar buttons for switching between programs.

Cinnamon does inherit GNOME Shell's Run Dialog (had by pressing Alt-F2, which isn't as full-featured as the GNOME 2x version. Yes, you can run apps by pressing Alt-F2 and typing out the application you want. But it doesn't have the drop-down menu with command history or the "run with file" option. It does have command history, though. You can just up-arrow to get the last commands you've typed in the Run Dialog.

You also get the Expose-like tiling feature with Cinnamon, which I find pretty handy. Unfortunately, unlike GNOME Shell, you can't drag apps between virtual desktops when you use the tiling feature. You can still move a window to a new/different desktop with Ctrl-Shift-Alt-right or Ctrl-Shift-Alt-left.

Cinnamon Application TilingThe panel can be configured at the top or bottom, or if you like you can even have a top and bottom panel. No left or right panels, though, which is not a big loss. The panel in GNOME 2 supported left or right-side placement, but things like the system tray and taskbar never really looked right when oriented vertically.

Cinnamon comes with a pretty decent selection of applets, though not quite on par with GNOME 2. For example, you have the window list to switch between applications using buttons on the taskbar, but the menu-based window list applet from GNOME 2 is missing.

The Cinnamon Settings app collects the settings for the panel, clock/calendar, window settings, desktop icons, and so on. You can't tweak quite as much as you could with GNOME 2, but it's a decent start. Note that many setting seem to require a restart, so if you apply a setting and nothing happens – odds are you need to log in and out again to see the change.

Overall, though, the Cinnamon project has done a really good job of replicating the GNOME 2 look and feel so far. I know lots of work is going into the project, so I have high hopes that it's going to continue improving and offering an alternative desktop for those of us who enjoy the old-school way of doing things.

If you'd like to contribute, Cinnamon is up on GitHub. So far, it looks like Cinnamon has a decent list of contributors. It should be interesting to see how it develops over the next few months.



busy

Expert Tips and Tricks With Kate and Konsole

The Kate graphical text editor and Konsole graphical terminal emulator are chock-full of advanced features and time-saving shortcuts. They work nicely together to make the lives of system administrators, writers, users, and programmers easier. Here is a look at some of the ways to make these power tools work for you.

The Kate graphical text editor and Konsole graphical terminal emulator are chock-full of advanced features and time-saving shortcuts. They work nicely together to make the lives of system administrators, writers, users, and programmers easier. Here is a look at some of the ways to make these power tools work for you.

Simplicity

Let's have a little chat about simplicity first, because I think this is quite misunderstood. A personal computer is a mighty all-purpose beast that serves whatever role you can imagine, and Linux is the most flexible computing platform of all, for everything from tiny embedded devices to supercomputers. The average low-budget PC outperforms the supercomputers of yesteryear.

This vast flexibility can be rather daunting, and one approach to managing it is to strip away functionality and hide what it's doing from the fragile eyes of the user. That is supposed to make it easier for us. I think it makes it harder because then we're stuck with an inflexible, opaque system that we cannot tailor to our own needs, and we have to invest time and ingenuity in working around the shortcomings of the "simplified" system.

Real simplicity is when we can tailor software applications to suit our needs, and to support an efficient, fast workflow. Workflow is everything, because every redundant keystroke and mouse click and inefficiency multiplies with every use. Life is too short to waste on clunky dumb tools that waste our time.

Kate

And so we segue nicely to Kate, the über KDE graphical text editor. I do most of my writing in Kate. I used to rely on Vim, which I still like and use on the console, but Kate has won my heart for most writing chores.

Kate has the advantages of a graphical interface so you have both keyboard and mouse, a graphical file picker, graphical configuration menus, and an integrated Konsole window. Figure 1 shows what all this looks like.

My first task with a new Kate is to customize the keyboard shortcuts with Settings -> Configure Shortcuts. You can control everything in Kate from the keyboard. Vi/Vim fans can set it to Vi Input Mode, which doesn't include all of Vi's mighty power tools like autotext, abbreviations, or mappings. But it does include a lot of mode and navigation commands.

Kate has keyboard controls for zoom, Forward and Back in the document tree, New File, New Window, Delete Line, Delete Word Left/Right, Select Page Up/Down, Select to End of Document, Select to End of Line, and many more. I don't try to remember keyboard shortcuts for every last little thing, but rather for the tasks that I do the most. Kate even support multiple keyboard shortcut schemes, which you can set up by clicking the Details button at the bottom of the Configure Shortcuts window.

Kate supports sessions, which you set up in the Sessions menu. This is a super time-saving feature for multiple-document projects because you can save all the documents and window configuration, including split views, in a single session. kate -s sessionname opens Kate to your chosen session, or creates a new one.

Speaking of multiple documents, you can use View -> Split View to see multiple documents at once, as many as you want, stacked either vertically or horizontally, and you can drag the splitter between the documents to resize them. When you close a split view the document remains open.

Kate comes with syntax highlighting and modes for dozens of scripting and programming languages (Tools > Mode/Highlighting), including some unusual ones like Lilypond, Wesnoth Markup Language for the Battle of Wesnoth game, MatLab, and POV-Ray.

When you're navigating a long complex document Kate's bookmarks will save your bacon every time, and the feature I love most is Ctrl+ Up/Down arrow, which scrolls up and down without moving the cursor. Kate does code folding, which is temporarily hiding sections of code, and you can automatically comment out a section of code by selecting it and then pressing Ctrl+d. Un-comment it with Ctrl+Shift+d. Another feature I use a lot is File -> Open With whatever external application I want. When I'm writing Web articles I use it to preview my work in a Web browser.

Tools -> Synchronize Terminal With Current Document makes the built-in terminal change to current working directory of the open document.

Kate has a bunch of nice plugins that you can activate via Settings -> Configure Kate -> Applications -> Plugins, and extensions via Settings -> Configure Kate -> Editor Component -> Extensions.

There is one conspicuously missing feature, and that is word count. I open the terminal, sync to the current document, and run wc -w filename. It's clunky but it works.

There are a whole lot more things Kate can do which you can find by poking around in the menus, and the Kate Handbook is helpful.

Konsole

Konsole is the KDE4 graphical terminal emulator, and it also supports keyboard shortcuts for all operations, profiles, bookmarks, and split views. Let's start with View -> Split View, which is a source of confusion because the split is a clone, not an independent window.

The purpose of this is to give two views of the same document or whatever output you are monitoring. For example, suppose you are studying a long configuration file. The split view shows the same document in both panes, but you can scroll independently to bring up different sections of the document side-by-side. Just like Kate you can open as many splits as you want.

Konsole's Bookmarks menu is a nice time-saver, because you can bookmark any directory just like bookmarking Web sites in a Web browser, and you can bookmark all open tabs in a single folder (figure 2). It also supports ssh and telnet sessions, for example ssh://carla@server, or telnet://carla@otherserver.

Figure 2: Creating a new Konsole bookmark.

You can use Edit -> Copy Input To all open tabs in the current window, or selected tabs in the current window. This is useful, to give one example, for running the same commands on multiple hosts at the same time over SSH. I would like it even better if it supported multiple windows instead of tabs so I could see everything at once, but it doesn't.

File -> Save Output As operates like the tee command; it sends all screen output to a text file while it displays the same output on the screen. This is a great way to create an audit trail so you can go back and see what the heck you did.

Want to select columns of your screen output? Press Ctrl+Alt while selecting with the mouse.

Double-clicking selects a single word, and on the Advanced tab of the profile configuration dialog you can configure which characters should be considered part of word, such as the hyphen, tilde, hash mark, or any mark you want included in a double-click word selection. Triple-click selects a line.

While you're in the profile configurator, check out the General tab – this has some useful basic tweaks, plus you can set the default directory to open to.

You can always do the quick Unix-style copy and paste of select with mouse/middle-click paste, and can also copy with Ctrl+Shift+c, and paste with Ctrl+Shift+Insert.

There many more useful features in both Kate and Konsole, such as scripting support and command-line operations. Please visit the Kate Editor Homepage and Konsole to learn more about these excellent applications.

]]>

Expert Tips and Tricks With Kate and Konsole

The Kate graphical text editor and Konsole graphical terminal emulator are chock-full of advanced features and time-saving shortcuts. They work nicely together to make the lives of system administrators, writers, users, and programmers easier. Here is a look at some of the ways to make these power tools work for you.

Simplicity

Let's have a little chat about simplicity first, because I think this is quite misunderstood. A personal computer is a mighty all-purpose beast that serves whatever role you can imagine, and Linux is the most flexible computing platform of all, for everything from tiny embedded devices to supercomputers. The average low-budget PC outperforms the supercomputers of yesteryear.

This vast flexibility can be rather daunting, and one approach to managing it is to strip away functionality and hide what it's doing from the fragile eyes of the user. That is supposed to make it easier for us. I think it makes it harder because then we're stuck with an inflexible, opaque system that we cannot tailor to our own needs, and we have to invest time and ingenuity in working around the shortcomings of the "simplified" system.

Real simplicity is when we can tailor software applications to suit our needs, and to support an efficient, fast workflow. Workflow is everything, because every redundant keystroke and mouse click and inefficiency multiplies with every use. Life is too short to waste on clunky dumb tools that waste our time.

Kate

And so we segue nicely to Kate, the über KDE graphical text editor. I do most of my writing in Kate. I used to rely on Vim, which I still like and use on the console, but Kate has won my heart for most writing chores.

Kate has the advantages of a graphical interface so you have both keyboard and mouse, a graphical file picker, graphical configuration menus, and an integrated Konsole window. Figure 1 shows what all this looks like.Figure 1: Kate with three files and the integrated Konsole window open.

My first task with a new Kate is to customize the keyboard shortcuts with Settings -> Configure Shortcuts. You can control everything in Kate from the keyboard. Vi/Vim fans can set it to Vi Input Mode, which doesn't include all of Vi's mighty power tools like autotext, abbreviations, or mappings. But it does include a lot of mode and navigation commands.

Kate has keyboard controls for zoom, Forward and Back in the document tree, New File, New Window, Delete Line, Delete Word Left/Right, Select Page Up/Down, Select to End of Document, Select to End of Line, and many more. I don't try to remember keyboard shortcuts for every last little thing, but rather for the tasks that I do the most. Kate even support multiple keyboard shortcut schemes, which you can set up by clicking the Details button at the bottom of the Configure Shortcuts window.

Kate supports sessions, which you set up in the Sessions menu. This is a super time-saving feature for multiple-document projects because you can save all the documents and window configuration, including split views, in a single session. kate -s sessionname opens Kate to your chosen session, or creates a new one.

Speaking of multiple documents, you can use View -> Split View to see multiple documents at once, as many as you want, stacked either vertically or horizontally, and you can drag the splitter between the documents to resize them. When you close a split view the document remains open.

Kate comes with syntax highlighting and modes for dozens of scripting and programming languages (Tools > Mode/Highlighting), including some unusual ones like Lilypond, Wesnoth Markup Language for the Battle of Wesnoth game, MatLab, and POV-Ray.

When you're navigating a long complex document Kate's bookmarks will save your bacon every time, and the feature I love most is Ctrl+ Up/Down arrow, which scrolls up and down without moving the cursor. Kate does code folding, which is temporarily hiding sections of code, and you can automatically comment out a section of code by selecting it and then pressing Ctrl+d. Un-comment it with Ctrl+Shift+d. Another feature I use a lot is File -> Open With whatever external application I want. When I'm writing Web articles I use it to preview my work in a Web browser.

Tools -> Synchronize Terminal With Current Document makes the built-in terminal change to current working directory of the open document.

Kate has a bunch of nice plugins that you can activate via Settings -> Configure Kate -> Applications -> Plugins, and extensions via Settings -> Configure Kate -> Editor Component -> Extensions.

There is one conspicuously missing feature, and that is word count. I open the terminal, sync to the current document, and run wc -w filename. It's clunky but it works.

There are a whole lot more things Kate can do which you can find by poking around in the menus, and the Kate Handbook is helpful.

Konsole

Konsole is the KDE4 graphical terminal emulator, and it also supports keyboard shortcuts for all operations, profiles, bookmarks, and split views. Let's start with View -> Split View, which is a source of confusion because the split is a clone, not an independent window.

The purpose of this is to give two views of the same document or whatever output you are monitoring. For example, suppose you are studying a long configuration file. The split view shows the same document in both panes, but you can scroll independently to bring up different sections of the document side-by-side. Just like Kate you can open as many splits as you want.

Konsole's Bookmarks menu is a nice time-saver, because you can bookmark any directory just like bookmarking Web sites in a Web browser, and you can bookmark all open tabs in a single folder (figure 2). It also supports ssh and telnet sessions, for example ssh://carla@server, or telnet://carla@otherserver.

Figure 2: Creating a new Konsole bookmark.

You can use Edit -> Copy Input To all open tabs in the current window, or selected tabs in the current window. This is useful, to give one example, for running the same commands on multiple hosts at the same time over SSH. I would like it even better if it supported multiple windows instead of tabs so I could see everything at once, but it doesn't.

File -> Save Output As operates like the tee command; it sends all screen output to a text file while it displays the same output on the screen. This is a great way to create an audit trail so you can go back and see what the heck you did.

Want to select columns of your screen output? Press Ctrl+Alt while selecting with the mouse.

Double-clicking selects a single word, and on the Advanced tab of the profile configuration dialog you can configure which characters should be considered part of word, such as the hyphen, tilde, hash mark, or any mark you want included in a double-click word selection. Triple-click selects a line.

While you're in the profile configurator, check out the General tab – this has some useful basic tweaks, plus you can set the default directory to open to.

You can always do the quick Unix-style copy and paste of select with mouse/middle-click paste, and can also copy with Ctrl+Shift+c, and paste with Ctrl+Shift+Insert.

There many more useful features in both Kate and Konsole, such as scripting support and command-line operations. Please visit the Kate Editor Homepage and Konsole to learn more about these excellent applications.



busy

Tuesday, February 21, 2012

The Ever-Changing Linux Skillset

Just because you had what it takes for a good Linux-related job a decade ago, it doesn't mean that you have what it takes today. The Linux landscape has changed a lot, and the only thing that's really stayed constant is that a love of learning is a requirement.

What employers want from Linux job seekers is a topic I've spent a lot of time thinking about, but this post by Dustin Kirkland got me to thinking about just how drastically things have changed in a very short time. The skills that were adequate for a good Linux gig in 2002 may not be enough to scrape by today.

This isn't only true for Linux administrators, of course. If you're in marketing or PR, for example, you probably should know a great deal about social networks that didn't even exist in 2002. Journalists that used to write for print publications are learning to deal with Web-based publications, which often includes expanding to video and audio production. (Not to mention an ever-shrinking number of newspapers to work for...) Very few skilled jobs have the same requirements today as they did 10 years ago.

But if you look back at the skills needed for Linux admins and developers about ten years ago, and now, it's amazing just how much has changed. Kirkland, who's the chief architect at Gazzang, says that he's hired more than a few Linux folks in that time. Kirkland worked at IBM and Canonical before Gazzang, and says that he's interviewed "hundreds" of candidates for dozens of developer, engineer and intern jobs.

Over the years, Kirkland says that the "poking and prodding of a given candidate's Linux skills have changed a bit." What he's mostly looking for is the "candidate's inquisitive nature" but the actual skills he touches on give some insight as well.

Ten years ago, and Kirkland says that he'd want to see candidates who were familiar with the LAMP stack. Nine years ago, and Kirkland says that he'd look for candidates who "regularly compiled their own upstream kernel, maybe tweaked a few configuration options on or off just for fun." (If you've been using Linux this long, odds are you have compiled your own kernels quite a bit.)

Basically, a decade ago, you were looking at folks working with individual machines. In a lot of environments, you could apply what you knew from working with a few machines at home to a work environment. That didn't last.

Six years ago, Kirkland says that he was looking "for someone who had built their own Beowulf cluster, for fun, over the weekend. If not Beowulf, then some sort of cluster computing. Maybe Condor, or MPICH."

Not long after that, Kirkland says that he was looking for experience with open source virtualization – KVM, Xen, QEMU, etc. Three years ago, and Kirkland says that he wanted developers with Launchpad or GitHub accounts. Note that would have required early adopters on behalf of GitHub, since the site had only launched in 2008. Git itself was first released in 2005, but it took a few years before really catching on.

Two years ago? Clustering and social development alone weren't enough. Kirkland says that he was looking for folks using cloud technologies like Eucalyptus. (He also mentions OpenStack, but two years ago the number of people who'd actually been using OpenStack would have been fairly negligible since it was only announced in the summer of 2010..)

Finally, the most recent addition to the list is "cloud-ready service orchestration," which translates to tools like Puppet, Chef, or Juju.

Even that's not enough. What's next? Kirkland says that he's looking for folks who've rooted their phones, tried out big data and thrown together "a map-reduce Hadoop job or two, just for grins."

Naturally, this is just a snapshot of what one interviewer considers important. Kirkland's list of topics may or may not mirror what you'd get in an interview with any other company, but the odds are that you'll see something similar. His post illustrates just how much the landscape has changed in a short time, and the importance of keeping up with the latest technology.

If you're a job seeker, it means a lot of studying. If you're already employed, it means that you should be keeping up with these trends even if you're not using them in your work environment. If you're an employer, it means you should be investing heavily in Linux training and/or finding ways to help your staff stay current.

Even if you're a big data-crunching, cloud computing, GitHub-using candidate, the odds are that next year you'll need to be looking at even newer technology. From the LAMP stack to OpenStack, and beyond, things are not standing still. The one job skill you'll always need is a love of learning.

Monday, February 20, 2012

How to Kickstart an Open Source Music Revolution with CASH Music

On February 10, 2012, CASH Music launched a Kickstarter campaign and raised more than 70% of their $30,000 goal in about 24 hours. What is CASH Music? And why does it already have vocal support from musicians, Firefox, and even Neil Gaiman? Jesse von Doom, Co-Executive Director of CASH Music, explains the inspiration behind the project and the big role Linux plays in it.

On February 10, 2012, CASH Music launched a Kickstarter campaign and raised more than 70% of their $30,000 goal in about 24 hours. What is CASH Music? And why does it already have vocal support from musicians, Firefox, and even Neil Gaiman? Jesse von Doom, Co-Executive Director of CASH Music, explains the inspiration behind the project and the big role Linux plays in it.

Linux.com: What inspired you to start CASH Music?

Jesse von Doom: The real inspiration is necessity. It started six years ago as a conversation about sustainability between musicians Kristin Hersh and Donita Sparks. After some exploration and thinking, we realized what the music world needed wasn't another tech startup, but an open foundation on which to build. In came additional code that had been written for (now co-Executive Director) Maggie Vail while she was VP at Kill Rock Stars, and we began the process of forming a proper nonprofit and adding to the code.

Since then, we had been building project after project to spec with artists, managers, publicists, and labels, learning what was needed and how to shape it. In time, we separated the platform itself from the functional elements built on top of it and a year ago we started putting out heads down in earnest. Now we've got a platform that tries to model the needs of an artist as they've described them to us, and allow those pieces to come together as easily embedded elements that can slot into pure PHP or any PHP-based CMS. The end goal is to make embedding rich functionality as easy as embedding a YouTube clip.

Linux.com: Your About page says "What CASH is ultimately trying to do is give musicians support in an environment that often feels alienating and hostile." How are you offering support for musicians?

Jesse von Doom: We're building a free and open-source platform for musicians to use in distributing, promoting, and selling their music. As the Internet becomes the backbone of the music economy, it's important that all artists have access to basic tools and resources, and that's what we're hoping to accomplish.

Our initial releases of an installable version of the platform contain things like email collection, downloads, fan club tools, and tour date display. We'll soon be releasing direct digital commerce, easy playlist embedding and management, and more social and media tools. In the future we also plan to spend significant time with education and outreach so we not only offer tools, but help using them.

Linux.com: How is CASH Music different than other music services or projects? Is there anything similar out there?

Jesse von Doom: The most obvious difference is our nonprofit/open-source structure. Too many musicians have been burned by Web sites shutting down or having their hard work trapped in a proprietary box. One of our board members, a musician named Jonathan Coulton, likes to put it in context of all the lost time, energy, and even money spent on MySpace pages that are now basically useless.

I also think that our slow-cooking approach is paying off. By getting the help of artists in figuring out the shape of this thing we're building, it's helped us make major improvements to the platform itself. We certainly didn't take a minimum viable product approach, and while that makes sense most of the time, I think going slow and communicating was vital to what we've done.

Really our biggest job is facilitating communication between musicians and developers, so building something both groups can understand gives common ground. My hope is that ground means more musicians learning about web making and more developers learning about how hard musicians need to work and where that work turns to income.

As a nonprofit, we can foster collaboration over competition, meaning artists don't have to choose our platform over another service; we can just integrate with whatever's best for artists.

Also we use more pictures of dogs and rainbows than any other service.

Linux.com: You raised $30,000 on Kickstarter within 72 hours. How will the funds be used to help the project?

Jesse von Doom: It's a pretty unexciting list. $30,000 is close to the total amount of funding we've seen in the last five years, but even if we raise five times that number, we're still working with a budget that's a fraction of most startups. All of the Kickstarter money will be going toward building the hosted version of the platform – 100% API and data compatible with the current distributed version, but without any of the setup. The goal is full data portability from hosted to distributed, so artists can start easily and move their data to their own sites, or even a different service built on top of our own hosted images.

We'll put some of the money to outside help where we can't find volunteers, in documentation or in carving out a specific subset of development. Similarly, in supporting focused hack events with developers and musicians working together. We're looking for a hosting partner willing to give us a nonprofit discount, but we definitely need to cover initial hosting costs and the other usual costs of running a site. Basically, this is giving us room to do a major push toward that free hosted service that we see as a huge part of the answer for musicians. Any additional funds will be put directly back into that effort, so we plan on pushing hard to get that Kickstarter number as high as we can.

Linux.com: What's your road map and timeline look like right now?

Jesse von Doom: We've already released an initial distributed version of the platform. It's an early version 1, but we're in a rapid release cycle and quickly smoothing out the rough edges. It's a challenge because we're using as close to bare bones PHP 5.2 as we can, relying only on PDO and mod-rewrite for some of the trickier things we're doing. We're not using any other external dependencies, which has forced structure and interesting solutions to challenges.

The idea was to support low-end hosts where most artists host their sites. We built a single-file installer that pulls down files from a GitHub repo. We install to a SQLite database then migrate that to MySQL when the user is ready. Basically, everything we can do to make the experience easier and less daunting we've done, and every release has to get easier or it's not ready to ship.

Currently we support email capture, email for download, tour date listings and archives, Tumblr and Twitter integrations, and some early fan club pieces. Right around the corner is digital commerce and playlists.

We're still shuffling the roadmap to get to hosted as quickly as possible, but that will be done soon and include things like private streaming, enhanced fan club elements, major improvements to the admin, more supported service integrations, and more.

Linux.com: What are the technical challenges going on under the hood of CASH Music?

Jesse von Doom: Building a distributed version of the platform first was a crazy-person idea, but very necessary to communicate the ideals of OSS to a non-technical user base. There's nothing like that first time someone changes a piece of code and suddenly feels ownership of it; we're trying to instill that same feeling of ownership in musicians.

Personally, I'm actually looking forward to the challenges of a large-scale, centrally hosted project... it means the environment will be a known commodity. Right now, we're trying to support just about any LAMP configuration under the sun. The host that still turns off fopen wrappers? Yup, we work around that. No access above the web root? Time zone not set? You get the picture.

So we've worked hard to set up patterns that won't interfere with other scripts as much as possible. We didn't build a traditional CMS, rather an engine for embedding pieces of content with a single line.

The minimalist approach to not using extensions certainly makes this a challenge, but Duke [Jonathan “Duke” Leto, Developer] set up a robust test suite that we've been filling with unit tests to up coverage, we've been running our installer and the platform in different environments and on different hosts, and testing in as many situations as you can imagine. It's the opposite of most devops challenges: We only know the code, not the environment it needs to run in.

Linux.com: What else can members of the open source community do to help you with the project?

Jesse von Doom: Like every project, we're looking for good developers. But we're also keenly aware of the non-development help we need as well. The better our docs are, the easier it will be for new developers to engage. And we're passionate about enabling even the least technical musicians to get comfortable on the Web so that means walk-throughs, careful copywriting, and better support.

We set up these pages for specifics: how you can help development, and how you can help non-development.

Linux.com: Thanks much for your time, and good luck with the project! Note that if you'd like to support the project, the Kickstarter drive continues through March 9th. Kickstarter pledges start at $5, with tiers up to $5,000 or more.

]]>

How to Kickstart an Open Source Music Revolution with CASH Music

On February 10, 2012, CASH Music launched a Kickstarter campaign and raised more than 70% of their $30,000 goal in about 24 hours. What is CASH Music? And why does it already have vocal support from musicians, Firefox, and even Neil Gaiman? Jesse von Doom, Co-Executive Director of CASH Music, explains the inspiration behind the project and the big role Linux plays in it.

Linux.com: What inspired you to start CASH Music?

Jesse von Doom: The real inspiration is necessity. It started six years ago as a conversation about sustainability between musicians Kristin Hersh and Donita Sparks. After some exploration and thinking, we realized what the music world needed wasn't another tech startup, but an open foundation on which to build. In came additional code that had been written for (now co-Executive Director) Maggie Vail while she was VP at Kill Rock Stars, and we began the process of forming a proper nonprofit and adding to the code.

Since then, we had been building project after project to spec with artists, managers, publicists, and labels, learning what was needed and how to shape it. In time, we separated the platform itself from the functional elements built on top of it and a year ago we started putting out heads down in earnest. Now we've got a platform that tries to model the needs of an artist as they've described them to us, and allow those pieces to come together as easily embedded elements that can slot into pure PHP or any PHP-based CMS. The end goal is to make embedding rich functionality as easy as embedding a YouTube clip.

Linux.com: Your About page says "What CASH is ultimately trying to do is give musicians support in an environment that often feels alienating and hostile." How are you offering support for musicians?

Jesse von Doom: We're building a free and open-source platform for musicians to use in distributing, promoting, and selling their music. As the Internet becomes the backbone of the music economy, it's important that all artists have access to basic tools and resources, and that's what we're hoping to accomplish.

Our initial releases of an installable version of the platform contain things like email collection, downloads, fan club tools, and tour date display. We'll soon be releasing direct digital commerce, easy playlist embedding and management, and more social and media tools. In the future we also plan to spend significant time with education and outreach so we not only offer tools, but help using them.

Linux.com: How is CASH Music different than other music services or projects? Is there anything similar out there?

Jesse von Doom: The most obvious difference is our nonprofit/open-source structure. Too many musicians have been burned by Web sites shutting down or having their hard work trapped in a proprietary box. One of our board members, a musician named Jonathan Coulton, likes to put it in context of all the lost time, energy, and even money spent on MySpace pages that are now basically useless.

I also think that our slow-cooking approach is paying off. By getting the help of artists in figuring out the shape of this thing we're building, it's helped us make major improvements to the platform itself. We certainly didn't take a minimum viable product approach, and while that makes sense most of the time, I think going slow and communicating was vital to what we've done.

Really our biggest job is facilitating communication between musicians and developers, so building something both groups can understand gives common ground. My hope is that ground means more musicians learning about web making and more developers learning about how hard musicians need to work and where that work turns to income.

As a nonprofit, we can foster collaboration over competition, meaning artists don't have to choose our platform over another service; we can just integrate with whatever's best for artists.

Also we use more pictures of dogs and rainbows than any other service.

Linux.com: You raised $30,000 on Kickstarter within 72 hours. How will the funds be used to help the project?

Jesse von Doom: It's a pretty unexciting list. $30,000 is close to the total amount of funding we've seen in the last five years, but even if we raise five times that number, we're still working with a budget that's a fraction of most startups. All of the Kickstarter money will be going toward building the hosted version of the platform – 100% API and data compatible with the current distributed version, but without any of the setup. The goal is full data portability from hosted to distributed, so artists can start easily and move their data to their own sites, or even a different service built on top of our own hosted images.

We'll put some of the money to outside help where we can't find volunteers, in documentation or in carving out a specific subset of development. Similarly, in supporting focused hack events with developers and musicians working together. We're looking for a hosting partner willing to give us a nonprofit discount, but we definitely need to cover initial hosting costs and the other usual costs of running a site. Basically, this is giving us room to do a major push toward that free hosted service that we see as a huge part of the answer for musicians. Any additional funds will be put directly back into that effort, so we plan on pushing hard to get that Kickstarter number as high as we can.

Linux.com: What's your road map and timeline look like right now?

Jesse von Doom: We've already released an initial distributed version of the platform. It's an early version 1, but we're in a rapid release cycle and quickly smoothing out the rough edges. It's a challenge because we're using as close to bare bones PHP 5.2 as we can, relying only on PDO and mod-rewrite for some of the trickier things we're doing. We're not using any other external dependencies, which has forced structure and interesting solutions to challenges.

The idea was to support low-end hosts where most artists host their sites. We built a single-file installer that pulls down files from a GitHub repo. We install to a SQLite database then migrate that to MySQL when the user is ready. Basically, everything we can do to make the experience easier and less daunting we've done, and every release has to get easier or it's not ready to ship.

Currently we support email capture, email for download, tour date listings and archives, Tumblr and Twitter integrations, and some early fan club pieces. Right around the corner is digital commerce and playlists.

We're still shuffling the roadmap to get to hosted as quickly as possible, but that will be done soon and include things like private streaming, enhanced fan club elements, major improvements to the admin, more supported service integrations, and more.

Linux.com: What are the technical challenges going on under the hood of CASH Music?

Jesse von Doom: Building a distributed version of the platform first was a crazy-person idea, but very necessary to communicate the ideals of OSS to a non-technical user base. There's nothing like that first time someone changes a piece of code and suddenly feels ownership of it; we're trying to instill that same feeling of ownership in musicians.

Personally, I'm actually looking forward to the challenges of a large-scale, centrally hosted project... it means the environment will be a known commodity. Right now, we're trying to support just about any LAMP configuration under the sun. The host that still turns off fopen wrappers? Yup, we work around that. No access above the web root? Time zone not set? You get the picture.

So we've worked hard to set up patterns that won't interfere with other scripts as much as possible. We didn't build a traditional CMS, rather an engine for embedding pieces of content with a single line.

The minimalist approach to not using extensions certainly makes this a challenge, but Duke [Jonathan “Duke” Leto, Developer] set up a robust test suite that we've been filling with unit tests to up coverage, we've been running our installer and the platform in different environments and on different hosts, and testing in as many situations as you can imagine. It's the opposite of most devops challenges: We only know the code, not the environment it needs to run in.

Linux.com: What else can members of the open source community do to help you with the project?

Jesse von Doom: Like every project, we're looking for good developers. But we're also keenly aware of the non-development help we need as well. The better our docs are, the easier it will be for new developers to engage. And we're passionate about enabling even the least technical musicians to get comfortable on the Web so that means walk-throughs, careful copywriting, and better support.

We set up these pages for specifics: how you can help development, and how you can help non-development.

Linux.com: Thanks much for your time, and good luck with the project! Note that if you'd like to support the project, the Kickstarter drive continues through March 9th. Kickstarter pledges start at $5, with tiers up to $5,000 or more.



busy