08 May 2008

Open Source Census, Notes

Dru Lavigne mentioned an interesting new project in her recent post, "Calling All BSD Users". It's called The Open Source Census. They want to collect data on the use of open source software. I've looked over their site and it certainly has a professional presentation and all of the assurances regarding privacy that you'd want and expect. I have a scan running on one of my home machines right now. It must be pretty thorough -- it takes a few minutes to run!

As Dru points out in her post: "This is an excellent opportunity for the BSD community to show their numbers and to get the BSDs into the operating system piechart in the published reports." And, I couldn't agree more. It's one of the first things I went looking for. (Find it around the middle of this page.) I'm a little concerned that the title of the chart is "Top Linux Distributions". However, the description says that it "reflects data from all Census participants." Still, the numbers don't seem to add up, as the numbers from the chart add up to 442 while the table at the top says that 957 machines have been scanned. Hmmmm. (That mystery aside, I observe that Ubuntu's appalling hegemony continues unabated.)

One more note. I got this error when running it on my 6.3 machine:
stoney$ ./discovery --census-code YOUR-CENSUS-CODE-GOES-HERE
/usr/path/ossdiscovery-2.0.1/lib/plugins/census/census_utils.rb:56: uninitialized constant OpenSSL::Digest::SHA256 (NameError)
from /usr/path/ossdiscovery-2.0.1/lib/plugins/census/init.rb:31:in `require'
from /usr/path/ossdiscovery-2.0.1/lib/plugins/census/init.rb:31
from /usr/path/ossdiscovery-2.0.1/lib/discovery.rb:131:in `require'
from /usr/path/ossdiscovery-2.0.1/lib/discovery.rb:131:in `load_plugins'
from /usr/path/ossdiscovery-2.0.1/lib/discovery.rb:131:in `glob'
from /usr/path/ossdiscovery-2.0.1/lib/discovery.rb:131:in `load_plugins'
from /usr/path/ossdiscovery-2.0.1/lib/discovery.rb:134
stoney$

This one turns out not to be a big mystery. If you check "census_utils.rb" line 56, you'll see a comment on the previous line that explains it's using sha256 and that's not found in openssl 0.9.7, as on FreeBSD 6.3. But, it is found in openssl 0.9.8, as included with FreeBSD 7.0. Ergo, I'm able to run the scan on one machine and not the other. There seems to be a solution to this by running under Java, by way of Jruby (in ports).

If you're interested in playing with this without registering, you might want to go straight here. (It was sort of a pain to find that page before registering.) You probably have ruby installed already and, if so, you can use the smaller download. ... I'm starting to see some advantage in registering before you run the scan, however. It really does take a while. Mine is at 74 minutes and still running and, if I understand things correctly, I'll have to register and rescan with my "census code" if I want to have the report available for my on-line perusal. (Or, I could just submit it anonymously.)

In spite of these minor glitches, I agree with Dru: this looks like it will be a great way to support BSD!

Labels:

01 April 2008

FreeBSD logo screensavers

I've been playing around with xscreensaver (x11/xscreensaver) and I've done something fun with a couple of the hacks that you'll want to try. There are many hacks that let you use your own image or images. Many of those, like XAnalogTV or Carousel, work best with a large number of pictures that get rotated. There are a couple of hacks that only work on one picture at a time, and what I've done is modified some FreeBSD logos to work well with those.

First up is the "blitspin" hack. It chops an image into quarters and then rotates those 90 degrees and then does that again to each quadrant and so on. The effect is of the image being chopped into a blocky fuzz and then reforming, but turned 90 degrees from the last time it was whole. Repeat forever.

To make blitspin look nice with the logo, I needed to find a large logo that fills a large amount of the screen and then I decided to change the background to black. This way it looks like just the (roughly) circular logo is there (instead of the rectangular image). It took some fiddling around, but it looks pretty good now. Oh, and it's blue -- how's that for a twist? (To use this you just need to run xscreensaver-demo and then choose blitspin>Settings>Advanced and add the option "-bitmap /path/to/blueball.png" to the command there.)

The other hack that's just begging for the FreeBSD logo is "flag". Some of the doc.s are outdated and still say that you have to use a bitmap with the hack. That's not true any longer as it turns out. But, it does look a lot better if you use a small image that shows pixelation. So, I'd already made a little bitmap and that's what I'm sticking with. I like this one the best. (To use it, just like before, run xscreensaver-demo and then choose flag>Settings>Advanced and add the option "-bitmap /path/to/Logo_FreeBSD.xbm".)

I'm not sure what the heck happened to the color on flag, though. I've tried a couple of things to get it working with the undulating colors, but no dice. If you can figure that out, let me know! It still looks great though.

The only other thing you need to start using these is the image files themselves. I would like to have just uploaded them to this post, but blogger always modifies and resizes images so that wouldn't work. I searched for free file hosting and went with the first reasonable place that didn't want me to register. So, here are the links: Logo_FreeBSD.xbm blueball.png. (Obviously, these are meant for personal use only, and any sort of commercial use would require permission from the FreeBSD Foundation.)

If you're lucky enough to be able to run FreeBSD on your computer at school or work (yes, I am :) ), then show it off with a logo screensaver!

Labels: , ,

17 March 2008

Brother, can you spare a meg'?

I started a website, gotbsd.net. It's for getting FreeBSD and PC-BSD and FreeSBIE ISO's via BitTorrent. It's been a lot of fun.

I was inspired to start it because the Project had shut down their official torrent site and I thought there was a need and desire for a dedicated BSD torrent site. FreeBSD has since started a new, official torrent site. However, there's still a need for good torrents for PC-BSD and FreeSBIE.

But, as you may have guessed from the title of this post, that little bit of background is to introduce my earnest request for help. Torrents need seeders to be successful. BitTorrent is a peer-to-peer protocol and its great strength comes from having many people who are downloading the files also uploading the files at the same time (through their presumably under-utilized uplink). It's a great system, but it requires, at the very least, a few dedicated seeders to get things started. (A seeder is a client that has the entire file and is only uploading pieces of the file to others.) Ideally, everyone who downloads a file via BitTorrent will just leave their client connected to be a pure seeder for some time after their download has completed. Some people do that and some don't. Regardless of that, however, it's very, very useful for a torrent to have some dedicated seeders -- people who will leave their client connected and seeding for a long period of time. (To learn more about BitTorrent check the FAQ at gotbsd.net.)

The PC-BSD and FreeSBIE torrents at gotbsd.net are in dire need of seeders. It's easy to be a seeder. (... And fun too!) All you have to do is get a BitTorrent client program, point it at one of the torrents, and then, after the download is complete, leave it running. It will continue to upload the file to new peers who join that torrent to download the file.

Some people might be concerned that this will slow down their other traffic. That's not really true. There's two things you need to do to ensure that your seeding doesn't interfere with any of your other traffic. First, use the bandwidth limiting feature of your client program. (I've never seen a BitTorrent client that doesn't have this feature.) You just determine what your maximum upload speed is and then set your maximum upload speed for the torrent client to around 80% of that. I use this system and for normal web-browsing, etc., there's no noticeable difference in speed. The reason for this is that normal browsing is almost entirely downloading: small requests going out, followed by large files and images coming back. Of course, if you do notice any slowing of your typical traffic, then ratchet it back to a lower percentage. You're in control.

There are, of course, other kinds of traffic where even tiny delays in any direction will have an impact on the application. I'm thinking primarily of on-line gaming. I play on-line games myself sometimes and all I do is stop the torrent client before I begin gaming and then start it again when I finish. Zero impact.

For anyone who's still skeptical or doesn't like the idea of having to fiddle with stopping and starting some program before gaming, I've got one more suggestion to help make seeding easy and completely painless. You use the scheduling feature in some clients to have the seeding stop during the evening when you're on-line and then start again late at night when you're sleeping and/or during the day when you're at work/school. (µtorrent and Azureus have scheduling. If you know of others, leave a comment.)

Personally, I use a client that doesn't have scheduling and when I am gaming this is what I do: First, I have a start up script that runs my console-based client (rtorrent at net-p2p/rtorrent) inside of gnu screen (at sysutils/screen). It's located in the directory "/usr/local/etc/rc.d/" so that it starts automatically on boot. This is the script:
case "$1" in
start)
/usr/local/bin/screen -wipe
sleep 0.5
cd /home/torguy
/usr/local/bin/screen -d -m su -m torguy -c "nice /usr/local/bin/rtorrent -p 16789-16789 FreeSBIE-2.0.1-RELEASE.iso.torrent PCBSD1.5-x64-CD1.iso.torrent PCBSD1.5-x64-CD2.iso.torrent PCBSD1.5-x86-CD1.iso.torrent PCBSD1.5-x86-CD2.iso.torrent" && echo -n ' rtorrent'
;;
stop)
killall rtorrent && echo -n ' rtorrent'
;;
esac

Notice that I'm forcing the local port number ("-p 16789-16789"). The purpose of that is to keep the BitTorrent on one known port that I can then open in my firewall. This isn't strictly necessary, but it's recommended and very helpful.

So, when I'm ready to start gaming I run this as root:
/usr/local/etc/rc.d/screen-rtor.sh stop

Then I immediately run this as root so that it will restart on its own later if I forget:
{ sleep 7200 ; /usr/local/etc/rc.d/screen-rtor.sh start ; } &

(That's bash/sh syntax.) This also has the advantage of reminding me if I've been gaming too long! Because after two hours, I will suddenly have a big problem. :) Also, if you're going to do this with rtorrent, you'll probably want to set some variables with your default BW limits in the ".rtorrentrc" file in the running user's home directory (in my case "~torguy/"). See the man page for rtorrent.

I sure hope you can help me and the BSD community by being a seeder for one or more of these torrents. Look for the PC-BSD and FreeSBIE torrent links on gotbsd.net. Don't let your unused bandwidth go to waste! Your small contribution together with others' can help people get their BSD faster than ever.

Labels:

02 March 2007

Fun with FreeBSD Advocacy

Help to crack keys (for money!). Found in ports at "misc/dnetc", this program will run at low priority and, if your machine happens to be the one to find the key first, you (or your team) can win $10,000. Not as easy as it sounds, of course. Patience required. :) In the meanwhile, though, your processing power will be making a positive impression for FreeBSD. See here: stats.distributed.net

Stand up and be counted. The mission of the "The *BSDstats Project" is to compile numbers for advocacy and marketing with a specific focus on demonstrating to hardware and software vendors that the BSD's are serious operating systems and need serious support. This is found in ports at "sysutils/bsdstats". It's also one of the smallest ports ever, consisting of a single shell script that is run monthly by "periodic". This port is small and easy and should be run by every *BSD user on every machine possible. See here for the latest count: *BSD Usage Statistics

Sign the "Flash Player for FreeBSD" petition. Everyone should sign this as soon as possible. If you're going to leave a comment with your signature, I recommend something that mentions the benefits to Adobe of officially supporting FreeBSD/*BSD. Lots of comments there are angry and demanding. I certainly understand that attitude! >:-| I'm just not sure if it's the best way to persuade Adobe. And, in the long run, I really do think they hurt themselves by neglecting FreeBSD.

Recommend PC-BSD to your less technical friends. I think it's a lot of fun to build a FreeBSD desktop (or server). But, let's be honest, some people just don't get it. :) PC-BSD is a FreeBSD-based and user friendly operating system. (Note, it's not a fork. It continues to track FreeBSD as its own core.) I haven't used it myself, but there are many positive reviews out there. I think their idea of creating all-inclusive, binary packages (that is, NO dependencies) is brilliant -- and key to success in the non-technical, desktop market. According to both the *BSDstats Project (above) and the page hit count at DistroWatch.com, PC-BSD is already the second most popular BSD! Find out more here.

Seed a FreeBSD torrent. More seeders equals better downloads for everyone and shows an active, helpful community. I used to do this at the official FreeBSD torrent site, which has been disabled. Now, there is another FreeBSD oriented, torrent site called got BSD?

Labels: ,