Category - Linux
Someday the somethingteenth
Fri Feb 13, 2009 23:30 EST (UTC -5)
This semester, I've got a lot of homework. It's kind of odd. In previous semesters, I haven't had much homework that I had to sit down and write out on paper and turn in a few days or a week later. Now I have regular homework assignments in three of my four classes, and they're keeping me busy during most of the week.
I was up late last night working on a MIPS assembly programming assignment for my Computer Organization and Design class. For those of you who don't know, programming in assembly language is the digital equivalent of going about your normal day without your right arm and your left leg. It takes a conscious effort and a lot of work not to fall over (or just give up on life).
One assignment was to ask the user for an arbitrary number of integers and then calculate how many of them were divisible by 4. This took me a couple or three hours. I tried using the "div" operator, but it wasn't working the way I expected it to, so I had to find the divisibility of a number by 4 using other MIPS operators. I have discovered a truly marvelous way to do this, which this blog post is not boring enough to contain.
Something else: recently, someone on Slashdot asked, "How Will Recent Financial Downturns Affect IT Jobs?" The consensus, if you read the comments, is clear: do stuff. Grades don't matter, experience does. Help out with an open source project, they say. I wish I had the time and knowhow to do that. (And, let's face it, the inclination. Maybe there's some program I would be interested in developing, but I don't know what it would be.) Are any of you readers involved with that sort of stuff? Could you provide any tips for an Ubuntu user who doesn't know how to compile from source?
A video from my friend TJ: Ninja Poetry. Could this be the next big viral video? He really did write the poem.
In 2001, C. Brian Smith had just graduated from college and was living in a new town when his only friend there invited him over for dinner at her family's new house. Smith writes about his visits to the White House and what it was like to hang out with George W. Bush.
A look from the other side: Interview with an Adware Author. The guy actually started out with good intentions, but it became a slippery slope from there. (Via waxy.org)
Life with walls
Fri Jan 23, 2009 23:59 EST (UTC -5)
Too few posts ago, I mentioned that I would have to use a certain Windows-only program to do work for my digital logic class. As a Linux user (Ubuntu, to be exact), I of course find this detestable. I first considered trying to run it under Wine, but the all-knowing app DB reports of a show-stopping issue when doing so: USB operations don't work. Or, actually, maybe they do if you pull the right strings. I don't know. But I was going to need to use a special USB peripheral to program circuits, so there was no room for maybes.
I decided to virtualize. As an engineering student, I'm allowed to download copies of popular Microsoft software (except Office) for free, including Windows itself. I figured I should pick Vista over XP because I'll probably need Windows for a while in the future. I picked Vista Business, the most basic variety they had available. When it came time to download it, I hit a little snag. They couldn't provide a simple download link. Oh no, that would be too easy. You have to download a downloader, which itself is a Windows program. Vicious cycle??
Not quite. I installed Wine to run the downloader, and it worked fine, as I could expect. Next, I downloaded VirtualBox OSE, the free software version. I'd never run a virtual instance of an operating system before, so it was a little scary. But the installation went well, and in half an hour, I had Vista running inside Ubuntu. It was then that I found out that the free version of VirtualBox doesn't have USB support. So I uninstalled the free version and installed the non-free version. For once, I'm glad that programs leave their configuration files behind after an uninstall; I was able to keep the same virtual machine.
As is custom when I'm putzing around with my Ubuntu system, I now provide the gritty details of what I did, both for my future reference and for everyone's benefit. (This is for Ubuntu 8.10 "Intrepid Ibex," by the way. I don't think I know what an ibex is. It sounds like a six-dimensional ibis or something.)
First, in the Settings window, I went to "USB" and created an empty filter so that the virtual machine would recognize all USB devices. After that, I was able to mount and use my printer from Windows. VirtualBox recognized my other USB devices but wouldn't let me select them, so I had to do more tweaks. These fixes came from various sources and I found that they worked when applied together.
I edited /etc/udev/rules.d/40-basic-permissions.rules and replaced the two USB lines with
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
SUBSYSTEM=="usb_device", MODE="0664"
For good measure, I added myself to the vboxusers group even though I think I was automatically added already.
sudo usermod -G vboxusers -a `whoami`
For my next trick, I had to go to Users and Groups to find the number of the vboxusers group. On my computer, it was 127. Thus, at the end of /etc/fstab, I added the following:
none /proc/bus/usb usbfs devgid=127,devmode=664 0 0
Then I think I rebooted, and everything went swimmingly. I was able to mount multiple USB devices from Windows.
I still hate Windows. But even when I get mad, all I have to do is think back to Tuesday, when I was at work with my friend Mark and we were watching live streaming video of Barack Obama being sworn in as President of the United States. That's something to be happy about. Now whenever I'm unhappy about something, I can just say to myself, "Barack Obama is the President," and I'll feel a little better.
Here's a computer simulation of that airplane landing in the Hudson River. (Via The Presurfer)
During the inauguration on Tuesday, the new incarnation of whitehouse.gov went online. Jason Kottke examines the country's new robots.txt file. (Via waxy.org)
We are the champions
Sun Jan 11, 2009 22:54 EST (UTC -5)
Ah. Victory is so sweet. Even if it is vicarious.
So my university's football team went to the national championship game on Thursday night and won their third national championship. It was a nail-biter but a good one in the end. The last national championship was only two years ago, and the first was ten years before that. Not bad, I say. Yeah, I do like football, and whenever I feel like I picked this school because of its superior sports programs, I remember that even after I had been accepted, I wanted nothing to do with college sports. Remember? This is me not wanting to watch the basketball championship!
I still don't care about basketball, but times have changed, so I was glued to the football game Thursday night. I could have watched on semi-big screens with thousands of other fans in the basketball... arena?... but I stayed at the dorm and watched it with this one guy Jon and some other people who weren't paying attention. We ordered a pizza during the game, and when we went outside to get it, the streets were basically empty. Sure, it was a college campus at night, but it was still kind of eerie. It was strange to know that almost everyone was inside watching the game on TV.
"But Jordon," you ask, "how do you know that so many people were inside watching the game on TV?" Oh, easy. When we won, they all went outside. I had heard that after recent football and basketball championships in the past, students would storm University Avenue, one of the main roads through town, and engage in general merrymaking get crunk. After the game, Jon and I set out. It was kind of cold, but people were pouring out of the streets and onto the avenue, which I think had already been blocked off.
I don't think I've ever been in such a crowded crowd of people in my life. People were singing fight songs, chanting cheers, climbing poles, blaring horns, waving signs, getting amorous, throwing toilet paper, taking pictures, shooting off fireworks, and who knows what else. I'm misrepresenting the crowd, though. A lot of people were just mulling around, including me when I wasn't shouting "It's great to be a Florida Gator!" I stayed till about 1:30 in the morning and was hanging around with some other acquaintances after that.
Oh yeah, there are classes going on too. That brings me to an unfortunate development. As you may know, I've been getting by using Linux exclusively for almost two years. This semester, it ends. At least, I think so. For my digital logic class I have to use a program called Quartus from a company called Altera. I've done a little bit of searching and it seems that running it under Wine won't work for what I need to do (programming logic things). I think I could accept having to virtualize, especially if I'm going to need Windows again later, which is likely. I really, really, really, really, really, really, really don't want to dual-boot. Really.
Oh. Man. I think I have just found what I am looking for. Turns out there's actually documentation about running Quartus in Windows in VirtualBox in Ubuntu. And I think my school has a deal with Microsoft so I can get Windows for free or a low, low price. I guess that's what I'll have to do.
Windows sucks.
Pretty cool from the BBC: Ancient Supernova Mystery Solved. Apparently it's possible to learn about a past supernova by detecting the faint echoes of light it leaves behind.
Here's evolution at work. This guy named Roger Alsing created a program that would start with some random polygons and, over many generations, approximate a predefined image, discarding the results of mutations that looked less like the image and keeping those that looked more like it. After about 900,000 generations, the program came up with a good re-creation of the Mona Lisa. He then released source code and binaries and posted some other results people sent in.
Almost Christmas
Tue Dec 23, 2008 23:07 EST (UTC -5)
I'm a webmaster. When I'm designing web pages, it's often useful to see how they look in different browsers and on different operating systems. But at work, I'm just one guy with IE 7 and Firefox 3 on Windows XP. What am I to do? Browsershots is a great service if you want screenshots of your page in different browsers. But what if you need to interact with your pages on different platforms?
Enter CrossBrowserTesting.com. The site gives you access to various Windows, Mac, and Linux boxes so you can do your thing. It's kind of slow because you've got this stuff going back and forth over a network, but it's pretty indispensable if you need to see how your web pages behave, which is often the case. It's free to create an account and use the service; unless you buy credits, you're limited to 5 minutes at a time, and paying customers get to skip ahead of you. In spite of that, there usually isn't much of a wait. Sometimes there's none.
The site requires Java, which shouldn't be a problem for most people. By default, you connect to their computers via a Java applet. They also let you use your own VNC client, in which case they just give you the IP address and a password. You'll still need to have Java, though. I know, it's kind of lame. (I should add that Vinagre, the default VNC client in Ubuntu, is pleasantly easy to use. I had never needed to use it before.)
So CrossBrowserTesting.com went swimmingly on Windows at work, but on Ubuntu at home, the Java applet would cause Firefox to use 100% of the CPU and hang. It turned out that many, but not all, Java applets were doing this. I found out that it was a problem with the Java plugin that Firefox was using. With the version of Sun Java in Ubuntu 8.10 (Java 6 Update 10), there are two browser plugins: the regular one and the "next-generation" one, which fixes some bugs. The regular one is used by default, but the next-gen one is supposed to work a lot better.
So how do you switch between them? Here's what I did. Your mileage may vary. No warranty, etc.
First, I deleted the symbolic link I created about a year ago:
cd ~/.mozilla/plugins
rm libjavaplugin_oji.so
As per this comment on the bug, I created a symbolic link to the new plugin in the same folder:
ln -s /usr/lib/jvm/java-6-sun-1.6.0.10/jre/lib/i386/libnpjp2.so
But it didn't work; both the old and new plugins were listed in about:plugins. So I followed the instructions of another comment:
sudo rm /etc/alternatives/xulrunner-1.9-javaplugin.so
sudo rm /etc/alternatives/xulrunner-javaplugin.so
sudo rm /etc/alternatives/firefox-javaplugin.so
sudo rm /etc/alternatives/mozilla-javaplugin.so
sudo rm /usr/lib/xulrunner-1.9.0.4/plugins/libjavaplugin.so
sudo rm /usr/lib/xulrunner/libjavaplugin.so
sudo rm /usr/lib/firefox/plugins/libjavaplugin.so
sudo rm /usr/lib/mozilla/plugins/libjavaplugin.so
sudo ln -s /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so /etc/alternatives/xulrunner-1.9-javaplugin.so
sudo ln -s /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so /etc/alternatives/xulrunner-javaplugin.so
sudo ln -s /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so /etc/alternatives/firefox-javaplugin.so
sudo ln -s /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so /etc/alternatives/mozilla-javaplugin.so
sudo ln -s /etc/alternatives/xulrunner-1.9-javaplugin.so /usr/lib/xulrunner-1.9.0.4/plugins/libjavaplugin.so
sudo ln -s /etc/alternatives/xulrunner-javaplugin.so /usr/lib/xulrunner/libjavaplugin.so
sudo ln -s /etc/alternatives/firefox-javaplugin.so /usr/lib/firefox/plugins/libjavaplugin.so
sudo ln -s /etc/alternatives/mozilla-javaplugin.so /usr/lib/mozilla/plugins/libjavaplugin.so
The author provides these commands as a shell script (I found it easier just to run them one by one) and notes, "Don't worry if you get an error message saying that something can't be deleted." (Not all of the files to be deleted existed for me.) Anyway, I did all those things and sho' 'nuff, Java was working fine on CrossBrowserTesting.com and other sites. Yay.
Okay, that was boring. Here's something a little more exciting. I just found out my grades for this semester: three A's and two B+'s. It's better than last time, and it brings my GPA up ever so slightly (about one hundredth of a grade point). I had already found out (or could guess) the grades for several of my classes, but my Indian Ocean class I had no idea about: part of the grade was a paper, which of course would be graded subjectively. Fortunately, I got an A. Thanks, prof. I'll give you a good rating on Gator Ratings, a new site that a computer science student recently started.
Also, Where's George?, a site I used to be heavily involved with, turns 10 years old today. I can't believe it. That means I've been a member for almost nine years, which is crazy nuts. I haven't done much in the past few years, though. Hardly anything, in fact. Still, the site is an interesting idea: enter the serial numbers of your US currency to track them as they go. The idea just got boring for me after a while, but it's still cool when I think about it. (Also, when the forums were changed from WWWBoard to vBulletin, things were never the same.)
Although World War II ended in 1945, several Japanese soldiers held out from surrendering for various reasons: either they were really, really convinced that they shouldn't surrender, or they weren't aware that the war had ended. The last ones surrendered in 1974.
Video
Sun Nov 30, 2008 14:39 EST (UTC -5)
While I've been home for the weekend, I realized that my webcam was here. Ah yes, my beloved webcam that I bought earlier this year to use with the video/phone program Ekiga. What happened to it?
When I upgraded to Ubuntu 8.04 in April, I encountered some changes the Ubuntu developers made to the way sound works. I couldn't get sound working with Ekiga. My microphone wouldn't work with any application. So that was that... until I upgraded to Ubuntu 8.10.
All the sound issues seem to have been sorted out, so I'm taking out the old webcam and microphone again with the hopes that someone might call me. You don't have to be using Ekiga; you should be able to use any SIP client. So hit up sip:jordon@ekiga.net if I'm on Ekiga. This status indicator will say "Call Me!" if I'm online and "Offline" if I'm offline.
I've also been having fun with my webcam because I can now use Cheese to record videos with it. And with that, I've been delving into the magic of ffmpeg. (We're getting into some serious Linux stuff right now, so you can just skip ahead if you don't care.) I was bored and I figured out how to crop a 640x480 video to the ever popular 16:9 widescreen aspect ratio.
ffmpeg -i input.ogv -sameq -aspect 4:3 -croptop 60 -cropbottom 60 -aspect 16:9 output.mpg
Explanations: input.ogv is the input file, -sameq indicates that the output file should be of the same quality, -aspect 4:3 forces the aspect ratio to be 4:3 (in case ffmpeg acts up, which I've noticed that it does), -croptop and -cropbottom take off that many pixels from the top and bottom (60 in this case), and -aspect 16:9 ensures that the new aspect ratio is indeed 16:9 if ffmpeg doesn't understand that from the cropping (which it doesn't). output.mpg is the output file. If you were using a different sized video, you would take off a different number of pixels from the top and bottom.
Turns out that ffmpeg can't write to Ogg Theora video. But there is a similar tool called ffmpeg2theora that can. The equivalent command for ffmpeg2theora is:
ffmpeg2theora input.ogv --croptop 60 --cropbottom 60 -o output.ogv
This is simpler because ffmpeg2theora doesn't screw up the aspect ratio while it's working.
I'm going home soon, and I've got another busy week ahead. Let's get to the links.
Too weird: Anti-Terror Law Requires God Be Acknowledged.
Maybe you've heard that "piracy" of "intellectual property" causes 750,000 lost jobs. Where did the number come from? Find out.
And finally, here are 10 Weird Psychology Studies.
Thanks given
Thu Nov 27, 2008 14:18 EST (UTC -5)
I'm at my grandparents' house, and it's Thanksgiving, the quintessential American holiday that may or may not be about gluttony. Thanksgiving is always on a Thursday, which means that people get the Friday after off and sometimes the Wednesday before also. Even if they don't have the day before Thanksgiving off, they act like they do. I'm talking about everyone at my school, which was basically abandoned yesterday. I had one class on Tuesday which was dismissed early because I was one of the only people there. Yesterday, one of my classes was canceled and the other one wasn't. There were only 8 people there when there are normally 50.
What can I say? People love their Thanksgiving. They love the four-day weekend, and would love to have a five-, six-, or nine-day weekend if they could. That leaves me. I wanted to go to my classes, and I also wanted to work and make that money. With my job as webmaster for the Dean of Students Office, I've been working on updating a web site for a biennial event that will be held in the spring. The person in charge of the event keeps telling me that Google's listing for the page hasn't been updated. Hey Google, go check out the Florida Hispanic Latino Collegiate Forum 2009. You might also want to see how I replaced an ugly JavaScript drop-down menu system with a beautiful, mostly-CSS, screen-reader-and-search-engine-friendly drop-down menu system. Don't ask me how long it took to make it work on Firefox, IE7, and IE6. Please don't.
Ah, Internet Explorer 6, the bane of every web designer's existence. Fortunately, the percentage of IE6 users visiting the Dean of Students Office web site is at 15% and falling. (For this site, it's about 12%.) But that's still a significant number. Most of the computers in the DSO now have IE7, so what is a web designer supposed to do when he needs to test a site on IE6? I once resorted to going to the conference room and kicking someone off their computer to use IE6. But it turns out there's a better solution. CrossBrowserTesting.com has saved my life. You can get free access to various testing environments for five minutes at a time, usually with little waiting. (You can also pay and skip the wait.) Java is required, but that's no big. Except it doesn't seem to work on my Ubuntu Linux setup at home; I think it's the Java check that makes Firefox hang. Does anyone have a fix? (Please, nothing involving Wine.)
Anyway, right. Yesterday was quiet. The campus was practically dead. I could hear every footstep I took. In class, I could hear every stroke of my pen while I was taking notes. I hardly had to overtake anyone on the sidewalk. There wasn't even a lot of traffic when there normally would have been. It's a good thing, I guess. Everyone is with their families, enjoying Thanksgiving. And that's really what Thanksgiving is all about.
Here's a blog that's counting down 1000 Awesome Things. It's up to #886 right now.
Talk about quiet: the quietest place on earth is unnervingly quiet.
This article gives some insight on why cell phones work the way they do: Peering Inside a Mobile Phone Network.
Yeah, computers
Sat Nov 08, 2008 21:55 EST (UTC -5)
Who's ready to rock and roll?!
Well, too bad. You're reading a blog post instead.
Ubuntu 8.10 (code-named "Intrepid Ibex") came out last Thursday, but I didn't make the time to upgrade for about a week. I was a bit hesitant as I usually am, especially since my friend Mark told me that the update messed up his computer quite a bit. I forget what it did, but it was something scary.
Like last time, I decided not to rely so much on the servers for the upgrade because I figured they would probably still be smashed due to the traffic. While I was home for the weekend, I downloaded the alternate installation CD image via BitTorrent (which I can't do from my dorm room). When I was ready to upgrade, I mounted the CD image as a CD (details here), thus eliminating the need to burn a physical CD. This saves me time and makes Mother Nature happy.
Still, upgrading your operating system is a little scary. I fear for the safety of my computer and my data the same way a parent might fear for his or her child. The horror stories, like Mark's, do nothing to help. But usually, everything turns out fine, and things seem to have turned out fine this time. Each release of Ubuntu has a few annoying bugs that are (hopefully) fixed in the next release. Fortunately, Intrepid seems to fix more than it introduces.
First, the new quirks. Intrepid relies less on the xorg.conf file, so when it reset my default keyboard layout, I had to look up how to change it. There's a semi-graphical way to do this sort of thing now. You have to enter sudo dpkg-reconfigure console-setup, go through every screen, wait while the computer thinks, and then reboot. Well, maybe you just have to restart X, but I usually reboot when that's called for. I also wanted to edit my actual keyboard layout file. It had moved from /etc/X11/xkb/symbols/us to /usr/share/X11/xkb/symbols/us.
GNOME has a new "guest session" feature that creates a temporary account that doesn't have access to anything important. This would be handy if someone needs to use your computer real quick. Unfortunately, it doesn't work for me. Good thing people don't need to use my computer real quick very often, I guess.
Recently, I figured out how to enable gapless playback in Rhythmbox. In Intrepid, this gives me a problem when I'm listening to albums or playlists. Rhythmbox stops playing the last song of the album or playlist just before it's over. The only solution I've been able to figure out so far is to turn gapless playback off.
During the upgrade, I was prompted about overwriting several files. They had to do with the fixes I implemented for this nasty hard-drive killing bug that I thought should have been fixed now. It turns out that the bug hasn't been fixed, so I tried this fix suggested on the Ubuntu Forums. It seems to work.
And now some good things in Ubuntu 8.10, in no particular order:
- There's an option to allow sideways scrolling with the touchpad. I don't know if this is new, but I've never seen it before.
- Ubuntu 8.04's infamous Adobe Flash/PulseAudio bug is no more. Now I can watch Flash videos without worrying about Firefox crashing. This is really, really, really good. Really.
- The new version of GNOME puts less space between lines when listing things such as files. This saves space in a lot of places, including Pidgin's "Buddy Details" view.
- Keyboard controls: I'm once again able to change the volume (I don't even know when that stopped working), and some of the sensitivity in changing the screen brightness that was lost in Ubuntu 8.04 is back.
- The Wi-Fi light once again lights up if a signal is detected.
- Audacity isn't at all sluggish or uncooperative like it was in 8.04.
- For the first time, the desktop effects actually seem to work. My graphics driver hasn't been up to the task in the past, but things seem to be going pretty smoothly with this release. I haven't had a freeze yet.
Overall, it looks like 8.10 is a big improvement over 8.04.
On Flickr, here's a photoset of Barack Obama before, during, and after his election night speech. The behind-the-scenes photos are especially interesting. I like this one of Obama watching McCain's concession speech on TV. The photos aren't very large, but they're licensed under a Creative Commons Attribution-NonCommercial-ShareAlike license.
A probably out-of-date link from our own reader Daniel: Will You Go To Homecoming With Me? Aw, how cute.
Advice I should follow: How to Be Interesting. I already do two of those ten things, so maybe I'm 20% interesting?
Free software vs. open source
Sun Aug 17, 2008 15:19 EST (UTC -5)
Over the past ten years, the term "open source" has found a place in the public consciousness. The idea got an early boost in 1998, when Netscape decided to release the source code of their flagship program, the Communicator suite, for others to improve upon. It seemed like a desperate business decision for a company that was about to be crushed by Microsoft. But the hard work that countless programmers, designers, and testers put into Netscape's code has brought us the ever more popular Mozilla Firefox browser, which is now used by nearly 20% of web surfers. (Yes, I just said "web surfers." Really puts you in the 1998 mood, doesn't it?)
Nowadays, every software company announces that it's open-sourcing this or that, always to the delight of the community. There's a large and growing number of software developers and users who support the open source ideals. But what exactly are these ideals? How did they come about? What implications do they have?
The open source movement originated from the free software movement, which was founded by Richard Stallman. When Stallman became a computer programmer in the 1970s, it was customary for programmers around the world to share the source code for their programs so that other programmers could study and improve them. Stallman saw the good things that this atmosphere of cooperation created. But by the early 1980s, it became more common for companies to distribute proprietary software, which placed restrictions on the users' ability to modify and redistribute the software for their own needs.
To combat the proliferation of software that kept its users "divided and helpless," Stallman founded the Free Software Foundation in 1985. He codified the programmer community's vanishing ethic in the Free Software Definition. According to this document, a program is called "free software" if it gives its users all of the following freedoms:
- The freedom to run the program for any purpose.
- The freedom to study how the program works and adapt it to your needs.
- The freedom to redistribute copies so you can help your neighbor.
- The freedom to improve the program and release your improvements to the public so that the whole community benefits.
The free software movement grew slowly at first but became more popular as the the FSF's GNU operating system, combined with the Linux kernel, found its way into server rooms and onto computer geeks' desktops. The success of GNU/Linux, better known simply as Linux, had people fired up about free software. But some supporters differed from Stallman in several respects.
First, they didn't like the development model that the FSF used for GNU. The FSF had a very authoritative role in the development process of its operating system, controlling which improvements it would accept from members of the community. Linus Torvalds, on the other hand, allowed a large community of programmers to guide the development of his Linux kernel, which is probably one reason why it became so popular. In addition, the younger supporters of free software, such as Torvalds himself, grew up in a world where proprietary software was commonplace. Unlike Stallman, they weren't around to see their freedoms being taken away. They were more focused on the community aspect of software development than issues of freedom.
This led a group of free software supporters to create the Open Source Initiative and publish the Open Source Definition. Its requirements are similar enough that almost all open source software is free software and vice versa. The OSI advocated the term "open source" to make free software more community-oriented and palatable to companies that might be afraid of the word "free." Shortly thereafter, Netscape announced it would be open-sourcing Netscape Communicator, and the media ate it up. Open source stayed in the minds of the public in a way that free software never had.
Since then, the many people have moved to the term "open source" because they see it as less ambiguous than "free software." But is it really? The FSF cites cases of various authorities assuming "open source" to mean "software for which the source code is available." Those people clearly haven't read the Open Source Definition, which extends "open source" beyond its literal meaning to describe the freedoms that users have with the source code. In fact, the definition begins, "Open source doesn't just mean access to the source code."
The term "free software" can be confusing because "free" can mean either "without cost" or "unrestrained." But according to the FSF, "free software" is less ambiguous: one sense of the term captures the FSF's intended meaning, but no sense of "open source" encompasses the OSI's full meaning. The confusion over the meaning of "open source" means that companies can release code under licenses that allow the viewing of source code but little else, and some people will inevitably call it "open source."
While the FSF and OSI seem to resent one another, they do work together because they basically have the same goal in common. It's their ideologies that differ. When you talk about free/open source software, you might want to consider which side you're really on. The FSF says that software should respect your freedom to do whatever you want with it. The OSI emphasizes its belief that the most valuable software has a community of users developing it.
If you haven't been able to tell, I know which side I'm on. I support the free software movement, and I recognize that without freedom, there can be no community collaboration. But if you're not sure, or if you want to stay neutral, you might like the increasingly popular term "free and open source software" (FOSS) or the even less ambiguous "free (libre) open source software" (FLOSS). In the meantime, you can browse the official sites of the FSF and OSI to get a feel for what their respective movements are about.
Hidden in plain sight
Tue Jul 01, 2008 21:48 EST (UTC -5)
Here's something more people need to know: when you delete a file from your hard drive, it could still remain there, inaccessible through normal means, for a long time. Here's an analogy: Think of a hard drive like a book in which each file occupies one or more pages. The pages may or may not be in order, so there's a table of contents to let you know what's there and how to find it. Deleting a file only removes it from the table of contents. When files are added later, they are added to pages that aren't listed in the table of contents, an act which may or may not overwrite old, de-listed files. Well, it's something like that.
These deleted files aren't normally accessible. But there are programs that scan hard drives for unlisted, "deleted" files. If you're going to be selling a hard drive or flash drive, the security implications are enormous. There are numerous accounts of people buying old hard drives or camera memory cards on eBay and using "undelete" utilities to find photos and even credit card numbers. Today I decided to try out one such program to find files I had deleted from my flash drives. The program I used is called Magic Rescue, and it's available as magicrescue in Ubuntu's repositories and probably other Linux distributions. So this is a Linux program, but there are similar tools for other operating systems.
Magic Rescue works by scanning a drive for certain file types that you specify and outputting any that it finds into a separate folder (which should be on a separate drive to prevent the program from duplicating the same files over and over again and entering an infinite loop). It works on any filesystem or lack thereof. To use magicrescue, you need to know the device name of the drive you're going to work on. It should be in /dev. For me, it was /dev/sdb1 whenever I had one flash drive plugged in. I was able to find this by going to the GNOME Partition Editor (gparted), but there's probably a better way. In any case, do find out the right device name before you run the program, or else infinite loops might happen and the world will explode. You might also want to unmount the drive. I'm not sure if it's necessary, but it couldn't hurt.
The folder /usr/share/magicrescue/recipes contains "recipes," or brief scripts for recognizing certain types of files. If you need a recipe that's not there, you might be able to find it on the Internet or, if you're really good, write it yourself. Some of them require programs that you may not have; to extract JPEGs, you need jpegtran (which I was able to get by installing libjpeg-progs). You use the -r flag to specify any or all of the recipes when doing a search. The -d flag says where you want to place any files that Magic Rescue finds. The final argument is the location of the drive being searched. Here's what I ran when I searched a "blank" flash drive for some file types that I'd be likely to put on there:
sudo magicrescue -r avi -r gimp-xcf -r gzip -r mp3-id3v2 -r msoffice -r zip -r png -r jpeg-exif -r jpeg-jfif -d ~/found-new /dev/sdb1
Maybe it wasn't necessary to include the -r a million times? But it worked anyway, and I found some pretty interesting stuff. It tended to find more recent files, which, in the case of one of my flash drives, were projects from my senior year of high school. Many different revisions of a few Microsoft Office files were retrieved, which gives some indication about how they're saved. My camera's memory cards revealed more secrets. Again, most of the photos it found were recent, but I recognized one as being from April 2005. I went back to my folder of April 2005 photos just to be sure, and... it wasn't there. I knew I had taken 62 photos that particular day, and here was a final 63rd that the camera never told me about.
So you see, deleting files doesn't delete them for good, and in fact, they can remain for years. So you're going to want to get rid of them for good. Luckily, this is possible. Just as there are programs that can scour drives for deleted files, there are others that can overwrite them so they would be very hard (if not impossible) to recover. The GNU utility for this is called shred. (Windows has a similar tool whose name escapes me.) shred can obscure individual files or an entire drive by writing random data or zeroes. By default it does this 25 times.
I took one of my "blank" flash drives (that had 45 recoverable files on it) and used shred to overwrite the whole drive with random data five times and once more with zeroes. Again, the drive had been unmounted. And again, if you try this, be very, very sure of which device you're shredding.
sudo shred -n5 -z /dev/sdb1
This took about 10 minutes to complete on a 64 MB flash drive. Once it was done, there was absolutely nothing on the drive, not even a filesystem. When I ran Magic Rescue on it again, it found nothing. I reformatted it to make it usable again, and it was ready to go, as though the old files had never existed. (Just to be sure, I ran Magic Rescue again after reformatting, and it still didn't find anything.)
So before you give away that old computer or camera, remember that reformatting the hard drive or memory card isn't enough. Your data could still be retrievable using simple tools. You have to actually overwrite the old data, preferably a large number of times, so your sensitive financial information and/or drunken party photos don't get into the wrong hands.
Back in the '50s, being a paperboy was a big deal. Check out the Cleveland Press's Carrier's Handbook from back in the day. Later, the newspapers figured out they could save money by just throwing papers out of a truck.
As most older Americans can tell you where they were when John F. Kennedy was assassinated on November 22, 1963, longtime South Floridians can tell you what they were doing on January 19, 1977, when it snowed here for the first time in recorded history. Wikipedia has a comprehensive list of snow events in Florida.
How much do you know about the Nobel Prizes? Here are 12 Things You May Not Know About the Nobel Prizes.
Blah blah blah
Fri Jun 20, 2008 20:26 EST (UTC -5)
I went ahead and upgraded to Firefox 3 yesterday, leaving a backup of my profile folder in case I wanted to downgrade.
Good things:
- It seems faster. I'm not sure if it actually is, but it seems that way. It might be that I don't have as many extensions installed (since some of them aren't yet compatible).
- The AwesomeBar is pretty awesome. I've only been using the browser for a day, but I expect to get more accustomed to it.
- Better operating system integration, with a Tango theme that fits right in with everything else on my desktop. The widgets (checkboxes, radio buttons) are nice and smooth the way they should be. Text boxes have rounded edges. And the currently selected tab now has a nice hue to it that I think wasn't there before. Some buttons are smoother, and others look the same.
- Seems to be tougher on web standards. Despite the aches and pains that this may cause to web designers 'n' developers, it's a good thing. For what it's worth, Firefox 3 doesn't render web pages any differently from Firefox 2, but I have to write nicer JavaScript for it.
- You can click on a site's favicon (or lack thereof) to see the security information. Previously, the most you could see from the main browser window was whether a connection was encrypted. Now, the space around the favicon is blue if a site has basic security measures ("You are connected to example.com and the connection is encrypted") and green if it has complete identity verification ("You are connected to example.com, which is operated by Example Co., San Francisco, CA, and the connection is encrypted"). In the latter case, the name of the company or organization will show up next to the URL in the address bar. Firefox also warns you rather strongly if a site has a bad security certificate. I think these features are a good idea. Here's some more info.
- The thing where it asks you to save a password after you've tried to log in is cool.
- I like the improvements made to the download window. I may be the only person on Earth who likes Firefox's download manager the way it is: in a separate window. (A lot of people love the Download Statusbar extension. Tried it, didn't like it.) In Firefox 3, the download window has been refined a bit: you can search among your downloads, go to the pages where you downloaded each file from, and so on. A message appears in the browser's status bar tells you how many downloads you have going and how many minutes they have left. And you get a pop-up notification when they're done.
Bad things:
- It's still a memory hog from my limited experience. It's using 455 MB for me right now, but that's less than it was at a little while ago. It does seem to give unused RAM back, though.
- I thought I'd give the new malware notification feature a try. (This is not to be confused with the similar anti-phishing feature that has been around for a while.)
It always seemed to download the list of bad sites when I was loading a page (or pages), which used all of my bandwidth and slowed down page loading massively. I unchecked the option and haven't had the problem since. I'm smart, and I can recognize suspicious web sites. [Edit Mon Jun 23, 2008 10:55 EST (UTC -5): This problem is caused by an extension and has nothing to do with Firefox's malware protection or Firefox itself.]
- Firefox 3 likes to wreak havoc on my site. It sometimes displays pages without the stylesheet or randomly fails to load random images. Sometimes it starts to load the page without a stylesheet and then applies it an instant later. It only reminds me how bad of a job I did with this layout. (Next time I redesign the site, whenever that may be, I'll make sure it looks good without a stylesheet. I'll also blindfold myself and see if I can get around using a screenreader. If not, it's back to as-yet-nonexistent drawing board.) I've set nglayout.initialpaint.delay to a nonzero value, but I'm not sure if that trick still works. We'll see. [Edit Mon Jun 23, 2008 19:59 EST (UTC -5): This problem was caused by my server's response to an about:config setting that was drastically different from the default for some reason.]
A thing I am ambivalent about:
- Bookmarking. Maybe it's just that I have too many bookmarks, but the changes in Firefox 3 make bookmarking a little more confusing. One-click bookmarking is simple, but it sends your bookmarks into the "Unsorted Bookmarks" folder, which you kind of have to hunt for. If you just click again, you can choose a folder and add tags. Looks like I won't be needing the OpenBook extension anymore. But your bookmarks now exist in three separate domains: the Bookmarks Toolbar Folder, the Bookmarks Menu, and your Unsorted Bookmarks. It looks like you can also place bookmarks outside that hierarchy (or non-hierarchy) if you so desire. Anyway, this seems to be an incentive to clean up all the loose bookmarks I've had lying around, like four Garfield Minus Garfield cartoons. The bookmarks and history can be found together in the Library, which I would like to be more easily accessible than Bookmarks -> Organize Bookmarks. (Oh, it's also available through History -> Show All History. But why not just have a button for the Library?)
I have had other issues, but most of them involve extensions, so they aren't Firefox's fault. That said, I recommend upgrading. It's new, it's shiny, it's probably fast. The good outweighs the bad.
I was going to write once again about my lack of romantic companionship, but listening to music and having a good conversation with a friend are therapeutic. I'll be going with my family to visit my grandparents this weekend. Peace out.
You can see changes in political and graphic design trends by looking at USA political election logos 2008 - 1960. (They go reverse-chronologically, so the name is arguably appropriate.)
Speaking of graphic design: these album covers might hurt your eyes, but they're really cool. Soulwax: Nite Versions, Any Minute Now.
I've always wondered how trigonometric values could be calculated without computers or calculators. I had no idea that there were so many exact trigonometric constants that could be written as ratios of irrational and irrational quantities.