Free software does not mean public distribution. Free software means that the licensees have all of the four essential freedoms (http://www.fsf.org/licensing/essays/free-sw.html) with the software. Selling free software means that you license the software with a fee to a buyer under a free software license.
The course in Massively Distributed Systems I: Peer-to-peer makes me able to appreciate the power of P2P networking in providing a scalable censorship-resistant robust network as well as the basic know-how to engineer one. The course is very enlightening for me who had only one course in Computer Networking and didn't realize how limited a server is.
I am following an interesting class on Languages for Scientific Computing (http://www.cs.utexas.edu/users/pauldj/lectures.html) taught by Prof. Bientinesi (http://www.cs.utexas.edu/users/pauldj/). Just a week ago he explained about the theoretical peak performance of a processor that is none other than: n_cores * frequency * ops_per_cycle_per_cpu. But, that is not the practical one.
Friday the 13th struck...I was changing the oil in my Suzuki GS500F, and as I was putting the oil filter cover back on, and cinching up the acorn nuts, I broke one of the studs that holds the filter. Of course, that really sucks, because now I either have to wait on a replacement stud, or try and get one after midnight.
When I learned Discrete Mathematics, I was curios why it is called "counting" the chapter that discusses permutation and combination. Isn't that mathematics about counting after all? But, I didn't think about it further until I need to revisit Discrete Mathematics again today.
The first thing that I did when I needed to access the Internet through one of the PCs in the PC Pool of RWTH Aachen is to transform the German keyboard to an English keyboard. This is usually the first thing that people do when they are faced with foreign keyboards that their fingers are not accustomed to. The operating system used in each of the PCs in the PC Pool is GNU/Linux Debian 4.0.
I went to see The Queers last night in concert. It was a decent show, and TA80 was there from Tucson (a great bunch, BTW), as well as The Leftovers (from Maine; also a cool bunch).
Well, I can clearly see that I maintained things here. I'm not sure why I don't blog anymore. I feel like I have less time these days, and I'm not sure if that's reality, or if I'm just not very good at time management. The answer is probably somewhere in the middle.
While developing the logger for GNU/Linux Anywhere USB Controller (https://savannah.nongnu.org/projects/awusb/), I needed to know the length of the UDP packet to be read so that I could do `malloc()' with the appropriate size. Aproposing for `datagram length' and googling for `how to get the length of a UDP datagram' didn't return any result. But, I found the answer when I tried `man 7 udp'.
While developing the logger for GNU/Linux Anywhere USB Controller (https://savannah.nongnu.org/projects/awusb/), I created the following function that will store a `FILE *' into a global table for a later retrieval:
static int save_open_file (FILE *log_file);
I thought I could take the name of the file through `FILE *' or its fd (file descriptor) using a libc (C library) function like `fstat'. But, I was badly mistaken.
Last month my employer asked me to find for a free software compatible x86 laptop with the best bargain. So, based on my previous experience, I offered him Asus EEE PC 1000HE and A*Note. But, those didn't satisfy him since Asus was too slow for development works (e.g., compiling programs) as a result of using Intel Atom, and A*Note's warranty period was too short. So, I said to him that we had to find a laptop equipped with Intel chipset (Intel 3D graphics accelerator is free software compatible) and Atheros wireless card (Intel wireless card is NOT free software compatible). A week ago, my employer called me up to help him check the components of a laptop that he was interested in buying. All was okay, so in the evening he asked me to set up a GNU/Linux Ubuntu 8.04 on the laptop. How surprised I was knowing that the laptop is Acer eMachines because previously I had ever tried the laptop out and it hung when playing an ogg movie titled `Experience ubuntu' in directory Examples of the home directory.
Yesterday at the client site I got a report that one of their Windows XP machines kept restarting all the time. I had known for sometime that the machine was problematic because of heavy viral infections. So, I was reluctant to fix it. At the same time, the important PC that hit an interesting problem as described in http://kerneltrap.org/node/39213 got a blue screen when it was restarted or shutdown. Okay, I would have just let it be like that if the blue screen only had appeared during shutting down. But, after I installed a NIC card for bridging two subnetworks, I got a blue screen everytime I logged in as one of the users.
On Thursday (August 06, 2009), my colleague called me up saying that an important PC at the client site for having external communications got a problem with the Windows XP mechanism to detect whether a particular Windows XP is an authorized or unauthorized copy (http://www.gnu.org/philosophy/words-to-avoid.html#Piracy). Specifically, althought the Windows XP installed on the PC is an authorized copy, the mechanism insisted that it was not. Since I don't deal with a proprietary system, I have no idea on that kind of matter, and so, my colleague called Microsoft up. On the following day, the computer couldn't be logged in because everytime Windows XP started, the following error message appeared just before the login screen was displayed:
Developing a C API that deals with writing to external provided buffers, I was wondering whether or not I should include parameter buffer length when the length of the data to be written to the buffer is fixed and known in advance from the documentation of the API.
At the end of the final semester of my undergraduate study at Swiss German University (http://sgu.ac.id), I looked for a company that was committed in harnessing Free Software (http://gnu.org) to create IT solutions. Just before the graduation ceremony, the faculty of Information Technology held a career day presenting five companies. The first was an international insurance company looking for salesperson, the second was an old local IT solution company specializing in banking system with Java, Cobol and RPG as the primary programming languages, the third was a local Microsoft Gold Certified IT solution company, the fourth was an international company specializing in providing IT solutions for aeronautical industry, and the last one was Infi-nity Solution. It was really a blessing from Father in Heaven to find Infi-nity Solution just before my graduation ceremony since previously I had been looking for such a local company in vain.