You are here: Home Journal
About the Author

Khairil believes that one can earn a decent living and enjoy life while enriching the wider community.

 

He currently works as an IT consultant for Inigo, advocates FOSS and free knowledge and culture.

 

Contact

Commenting is enabled with OpenID login.

 

All content on this site shared under the Creative Commons Attribution License 3.0

.

 

This is a personal site, comments and content here does not reflect the official viewpoint of Inigo Consulting.

OpenID Log in

 

Kaeru's Online Journal

Online journal entries sorted by date

Showing blog entries tagged as: FOSS

ASEAN FOSS Business Partnerships?

Posted by Khairil Yusof at Sep 06, 2010 06:15 AM |
Filed under: SME, FOSS, Inigo
http://upload.wikimedia.org/wikipedia/en/thumb/9/9c/Usual_suspects_ver1.jpg/220px-Usual_suspects_ver1.jpg

Partnerships are common in most fields for large projects, when you need to divide up specialization or need to combine capacity.

I use the term partnerships here, because everyone is working together in an open and transparent manner.

There are a few barriers when it comes to partnerships in Malaysia between FOSS business:

  • Different competing technologies
  • Hugely different capacity and culture
  • Not FOSS (developed code not made available under FOSS license)
  • Sub-contract and lack of transparency
  • Competitors in same market
Different competing technologies
You can't combine capacities, when one company does RoR, another on Zope and another on PHP.
Different capacity and culture
There is a huge difference in technical capacity of engineers with FOSS culture (upstream development and participation, transparency) and those that work in a closed manner. If the gap is too big, and it often is, there is no benefit for company with higher capacity as knowledge transfers are one way. There are no productivity gains, as the specializing company just cannot do the job they're supposed to do.
Not FOSS
Advantages of code and module sharing, reuse does not work. No incentive to jointly improve on code in future.
Sub-contract and lack of transparency
Not a barrier. This is not a partnership. Lots of hidden problems also with lack of transparency.
Competing in same market
If there is potential to cannibalize partners' income, then you become competitors.

So finding a partner in Malaysia is probably not going to happen for Inigo. Finding a partner in EU/US is harder because, we probably are the lacking partner in terms of skills capacity. There is also the issue of time and travel. I see a lot of EU FOSS partnerships, because it's easy for them to easily meet and collaborate.

With low-cost air travel, similar time-zones, non-competition (for domestic markets) and similar capacities, can FOSS project partnerships work between ASEAN companies, when no suitable domestic partner is available?

I think it can.

It also may be the solution to some risk issues we have with growth for larger projects, for a self-funded employee owned company.

The risk that we're facing is that we need to do larger projects that are proportionally much larger than what 1-2 people can do. Finding 20 fresh graduates won't work for our model. We need 3 more that have similar capacity, skill sets and development/engineering culture. Try find 3 good FOSS people available locally, you know, the usual suspects. Then try to find if they're interested in working with the same technology. Then factor in their salaries/fees.

A partnership would allow us to avoid chicken and egg problem of large projects and building human capacity.

We're going to give a few tries at this and share the learning experiences. If it works, then we should be seeing more EU and US style FOSS SME development and collaboration happening in our region. GTUGKL has already shown what's possible. Now to extend it to other FOSS technologies.

tmux

Posted by Khairil Yusof at Jul 25, 2010 09:01 PM |
Filed under: Development, FOSS

A lot of users are probably familar with GNU Screen. I often need to run and see the output of multiple terminals. For example, you may want to see log output in one screen while editing a file in another.

Previously I would do this with multiple terminals, and then later with terminator to group them all together. The problem is that if I lost connection, or switch to working on a laptop, I have to recreate the environment again.

Wouldn't it be great, if I could detach and restore terminal windows (think virtual desktops), and panes easily and continue where I left off?

Enter tmux

http://kaeru.my/journal/images/screenshot-tmux-1.png/image_preview

For the server that hosts this blog, I wanted to do some application upgrades and I wanted to see with top what the server load was. So I have a window, with portmaster running and top in side by side panes.

On the same server, also I'd like to work on some Plone stuff and would like to edit a file, while viewing some stats from varnish. Instead of opening another terminal, I create another window in tmux, call it Zope and split it into two panes again.

http://kaeru.my/journal/images/screenshot-tmux-zope.png/image_preview

So now when I detach and reattach tmux on this server, I get back to my working environment where I left of with both the portupgrade and Zope window setup as they were. You can do a lot more with tmux then just this of course, but this is the main reason for me to switch to it from GNU Screen.

A good intro can be found in a two part blog post at Hawk Host

Don't Know Jack

Posted by Khairil Yusof at Jul 11, 2010 06:30 PM |
Filed under: FOSS, Audio, Music, Jack

The digital audio/music world is totally new to me, so I'm starting from basics and taking one baby step at a time. So I'm starting with the most basic setup with Jack first.

Line-out output from a synth keybaoard to line-in of my sound card. At this stage, you can't hear anything, until that line-in connection is plugged into a recording app and played back, much like what you do with standard desktop setup with pulseaudio. Unless the synth has speakers (most high-end ones don't), or another line-out is connected to a set of speakers, you're not going to know what's being recorded until it's played back.

To do this, you want to be able to monitor (hear) the input, by connecting it to some output. In this case, the line-out of my sound card (playback). You also want this to be in real time.

Jack provides the features to do this.

This sounds overly complicated to hear something, but there are a couple of things in play here.

  • Keyboard synth being pressed, sends a signal to it's tone generator
  • Tone generator converts it into audio signal, which is sent to line-out
  • Line-out audio into line-in of sound card, which converts it into digital signal (Analog to Digital Converter)
  • Digital signal gets converted and amplified into audio signal (Digital to Audio Converter) in sound card.

In future, all these things may be interchanged with other applications and devices. For example, the keyboard press will generate MIDI output, that will go to a software synth on the PC to generate a digital audio signal, which then goes to an effects processor before going into a recording app. Alternatively, a midi sequencer such as Rosegarden may be sending MIDI output to the synth keyboard to generate sounds.

Before it get's all complicated, let's get the basic connection working first.

Startup Jack Audio Control (qjackctl)

http://kaeru.my/articles/music/images/jack-panel-started.png

Jack Control will nicely suspend pulseaudio automatically first.

Once it's started, clicking on the Connect button will show under Audio tab, system (my Xonar sound card), and capture_1 and capture_2 (left and right, line-in) as an Output Port and system playback_1 and playback_2 as line-out left and right of the sound card.

http://kaeru.my/articles/music/images/jack-connect.png

You highlight it and click connect. You can of course do cross-overs or merge.

These connections are not saved, and system, capture_1 etc are not exactly intuitive names. As the setup gets more complicated, we're going to need to use the Patchbay, which you can access by clicking on the button.

http://kaeru.my/articles/music/images/jack-patchbay.png

With Patchbay, you can have aliase's for the devices so it makes more sense, and also be able to save and activate different setups.

Next I'll be learning on how to add basic MIDI support.

Document Actions