Just testing whether posting still works. Kerneltrap was offline for a couple of years there, and I see that no one has posted anything for quite some time.
The first question regarding the difference between simulator and emulator I encountered in my undergraduate class of computer organization and architecture. The lecturer gave the difference in the aspect of completeness. But, ever since I had been wondering about the difference. Therefore, today I decide to round up the difference based on my own life experience of using simulator and emulator.
Rather than letting my undergraduate thesis be buried in the shelf, I will just publish it here.
As a C programmer I was told that I should use as little memory as possible. Unfortunately, that advise didn't come along with the fact that I should make a trade-off between software complexity, computing speed and memory usage: more malloc()s means more instructions to be executed, and therefore, the computing speed suffers and the software complexity increases (e.g., how about if malloc() fails?), and vice versa. I was aware about the trade-off but had not got the paradigm shift. Now I do get the shift.
Last week my brother asked me to help him find the piano score of Final Fantasy VII's Those Who Fight. Well, since I had never heard the song before, I searched for one in YouTube and landed on: http://www.youtube.com/watch?v=ssGdJNe2PHE.
Reading the book on Principles of Model Checking by Christel Baier and Joost-Pieter Katoen, on page 43-45, I was reminded about a particular property of Peterson's mutual exclusion algorithm that I forgot from my undergraduate operating systems class, and therefore, I had pondered till I read the book. In particular, I was wondering why the need for the turn variable. Peterson's mutual exclusion algorithm is special in the way that it has the inclusion of a scheduling strategy to ensure the progress of the competing processes. Ha, I really forgot the obvious!
A basic problem that I encountered when I started to developed a stand-alone application involving the use of a DB, which is Service Publishing AP's service_list, as opposed to a web application is to decide whether I should employ locking or copying when using an iterator to iterate, for example, a shared linked list or a shared DB.
After some time into web application development during my undergraduate study, I had wondered about the effect of modifying the underlying DB tables when a query result set over the DB tables are being iterated by a PHP script making an HTML table. Well, I believe that the result set is contained in its own memory and is detached from the underlying DB tables so the iteration will not be affected by any change to the underlying DB. How about the use of a cursor or a similar mechanism in iterating the result set? Well, I believe that the cursor operates on the result set memory instead of on the underlying DB. Well, those assumptions can be wrong and the DB can choose to employ locking. If locking is employed, how does it affect the other writers or readers? I think the sure way to answer the posed questions is by conducting some tests to see the behavior of the DB when using its API. Below is the result of conducting some tests on Sqlite3 to answer the above questions when I was working on Service Publishing AP.
After successfully getting an Internet connection using Prolink PHS100 here, my brother needs to use Huawei E160 with that laptop. It turned out that for Huawei, /dev/ttyUSB0 should be used. The steps are just as follows:
1. Fire `sudo aptitude install wvdial' if you don't have it installed yet.
A month ago my dad told me that his GNU/Linux Ubuntu Hardy screen resolution stuck at 640x480 because somebody had fiddled with his computer to fix something else. So, I googled around and found some proposed methods none of which worked. At the end, I reinstalled the whole system to fix the screen resolution. But, I will list the proposed methods I found for anyone else and my reference.
After working with laptop for about 5 years (previously I used a desktop PC for about 15 years using IBM PC/AT, Intel 486, Intel Pentium 200 MMX and Intel Pentium III), I collect the following tips when buying a new laptop:
As I described here, I exchanged my laptop with my mom's. For sure I don't want to reinstall anything from scratch and then reconfigure the new GNU/Linux installation.
I've found a way to use proposed in "ssh brute force" post method to auth users on some kind of services, server may provide, but where software may not support authentication at all.
Opinions on this auth for tinyproxy are welcome.
My first experience of dealing with GSM modem was for an SMS gateway using Huawei E220 in which only a SIM card without a broadband Internet connection was used. I had tried several times in those days to connect to the Internet using SIM cards with a broadband Internet connection to no avail because I always got stuck when executing `sudo wvdial' in which fancy ASCII characters were displayed on the screen. I didn't pursue the solution because a GSM modem was still expensive and the 3G signal was weak at my place. But, this time I really needed to connect to the Internet using Prolink PHS100 GSM modem.
At the beginning I took this course because I was interested in doing parallel programming that scientific computing usually requires. But, I get much more than that: I learn how to visualize mathematics, which is very important if you have ever read Richard Feynman's Surely You're Joking, Mr. Feynman! Mathematics is not to be read as fancy symbols, it is meant to express precise semantics of what one has in his/her mind and to understand precisely what one has in his/her mind.