Search Results: "pm"

10 April 2009

Russell Coker: Fixing the Correct Network Bottleneck

The latest news in the Australian IT industry is the new National Broadband Network (NBN) plan [1]. It will involve rolling out Fiber To The Home for 90% of the population, the plan is that it will cost the government $43,000,000,000 making it the biggest government project. Kevin Rudd used Twitter to say Just announced biggest ever investment in Australian broadband - really exciting, infrastructure for the future [2]. Now whenever someone says that a certain quantity of a resource is enough you can expect someone to try and refute that claim by mentioning that Bill Gates supposedly stated that 640K is enough when referring to the RAM limits of the original IBM PC. As an aside, it s generally believed that Bill Gates actually didn t claim that 640K would be enough RAM, Wikiquote has him claiming to have never said any such thing [3]. He did however say that he had hoped that it would be enough for 10 years. I think that I needed that disclaimer before stating that I think that broadband speeds in Australia are high enough at the moment. In any computer system you will have one or more resources that will be limited and will be bottlenecks that limit the overall performance. Adding more of other resources will often make no difference to performance that a user might notice. On the machine I m using right now to browse the web the bottleneck is RAM. A combination of bloated web pages and memory inefficient web browsers uses lots of memory, I have 1.5G of RAM and currently there is 1.3G of swap in use and performance suffers because of it. It s not uncommon for the machine to page enough that the mouse cursor is not responsive while browsing the web. My options for getting faster net access on this machine are to add more RAM (it can t take more than 2G - so that doesn t gain much), to use more memory efficient web browsers and X server, and to simply buy a new machine. Dell is currently selling desktop machines with 2G of RAM, as they are 64bit systems and will therefore use more memory than 32bit systems for the same tasks they will probably give less performance than my 32bit machine with 1.5G of RAM for my usage patterns. Also the latest EeePC [4] ships with 1G of RAM as standard and is limited to a maximum of 2G, I think that this is typical of Netbook class systems. I don t use my EeePC for any serious work, but I know some people who do. Does anyone have suggestions on memory efficient web browsers for Linux? I m currently using Konqueror and Iceweasel (Firefox). Maybe the government could get a better return on their investment by spending a small amount of money sponsoring the development of free web browsers. A million dollars spent on optimising Firefox seems likely to provide good performance benefits for everyone. My wife s web browsing experience is bottlenecked by the speed of the video hardware in her machine (built-in video on a Dell PowerEdge T105 which is an ATI ES1000). The recent dramatic price reductions of large TFT monitors seem likely to make video performance more of an issue, and also increases the RAM used by the X server. Someone who has reasonably good net access at the moment will have an ADSL2+ connection and a computer that is equivalent to a low-end new Dell machine (which is more powerful than the majority of systems in use). In that case the bottleneck will be in the PC used for web browsing if you are doing anything serious (EG having dozens of windows open, including PDFs and other files that are commonly loaded from the web). If however a machine was used for simply downloading web pages with large pictures in a single session then FTTH would provide a real benefit. Downloading movies over the net would also benefit a lot from FTTH. So it seems to me that browsing the web for research and education (which involves cross-referencing many sites) would gain more of a benefit from new hardware (which will become cheap in a few years) while porn surfing and downloading movies would gain significantly from FTTH. The NBN will have the potential to offer great bi-directional speeds. The ADSL technology imposes a limit on the combination of upload and download speeds, and due to interference it s apparently technically easier to get a high download speed. But the upload speeds could be improved a lot by using different DSLAMS. Being able to send out data at a reasonable speed (20Mbit/s or more) has the potential to significantly improve the use of the net in Australia. But if the major ISPs continue to have terms of service prohibiting the running of servers then that won t make much difference to most users. Finally there s the issue of International data transfer which is slow and expensive. This is going to keep all affordable net access plans limited to a small quota (20G of downloads per month or less). It seems to me that the best way of spending taxpayer money to improve net access would be to provide better connectivity to the rest of the world through subsidised International links. Brendan makes an interesting point that the NBN is essentially a subsidy to the entertainment industry and that copyright law reform should be a higher priority [5].

9 April 2009

Julien Blache: d-i SCM FAIL

From the Bits from the Debian Installer team mail to d-d-a:
It has been decided that, in order to not slow down the development processes, D-I SVN should be branched when the work on preparing a release starts. Even if SVN doesn t make the process very easy, changing the VCS we use is currently not an option we prefer.
SVN, branching, d-i. There s no word to describe how painful it is to work on d-i using SVN. d-i is big, SVN is slow in about everything it does. Now add branches to the mix. That mail left me very disappointed; first because I thought switching to git was sort-of planned for after the release of Lenny, and now it s off the table, second because some things in this mail are just wrong. Oh well. No d-i for me, I guess, then.

8 April 2009

MJ Ray: Why is public and charity money paying for the private sector s marketing?

The workshop I went to recently and the ICT Champions in general ( Website Under Development - release early, anyone?) seem to be funded by public and charity money. As I mentioned, the worst thing was all the needless promotion of certain companies products, so why are they promoting private products instead of being neutral and open? That s bad for Britain, bad for the competing products that are co-produced by the Voluntary and Community Sector and bad for the VCS workers because it trains them in single-tool methods instead of transferable skills. Let the private sector pay for their own adverts! Why can t we stop making this mistake? Which brings me to the other problem with that ICT advice: well-meaning common-sector businesses like ours can t update it autonomously, for two reasons:
  1. All the texts I saw were under various Non-Commercial and No Derivative licences which make them hazardous or unusable to IT support businesses.
  2. Particularly on Free and Open Source Software, the advice is at best misleading and unhelpful. This is very frustrating: based on our private work and success in explaining things, I m sure we could do better, but for various reasons, no-one is paying for us to publish that. Instead, someone s paying to publish statements like There s no such thing as open source written by someone from an association that includes Microsoft and Oracle.
Again, why is public and charity money paying for the private sector s marketing? Why is it published under blocking copyright terms, scattering broken glass across the path just built? Where can we get funding to publish our explanations?

7 April 2009

Steve Kemp: I think you should let this one go

I work with log files a lot. Most of the logfiles I work with are in a standard format of some kind, and most often they are rotated upon a daily basis. (Examples include syslog, qpsmtpd, and Apache logfiles.) I wish there were a general purpose way to say "grep time-range pattern logfile". Right now, for example, I've just deployed some changes upon a cluster of hosts. Now I want to see only messages that refer to a particular area of the codebase only those that occurred after 23:00 - which is when I did the commit/push/pull dance. I've written a quick hack - tgrep (time-grep) - which allows simple before/equal/after/range grepping :
# show matching lines after 23:00PM
tgrep \>23:00:00 -i subject /var/log/qpsmtpd/qpsmtpd.log
# show matching lines in the interval 23:00PM 23:15PM
tgrep 23:00:00-23:15:00 -i -r subject /var/log/qpsmtpd/
If there is a common way of doing this "properly" then I'd love to be educated, failing that take it if it is useful (moreutils?) ObFilm: Chasing Amy

Steve Kemp: A mystery of open questions

Date 30th March 2009 All being well the Debian Administration website now fully supports UTF-8. This change was a long time coming, considering the amount of time the site has been live. Most of the changes have been present for a while: The only missing part was ensuring the at the text input by visitors/users was correctly decoded and treated as UTF-8. This was handled by updating changing the Perl CGI module to explicitly call charset appropriately. Since the code behind the site masks the database, memcached, and CGI handles behind singletons the change itself was pretty trivial: I made more changes this evening to tie it all together, and to ensure that my Database connection is always forced to use UTF but I think that wasn't so important. I hope this is vaguely useful the next time I have to fight with character sets & encodings. It is just all so nasty. Failing that these pages are vaguely useful: ObFilm: Run Lola Run

Manoj Srivastava: Manoj: Not your father's kernel-package

A few hours ago, a new version of kernel-package was uploaded to experimental. This is a major change,and I would appreciate it if folks took it out for a spin, kicked the tires, and provide feedback about where this version is lacking. This is only part of the way along in this development cycle. I would like to add a debug-info separation, either in a different directory than / in the image packages, or a separate package by itself. I would also like to create an overlay directory for /usr/share/kernel-package/, so people can inject code or override the defaults for kernel-package easily. I am also willing to make any changes to standardize the handling of hook scripts for kernel packages in Debian.
Table of Contents

./debian/ is ephemeral
make-kpkg removes and re-creates ./debian on every invocation. This started as an exercise to protect ourselves from the upstream builddep functionality, that randomly cleaned out ./debian whether or not it had created it, effectively making it impossible to run dpkg-buildpackage easily (which is ok, if all you care about is the image package) This does make the kernel-package far more nimble; we now offer less surprise to users who did not expect stampts that the kernel-packagge used to not do duplicate work. Now, if you edit a couple of files in the kernel source, and run make-kpkg, the kernel will build as expected. There are no more version mismatch errors, and the kernel version can be modified using localconfig as one desires. With this, kernel-package can routinely be used to build kernels out of the git tree. The con is that we no longer cater to official kernels, or to anyone who expected content in ./debian to persist. At some point, there are plans to implement an overlay directory that will shadow /usr/share/kernel-package/ruleset, but that is not yet implemented. In any case, the kernel team in Debian regards kernel-package to be broken, and have been bad mouthing it and deprecating it for a few years now, so this will not be a loss for them.

Get rid of the facility to patch kernel sources
The patch the kernel facility was adding complexity, and failing to provide the flexibility required for a generic patching facility. It used to be useful at one point, but in the modern parlance, witht he widespread use of distribute version control systems, and various facilities to manage source and patch them, the built in version was clunky. This means the --added-patches option of make-kpkg is gone, the work-around is to prepare the kernel sources before calling make-kpkg.

Remove special case code for official kernels
For the longest tine (well, ever since Herbert Xu too over building kernel images from me), kernel-package has carried specal case code for official images. This has caused some problems, recently, since the need to preserve ./debian has caused no end of problems when the version changed out from under ./debian, or when people wanted to edit a file and expected kernel-package to do a minimal recompile. However, sometime in the Etch release cycle, the kernel team deprecated kernel-package as the means of building official kernels. They have recently started saying they think kernel-package is broken, and have their own recommendation for how to build kernel packages. Therefore, a full release cycle later, we can get rid of the special case rules used for official packages. Also, this allows us to drop ./debian at the drop of a hat, and recreate it with an version that reflects the current state of the kernel sources.

Header package no longer create symbolic links in /usr/src
Instead, ship an example shell script that replicates the old behaviour. This script can then be deployed on the target machines, and could be a part of a locally created kernel configuration package, if one needs to deploy the same behavior across a cluster of machines.

The postinst no longer manipulates symlinks
This is a shift from previous behaviour. Any symbolic link manipulation must now be done with hook scripts in /etc/kernel/*.d directories. Firstly, modern boot loaders scan the boot directory for kernel images, and the user no longer has to code in the path to the symbolic links that the kernel image package used to manipulate. Secondly, hardcoding the behaviour into the postinst made for a very rigid policy; and user wanted more flexibility than that. There is an example shipped with the package that shows a more flexible scheme that kept two symbolic links for version 2.4 kernels, and two symbolic links for 2.6 kernels; it can be easily modified to keep two links for 2.9 kernels and two links for 2.8 kernels, or one of each, or whatever the user wants.

Image postinst no longer runs a boot loader
Please note that this was already the case for grub, one of the more popular boot loaders. Now that we have a mechanism for running arbitrary scripts when the image packages are manipulated, we can stop embedding the boot loader actions in the package itself. This means that lilo, elilo, etc will no longer be run directly by the post install script, and all the code related to detecting the boot loader, managing the configuration, and adding bits about bootloader documentation is all removed from the postinst. This allows the image package to be more flexible, since the end user is no longer restricted to the actions encoded in the image package. This is a fairly large change. It also opens the door for the user to easily use non-standard bootloaders, if they so desire.

The image postinst no longer creates an initramfs
Instead, there are example scripts provided that will perform the task. These scripts will work for official kernel images as well. The initramfs scripts provided work with the make-kpkg images as well as the official images, and are thus better than the script shipped with initramfs-tools themselves, as they offer a super set of functionality. This also demonstrates how the posts install script communicates with the initramfs creation scripts so that no initramfs is generated in case you do not want it.

5 April 2009

Jose Carlos Garcia Sogo: Backup your system for a desktop user

While Linux and Debian are plenty of programs for backing up your system, things change when you need a backup system for a common desktop user. In this area there is a lot of room for improvement, as programs for KDE and GNOME are years behind what programs for Windows and Mac OS X are offering.
There has been some programs intents of writing a good program, full featured and with a nice graphical interface, as Simple Backup, and its fork Not So Simple Backup, pybackpack, or TimeVault, an intent to clone Apple s TImeMachine, and it s fork TimeVaultNG written for KDE. Those are projects that start with a great impulse, even some of the mentored by Google Summer of Code, and when they reach some basic functionality, they get abandoned or not being properly maintained.
What I would like to see for a backup system for desktop user is: A lot of improvement and innovation has taken place in Linux Desktop during all these years, but backups are also important for SOHO users, and they need a well integrated program for doing that, as console based solutions usually require configuration skills which desktop users don t have.
Updated 6th April 22:26 CEST: I have been recommended in comments to try Back in Time and D j Dup. Both are in active delopment, which is a bonus. The first one works in a similar way to TimeVault, while the second one works using duplicity as backend, but has support to upload the resulting files to a remote server using SSH or to Amazon S3. I will investigate more on these apps.

Vincent Fourmond: HADOPI: a great blow to freedom of expression and justice in France

Here I am, utterly disgusted. Last Thursday, around 11pm, two dozens of members of Assembl e Nationale (one of the two parliament chambers in France) voted the infamous law nicknamed HADOPI. Great... For the record, this chamber in principle counts 577 members. This law is an awful blow to the Internet, the freedom of expression and the legal system in France. The official aim of this law is to put a stop to illegal file-sharing within France. With this law, specially appointed private companies will file accusations saying: this IP downloaded something illegal at this date to a central authority, and this authority will send two warnings before cutting the Internet connection of the alleged illegal downloader for up to a year. You will notice that there is no mention of what the incriminated person allegedly downloaded. There will be no possibility of appeal until the sanction is executed. This scares the hell out of me. This spits upon so many aspects of the French legal system that it is honestly impressive... What about the French principle that says that everyone is innocent until proven guilty ? Here, you are declared guilty based on a rather weak evidence (on IP address !), and you'll have to prove your innocence. What about the principle that there needs to be a fair trial before the execution of the sanction ? You'll have to prove you are innocent after the execution, with the additional fun that it will turn almost impossible to prove it. Not to mention the fact that the companies harvesting IP addresses of alleged offenders will have a great deal of access to data you're exchanging; what about privacy ? For the record, this privilege, violating the way justice works in France, had only ever be granted to anti-terrorist cells. The fun thing is that this law is useless, at least in terms of the its official goal: the day it comes into application, illegal file sharers will encrypt their exchanges or fake their IP addresses, or do whatever else they might want to do to guarantee their anonymity, and no company will ever be able to find out what it is they exchange. I won't even mention the number of false positive of these automatic accusations: many innocent French web surfers will have their connection cut without ever knowing why and without any possibility to fight back. So, what is the real goal ? Or what will be the use ? I can only speculate, of course, but it is tempting to think that this law could be used to regulate what is being expressed from France on the web. Someone is saying disturbing things ? Well, easy to shut him/her up: either fake downloads from his/her IP address or bribe a company into filing false accusations, and you'll effectively remove his/her connection while having the opportunity to further discredit the person by publicly disclosing that he/she is such a pirate that their connection was cut... Sounds neat, doesn't it ? In my childhood, teachers kept on saying that France is the country of human rights, but I can't help thinking this is less and less the case[1]. Well. That was a long rant. But I can't keep it inside: this is touching me too much. I'll add that I'm not downloading anything, and I don't have anything a priori against laws which would tend to regulate illegal file sharing. I just don't think that the (small) profits of a few justify spitting upon the freedom and the elementary rights of all people living in France. Further information, in French, can be found there. The full text of the project can be found on the website of Assembl e Nationale. [1] Please don't get me wrong. There are many countries where life is definitely more difficult than here, and where human rights are constantly scorned upon, which is fortunately not the case here yet.

4 April 2009

Andrew Pollock: [tech] It's not just me

Neil put me onto this guy who is also doing monitoring of his cat water bowl. Unlike my way of doing it, he seems to be doing it without any probes in the water, which would make refilling the water bowl a lot less fiddly, although adds the requirement to have a rig above the bowl. This ultrasonic sensor thing sounds very interesting. I foresee the soldering iron making a reappearance in the near future...

Russ Allbery: Lintian 2.2.9

I finally got this released. I'm very sorry for the long delay; life has been ridiculously busy lately. This release updates the list of valid sections, fixes a few annoying bugs (particularly in diversion handling and some problems with file 5.00 and analysis of source packages), and has some additional checks for correct package sections. Many thanks to Frank Lichtenheld and Raphael Geissert for their work on this release. I've also started the full archive run for lintian.debian.org, so it will finally be up-to-date again. Apologies to everyone for the out-of-date results there; I kept meaning to update it after the next release, and then kept finding another bug or not having a moment to do it. Lintian development will probably be slow for the next couple of months (unless my co-maintainers end up with more time to drive it forward), since I have a huge pile of work that I need to do, including deploying a virtualization environment and lots of upgrades to lenny. Things should start settling down again sometime around mid-June.

2 April 2009

David Paleino: Bash-Completion 1.0 released

The Bash Completion Development team is proud to announce the release of
bash-completion 1.0! This release features many new improvements: first of all, the upstream
development is now driven by a cross-distribution team. We now have people from
Debian, Mandriva, Gentoo, Exherbo, RedHat/Fedora, and we're hopefully going to
grow more! See the AUTHORS file for more information. Other than that, many new completions have been added, and plenty of bugs
have been fixed (49!). For more info, look at our changelog file. Still there? Go download bash-completion-1.0! We also changed homepage, thanks to Debian's Alioth project for the
hospitality. For any bug you might find, please contact us at our mailing list, or
directly file it at the Alioth tracker. Happy installation! P.S.: Debian package coming soon.

1 April 2009

Nicolas Valc rcel: Guadalinex-Edu Beta Announcement

Guadalinex-EDU: New educational distribution based in Jaunty

Guadalinex Edu is a new GNU / Linux distribution developed by the Advanced Center for ICT Schools Management (CGA), initially created for use by the educational community of Andalucia, Spain which will be available for teachers and students within the domestic sphere. Guadalinex Edu distribution is equivalent to the future Guadalinex V6 citizen but oriented to the educational sector.

Looking for the highest possible level of stability in the distribution, the CGA will be releasing a beta version of the distribution, installable by anyone who wants it. The aim is to involve the educational community in the stabilization and development of Guadalinex Edu, before its deployment in local schools.

Guadalinex Edu Beta 1 is fully functional, but should not forget that this is a beta version which may contain errors from both: the applications included by the CGA in the distribution, and errors coming from the base distribution where it must be installed (Jaunty Jackalope Ubuntu 9.04), so it is not recommended for use in production computers and, in any case, it is recommend making a backup of important data before installation.

Within an ICT Center, Guadalinex Edu will take advantage of the network infrastructure and servers from the center to offer:

For domestic users, Guadalinex Edu is offered as a meta package to be installed on Ubuntu Jaunty and offers tons of applications like:

Plus all the benefits of Guadalinex:

And Ubuntu:

Installation instructions for home users are available here(In spanish)

If you have a Launchpad account, you can add comments and report bugs at the following addresses (if you do not have an account, you can register with Launchpad for one)

Comments:
https://launchpad.net/guadalinexedu/+addquestion

Bug reports:
https://bugs.launchpad.net/guadalinexedu

Original link in spanish here

Michal Čihař: GSoC 2009 - no more import please

Looking at student proposals for phpMyAdmin, we have at least five for improving import functionality in same way. It's good to have a choice, but if you are thinking about filing another proposal for import, I have to say it is really not a good idea, because we simply have too much of them already. PS: Student checklist can help you to increase your chance being the chosen one ;-).

30 March 2009

Russell Coker: Inhaling Petrol Fumes

Tonight at 6PM the channel 7 news will have a special report about the dangers of inhaling fumes while filling cars with petrol. I m blogging now because based on past experience I expect almost no technical content in the report and that the advert for the news show contains everything that is useful. The advert showed that they had used some film technique to show the fumes leaving the petrol tank while fuel is pumped in. It was obvious that the fumes were rising past the face of the man who was filling the tank. Not that this is really news, if you observe closely when fuel is pumped into a car you can see where the vapor escapes as the slight difference in density causes whatever is behind it to shimmer slightly. For a long time the Prius has had a bladder inside the fuel tank which expands and contracts to match the fuel volume [1]. This greatly reduces the evaporative loss of fuel when the car is parked and the ambient temperature changes and also when fuel is pumped in. So it seems that in regard to the issue of fuel vapor poisoning the driver, the Prius has been better than other cars for about 10 years. Apparently Toyota have developed a new system that they have implemented in the Hybrid Lexus and the new Hybrid Camry which involves vapor recovery , this is supposed to give similar benefits in terms of not releasing petrol fumes into the environment but without limiting the capacity of the fuel tank in cold weather (a common complaint about the Prius). I have not been able to find any technical information on how this works (please let me know if you know a good web page about it). The next issue is that any car which gives good fuel efficiency and has a reasonable size petrol tank will be better in regard to vapor releases. The less frequently you need to refuel your car the less fuel vapor you will inhale. I predict that channel 7 will not suggest that people drive fuel efficient cars, they are probably more likely to go for hand-wringing about the inevitable health problems, or make vague claims that the government should do something about it. The fact that the news show in question is immediately followed by Today Tonight (one of the tabloid TV shows) is an indication of the likely quality. A final issue is the puddles of fuel that you commonly see at petrol stations. People regularly spill reasonable quantities of petrol and Diesel fuel and it just accumulates on the concrete. It s not uncommon that I will have to drive with my car windows open after buying petrol due to the petrol that I stood in evaporating from my shoes. Apart from training people to not be stupid when refueling their vehicles I can t think of any way of solving this problem. A petrol station employee once told me that it s not uncommon for people to refuel cars with their young children standing within splash range of the fuel nozzle. If people can t manage to avoid splashing their children with fuel then it seems that it will be impossible to get them to do anything reasonable or intelligent regarding the refueling process.

Uwe Hermann: Coreboot hacking: How to solder a PLCC socket on your board

Desoldering station. When trying to port coreboot (previously LinuxBIOS) to a new mainboard you're often confronted with a big problem: the BIOS/ROM chip on the respective motherboard is soldered onto the board (i.e., not in a socket). This means that you cannot easily (hot-)swap the chip during development or for recovery purposes. So you basically have exactly one try to flash the ROM chip with a fully working/booting coreboot image. If that goes wrong your board is bricked. Desoldering the chip This makes it pretty much impossible to develop a coreboot port for such boards (and soldered-on ROM chips are becoming more and more common, unfortunately). However, I've recently tried to replace the soldered-on (PLCC) ROM chip on one of my boards with a socket. What sounds pretty scary at first, especially given that I have almost non-existant soldering skills, turned out to be really not that hard. Also, it can be done with relatively cheap and readily available equipment. I have written a short HOWTO for desoldering chips and soldering on sockets in the coreboot wiki, and also finished a video showing most of the process, which I hope will be helpful for others: Place the PLCC chip
The video is CC-BY-SA 3.0, music is taken from ccmixter.org and is CC-NC 3.0 licensed. Video editing was done using Kino (which uses ffmpeg2theora for Ogg Theora export). I also tried to upload the video to Vimeo, but first they told me to install the Flash 10 abomination (and there's no way I will do that). After browsing the help/forum pages a bit I found a traditional, non-flash upload form, but that then tells me that I cannot upload Ogg Theora videos. WTF? Soldering the socket The Ogg Theora video support feature request has been open for more that a year. Until that issue is fixed I'll just use other video services, thanks...

Biella Coleman: Pure Data: FM Sprint in NYC and Berlin

FLOSS Manuals is proud to announce a three day book sprint for the Pure
Data FLOSS Manual. This sprint will take place simultaneously in New
York City and Berlin from Saturday 4 April to Monday 6 April. The Pure Data FLOSS Manual: http://en.flossmanuals.net/puredata There are possibilities to participate in person by coming to one of the
locations below, or remotely via the IRC interface built into the FLOSS
Manuals editing interface. Video conferencing may take place between the
venues as well. To participate, create a login at the PD FLOSS Manuals page: http://en.flossmanuals.net/bin/login/TWiki/WebHome?origurl=/bin/view/PureData/Introduction&skin=floss2 Discussion may also take place in the Pure Data mailing list: http://lists.puredata.info/listinfo/pd-list If you are in New York or Berlin, please join us at these locations! NEW YORK CITY * Contact: Hans-Christoph Steiner: hans@eds.org 718 360 4872 * Location (bring ID, you ll need to sign in): ITP/NYU Conference Room
721 Broadway, 4th Floor
NY, NY, USA
email me or call in case you can get past security: 718 360 4872 * Schedule:
Saturday: noon-midnight
Sunday: 10am-midnight
Monday: 9am-5:30pm (if we go later, we ll be in a different room) BERLIN * Contacts Derek Holzer: derek@umatic.nl +49 176 2812 5845
Adam Hyde: adam@flossmanuals.net +49 15 2230 54563 NK
ElsenStr. 52 (2.Hof)
Berlin, Germany
+49 176 20626386
http://www.myspace.com/enka52 * Schedule:
Saturday: noon-late
Sunday: noon-late
Monday: noon-late
SOME BASIC GUIDELINES: * This manual should address the widest possible user-base. Therefore,
objects which are cross-platform and in Pd Extended should have priority
over other solutions.
* Tone should be neutral and informative. Remember that humor doesn t
always translate well! ;-)
* Our readers are assumed to have little to no background in either
computer programming or digital signal processing, which much of the
existing documentation takes for granted. That s why this manual is
necessary! Please keep this in mind when explaining things.
* Please use existing the Audio Tutorials, Installing and Getting
Started chapters as a style guide.
* Keep the chapters small and self-contained. Ideally, chapters from
this manual could even be remixed into other FLOSS Manuals.
* Explain any jargon or technical terminology in-line the first time you
use it, and direct the reader to appropriate other chapters/manuals when
necessary.
* Please enter any new technical terms in the Glossary (we need to agree
on global format for glossary terms!).
* Screenshots:
Resolution? (Adam and I will work on this on Monday)
Please upload any complex patches, and make sure to label screenshot
with appropriate filename (see Audio Tutorials for examples)
Please keep explanatory text in the manual rather than only in the
screenshot, so that it can be text-searched by readers.
Please use anti-aliased fonts!
* All the chapters are moderated by Derek Holzer & Adam Hyde. Your
contributions will only be visible in the editing section until they
meet these guidelines, and after that they can be published to the main
page. Please let us know when your chapter(s) are ready for publishing
and we ll look them over. EXISTING CHAPTERS WHICH NEED HELP: # DataflowTutorials this section needs a lot of help in terms of style and content!!!!!
Tone is very informal, which doesn t help convey the information.
give titles to screenshots so that readers can tell which patches
match which images (some do this, some don t )
Math : examples/discussion of [expr]???
Order of connecting and [trigger] : explain the patches in-line,
rather than only in comments in screenshots (so that text is searchable,
copy/pasteable..)
Luka s screencaps are very aliased, to the point where you can t read
the ~ in the object names. Should they be redone at new resolution or
with antialiasing?
Possible janitors: Derek Holzer, Adam Hyde # PureGlossary format of object names = [italics in square brackets], must be
formatted correctly
format of glossary words in general text: we don t have one yet. Bold
on first use in chapter maybe? Needs formatting all through text. # ListofObjects incomplete, please add more libs
maybe more discussion of externals needed as well
formatting of object names? # PureLinks always welcome MORE CHAPTERS/SECTIONS TO DO (+ suggestions?): * GEM (in order of importance)(Derek can provide example patches for
much of this)
Basic VJ mixer (2 x
[gemhead]-[pix_film]-[alpha]-[colorRGB]-[pix_texture]-[rectangle] with
an alpha-crossfader)(+ platform specific codec info)
Live camera input (same as VJ mixer but with [pix_video], with
platform specific info on USB/firewire inputs what works & what doesn t)
VJ effects (using the various pix objects)
Basic 3D (that actually does something interesting, rather than just
show a sphere or a cube)
Basic movement tracking w/ [pix_blob]
GEM/video optimization/troubleshooting tips (see Troubleshooting
section of existing Pd FLOSS Manual) * MIDI tutorial
hardware:keyboards, sliders, etc,
objects: all MIDI objects
routing: input + output to/from devices or other programs * Patching strategies
Reusable abstractions ($0 etc)
GoP + other GUI creation strategies
Preset saving systems (Frank?) * Audiofile manipulation (Derek can provide examples, possibly also work
with www.pd-tutorial.com with permission?)
sfread, readsf, sfplay, etc
tables + tabplay, tabread, etc
oneshot playback without/with pitch shifting
looping without/with pitchshifting
granulation without/with pitchshifting
Extended objects ([xplay~], [xgroove~] are these stable? In my
experience, no ) * Realtime audio effects tutorial
delays: single tap, multitap, pitch-shifting, tuned comb filter, etc
filters: [hip~], [lop~], [bp~], [moog~], IEM lib filters
[vcf~]/[bp],[hp],[lp], difference between audio signal and message
controlled, building with ggee objects [bandpass],[llowpass],[highpass]
or [biquad~] (resources for coefficients?) * Sensor tutorial (HC?)
[hid]/[hidin]/[pduino]
simple circuit diagrams + photos (voltage divider examples:
potentiometer, photoresistor, etc)(hacked gamepads) * Networked data
netsend/netreceive
OSC
flash server
shell
python externals
others? * PDP/PiDiP
configuration info for OSX (+ poor performance disclaimer!)
basic VJ
networked streaming etc * Procedural Audio tutorial? (Andy?) * RJDJ tutorial? (Frank and the gang?)

Daniel Leidert: Network doesn t come up after update to udev 0.140

The recent update to udev 0.140 lead to a system without network access to me. The error messages were:
Running 0dns-down to make sure resolv.conf is ok...done.
Setting up networking....
Configuring network interfaces...
ioctl[SIOCGIFFLAGS]: No such device
Could not get interface  ath0  flags
ioctl[SIOCSIWPMKSA]: No such device
ioctl[SIOCSIWMODE]: No such device
Could not configure driver to use managed mode
ioctl[SIOCGIWRANGE]: No such device
ioctl[SIOCGIFINDEX]: No such device
ioctl[SIOCSIWENCODEEXT]: No such device
ioctl[SIOCSIWENCODE]: No such device
ioctl[SIOCSIWENCODEEXT]: No such device
ioctl[SIOCSIWENCODE]: No such device
ioctl[SIOCSIWENCODEEXT]: No such device
ioctl[SIOCSIWENCODE]: No such device
ioctl[SIOCSIWENCODEEXT]: No such device
ioctl[SIOCSIWENCODE]: No such device
ioctl[SIOCSIWAP]: No such device
ioctl[SIOCGIFFLAGS]: No such device
wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
/etc/network/if-pre-up.d/wpasupplicant exited with return code 1
SIOCSIFADDR: No such device
ath0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
ath0: ERROR while getting interface flags: No such device
ath0: ERROR while getting interface flags: No such device
Failed to bring up ath0.
done.
It seems, the update added rules to /etc/udev/rules.d/70-persistent-net.rules by increasing the device number and applying the last applicable NAME directive instead of the first one. This lead to the following file here:
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS address =="XX:XX:XX:XX:XX:a7", ATTRS type =="1", NAME="ath0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS address =="XX:XX:XX:XX:XX:18", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS address =="XX:XX:XX:XX:XX:XX", NAME="eth1"
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR address =="XX:XX:XX:XX:XX:18", ATTR type =="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x168c:0x0013 (ath_pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR address =="XX:XX:XX:XX:XX:a7", ATTR type =="1", KERNEL=="ath*", NAME="ath1"
So the devices created were eth2 and ath1 but /etc/network/interfaces contained entries for eth0 and ath0. So fixed /etc/udev/rules.d/70-persistent-net.rules and rebooted. <rant>Is it really necessary to break network access with an update???</rant> Update I forgot this one: #521521.

29 March 2009

Russell Coker: Linux Powered Battle Droids

Flame has written some ideas about building Linux Powered Battle Droids and demonstrating them [1]. It seems to me that the biggest problem with having a battle of a similar nature to Robot Wars [2] is creating a safe arena. Getting an area the size of a basketball court fenced off with bullet-proof plastic is not going to be cheap. The first solution to this problem that occurred to me was to have a battle held underwater. Water really slows down projectiles. The disadvantages of this are that it s slightly more difficult to view. The viewing options are to using a web-cam, having a port-hole in the side of the pool (impossible if you don t own the pool), and having a transparent viewing platform on the surface of the water (which would also be difficult and maybe expensive). Another disadvantage of submarine warfare is that having a droid spring a leak and quietly sink is not very dramatic. It might be a better option to use aerial warfare via helicopters and balloons. The amount of weight that such craft can carry is not particularly great so there will be no real armor and fairly weak weapons. A motorbike helmet and a heavy coat should be all the protective equipment that is needed if the usual rules prohibiting projectile weapons from such contests are implemented. A petrol powered model aeroplane could do some serious damage if it hit someone at full speed. But I don t think that an indoor basketball court or any other enclosed arena that might be available would be large enough for fighter-planes. So it would be just balloons and helicopters.

28 March 2009

Alastair McKinstry: Pkg-config and Modules

At ICHEC one of our tasks is to help users build their software on our supercomputers. Mostly we have to change paths, etc. in code bases that are used by a handful of scientists, and we don't want to exacerbate the hard-coded path problem. We also have multiple versions of certain libraries and compilers installed, which we select using modules: to do this, you select your software environment with e.g.
$ module load intel-fc/11.0.082  netcdf/4.0-intel
This selects the compiler version, and library version. Then, this places appropriate paths in $PATH, $LD_LIBRARY_PATH. While this is useful for selecting, eg. compilers, its often not great for many build processes that expect library paths, etc. hard-coded. I also dislike adding random environmental variables: it loses the Single Point Of Truth that describes the configuration. So I've come up with the following pattern. First, record the modules used (eg. library version) in config.log if configure is used. To do this, add the following to the autoconf file or system headers:
# AC_MODULES_OUTPUT
# -----------------
# Check if the system runs 'modules', and if so, record the modules environment in the config.log
AC_DEFUN([AC_MODULES_LIST],
[AC_CACHE_CHECK[modules output if present],[ac_modules_output],
(ac_modules_output= module list 2>&1 )
if test $? eq 0; then
 AC_MSG_RESULT([Output from 'module list' was:\n $ac_modules_output])
fi
])
Secondly, For all packages, ensure that a pkgconfig package file exists. For example, we have multiple MPI implementations on our SGI system. For MVAPICH, we have a modules file:
stokes2:~$ module show mvapich2-intel
-------------------------------------------------------------------
/ichec/modulefiles/mvapich2-intel/1.2p1:
module-whatis    MVAPICH2 1.2p1 (Intel 11.0.074) 
conflict         mvapich2-gnu mvapich2-intel 
prepend-path     PATH /ichec/packages/mvapich/1.2p1-intel/bin 
prepend-path     LD_LIBRARY_PATH /ichec/packages/mvapich/1.2p1-intel/lib 
prepend-path     MANPATH /ichec/packages/mvapich/1.2p1-intel/share/man 
prepend-path     INCLUDE /ichec/packages/mvapich/1.2p1-intel/include 
prepend-path     CPATH /ichec/packages/mvapich/1.2p1-intel/include 
prepend-path     FPATH /ichec/packages/mvapich/1.2p1-intel/include 
prepend-path     PKG_CONFIG_PATH /ichec/packages/mvapich/1.2p1-intel/share/pkgconfig 
-------------------------------------------------------------------
We add a file mpi.pc to the PKG_CONFIG_PATH for each MPI implementation. So, mpi.pc looks like:
# MPI pkgconfig file for mvapich2-intel
# Normally only used to get variables $prefix, etc.
prefix=/ichec/packages/mvapich/1.2p1-intel
exec_prefix=$ prefix 
libdir=$ prefix /lib
includedir=$ prefix /include
Name: mpi
Description: netCDF libraries, include files and development tools
Version: 1.2p1
Libs: -L$ libdir   -lmpichf90 -lmpich -lpthread -lrdmacm -libverbs -libumad -lrt
Cflags: -I$ includedir 
This then means we can add the following small patch to our target software (in this case a climate code COSMOS):
 #########################################################################
 #
 #  MPI message passing root directory of the chosen compiler
 
+  # Get default MPI ROOT from the pkgconfig file if possible
+  pkg-config mpi --variable=prefix 2> /dev/null > /dev/null
+  if [ $? -eq 0 ]; then
+    MPIROOT= pkg-config mpi --variable=prefix 
+  fi
+
   if   [ $compiler = ifort ]; then
     export cc=cc
     if [ $CHAN = MPI2 ]; then
-       export MPIROOT=/sw/sarge-ia32/mpich2-1.0.4p1-pgi
+       export MPIROOT=$ MPIROOT:-/sw/sarge-ia32/mpich2-1.0.4p1-pgi 
     elif [ $CHAN = MPI1 ]; then
Such a patch is generic enough to be useful outside our institution, and means the code can build out-of-the-box on many systems. Now to add mpi.pc to Debian ... Tags , , , ,

Chris Lamb: Orphaning the Gnome BTS Applet

As I haven't used Gnome in over a year, I'm orphaning my Debian BTS Applet (original blog post). After the original release it was forked for Launchpad and there were even plans for OpenSUSE fork. Jon Dowland also released his debgtd tool which isn't Gnome-specific and somewhat more useful for developers, although actual development has stalled with patches pending. I would be willing to sponsor uploads if a non-Debian Developer was to adopt it.

Next.

Previous.