Home Blog Page 2797

Tracking Weekly Enterprise Linux News & Trends

Novell’s SUSE Appliance Toolkit was everywhere this week. The latest release, SUSE Appliance Toolkit 1.1, includes a variety of additions including support for KVM. The company says that the updates will help “ISVs and enterprises {to} build optimized application images in minutes rather than days for deployment in private and public clouds.”

Charlie Babcock at InformationWeek has a good, comprehensive report on this news.

IBM this summer introduced its new zEnterprise 196 mainframe systems, which integrate new technologies to manage workloads running across System z, POWER7, and System x servers. This week, IBM delivered its first order to Swiss Re, one of the world’s largest reinsurers.

Timothy Prickett Morgan at The Register says these z196 boxes “can have 80 cores spinning at 5.2 GHz and 3 TB allocated to a single system image running z/OS. With 80 cores dedicated to z/OS, the z196 is rated at more than 50,000 MIPS of aggregate processing capacity.” Read Prickett Morgan’s story here.

HP got a new CEO this week. Reuters reports on ex-SAP Leo Apotheker as HP’s new head chief. Most reports indicate that his priorities for the first 100 days are to meet and talk with the HP people and customers while working towards a broader set of capabilities as a company.

Lastly, Cisco, EMC, Orange and VMware got together this week in an attempt to compel enterprise customers to adopt private clouds. ZDNet UK reports that the companies will “offer a private cloud that can be deployed either on customers’ sites or on Orange Business Services’s (OBS) network, along with data backup, security-as-a-service and unified communications services.”

In an effort to capture notable enterprise Linux news and trends, The Linux Foundation will be highlighting some of the important milestones and announcements for enterprise Linux each week. We hope this is useful to our members and to the Linux.com community and we welcome your feedback and additions to these highlights in the comments section. 

My wearable computer, updates and what happens next.

 

Solution was, or will be because I’m still trying to find the right components by testing, connecting a ceramic capacitor to it, in range of 220pf to 1nf or something. I’ve already found almost good enough, but there is still some minor disturbance that I don’t like. I have also sewn the Velcro in the strap that I carry all of the stuff, so that they don’t fall off as their glue isn’t working so well. It’s just a quick and really dirty, nothing for any real tests, but I can at least move with the stuff on, so it’s now officially a wearable computer. Even more so than the ones that just hangs on your shoulder and actually reside in a bag.

Also, I got a new battery! It’s 2200mah, I guess it gives maximum 1A out and should work for about 3 hours for my stuff, not exactly sure as I haven’t done any real battery testing, that will come soon too.
The battery has 1 USB-input, or so it’s written, so I’ll load the battery with that, and there is also 2 USB-outputs, so I might not need the USB-hub at all if stuff goes well. I’m not sure if I can use that input as output too, but it’s USB, so it’s 5v and all, so it should prolly not break anything if it wouldn’t work. I think it should, but I’m not really that good with electronics anyway. This battery works well for a demo and real world testing, but it is not nearly good enough for fulltime cyborg action!

I also got a gamepad, so I can test using the thing with something not boring. Worked oob in Ubuntu netbook edition, so should work well with Ubuntu on my wearable.

I’ll be taking pics next, didn’t have time today, or that’s my excuse anyway. Then I’ll fix the display. Then I’ll get Torcs or any other simple but fun game on, as I don’t yet have that stupid chording keyboard, and I’ll be wandering around school and maybe city, wearing the stuff and whacking the keypad and looking like a loony, while actually being a bit less insane (one can always hope) and playing some fun games. And of course testing the actual usability of the display solution and stuff. I’ll also start gathering the parts for a new Spiffchorder soon.

Fun times! Hopefully I got most of it here. Pics will follow if I remember to get some new ones.

Weekend Project: Record From Skype Calls and Other Apps on Linux

 

 

Everyone loves the convenience of Skype and other voice-over-IP (VoIP) applications, but the official tools still tend to focus on making simple one-to-one phone calls. One of the most common limitations mentioned is how difficult it is to record the digital audio stream on your computer. Podcasters, teams holding conference calls, and reporters doing interviews (among others) all need to record calls for later use. There are a few stand-alone tools built to work with specific applications, but with just a little additional time you can set up a system capable of recording audio from any application — Skype, various Session Initiation Protocol (SIP) clients, group chat tools, and many more.

Single-App Recording

 

 

If you only use the popular — but closed and proprietary — Skype service, then you have a plug-and-play solution to call recording via the open source Skype Call Recorder (SCR) application. SCR can record calls to WAV, MP3, or Vorbis format, and has several nice features, such as conditional auto-recording, so that you can tell to always record calls with specific other users. SCR supports the latest versions of Skype released for Linux, the 2.1 series, however it is dependent on Skype’s proprietary APIs for its functionality, so there is always the possibility that an update to Skype will render SCR nonfunctional until a fix is found.

Among the various audio chat applications for Linux, two have built-in support for recording calls: the closed-source SIP client Gizmo5, and the open source SFLphone, which can use both the SIP protocol stack or the IAX2 stack used by Asterisk. The others, SIP Communicator, Mumble, QuteCom, Twinkle, KPhone, Ekiga, and Linphone, include no recording support at this time.

The Asterisk telephony server platform supports call recording through its Monitor command. Although Monitor is designed to listen to a channel server-side (and thus without human intervention), ever since version 1.2, it has been possible to configure Asterisk to enable per-call recording as well. There are some tools to bring this feature to desktop softphones, such as Astguiclient, but by and large Asterisk’s call-recording function is still meant to be managed by the Asterisk administrator.

If you don’t use any of the easily-recorded client apps, or if you want the flexibility to switch between them and still be able to record calls, then you will need to set up an external recording solution.

Call Recording Basics, and Why They Won’t Work

Once you step outside of the app-specific recording tools, it ought to be obvious that it makes no difference whether a program uses, SIP, H.323, or IAX — recording the call is a matter of tapping into the audio layer and saving a copy of it to disk. The best place to do that is at the sound server.

Most major desktop Linux distributions today use PulseAudio as a sound server — including Debian, Fedora, openSUSE, Mandriva, and Ubuntu. PulseAudio’s core makes for a good call recording point-of-interception for two reasons. First, because it sits beneath several different compatibility libraries; applications that call libalsa APIs, KDE’s aRTS, and even GNOME’s EsounD all get routed to PulseAudio in a uniform manner, just like newer applications written directly for PulseAudio APIs. Second, PulseAudio has a strong system of “virtual” input and output devices that enable you to chain audio streams together and re-route them entirely, without ever needing explicit support from the applications themselves.

Of course, that does not mean that PulseAudio’s documentation or tools make it entirely clear how to do any of this, which is often the problem that new users encounter. To get the hang of things, we will look at how to record a single audio stream from one application, then deal with the complexities of two-way voice communication.

Begin by installing the PulseAudio Volume Control application, pavucontrol. Although the distros listed above use PulseAudio, most do not install this package by default, and the major desktop environments each have their own simple “volume control” tool. To be blunt, there is a bit of naming confusion here; those desktop volume control tools do little more than let you move a slider from 0 to 100 on your default output. In contrast, pavucontrol should probably be called something more descriptive like PulseAudio Router, because it exposes far more of PulseAudio’s internal functionality.Call Recording Nullsink

Launch pavucontrol from the command line, and start Skype or your other preferred voice app. Select “Show All Streams” in pavucontrol’s Playback tab. What you will see is a list of all of the applications that have connected to PulseAudio to open a playback channel. Similarly, the Recording tab shows all applications that have connected to PulseAudio expecting audio input.

When you make a call with your voice app, you will see the application name appear at the bottom of the pavucontrol Playback tab with a label like “Skype: Output on” … next to a button. Clicking on the button opens up a drop-down list showing all of PulseAudio’s configured “sinks” — both the actual sound cards and any virtual devices. At the moment, it probably just lists Internal Audio Analog Surround 4.0 or something like that, representing the default output sink. The Recording tab will also show the voice app, labeled “Skype: Input from” … followed by the name of the default audio input device, hopefully your microphone, which will also be labeled with a generic name like Internal Audio Analog Stereo from a similar drop-down list of the running PulseAudio “sources.”

While the voice application is on the call, open up any audio recording application (Krecord, GNOME Sound Recorder, Audacity, etc.), and start recording. In pavucontrol’s Recording tab, the recording app will appear in the list. Here is where it gets tricky. Whichever source you select from the drop-down list next to the recording app is what the recording app will capture. To record the audio being produced by the voice app, choose “Monitor of Internal Audio Analog Surround 4.0” or whichever sink was listed in the Playback tab (this “Monitor” is a virtual source that PulseAudio creates automatically based on the real-life sink). To record a copy of your voice from your own microphone, choose Internal Audio Analog Stereo or whatever the voice app is also connected to.Call Recording Loopback

The problem is that the audio streams are separate, and you can only connect your recording app to one or the other, either capturing your end of the conversation or the other party’s. You certainly could fire up two recording apps simultaneously, and connect one to the Monitor virtual source and one to the input device, but you would subsequently have two separate tracks and would spend a lot of time trying to synchronize and mix them in an audio editor.

Calling All Ninjas: Full-Duplex Recording

The real solution to capturing both sides of the call is to construct a virtual PulseAudio device that connects to both of them. Unfortunately, PulseAudio does not have a built-in command to merge a sink and a source or two sinks into one virtual device, so we will actually need three pieces: a “null sink” and two “loopback” devices.

The “null sink” is like a set of virtual speakers, and each “loopback” is a virtual source-to-sink connector. We can connect the loopbacks to the voice app’s real audio source and sink, essentially cloning a second copy of each one, and route both of them into the null sink. Then we record the null sink, capturing the merged audio in a single file.

Create the null sink and give it a friendly name from a terminal with pactl load-module module-null-sink sink_name=mywiretap, then create two loopback devices with pactl load-module module-loopback; pactl load-module module-loopback. Loopbacks do not have names, but as you will see that does not really affect things.

Now go to the Playback tab in pavucontrol. PulseAudio will have attached each loopback to the default device; connect both of them to the “Null Output” sink from the dropdown menu instead — this is the null sink created earlier, despite the slight difference in terminology.

Both loopbacks will also appear in the Recording tab, where again PulseAudio will have attached them to the default device. In this case, what we want to do is connect one of them to the microphone source (Internal Audio Analog Stereo in the above example), and one of them to the “Monitor” source for the default audio sink (“Monitor of Internal Audio Analog Surround 4.0” in the example). It does not matter which you connect to which source, because in the Playback tab, both of them are routed to the Null Output anyway.

Finally, switch back to the Recording tab. Start the recording app, and when it appears in the list, connect it to the “Monitor of Null Output” source in the drop-down list. Voila. Both your voice and the other callers are routed to the voice app and “cloned” by a loopback device, and the duplicate audio streams are captured at the null sink.

Calling All Double-Ninjas: The CLI Approach

You might wonder why it was important to give that freshly-created null sink a memorable name, when it did not appear in pavucontrol’s GUI interface. The answer is that while pavucontrol is a great tool for setting up the system the first time, when the peculiarities of your sound card might mean it takes a couple of tries to find the right options in the drop-down menus, in order to make your setup persist on reboots you will have to replicate it in your PulseAudio configuration file.

First, run pacmd info from a shell prompt. This will print out the basics of your current configuration. You will need to refer to it in just a minute.

Next, from a different window, make a personal copy of your system-wide PulseAudio configuration file by running cp /etc/pulse/default.pa ~/.pulse/default.pa, then open it in your favorite editor. At the end of the file, we will add the commands that correspond to steps we took earlier, including the CLI commands issued with pactl and the options set in pavucontrol. Your stanza will look something like this:

# set up null sink and loopbacks to record voice calls
load-module module-null-sink sink_name=mywiretap
load-module module-loopback source=alsa_output.pci-0000_00_06.1.analog-surround-40.monitor sink=mywiretap
load-module module-loopback source=alsa_input.pci-0000_00_06.1.analog-stereo sink=mywiretap

As you can see, to specify these commands in default.pa, you must supply source and sink names as arguments to the loopback module-loading lines. We did not start off using those arguments on the command line because those long source designations are not easy to guess. Instead, we got to the configuration we needed using the GUI first, then we ran pacmd info. The output of that info command lists the exact source name arguments we need, so all we have to do is copy and paste them into the file.

What’s extra nice about this setup is that PulseAudio stores the application connection details automatically, so the next time you log in, you will not have to repeat the process of connecting the recording app to the Null Output Monitor — just fire up your audio recorder, phone your conspirators on Skype, and start plotting the next Watergate cover-up with reckless abandon. Yes, it would be nice if PulseAudio also remembered the whole null-sink and loopback process, rather than requiring us to save it in default.pa, but there’s no such thing as a free lunch.

Extra Credit: Pulse Troubleshooting, Video

The above solution will work for any application on a working PulseAudio system — Skype, Google Chat, Ekiga, or any of several others. But it goes without saying that if your voice app is not working correctly, going through the null-sink/loopback setup steps will not enable you to record from it. The best place to get help if you cannot debug why your voice app is not picking up your voice or playing audio correctly is probably a distribution-specific discussion forum. In my experience, although Skype and several other services may have Linux-specific help forums on their own sites, the percentage of people with troubleshooting experience is far higher on the distro forums.

That especially holds true when you occasionally stumble across a voice app that is not set up to use PulseAudio by default. More and more are, Skype included since 2009, but there are a lot of VoIP programs with overlapping feature sets. For example, only two, Twinkle and SFLphone, support the secure ZRTP end-to-end encryption protocol designed by the creator of PGP. If your distro does not properly configure these apps out of the box, you could face additional time getting them to work with PulseAudio. Start by doing that; don’t complicate matters right from the start by setting up the null-sink/loopback configuration.

Finally, if you got your recording solution working like a dream, you may also have gotten your hopes up that recording the video portion of a call is just as easy. Unfortunately, it is not. So far there is not a simple, works-everywhere way to capture incoming and outgoing video content during a video call. Or if there is, most of the world does not know about it. If you’ve found that solution, share it with everyone else so they’ll all have something to look forward to next weekend.

With Android Apps, Open Means Open — And That’s A Good Thing

Ars Technica has made waves with a report on how some apps for the open source Android operating system have been identified as covertly sending GPS data to advertisers. Based on research from Duke University, Penn State University and Intel Labs, it notes that “a significant number” of Android apps transmit location data without informing users in any way. Granted, this is non-ideal, but it’s also a by-product of a mobile ecosystem that is vastly more open than the one that Apple oversees. And openness remains a good thing.

As Ars Technica reports:

“The researchers developed a piece of software called TaintDroid that uses dynamic taint analysis to detect and report when applications are sending potentially sensitive information to remote servers. They used TaintDroid to test 30 popular free Android applications selected at random from the Android market and found that half were sending private information to advertising servers, including the user’s location and phone number. In some cases, they found that applications were relaying GPS coordinates to remote advertising network servers as frequently as every 30 seconds, even when not displaying advertisements.”

Read more at Ostatic

How To Set Up Kojoney SSH Honeypot On CentOS 5.5

Kojoney is a low level interaction honeypot that emulates an SSH server. The daemon is written in Python using the Twisted Conch libraries. In computer terminology, a honeypot is a trap set to detect, deflect, or in some manner counteract attempts at unauthorized use of information systems. Generally it consists of a computer, data, or a network site that appears to be part of a network, but is actually isolated, (un)protected, and monitored, and which seems to contain information or a resource of value to attackers. This tutorial shows how you can compile and install updated version of Kojoney on CentOS 5.5 server.

Read more at HowtoForge

Google Hands Number 7 Shirt to Chrome Browser

Google spun out the first version 7 stable beta of its Chrome browser yesterday.…

Read more at The Register

Strange Bedfellows: EFF, Apache Back Microsoft in Patent Dispute

Although building consensus around patent reform proposals has proved difficult, practically every major stakeholder (except patent attorneys, of course) agrees that the US patent system is broken. Patent problems occasionally generate unexpected alliances between disparate groups at opposite ends of the ideological spectrum. A number of organizations, including the Electronic Frontier Foundation and the Apache Software Foundation, have filed an amicus brief that expresses support for Microsoft’s pursuit of revised patent rules.

Read more at Ars Technica

Ubuntu Adding Mobile Streaming to its Ubuntu One Cloud Service

Ubuntu One, the free syncing service given to every user of Ubuntu’s Linux operating system, is stepping up its appeal by adding mobile music streaming to its service. Right now there’s an early-stage Android client for users to try out, but Ubuntu plans to bring the service soon to iOS devices and other platforms. You can learn more and sign up for the beta at Ubuntu’s wiki site. It’s an interesting take on the role of an OS provider—letting users stream whatever music they already have to their own devices.

 

Read more at Lifehacker

Third Blender Film Available to Download

Just days after the official film festival première, animated film Sintel has been published online and made available to download

Read more at The H

ForgeRock Announces OpenDJ LDAP Directory Service

ForgeRock has announced OpenDJ, a Java based open source directory server based on OpenDS, a project initially developed by Sun Microsystems, and hired a lead developer of OpenDS to work on development

Read more at The H