hisham hm

🔗 Cool talk: StackOverflow.com and building an online community

Following @gbedin’s suggestion, I will try to post here links to cool talks I watch and often tell him about, so the links can remain on a more “permanent” place than Twitter.

In this talk, Joel Spolsky describes some practical aspects related to community-building that went into the design of StackOverflow.com.

🔗 Setting up Rootless GoboLinux in a VPS running Ubuntu

These are some steps usually I follow to make myself comfortable when I have to work with Debian-based distributions. The exact commands were written for Ubuntu 10.10, and they assume you have powers to run “sudo”. Most of this should be possible as well if you don’t, but the order of things switch around a bit (eg, you’d have to install ZSH using Compile). Steps 1-4 describe a minimal set. The remaining steps relate to some of my preferences.

Step 1: Download the Rootless Installer

wget http://svn.gobolinux.org/tools/trunk/Scripts/bin/CreateRootlessEnvironment

Step 2: Run it

chmod +x CreateRootlessEnvironment
./CreateRootlessEnvironment

Answer “y” when asked to recompile binaries; answer “u” (use new) when asked about settings files. Answer “y” when asked about adding the Rootless launcher to your profile files (bash_profile, zshrc, and so on).

Step 3: Switch to ZSH

You may need to install zsh first in the host system:

sudo apt-get install zsh

Now you can switch:

chsh -s /bin/zsh
echo "prompt lode cyan" >> ~/.zshrc

It’s easiest to just log out and back in to make sure your environment variables are sane.

Step 4: Fix some settings

The current version of Scripts refers to outdated mirror URLs. Edit ~/Programs/Scripts/Settings/Scripts/GetAvailable.conf and replace all references to “kundor.org/gobo/” with “gobolinux.org/”:

sed -i 's,kundor.org/gobo,gobolinux.org/,g' ~/Programs/Scripts/Settings/Scripts/GetAvailable.conf

Step 5: Install Compile

InstallPackage Compile

Choose “sa” to skip all dependencies. Your host system already has everything that’s needed.

Step 6: Install Mtail

Mtail gives us nice colorized outputs for a number of scripts.

Compile mtail

Step 6: Install Dit

Dit is my text editor.

You may need to install Subversion, Autoconf and Lua first in the host system:

sudo apt-get install subversion autoconf liblua5.1-dev lua5.1

(It should be possible to install these packages and all its dependencies in your home using Compile, but if you can, it’s easier to simply install it in the host system.)

Now let’s build Dit. Since Debian packages use a nonstandard suffix for the Lua libraries, we need to pass an extra option during build.

Compile dit --configure-options --with-lua-suffix=5.1

Again, use “sa” to skip all dependencies it may ask for.

🔗 Linux audio: report of my first day making music with Ubuntu Studio

Yesterday I had my first experiences with Ubuntu Studio, a Linux distribution specialized in music and video production. For a long time I wanted to setup somewhat of a mini-home-studio environment, and I decided to give the Linux audio ecosystem a try once again. My previous attempts usually resulted in all sorts of trouble from compilation difficulties with beta software (ever tried Ardour back in 2001?) to driver problems (ever tried USB soundcards on Linux-PowerPC?). Evidently, I was not playing the odds to my favor, so this time I wanted to make things as straightforward as possible: I decided to pick a Linux distribution that’s dedicated to music production.

At first I considered 64Studio, a Debian derivative which used the best-known music distro, but it seems dormant, with the latest release being 2 years old. The other option was Ubuntu Studio, so that’s what I went with.

The distro

The release I’m using is Ubuntu Studio 10.10 (Maverick Meerkat). Installation went smoothly, as is expected these days, especially for an Ubuntu derivative. A negative point is that the laptop’s WiFi was not recognized — I need to look into that later. Apart from that, everything seems fine. The distro has a dark gray theme typical of audio apps. I made a full installation, installing software for 2D and 3D graphics, video and music. Clearly, the distro is biased towards music: there’s a great number of music apps and only a few in the other categories. I don’t mean this to be a full review of the distro; I’m sure you’ll find a few of those out there.

My gear

I installed the system to an HP laptop (dual-booting with my main distro, GoboLinux, of course). It has one of those HDA-Intel sound cards, which are pretty standard (can’t verify the exact models right now). So far, I tried it with two devices:

Audio with the PODxt

Experiences with the PODxt went well. It was recognized correctly and I had success recording and playing through it using Ardour. The Ardour setup screen had an option for using two devices, and for a while I thought I could record with the PODxt and listen through the laptop speakers driven by the HDA-Intel, but selecting this option and clicking “OK” froze the system entirely — by the way, this was the only way I managed to crash the system so far. I doubt anyone would want to use laptop speakers as monitors anyway, so I guess sticking to the headphones plugged into the PODxt makes more sense for now anyway. (That won’t cut it when I get to recording with other people in the room, but I’ll think of something.)

One cool thing was plugging Hydrogen, the drum machine software, to Ardour via JACK. After I properly configured Hydrogen to use JACK and enabled the “JACK transport” button, both apps would play and stop in sync when I used the Play and Stop buttons in Ardour. By creating a bus in Ardour and hooking Hydrogen to it I could even control the volume of the drums through Ardour (including automation). One thing I notice but didn’t look further, though, is that seeking the track (rewind, fastforward) doesn’t sync between apps, but I think I was doing something wrong — I need to look more into it.

For plugging devices and applications via JACK I used Patchage, which has a great interface. Took me a while to figure out that green slots are ALSA, blue slots are JACK and red slots are JACK-MIDI.

MIDI with the S90 ES

No success with the Yamaha yet, but it looks like it’s possible. After plugging the keyboard to the computer via USB (using the “USB To Host” connection), new MIDI devices were detected and a number of ALSA ins and outs (properly named as “Yamaha S90 ES”) showed up in Patchage. After learning the difference between JACK-MIDI and ALSA-MIDI I reconfigured JACK Control to use MIDI “raw” mode and restarted the JACK server (which often required a number of retries). Red ports for capture and playback showed up and I could plug them to MIDI apps, but there’s something missing still, as I can’t get notes recognized by the apps when I play the keyboard; perhaps some configuration in the keyboard. So far, I could only drive MIDI apps using the Virtual MIDI Keyboard application, clicking notes on the screen.

Conclusion

Ubuntu Studio solved half of my problem: compiling all this stuff. The other half of the problem is configuring everything. But I can already be productive with the setup I have at this point, which is great. MIDI would be nice to have and would open a number of other possibilities, especially after playing with the various virtual instrument apps available.

It’s nice to see how well Linux audio has progressed. Device plug-and-play is really here and apps respond accordingly. Configuration still has a number of variables and can often be complicated but that’s almost to be expected — the ethos of Linux is to give the user endless possibilities. That’s really the feeling I get by playing with all this great software… I still have hundreds of plugins to try out!

🔗 GoDaddy updates its terms of service

Today I received a message that domain/hosting provider GoDaddy has updated its terms of service. Here is the relevant part of the message:


We recently made changes to the Universal Terms of Service Agreement affecting your Go Daddy® products and services. We are sending this email to all Go Daddy customers to make you aware of the following changes:

Section 1 (Overview)

We added language to provide that changes or modifications to the Universal Terms of Service Agreement will be effective upon posting to the Go Daddy website. You will be able to tell when the Agreement has been updated by looking at the “Last Revised” date at the top of the Agreement.

Section 8 (Additional Reservation of Rights)

We added language to assist with our fraud and abuse detection and prevention efforts.

Section 15 (Fees and Payments)

We added language to explain the differences between multi-currency product pricing and multi-currency transaction processing for products and services displayed on our website.

We updated the service fees associated with the “Pay By Check” payment option should your electronic check be returned unpaid.

Section 16 (Unclaimed Property; Dormancy Charges)

We added a new section to address the Revised Arizona Unclaimed Property Act.

This email shall serve as our official notification to you the above-referenced changes, all of which shall be effective immediately. Please take a moment to review the latest version of the Universal Terms of Service Agreement, which may be found here. Your continued use of Go Daddy products and services shall constitute your acceptance of the Agreement as last revised.

Section 8 (my emphasis) caught my eye. I searched around to see if anyone had pinpointed what was this change and I found an excellent project from the Electronic Frontier Foundation called TOSBack, a site dedicated to backtracking changes in Terms of Service pages. The page had some hiccups to sift through the various revisions of the file and pointing out the exact changes between the previous and the latest (as of Jan 2011) versions, but here’s what changed in Section 8:

8. ADDITIONAL RESERVATION OF RIGHTS

Go Daddy expressly reserves the right to deny, cancel, terminate, suspend, lock, or modify access to (or control of) any Account or Services (including the right to cancel or transfer any domain name registration) that it deems necessary, in its sole and absolute discretion, for any reason (as determined by Go Daddy in its sole and absolute discretion), including but not limited to the following:

  • to correct mistakes made by Go Daddy in offering or delivering any Services (including any domain name registration),
  • to protect the integrity and stability of, and correct mistakes made by, any domain name registry,
  • to assist with our fraud and abuse detection and prevention efforts,
  • to comply with applicable local, state, national and international laws, rules and regulations,
  • to comply with requests of law enforcement, including subpoena requests,
  • to comply with any dispute resolution process,
  • to defend any legal action or threatened legal action without consideration for whether such legal action or threatened legal action is eventually determined to be with or without merit, or
  • to avoid any civil or criminal liability on the part of Go Daddy, its officers, directors, employees and agents, as well as Go Daddy’s affiliates.

Go Daddy expressly reserves the right to review every Account for excessive space and bandwidth utilization, and to terminate or apply additional fees to those Accounts that exceed allowed levels.

(Note: I changed the numbered items to bullets in order to avoid adding noise to the diff by having to renumber them.)

So, basically GoDaddy says it “added language to assist with our fraud and abuse detection and prevention efforts”, while silently adding language that says they can cancel your account for any reason and that the causes include but are not limited to the list presented (thus rendering the list meaningless).

So, the new wording of the Terms of Service allows GoDaddy to terminate service without providing any reason whatsoever to their customers. I wonder if this has anything to do with the recent crackdowns on domain names and demands for companies to comply with the government in secrecy.

🔗 Heidegger and the fundamental question of metaphysics

In his “Introduction to Metaphysics”, Martin Heidegger starts the book by asking what he presents as the fundamental question of metaphysics. In the Portuguese translation (Ed. Tempo Brasileiro, translated by Carneiro Leão), the question is shown as: “Por que há simplesmente o ente e não antes o nada?”

In the English translation (Yale Nota Bene, translated by Fried and Polt), it comes up as: “Why are there beings at all instead of nothing?”

There is a subtle difference in connotation between both translations, so I went to the original. Here it is, from “Einführung in die Metaphysik“: “Warum ist überhaupt Seiendes und nicht vielmehr Nichts?”

And here is the word-by-word translation; reconstructing the phrase is up to you:

From what I gather, the English translation seems closer to the original.


Follow

🐘 MastodonRSS (English), RSS (português), RSS (todos / all)


Last 10 entries


Search


Admin