WARNING: Contents under pressure; shake well before opening.

Category - Programming

« Previous Entries
Next Page »

Exams are exciting

Thu Dec 10, 2009 23:53 EST (UTC -5)

Busy times again. Yesterday was the last day of classes. Some professors decide to have their final exams on the last day instead of during exam week, so I had two exams yesterday. I had studied a lot for them the day before, so they weren't too hard. I already know that I got an A in Statistics, which I thought would be impossible.

It kind of puzzles me that I'm still having to take classes like Statistics that really have nothing to do with my major. I tell people who go to other universities the kinds of classes I'm taking, and they're also puzzled, which in turn makes me mad. I don't want anyone to think I'm getting a bad education. I think I've touched on this theme before, but I'm too lazy to find the link.

The professor of my Data Structures and Algorithms class (the most important class I'm taking) says they don't have time to teach us computer science and computer engineering majors everything, especially when it comes to programming languages. He suggests that we go off and learn some languages on our own. It's not a bad idea, but I'd like to learn more than one language in school.

Isn't it obvious why there's no time? It's because the university, or whoever tells them what they have to teach, insists that students have well-rounded college education. The Dutch sisters I met on the train from Venice to Zagreb this summer were puzzled by that idea. I could see their point. If I wanted to have a well-rounded education, I would have gone to high school. Oh, wait, I already did!

Sure, it would reflect well on me to learn programming languages by myself (as I actually have). And sure, it's not the worst thing in the world to write essays about the spice trade on the Indian Ocean during the Middle Ages and early modern period (as I also have). But I daresay that time spent doing the latter when I should be concentrating on the former is not time well spent. And they wonder why they can't teach us enough of what we need to know...

Anyway, I have an exam on Saturday and my last one on Tuesday. I'm not sure exactly when I'll be going home yet.

Joshua reports on abuse of authority and endorsement of religion at California public school. He's started a letter-writing campaign to stop the injustice. I've been too busy to write a letter, but I hope to get to that soon if it's still necessary.

And here's A Flowchart to Determine What Religion You Should Follow. (Via Pharyngula)


License and registration

Wed Sep 23, 2009 21:53 EST (UTC -5)

Last Wednesday, September 16, my roommates and I each got a notice from the management:

This letter is to inform you that as of Thursday, September 17, 2009 in the afternoon, Pavlov Media will be changing its network formatting. As a result, you will be required to register. Registration is a simple, one-time only process that takes anywhere from five to fifteen minutes. ...

The letter went on to give a URL for registering and a phone number in case there were any problems or questions. Naturally, I thought this sucked. I was looking forward to getting away from these shenanigans when I moved out of my dorm.

Pavlov, the company that provides cable and Internet service for my apartment, doesn't actually seem that bad. Prior to last week, I ran the Glasnost test to see if they were screwing around with BitTorrent traffic, and it seemed that they weren't. But still, having to register your hardware is a bad idea. Real ISPs don't make their users do it. (Oooooh!)

Nonetheless, I had to do it. It actually took longer than 15 minutes. Registration consists of identifying yourself and the devices you plan to use to connect to the Internet. And apparently, you can have only two devices authorized to connect at any given time. You have to provide their MAC addresses, which you're told how to find on Windows, Mac OS X, and every Internet-capable smartphone and video game console in existence. Yep, that covers it!

Despite this infantile infantility, I haven't noticed a degradation in service since handing over my information. I was going to repeat the Glasnost test right now for the purposes of journalistic integrity, but they've changed the test so it takes way longer. I'll do it later.

I write about a lot of stuff all the time, and sometimes I don't tie loose ends, so I'd like to do that here. Almost a year ago, I wrote a letter to a Marine in Iraq. The followup: well, there was none. I never got a reply, and that makes me sad.

Is the Internet making our kids dumb? Wired's Clive Thompson points out evidence that they're better writers than previous generations.

Is there anything shell scripts can't do? Linux Baby Rocker. (Via The Presurfer)


There's nothing to it

Fri Sep 18, 2009 22:59 EST (UTC -5)

The Esperanto Club at UF kicked off its second year on Tuesday. Andy and I presented the story of our summer and how we used Esperanto.

Me presenting

The photo-within-a-photo you see there was taken while I was lining up to give a greeting at the Cultural Language Festival, which was part of the International Youth Congress of Esperanto in the Czech Republic. I'm on the far right; the others, from left to right, are South Korean, Togolese, Ukrainian, and Vietnamese. And yes, people from Togo are Togolese. I looked that up. (Hint to geography-types: if feel you have to add an extra letter when tacking on -ese, try a different suffix. I would have guessed "Togoan.") Incidentally, Andy had at least one good conversation with the South Korean, and I later hung out with the Ukrainian in Berlin (also mentioned in the aforelinked post, which is extremely long and thus covers a rather long time period).

And apparently, this photo was published on the cover of La Ondo de Esperanto (The Wave of Esperanto), a magazine I used to subscribe to but, alas, don't any longer. I'll try to hunt down a copy.

In my last post, I discussed my ambivalence about eating Krishna Lunch on campus. In the end, I didn't feel so ambivalent about it at all, and my sister and I enjoyed Krishna Lunch together yesterday. I think they have something different each day of the week. I hadn't had Krishna Lunch too many times before, but I must have had it on a Thursday because I recognized the food: rice and some yellow stuff with salad and some sweet blueberry-flavored mashed-potato-looking thing.

This didn't occur to me before, but I'm surprised that Aramark, the company that monopolistically runs all eating establishments on campus, allows Krishna Lunch to operate. It wouldn't surprise me if Aramark had considered giving the Krishnas the boot—they do siphon off Aramark's business, after all—only to realize that there would be rioting in the streets if students didn't have their $4 "karma-free" plates. (I say "karma-free" in quotation marks because karma isn't real.)

Also, I mentioned Krishna Lunch in 2006, when the price (technically, suggested donation) was a mere $3. It rose recently to little indignation.

For the nerds: song lyrics as pseudocode. (Via The Presurfer)

Art: the Preamble of the Constitution of the United States, spelled out on license plates from each state. (Via The Presurfer)


I should be working

Tue May 19, 2009 16:17 EST (UTC -5)

I've been to the movies a few times lately. I saw Star Trek with my friends the Friday before last and again just this Sunday night. I'm proud to say I'd never watched any of the shows or the other movies because otherwise I'd be someone who watches Star Trek. Anyway, from the perspective of a complete outsider, the movie was good enough for me to see twice without getting bored. My friends and I also went to the midnight showing of Angels and Demons on Thursday night/Friday morning. It was pretty fast-paced, and I liked it. I didn't read the book.

In my last post, I talked about getting a new memory card for my digital camera. Well, I've discovered another benefit of having a large memory card. If you've seen my videos, you've seen the handiwork of my digital camera. The quality is pretty good, but it only records at something like 16 frames per second, so any motion looks pretty jerky. (Mmm... jerky.) I recently remembered that my camera has a higher-quality video setting that I couldn't use with my old memory card because it didn't have enough space. My 1 GB card can hold over 12 minutes of high quality video at 30 frames per second. It looks like it's from an actual camcorder. I could reach 8 GB sooner than I think.

For my upcoming trip, I've got a computer, but the keyboard is pretty small. This would be a problem for picture-taking because I name all my digital photos and videos to include the date, the number in the sequence for that day, and a brief description. After years of doing this manually, I wrote a Bash script to help me automate the task. It prompts me for a description for each photo or video and then moves it to the proper folder. Here's the script if you're interested.

11 Extinct Animals That Have Been Photographed Alive. (Via The Presurfer)

Ah, Area 51, a favorite subject of conspiracy theorists everywhere. Some goings-on at the base have recently been declassified, so several people have gone on the record to talk about what it was like to work at Area 51 and what some of those "UFOs" actually were. (Via waxy.org)


Welcome back, Conky

Sat May 09, 2009 13:24 EST (UTC -5)

For a relatively long time, I used Conky as a system monitor on my desktop. It's pretty popular among Ubuntu users and other Linux types. Eventually, I switched to Screenlets, mainly because they look snazzy. But since my Screenlets have been acting up lately (spontaneously losing their configurations when I log in), I decided I'd have enough of that. I've gone back to Conky and all its powerful features. To that end, I've spent hours on what I believe is a pretty sexy Conky setup. Click the thumbnail for the full-size version.

The wallpaper is from InterfaceLIFT. The semi-transparent background for Conky is actually part of the wallpaper. I made a transparent image with a black stripe down the side in the GIMP and overlaid it on the original wallpaper with ImageMagick, which will make things easier when I want to change the wallpaper later. As for the Conky configuration itself, it's pretty self-explanatory. Here's my .conkyrc, and here's a Bash script I wrote to make audio metadata from Rhythmbox look pretty whether you're playing a song, a podcast, an Internet radio stream, or nothing at all.

And now, the not-so-boring links:

The difference between Pixar's and DreamWorks' animated films explained.

Wrong Tomorrow documents predictions made by public figures and keeps track of whether they become wrong or right. (Via waxy.org)

NPR did an interesting story recently on how ants know when their fellow ants are dead. As with many such things, it has to do with a chemical, which you can use to really confuse them.


A sweet end

Thu Apr 30, 2009 22:58 EST (UTC -5)

End-of-year things have been going on. Last Monday, I presided over the last Esperanto Club meeting of the year. Not a lot of people showed up, but I guess that can be expected since people had to study for exams and do more important end-of-year things. We had elections, but no one was challenged, so they were kind of pointless. Still, you've got to respect the democratic process.

Last Thursday, Get Carded had its year-end dinner at Bento Cafe, a hip Asian place. This year, they'd been awarding points to people for volunteering a certain number of hours at events. The member with the most points at the end of the year would get a gift card for the restaurant of their choice. I was the frontrunner all year, so Michael and Jehan, the guys in charge, already asked me what restaurant I wanted a gift card for. And on Thursday night, I was awarded Volunteer of the Year (defending my title from last year) with a gift card good for Chili's, Macaroni Grill, and a couple of other places whose names I can't be bothered to remember because I'm too lazy to take the gift card out of my wallet even though I could have taken it out and checked in the time it's taken me to write this.

Saturday night was a Gator Freethought party. I was only able to go to a few of their meetings this year due to scheduling conflicts, so I thought I'd make up for it by going to a party at the former president's house. It was fun; there were games, political debates, and s'mores. I wish I had gone to more of those parties.

Oh, and exams. My first exam was yesterday, a whole week after classes ended. I think I did well. My other two were today. In fact, the exams I expected to be harder were easier and the one I expected to be easier was harder. Is that ironic? It might be Alanis Morissette ironic, but I don't think it's really ironic.

For my discrete math class, we got to choose our own grade distribution (according to certain guidelines), so I took advantage of that by writing a program that would find the best grade distribution for me. I gave it a few possible values for my final exam grade and went for one of the distributions that weighed my final somewhat heavily but not as heavily as possible. It made getting an A pretty easy without the risk of getting a very bad grade if I somehow bombed the final. I shared my program with my classmates, and at least some of them used it, which was cool.

After that exam, which was my last, my roommate moved out, and I'm now left in a half-empty room till Saturday. But all is not lost. I planned a date with my new friend. We hadn't met for a while due to various things (mainly exams) getting in the way, but things worked out tonight. We went to Chop Stix, a pan-Asian place, for dinner, and it was delightful. I'd like to see her again before I go home, and I might.

And, well, that's basically it. I guess it's time to put this year to bed. I'll be moving out on Saturday, and I'll probably get home Sunday.

If world leaders were on Facebook, they would probably have a Facebook group for world leaders.

The Benny Hillifier makes any video sillier by substituting the audio with that sax tune from The Benny Hill Show.

You know you need to put your comic strip to bed when you reuse artwork and/or jokes from decades ago. Recently, Blondie and The Family Circus have been caught doing just that. (Via J-Walk Blog)


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)


Talents? How?

Fri Jan 30, 2009 22:55 EST (UTC -5)

This may surprise you. After all, it surprised me. But here it is:

I'm going to be in a talent show tomorrow.

Yeah, it is kind of a weird thing. But a while back, I agreed to be in some sort of charity talent show with my multi-instrumentalist (is that a word?) friend, Evan. It was supposed to be in December, but it got postponed to... tomorrow!

I had almost forgotten about it, to be honest, but I haven't been worried too much because I don't think it's going to be a big thing. But I got together with Evan the other day so we could practice. I had thought we were going to do "She Loves You," which we practiced together a lot when we were suitemates last spring. But he suggested that we play this one song I wrote that I played for him one time. I thought it was a good idea.

Interestingly, I also played the song (solo) at my band's last gig in 2005, so now I think I know how a one-hit wonder feels when he's touring the country with all this great material and all everyone wants to hear is that one song. Anyway, Evan plans to make things interesting by playing the ukulele and harmonizing. He's quite the talent. (Wow, I just realized I've been spelling "ukulele" wrong my entire life.)

This is supposed to be a two-hour show, and judging from the set list, it looks like there are seven acts, several of which are real bands. I wonder if we could squeeze in another song so as to take some focus away from my songwriting abilities. Oh well. It should be fun. I just hope it goes down better than my last talent show experience. That was, well, interesting.

Not many of you are likely to get this, but: If programming languages were religions...

Do you travel a lot? Thanks to the good old Freedom of Information Act, you can find out what the Department of Homeland Security knows about you! Well, some parts are censored, of course. And it could take a long time for you to get a response, like a year. But one guy went through the process and shares the results. Scary? Yes!

Here's something I always wondered: why do gas prices include that extra nine-tenths of a cent? Of course, part of the reason is to make you think you're spending less than you are, but there's a little more to it than that. (Via J-Walk Blog)


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.


Family history

Mon Jun 16, 2008 21:33 EST (UTC -5)

Once in a while I wonder about my ancestors and distant cousins. Sometimes I decide to research them. My curiosity bit me again the other day, so I decided Googling both the Croatian and English versions of my family name. I had already gotten some information together in GRAMPS, so it was just a matter of adding people to it. Before I knew it, I was finding a lot of family members through obituary records and the like.

I decided to create a Kalilić/Kalilich Family Genealogy page to document my efforts and encourage other members of the family to contribute. As it happens, I've gotten back in touch with my cousin Michael, who discovered me on the Internet a few years ago. It turns out that he's been talking to one of our other cousins in the old country, and he's going over to visit in a few months. How about that?

All the information on the web page I've been able to find on the Internet for free. I'm actually pretty surprised at how easy it is to find indexes (or indices) of obituaries and death certificates. Immigration records are even online for free at ellisisland.org; those records have been very useful in determining which members of the family came to America when and how. I guess it's especially easy for me to search for things since the name I'm looking for is so rare (and probably even peculiar to my own family). Anyway, I've ordered copies of a couple of death certificates, including one for someone I've never heard of.

I've only just begun to figure out how the American branch of the family relates to the European branch. The immigration records shed some light on common ancestors, but there's not enough information yet. I'm eager to ask my European cousins that I know of how they think everything might fit together. I wonder if they know about the member of the family who died in the Jasenovac concentration camp during World War II. I guess the intrigue of genealogy is that it often raises more questions than it answers.

Here are some programming jokes. One of my favorites:

Q. How did the programmer die in the shower?
A. He read the shampoo bottle instructions: Lather. Rinse. Repeat.

See also: Computer Stupidities: Programming.

Here's a video of Picasso's Guernica in 3-D (Flash, sound).

If I had to implement a CAPTCHA on my site (which I currently don't), I would choose reCAPTCHA. The creators of reCAPTCHA figured that all the time that people all over the world spend solving CAPTCHAs should be put toward something useful. So whenever you fill out a reCAPTCHA, you're helping to digitize old books by typing in words that computers can't recognize. (You receive two words; one that the computer knows and one that it doesn't. If you correctly enter the one that the computer knows, it will assume that you've entered the other one right as well.) So, bit by bit, you're helping spread human knowledge. And when the reCAPTCHA is cracked, spambots will coolly and efficiently help spread human knowledge.


« Previous Entries
Next Page »