Tuesday, April 26, 2011

Choices

I need to flash the ROM (Read Only Memory) in my Fujitsu P1630.

I tried upgrading the RAM (Random Access Memory) to 2GB with third party memory, did not work. I then discovered the statement:

http://www.vendio.com/stores/Mem-store.com/item/microdimm-memory/2gb-ddr2-microdimm-memory-fuji/lid=7509034
 
It says I may have to reflash my BIOS to make the new memory work. 
 
There is an excellent utility that creates a floppy image (1.44MB):

    http://www.linuxinsight.com/how-to-flash-motherboard-bios-from-linux-no-dos-windows-no-floppy-drive.html

The latest (4/26/11) version of the BIOS upgrade program is at

     http://support.fujitsupc.com/CS/Portal/supportsearch.do

It is

     MODEL #: P1630     BIOS VERSION: 1.10     DATE: 6/26/09

This includes a program, FlashAid, to run the BIOS update. The README says:

     STARTING FLASHAID:     To start FlashAid and update the BIOS, double click on the     P1630_BIOS_V1.10_FPC46-1582-04.exe BIOS data file that you have downloaded and follow the notes displayed on the screen.

But the Fujitsu file is 2.3 MB, too big for a DOS floppy.
So I need a Windows boot disk.

Allegedly, the Windows XP CD is a boot disk, so if we can boot and mount /data then we can run the program.

So first move the program to /data/computer/admin and then run the XP disk.

Well, it does indeed have an option (R) to run utilities, but it does not recognize the hard disk. And the CD drive requires both available USB ports, so we can't mount the outboard USB drive.

So much for that idea.

OK, next trick. the Ultimate Boot Disk For Windows (UBD4Win) seems well commended:

    http://www.ubcd4win.com/

But we are chasing our tail, as it also requires Windows to build the ISO. We may come back here eventually or use a friend's Win machine to build the CD.

It requires:
     ✓1. CD Burner and blank CD
     ✓2. Windows® XP CD, with at least Service Pack 1
        3. Download UBCD4Win
        4. Run the UBCD4Win EXE file (obviously needs Windows).
        5. Insert your XP CD with SP1/SP2 into a CD Rom drive.
            a. Create a "XPCD" folder on one of your internal hard drives.
            b. In Windows Explorer, select from the menu: Tools > Folder Options > View tab.
            c. Check that the [show hidden files and folders] radio button is selected and the [hide protected operating system files] is unchecked.
            d. Now copy the folders and files from your CD drive to the "XPCD" folder on your hard drive.
        6. Launch UBCD4WinBuilder.exe (located in your C:\ubcd4win folder)

And much much more (another nine huge steps...)

OK, but think again.

Now, Wine is just an API, right? So if the EXE will run on wine will it access the hardware directly?

OK, give it a try, if you don't hear from me soon it didn't work and I'm reinstalling openSuSE 11.4.  But I've read my email, backed up everything, so give it a shot:

Hang on, no guts no glory. Let's try it first on the P1610!

Well, that doesn't work because there is no ROM update for the P1610 and, besides, we have already seen that the memory works there.

So the options are:
  • Gamble with wine
  • Go through the complicated UBCD4Win routine
  • Bite the bullet and get the memory from Fujitu (demanding in advance that they assure us it will work without a ROM flash)
  • Put it off for another day
I vote for the last.

I only need it if I'm trying to run Windows interactively with Linux; otherwise it swaps Linux to disk or is not needed at all. The Fujitsu price is almost half way to the price of a new complete tablet, so I'd be better off spending the money there, once I have it (which I don't right now).

So onward to other mysteries...

Friday, April 15, 2011

The entire political process is disgusting. But let's get explicit:

Today the media are whooping and hollering about "Woohoo! $38 Billion Cut in Spending."

E.g.,
http://www.latimes.com/news/politics/la-na-congress-spending-20110415,0,6839980.story

Come on people, give me an effing break. These are mere spits in the  bucket, whether a risible $38B or the even more risible and infinitesimally small $352M.

The true answer is that the cuts apparently are less than one thousandth of one percent of the total budget!!!

Good Grief! And we were going to close down government over that? Democrats, get real.

Total smoke and mirrors, by their own announcements, if anyone knows how to use a calculator.

Don't people have a clue as to the magnitude of our debt??? Get a life, shut down the TV, and break out a calculator or spreadsheet:
  • + The total 2011 Federal budget is 3.83 TRILLION
          http://en.wikipedia.org/wiki/2011_United_States_federal_budget

That is:
          3,830,000,000,000          (3.83x10^12)
  • The alleged cut is 38 billion:
          38,000,000,000               (3.8x10^10)
  • The ratio (cuts divided by Federal):
          0.010                                (That is less than ONE PERCENT: 10^(-2))

Even if it is true.

Which apparently it isn't:
http://www.npr.org/blogs/itsallpolitics/2011/04/14/135404502/how-washington-turned-38-billion-into-352-million

So now the math is
  • Analyzed cut is 352 million:
          352,000,000                    (3.52x10^8)
  • The true ratio (true cuts divided by Federal budget):
          0.000092                         (9.2x10^(-5) Less than one thousandth of one percent)

Good grief!!! Can I stop laughing now? This is extremely risible.

And therein lies the problem.

There it is again, that 98th percentile number:
  • 98% of the population haven't a clue what risible means. 
  • 98% of that population don't care.
  • 98% of those don't have a clue where to go to find out. Even if they cared.
 How can we quantify risible to the third power?

Shame, shame, shame.

But you can't shame people who have no pride and no self-respect. Which is the category into which I place the majority of our current political leadership.

Saturday, April 9, 2011

Memory, Misty or Not

Lack of memory is a pain. Personally it is inconvenient. On a computer it is a real pain. But figuring it out can be sort of fun, getting your fingers dirty in the inner bowels of the machine.

The machine in this case is the Fujitsu Lifebook P1630

     http://www.ruggedpcreview.com/3_notebooks_fujitsu_1630.html

I've learned a lot of new jargon. For example:

2GB DDR2 667MHz PC2-5300 Memory Upgrade for Fujitsu-Siemens LifeBook P Series P1630. 1.8v 200-pin Non-Parity Un-Buffered


is translated as follows:
2GB Short answer: Two billion bytes of Random Access Memory (RAM)
Long answer: Approximately. Watch this space...

DDR2 One of at least three electrical forms of RAM, operating at 1.8 volts
http://www.brighthub.com/computing/hardware/articles/12461.aspx
Double Data Rate Synchronous Dynamic Random Access
Memory interface.
http://en.wikipedia.org/wiki/DDR2_SDRAM
In addition to double pumping the data bus as in DDR SDRAM
(transferring data on the rising and falling edges of the bus clock
signal), DDR2 allows higher bus speed and requires lower power
by running the internal clock at half the speed of the data bus. You
cannot substitute one for the other for at least two reasons:
  • the voltages are different
  • the notch in the chip is different
667MHz

The clock rate (sample rate) for the RAM
SDRAM

Synchronous Dynamic Random Access Memory (SDRAM) is
Dynamic Random Access Memory (DRAM) that is synchronized
with the system bus.
http://en.wikipedia.org/wiki/Synchronous_dynamic_random_access_memory
Classic DRAM has an asynchronous interface, which means that
it responds as quickly as possible to changes in control inputs.

SDRAM has a synchronous interface, meaning that it waits for
a clock signal before responding to control inputs and is
therefore synchronized with the computer's system bus.
The clock is used to drive an internal finite state machine that
pipelines incoming instructions. This allows the chip to have
a more complex pattern of operation than an asynchronous
DRAM, enabling higher speeds.
Pipelining means that the chip can accept a new instruction
before it has finished processing the previous one.

PC2-5300 PC2-xxxx denotes theoretical bandwidth.

1.8v

This refers to the voltage applied to the RAM. DDR3 operates
at 1.5, so the voltage difference is one of the reasons the various
DDR variations are not compatible.

200 Pin

(as distinguished from 240 pin). These are the number of
connections on the edge of the RAM.
http://reviews.cnet.com/ram-memory/?filter=500056_112956_
 Desktop computers use 240 pin RAM, while laptops use 200 pin
RAM.

Non-Parity
(Non-ECC)

Parity refers to having an extra data byte for ECC (Error correction
code)
http://en.wikipedia.org/wiki/RAM_parity
http://en.wikipedia.org/wiki/Dynamic_random_access_memory#Errors_and_error_correction


Un-buffered

http://en.wikipedia.org/wiki/Registered_memory
Registered (also called buffered) memory modules have a register
between the SDRAM modules and the system's memory controller.
They place less electrical load on the memory controller and allow
single systems to remain stable with more memory modules than
they would have otherwise. Registered memory is more expensive
because of the additional components, so it is usually found only
in applications where the need for scalability and stability
outweighs the need for a low price (servers, for example). Although
most server-grade memory modules are both ECC and registered,
there are registered non-ECC modules and non-registered ECC
modules.
There is a performance penalty for using registered memory. Each
read or write is buffered for one cycle between the memory bus
and the DRAM, so the registered RAM can be thought of as
running  one clock cycle "behind" an equivalent unregistered
DRAM.

I've built a spreadsheet that calculates memory usage  based on the free command. I set a base configuration of kernel, operating system, and GUI and record the output of free. The usage is the sum of the used column entries, comprising
    Mem:
    -/+ buffers/cache:
    Swap:

I then load (or unload) a single program. Again, the usage is the sum of the used column entries. The usage of the program is the difference in the original usage and the new usage.

In my present setup (Linux 2.6.37.1-1.2-desktop kernel, openSUSE 11.4, KDE 4.6) I have 1 GB of RAM and 2 GB of Disk Swap.

The results are variable. They depend on what other apps have already loaded common libraries. They also depend on activity since the system moves stuff from main memory to cache to swap depending on what apps and associated files are in demand. For example, on one app whenever you type something the usage jumps to 16 MB, but wait a few seconds without further activity and it settles back out at 6MB.

With those caveats, the following shows representative usage:
  • With minimal desktop (Firefox, Basket, konqueror, and kontact)  40 MB free (1.3GB used)
  • Firefox is a memory hog: 122MB
  • Konqueror uses 78 MB.
  • GnuCash uses 60MB.
  • The Oracle VirtualBox platform uses 48MB.
  • Baskets uses 25 MB.
  • Kontact uses 7 MB.
  • But then start Windows in the VBox: it immediately gobbles 506 MB with no applications visibly running.
  • Start TurboTax: another 10 MB.
Suffice it to say we need to get more RAM.

Thursday, April 7, 2011

To Beep or Not to Beep: that is the bleeping question....

Overview
There are quite a number of voice recorders out there for mobile phones. Several are quite well done.

But all have a common failing so far in that they cannot disable the recording beep function (notification to the parties that the call is being recorded) in the Nokia Symbian^3 phones. (Apparently they have been successful in disabling the function on older phones.)

Beyond the existence of the beep are the questions of whether you should (ethical) or must (legal) employ it.

So the various call recorder programs are mostly novelties (for Nokia Symbian^3 users) until success is achieved in being able to choose to (or not to) use the function and (for all users) until resolution is achieved regarding ethical and legal questions on its use (or non use).

Note to self: Perhaps lawyers should be more properly called parenthesisists???

Recording Beep Function Description
Googling suggests that the recording beep function exists in Symbian^3 phones as a file in the Read Only Memory (ROM) of the phone. You must remove or nullify this source file from the ROM, an event well beyond my ken and apparently beyond the ken of everyone else so far.

Googling reports indicate that trying to remove this file from Nokia Symbian^3 phones crashes the ROM and requires it to be "re-flashed" - i.e., rerecorded, something I do not know how to do at this time...

Intrusiveness
Given that there is a beep then the next question is, how intrusive is it?

The beep sound will not get recorded and you will not hear it when you play back your recordings.

But anytime it beeps during the conversation it distracts you from the matters at hand.

Googling reports issues with the amplitude (loudness) being extremely distracting.

And conceivably the frequency (pitch) of the tone might be quite irritating.

Distractions In professional employment translate to delays and loss of quality of service, hence time, hence dollars . Professional call centers have resolved this by inserting the familiar "This call is being recorded for training and quality control purposes." recording at the start of the conversation, thereafter leaving participants to carry on beep-free.

(To which I usually reply "Make my day", but I digress...)

But this option does not exist for Nokia Symbian^3 users.

So there is some threshold of amplitude, frequency, and periodicity above which the product becomes unusable. And in some products the beep causes a delay and subsequent distortion in the recorded signal.

Beep Control
There is some control to be had here. For example:

SymbRecorder has three beep modes.
  • In Modes 1 and  2 the beep occurs every 15 seconds.
  • In Mode 3 at the default Beep Suppress Tune of 80 the beep occurs every two seconds while at a Beep Suppress Tune of 6000 (the maximum available) it delays to seven seconds. Perhaps this function is  better named the Beep Suppress Time in milliseconds??
     
  • Changing recording formats (AMR/WAV) has no effect on the beep.
So even if you can't get rid of it altogether, how about making it as infrequent as possible or examining the volume or frequency of the beep? Well, now you're back to the law, see  Amplitude, Frequency, and Periodicity below...

Anyhow, here are my impressions after installing and using the programs on my Nokia Symbian^3 N8, with My Humble Opinion (MHO) being rated on a scale of x out of 5 (x/5):
  • TotalRecall (4.5/5)
    http://tinyurl.com/6kx72m9
    Probably the smoothest I've seen. It has two beep suppression modes: Enable and Enable Advanced. But neither suppresses the beep on the Nokia N8. They are "working on it".

  • SymbRecorder (4/5)
    http://www.symbsoft.com/
    Very cool, with lots of customization options - geek perfect.

    But it also fails to suppress the beep on the Nokia N8. They also are working on it.

    The first two modes are very good quality. The third mode introduces a distortion in the recording whenever the beep occurs although you don't hear the beep on the recording. You can tweak the sampling rate, so perhaps I could resolve that, but as long as the beep remains then why bother...

  • Best Call Recorder (3/5)
    http://nokia-n8-software.smartphoneware.com/callrecorder.php
    They post a warning: Warning: the disable beep function will not work properly on S^3 devices in most cases, please test the fully functional trial version on your device before you buy (see the Download link).

    Sure enough, we installed it, the  beep is there on the Nokia N8, annoyingly frequently (approximately every two seconds). It doesn't appear on the recording itself but does introduce a burble into the recording.

  • Nokia N8 Voice Recorder (1/5) A default-installed application in the Nokia N8. Very fidgety, no autostart. If you start it before the call then it suspends when you switch away If you wait to start it until after the call then you lose several seconds of the conversation. And in any case you get the beep.
Oh, I need to mention, all of these do a fine job of recording Voice Clips if the phone is not on a call. So, bravo!

But that is not the point. The point is how to lose the beep!
    Ethics and Legality
    Of course, all the vendors give some kind of "Don't sue me" caveat regarding the legality (or not) of recording calls without the beep. IMHO, it seems that ethical or legal culpability depends on the purpose to which the data are put. Simply collecting the data should not be considered unethical or illegal...

    But then what do I know: I'm neither a priest nor a lawyer, just an engineer.

    Instead, while googling seems not to address ethical questions it does seem to indicated that it is illegal in some (many) cases to even collect the data.  

    However, on reflection, these laws seem to be designed to protect the individual from third party violation of privacy. Not the inferred interaction among individuals

    See the following, with the bullets highlighting critical details:

        http://www.accuratealways.com/support/learn/notification_law.htm:
    • The U.S. federal law allows recording of phone calls with the consent of at least one party. This means if you are initiating a recording on a call that you are participating in, the other party does not need to be notified that the call is being recorded.

      This only makes sense if it is to protect you from a third party intrusion.
    •  Currently, 12 states [including MA  but not RI] require the consent of all parties. Interestingly, this is the most cited, albeit the minority, position among all my findings...

    • The Australian law prohibits a person from listening to or recording, by any means, of a communication in its passage over a telecommunications system without the knowledge of the person making the communication. Again, this suggests a jurisprudential focus on protecting the individuals from third party intrusion.

      "A communication includes conversation and a message, and any part of a conversation or message, whether in the form of speech, music or other sounds, data, text, visual images, signals or in any other form or combination of forms."
        http://www.connectionsmagazine.com/articles/2/236.html:
    • Some states and countries require "one-party notification" in which only one of the two individuals needs to be made aware that the call is being recorded... At least 37 US States, the District of Columbia,  the US Federal law, Canada, and England only require one-party notification.
    Amplitude, Frequency, and Periodicity
    Apparently there are no specifications on the amplitude (loudness) of the beep. There are specific requirements for the beep tone:
    http://www.vlrcommunications.com/record_regs.asp

    The beep tone needs to be a 1260 to 1540 Hertz tone, lasting 170 to 250 milliseconds, and broadcast for both sides to hear every 12 to 15 seconds...

    Going Forward
    So, dear technologists, there is yet another opportunity for achievement in this world. Go forth and prosper: design systems with an option for the beep and, after the fact, figure out how to hack the ROMs of the world to control it.

    And, as for Nokia (and any other manufacturers), a libertarian view: Yoh! Dude! Lose the beep!

    Let me be responsible for my own happiness (and ethics and legality). Give me a paper to sign or whatever but

    Let ME live MY life.

    ======================
    Sequitur:


    http://www.nokiarecorder.com/beep_free_nokia_recorder_compare.html

    offers another objective comparison of the market leaders in this domain. Thanks to SymbSoft for pointing this out.

    As for me, I am now a newbie student of ROM patching.

    Googling:  how to rom patch nokia n8

    ROMPatcherPlus seems to be the market leader in this regard, but I haven't found its homepage, just a lot of warez sites.

    Much fodder to examine. But not tonight.

    Mobile Blogger

    Now, why didn't think of this?
         http://www.blogger.com/mobile-start.g

    Better than SMS (a broadcast), better than Twitter (single point record of messages - the blog), simpler than a blog (instantaneous blogging without a keyboard:

    a combination of all three!!

    :-)

    Sent from my Nokia N8, tweaked from my Linux openSUSE 11.4 Fujitsu P1630 :Lifebook

    Tuesday, April 5, 2011

    Task Managers and Tracking Time Usage

    I've spent quite a bit of time on evaluating task managers.

    + TaskJuggler fails to install even from the openSUSE RPMs:
        http://software.opensuse.org/114/en
        Depending on the selected version, the RPM is missing libkcal.so.2 or something else. Too hard.

    Tasque is just too simple for my needs. It is little more than a list with a checkbox.

    + Task is a command line app.

    + ktimetracker (currently V4.4.10-3.2) is wonderful. It allows:
    • Functional decomposition of projects/tasks/clients
    • Automatic application usage logging
    • Time accumulations by different tasks and time periods
    • Integration with the KDE PIM (Kontact)
    • Chronological listing of events with the ability to add comments
    The only problem is that the last bullet (for me the most desirable) apparently cannot be exported. I have tried copy/paste, Export this and that... Nope, it is all locked into the app. You can look but you can't touch.

    Now, all that precious data resides inside an RFC 4225 ical (*.ics) file. Cool. I'll just open the ics, right?

    Annnxxxx. WRONG. Very complicated, linear file with all kinds of irrelevant (to me) information, like lay days for the Gregorian calendar etc.

    OTOH, the precious File > Edit History window does exactly what I want. I just can't get it out of the machine!! (Well, I haven't yet tried GIMP Screen shot with OCR, perhaps that will work...)

    ====
    So my options are (in addition to extensive googling, from which it is not my friend):

    1. Figure out how to get the Edit History window rendition out of ktimetracker. (I've written the developers, awaiting a reply.)

    2. Find a similar app that isn't dead (GnoTime looked like the right answer but has apparently disappeared, certainly not supported by the openSUSE repositories). TaskCoach and rachota seemed promising but fail to do what ktimetracker does.

    3. Figure out how to parse the complex ICS file.

    I've failed on 1) and 2) so far. You'd think there would be a zillion ICS parsers out there for 3), but they are all libraries or modules (Ruby???!!) for developers. Surely there must be an off the shelf app that does this?

    Enquring minds...