<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Some stuff &#187; computer</title>
	<atom:link href="http://blog.yhuang.org/?feed=rss2&#038;tag=computer" rel="self" type="application/rss+xml" />
	<link>https://blog.yhuang.org</link>
	<description>here.</description>
	<lastBuildDate>Wed, 27 Aug 2025 08:50:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>passwords</title>
		<link>https://blog.yhuang.org/?p=1326</link>
		<comments>https://blog.yhuang.org/?p=1326#comments</comments>
		<pubDate>Sat, 12 Apr 2014 00:51:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Access control]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[Computer security]]></category>
		<category><![CDATA[Cryptography]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Moore]]></category>
		<category><![CDATA[reasonably secure]]></category>
		<category><![CDATA[RPSS]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Security token]]></category>

		<guid isPermaLink="false">http://allegro.mit.edu/~zong/wpress/?p=1326</guid>
		<description><![CDATA[How many bits of secrecy does a typical person have in memory? After thinking long and hard, I came to the conclusion that all security ends up being physical security. Currently we assume a person&#8217;s body is physically secure, with memory being the most secure part of all. Common security systems, such as passwords, try [...]]]></description>
			<content:encoded><![CDATA[<p>How many bits of secrecy does a typical person have in memory?</p>
<p>After thinking long and hard, I came to the conclusion that all security ends up being physical security. Currently we assume a person&#8217;s body is physically secure, with memory being the most secure part of all. Common security systems, such as passwords, try to extract as much of this secrecy out of us as possible and <u>store it somewhere less secure</u> like on a remote server. This is horrible. I don&#8217;t care that it&#8217;s stored in hashed form: if we only have a finite amount of secrecy to give, then once we reveal it in a form that can be brute-forced, Moore&#8217;s Law will ensure that at some point it will be brute-forced and will no longer be secret.<br />
<span id="more-1326"></span><br />
So we should do less of that, and exploit the real issue, which is physical security. We do have some secrecy storage that are less secure than memory but more secure than an untrusted remote system. For example, we have storage on trusted computers and personal devices; more exotically, we have biometrics and DNA (physical versions, not data of them); and we also have non-replicable behavioral capabilities in the sense that they are driven by stored &#8220;secret&#8221; body states. These things we call &#8220;reasonably physically secure storage&#8221; (RPSS). They are compromisable, and will reveal all their stored secrets if compromised, but they are &#8220;impossible&#8221; to get to without you knowing. Obviously this is technology dependent, and you can potentially get to human memory with superior MRI technology. Or straight up torture works, too.</p>
<p>But let&#8217;s assume there are both physically secure storage (e.g. memory) and freely modifiable RPSS (e.g. storage on phones). We can store on the latter a database of currently <u>computationally secure</u> secrets (e.g. long random passwords of high entropy). This database is protected by a secret we obtain from our memory, of potentially lower entropy than is computationally secure. We want to conserve our memory secrets, so we never use them directly for remote passwords. We only use them to unlock this database of passwords on the RPSS. The untrusted remote server never gets to our memory and never has computationally insecure secrets to store, so it can be compromised all the time and we don&#8217;t care. We only reset the passwords there when computational capability improves or when our RPSS has been compromised. When the latter happens, we obviously need to generate a new database secured by a new secret from our memory before the attacker can compute the secret that unlocks the database. It&#8217;s also possible to secure different parts of the database with different amounts of memory secrets, no different from having different passwords. N-factor authentication can be implemented by sharding the database across several RPSS, secured by the same or different memory secrets. This is really the best we can do.</p>
<p>Currently this is very feasible. Keychain software already do this. But there comes a day when computational capability will far exceed the amount of secrecy that can be held in memory, or memory itself will become exploitable and RPSS, or worse. Then we must ask how much new secrecy can be obtained and stored, and at what rate. At that point, we may as well forget about human memory, as only machines can stay ahead of machines. We&#8217;ll probably have a physically secure implant that collects entropy from the physical proximity, making sure it is not common information accessible to other entities.* These secrets then supply the protection &#8212; in password form or otherwise &#8212; for less physically secure storage.</p>
<p>* Properly speaking we will be authenticating a local physical state that can only formally be called &#8220;me.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=1326</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phone vs. tablet vs. laptop vs. desktop vs. server</title>
		<link>https://blog.yhuang.org/?p=644</link>
		<comments>https://blog.yhuang.org/?p=644#comments</comments>
		<pubDate>Fri, 02 Sep 2011 00:39:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[computing history]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dual interface]]></category>
		<category><![CDATA[functional view]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[hardware distribution]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[windows media center]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=644</guid>
		<description><![CDATA[It seems that Microsoft&#8217;s all-in-one strategy on support for different devices is still progressing. Windows 8 will have interfaces for both the desktop and touchscreen devices. This is akin to how Windows Media Center works. This model must have an unusual level of attraction to Microsoft due to the large base of existing applications, but [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that Microsoft&#8217;s all-in-one strategy on support for different devices is still progressing. Windows 8 <a href="http://news.cnet.com/8301-10805_3-20100365-75/windows-8-to-offer-both-metro-and-desktop-interface/">will have interfaces for both the desktop and touchscreen devices</a>. This is akin to how Windows Media Center works. This model must have an unusual level of attraction to Microsoft due to the large base of existing applications, but it makes assumption that you&#8217;d want to use all the applications on all the devices, if only you could &#8212; that may turn out not to be right.</p>
<p>Microsoft has for years tried to get into mobile devices. <a href="http://www.youtube.com/watch?v=oLUSnPB08kc">Here</a> you see Bill Gates really uncomfortable with the notion that Apple has succeeded more than Microsoft in this space. He is not wrong, since for a time Windows phones and tablets were the only ones out there, while Apple&#8217;s Newton was forgotten memory. Those devices either used a slightly modified Windows OS or one that copied all of its metaphors. The latest Windows phones are an exception, but with Windows 8, it will no longer be. It cannot be disputed that there are important applications that do not exist on mobile devices (currently), and therefore mobile devices are not complete (currently). So people argue that mobile devices will be full-fledged computers or desktops will not die. The idea of a dual interface seems to be aimed in this direction. However, a third possibility exists. Applications, after all, merely solve real life problems. They are not themselves holy. If there were a different way of accomplishing the same things, the applications could be replaced. One could argue that data is the rather more holy object. Back to this later.<br />
<span id="more-644"></span><br />
While devices are converging, it becomes a question of what the hardware distribution of the future will look like, and how functions will be partitioned among them. In <a href="http://www.youtube.com/watch?v=5UeLk6vmbtM">this video</a>, Steve Jobs posits a rather linear, functional view of computing history, where things moved from desktops to more mobile devices as usage functions evolved from scientific and office work to entertainment and socializing. Bill Gates posits a more encompassing and parasitic view, seeing computing power spreading to colonize all niches, a niche for each device, none really going away. To him, the kind of space or niche makes a difference, like whether a device fits in a pocket or not.</p>
<p>What they are both getting at is that there are constraints &#8212; some hardware, some social convention &#8212; that limit what functions can be used where. Because if it were at all possible, why wouldn&#8217;t one want all functions on all devices? But there are power, weight, screen-size, and input device constraints that are fundamental. Given that, you can&#8217;t possibly have all applications run in all devices. </p>
<p>To address this, one way is to have all devices become one device &#8212; a hardware solution along with its companion software like Windows 8. This &#8220;classic&#8221; solution has existed quite a while now, e.g. convertible laptops, some better than others. The problem is in both hardware and software. The equivalent tethered power and heavy-case computing power cannot be had with mobility at any given time, even though mobile devices are more powerful than computers of even a few years ago. And the software interface is also different &#8212; requiring a stylus for mouse-like precision (although I like the stylus, it&#8217;s one more thing to hold). With Windows 8, the interface problem <em>maybe</em> is solved, but the hardware problem remains. There is talk of some dual-part computer where you can remove a light (both weight and CPU power) piece of it. The non-mobile base of such a computer would have additional processing capabilities as well as keyboard and mouse like a standard docking station. The hardware design for this though, would be enormously complicated if it were to be efficient. For example, two processors separated a great physical distance, does not make for good communication speed. Either that, or when the light piece is docked, its own capabilities are totally disabled for its trivial contribution to total computing power. This would be a waste of hardware and the cost would be even greater than a tablet and a separate non-mobile computer combined.</p>
<p>So what about another way. Forget combining all devices into one device &#8212; in hardware. Why not have all these devices, and even let them run all their vastly different applications and interfaces at vastly different processing capabilities, but combine them at the level of <em>data</em>? Given the constraints of the devices, people will write any and all applications that support functions natural to them &#8212; we need not worry about that. We only care that these applications can access a common set of data and have seamless sync&#8217;ing between them. This also has a buzzword already, it&#8217;s called cloud computing. Yet I don&#8217;t think it&#8217;s about migrating applications to the cloud &#8212; not so, although some of that will take place, for &#8220;light&#8221; applications (light on bandwidth and computation). The full power of each device though, is going to harnessed, I am sure of that. So the best gains from the cloud is data sync&#8217;ing. This is a problem not merely of sync&#8217;ing, but of a method to record data in a way that is universally available regardless of software <em>or</em> hardware platform. It&#8217;s not just document data, but things like preferences, and program states. And I&#8217;m not talking about applications that are simple and entertainment-like or applications already on the web for which devices are only terminals. Furthermore, this &#8220;cloud&#8221; doesn&#8217;t even need to be an internet company, it can be managed among the devices themselves or by any mostly-on device that is at a common locus of interaction, like a &#8220;cloud server&#8221; or some such in the home. I think this is the more likely future, because it makes more sense.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=644</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cell synthesized</title>
		<link>https://blog.yhuang.org/?p=269</link>
		<comments>https://blog.yhuang.org/?p=269#comments</comments>
		<pubDate>Thu, 20 May 2010 23:54:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cell]]></category>
		<category><![CDATA[cell cytoplasm]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[computer dna]]></category>
		<category><![CDATA[first stored program computer]]></category>
		<category><![CDATA[genome sequences]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[proof]]></category>
		<category><![CDATA[sour grapes]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=269</guid>
		<description><![CDATA[Scientists create synthetic cell, version 1.0 &#124; [paper] Our synthetic genomic approach stands in sharp contrast to a variety of other approaches to genome engineering that modify natural genomes by introducing multiple insertions, substitutions, or deletions (18–22). This work provides a proof of principle for producing cells based upon genome sequences designed in the computer. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://news.cnet.com/8301-17938_105-20005533-1.html">Scientists create synthetic cell, version 1.0</a> | [<a href="http://www.sciencemag.org/cgi/rapidpdf/science.1190719v1.pdf">paper</a>]</p>
<blockquote><p>Our synthetic genomic approach stands in sharp contrast to a variety of other approaches to genome engineering that modify natural genomes by introducing multiple insertions, substitutions, or deletions (18–22). This work provides a proof of principle for producing cells based upon genome sequences designed in the computer. DNA sequencing of a cellular genome allows storage of the genetic instructions for life as a digital file.</p></blockquote>
<p>This seems significant, equivalent to booting up the first stored-program computer. </p>
<blockquote><p>Scientists who were not involved in the study are cautioning that the new species is not a truly synthetic life form because its genome was put into an existing cell.</p></blockquote>
<p>That&#8217;s sour grapes, because the original cell cytoplasm decays to zero exponentially fast in the number of replications, a point well made in the paper. It&#8217;s only needed for booting. What&#8217;s more useful to know is how much of the 1.08Mbp genome consists of existing genes. The paper says it&#8217;s a close copy of <em>M. mycoides</em>:</p>
<blockquote><p>The synthetic genome described in this paper has only limited modifications from the naturally occurring M. mycoides genome. However, the approach we have developed should be applicable to the synthesis and transplantation of more.</p></blockquote>
<p>The next step will be a basic cell with a minimal genome, a barebones cell OS, if you will. Then, on to synthetic functions. Pretty soon we&#8217;ll have cell API&#8217;s, fancy-pants programming frameworks, and bugs and viruses. I mean real ones.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=269</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mosquito-shooting laser</title>
		<link>https://blog.yhuang.org/?p=244</link>
		<comments>https://blog.yhuang.org/?p=244#comments</comments>
		<pubDate>Wed, 24 Feb 2010 23:56:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[Demonstrating]]></category>
		<category><![CDATA[ebay]]></category>
		<category><![CDATA[Maglite]]></category>
		<category><![CDATA[maglite flashlights]]></category>
		<category><![CDATA[myhrvold]]></category>
		<category><![CDATA[reflective material]]></category>
		<category><![CDATA[small shelf]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=244</guid>
		<description><![CDATA[So this video of a mosquito-shooting laser in the article here has been making the Youtube rounds recently. This isn&#8217;t really new, is it? It was already demonstrated last year, as described in this article. I was curious about the technology that supposedly you can assemble from eBay-acquired parts, and it turns out to be [...]]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://www.youtube.com/watch?v=eYXPqrXZ1eU">this video</a> of a mosquito-shooting laser in the article <a href="http://www.popsci.com/technology/article/2010-02/video-laser-zaps-pesky-skeets">here</a> has been making the Youtube rounds recently. This isn&#8217;t really new, is it? It was already demonstrated last year, as described in <a href="http://online.wsj.com/article/SB123680870885500701.html">this article</a>. I was curious about the technology that supposedly you can assemble from eBay-acquired parts, and it turns out to be kind of lame&#8230;</p>
<blockquote><p>Demonstrating the technology recently, Dr. Kare, Mr. Myhrvold and other researchers stood below a small shelf mounted on the wall about 10 feet off the ground. On the shelf were five Maglite flashlights, a zoom lens from a 35mm camera, and the laser itself &#8212; a little black box with an assortment of small lenses and mirrors. On the floor below sat a Dell personal computer that is the laser&#8217;s brain.<br />
&#8230;<br />
To locate individual mosquitoes, light from the flashlights hits the tank across the room, creating tiny mosquito silhouettes on reflective material behind it. The zoom lens picks up the shadows and feeds the data to the computer, which controls the laser and fires it at the bug.</p></blockquote>
<p>I&#8217;m sorry, but having a screen behind to form an image for detection is cheating and makes this much less exciting. How is this going to work in the field (cheaply) and be something more relevant than a net?</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=244</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>black magic marker</title>
		<link>https://blog.yhuang.org/?p=200</link>
		<comments>https://blog.yhuang.org/?p=200#comments</comments>
		<pubDate>Wed, 19 Aug 2009 21:15:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agency]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[computer network]]></category>
		<category><![CDATA[government officials]]></category>
		<category><![CDATA[magic marker]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[nhtsa]]></category>
		<category><![CDATA[older cars]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=200</guid>
		<description><![CDATA[This has got to be a joke. The program has also been plagued by heavy demand that has overwhelmed the computer system and review process NHTSA set up. The agency has since hired more staff to process claims and has increased the capacity of the computer network&#8230;. Government officials a big hitch has been that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.miamiherald.com/business/breaking-news/story/1186595.html">This</a> has got to be a joke.</p>
<blockquote><p>The program has also been plagued by heavy demand that has overwhelmed the computer system and review process NHTSA set up. The agency has since hired more staff to process claims and has increased the capacity of the computer network&#8230;.</p>
<p>Government officials a big hitch has been that dealers are not following proper procedures by filing incomplete or inaccurate materials. For example, one of the main reasons Cash for Clunkers deals were rejected early on was because dealers failed to write &#8220;Junk Automobile, Cars.gov&#8221; in black magic marker on the title of the older cars that buyers were trading in.</p></blockquote>
<p>Also this was obviously not edited, since I see a missing verb.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=200</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio through the PC Speaker</title>
		<link>https://blog.yhuang.org/?p=197</link>
		<comments>https://blog.yhuang.org/?p=197#comments</comments>
		<pubDate>Mon, 10 Aug 2009 07:32:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[beep beep]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[mechanical impedance]]></category>
		<category><![CDATA[modulation]]></category>
		<category><![CDATA[pc speaker driver]]></category>
		<category><![CDATA[pulse code modulation]]></category>
		<category><![CDATA[restriction]]></category>
		<category><![CDATA[speaker]]></category>
		<category><![CDATA[target signal]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=197</guid>
		<description><![CDATA[At work, sound comes from inside the computer and has a terrible quality, so I wondered if it used the PC speaker. Years ago when I didn&#8217;t have a sound card on a 486 computer, I used a PC speaker driver to play sound. To my surprise, this driver is still available. However, I didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>At work, sound comes from inside the computer and has a terrible quality, so I wondered if it used the PC speaker. Years ago when I didn&#8217;t have a sound card on a 486 computer, I used a PC speaker driver to play sound.</p>
<p>To my surprise, this driver is <a href="http://support.microsoft.com/kb/138857">still available</a>.</p>
<p>However, I didn&#8217;t realize at the time how playing sound through the PC speaker required an interesting hack. You see, the PC speaker could only be put into two states, on and off. So it was easy to make single pitches (which we all did, didn&#8217;t we? beep beep) So technically the PC speaker could only generate square waves of various duty cycles. Here&#8217;s <a href="http://www.scribd.com/doc/16750435/c-Io-Hardware-Programming-for-Pc-Speakers">how the PC speaker is controlled</a>.</p>
<p>Then how was it able to play arbitrary wave files? Well, it turns out 8-bit sound is supposedly generated by pulse code modulation <a href="http://www.bsdg.org/swag/SOUND/0107.PAS.html">like this</a>, like a light dimmer. The idea is to get &#8220;half on&#8221; you turn it on half the time. But it really shouldn&#8217;t work that way if you think about it, at least not so trivially, since what is being set is the amplitude, not the average power.<br />
<span id="more-197"></span><br />
Of course the PC speaker, even though it can only be given signals to drive it to two states, doesn&#8217;t just make square waves, since it has mechanical impedance. In fact it is a low-pass filter. So the true problem, which any decent PC speaker driver should solve, is given a target signal to be reproduced and an impulse response of the PC speaker, find the input signal (subject to restriction to two values, say, -1 and 1), that when filtered by the PC speaker gives the least error from the target signal. This probably is not given by the simple modulation scheme. On the other hand, is the two-value restriction costly? What is the minimum and maximum amount of error that results?</p>
<p>There must be a paper on this. On the other hand, I&#8217;m not sure that any existing PC speaker driver implements anything like this. Here is the <a href="https://lliurex.net/projects/valencia/gaia/browser/ubuntu-mods/trunk/alsa-driver/alsa-kernel/drivers/pcsp/pcsp_input.c?rev=8599">code for one</a> of them, but it looks too short to be doing anything sophisticated.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=197</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>laptop lcd turns bloody red (part 0)</title>
		<link>https://blog.yhuang.org/?p=134</link>
		<comments>https://blog.yhuang.org/?p=134#comments</comments>
		<pubDate>Tue, 11 Nov 2008 00:19:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ccfl]]></category>
		<category><![CDATA[choice]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[crystal color]]></category>
		<category><![CDATA[dell laptop]]></category>
		<category><![CDATA[hard disk failure]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[mechanical issues]]></category>
		<category><![CDATA[red hue]]></category>
		<category><![CDATA[screen]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=134</guid>
		<description><![CDATA[&#8230; then pitch black. This is part of the laptop backlight repair documentation. So a few months ago, my 4-year-old Dell laptop screen started getting a red hue when the screen first got turned on. It happens to be the first sign of CCFL failure &#8212; failure of the fluorescent backlight that is the light [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; then pitch black.</p>
<p><em>This is part of the laptop backlight repair documentation.</em></p>
<p>So a few months ago, my 4-year-old Dell laptop screen started getting a red hue when the screen first got turned on. It happens to be the first sign of CCFL failure &#8212; failure of the fluorescent backlight that is the light source for the screen. The second symptom soon after was the backlight going off by itself, especially when light level was set high. You can stall this process somewhat by lowering the light level but eventually the backlight will go off so frequently that the only choice is replacement.<br />
<span id="more-134"></span><br />
Indeed, this was the third thing to fail on this laptop. Unfortunately, unlike the <a href="?p=35">success of repairing</a> hard disk failure and mechanical issues with the CD drive, this issue didn&#8217;t get resolved to full satisfaction, but it was amusingly educational nonetheless.</p>
<p>While considering my options, I got <a href="http://www.redmondpie.com/turn-off-your-notebook-lcd-with-one-click/">this program called &#8220;Turn Off LCD&#8221;</a>. This is to turn the backlight back on when it goes off, without a reboot. You see, the backlight going off doesn&#8217;t mean the screen is off; the computer still thinks the screen is on and the liquid-crystal color filter is in fact still on. The backlight, being a fluorescent light, needs a startup current, so turning <em>off</em> the screen allows the computer to initiate the screen-start sequence again so the backlight can be turned back <em>on</em>.</p>
<p>To get the repair going, there are really 3 options ranked by expense. The whole laptop could be replaced, but that&#8217;s exceedingly wasteful. The entire screen portion could be replaced at a cost of about $120+, which is a tough call because, though it presents the easiest installation, one concern is the CCFL that comes with those machine-salvaged replacements tend to be old albeit working, so perhaps not a great choice. Eventually I found a CCFL of the right size on <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#038;item=180301425620">eBay</a> for about $10+ and decided to just replace that. It&#8217;ll be like lab work, no big deal, right?</p>
<p>On to <a href="?p=135">Part 1</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=134</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I tried a whole bunch of things, and all that (part 2)</title>
		<link>https://blog.yhuang.org/?p=37</link>
		<comments>https://blog.yhuang.org/?p=37#comments</comments>
		<pubDate>Sun, 24 Dec 2006 08:18:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[data recovery services]]></category>
		<category><![CDATA[ddrescue]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[external usb hard disk]]></category>
		<category><![CDATA[hard disk recovery]]></category>
		<category><![CDATA[miracle recovery]]></category>
		<category><![CDATA[usb hard disk]]></category>

		<guid isPermaLink="false">http://scripts.mit.edu/~zong/wpress/?p=37</guid>
		<description><![CDATA[This is part of the hard disk recovery documentation. Part 2. I tried a whole bunch of things (most that didn&#8217;t work), and all that. What is there to do? Data recovery services that run into the thousands of dollars can probably get most of the data back &#8212; they have a track record of [...]]]></description>
			<content:encoded><![CDATA[<p>This is part of the hard disk recovery documentation.</p>
<p>Part 2.</p>
<p><font color="#770033"><br />
I tried a whole bunch of things (most that didn&#8217;t work), and all that.</p>
<p>What is there to do?  Data recovery services that run into the thousands of dollars can probably get most of the data back &#8212; they have a track record of that.  My data isn&#8217;t worth nearly that much, sad to say.  But I don&#8217;t feel like abandoning perfectly good data, either.  Yes, there is probably McNorton ViralGhostSpy or whatever this bloatware is called these days; I don&#8217;t know&#8230; I prefer more flexibility so I&#8217;ll take the trouble to proceed with free or freely available tools.</font><br />
<span id="more-37"></span><br />
<font color="#770033">Since the Seagate disk is too dead to figure out what is on itself, I need to get its contents off onto another medium.  I need two things: some means of getting the only computer that can read the disk as is (the laptop) into a working state, and some means of direct disk copying from the laptop.  I have an enclosured USB drive: 160GB.  Let&#8217;s work with that.  To protect the original broken Seagate, I left it out of the laptop for the time being.</p>
<p>Many a self-proclaimed miracle recovery boot disks/discs conceivably take care of both tasks.  A quick search turns up a boot floppy software called &#8220;EaseUs disk copy&#8221; using a self-booting &#8220;freedos&#8221; but it was useless because it would like to copy <b>within</b> a computer (from master IDE drive to slave).  Into the trash it goes.  There were a few others like this, all useless.</p>
<p>Next up, I&#8217;ve got some Windows-based disk editor tool.  Maybe I can install Windows on this external USB hard disk so I can boot the laptop?  No.  Evidently <a href="http://www.microsoft.com/whdc/device/storage/usb-boot.mspx">it isn&#8217;t supported</a>.  Windows installed fine on the external USB drive (all files are copied), but on the first boot BSOD&#8217;d.  Some say there is a way to <a href="http://www.ngine.de/index.jsp?pageid=4176">hack the Windows CD</a> to make this work.  Well I don&#8217;t have that much time to waste, so forget that.</p>
<p>Next up, Knoppix version 5 (Linux Knoppix 2.6.17 #4 SMP PREEMPT, i686 GNU/Linux).  I had some difficulty mounting the external USB hard drive, but finally by booting from CD, <b>then</b> attaching the external drive <b>after startup</b>, Knoppix found it and stuck it under /dev/sdaN (for N in 1,2,etc.).  The drive had a 20GB FAT32 partition already (where I attempted to install Windows before), along with an empty 120GB partition, so the empty partition was at /dev/sda2.</p>
<p>These days, the favorite recovery tool under Knoppix seems to be the ignore-on-read-error disk copy tool called <a href="http://www.gnu.org/software/ddrescue/ddrescue.html">ddrescue</a> (not the Knoppix-included <a href="http://www.garloff.de/kurt/linux/ddrescue/">dd_rescue</a>).  I believe the difference is that ddrescue is much more automatic in dealing with the log file &#8212; this is important.  Both will copy a disk&#8217;s contents into a disk image file.  ddrescue needs to be compiled though; fortunately compilation was clean.</p>
<p>The choice of filesystem for /dev/sda2, which would hold the disk image, was limited.  The plan was to eventually read the data on a Windows computer, which would be easiest with FAT32 or NTFS.  However, NTFS write-support on Knoppix is of unknown reliability (&#8211; why? I don&#8217;t know).  I tried FAT32, using mkdosfs to format because Windows refuses to format a FAT32 volume larger than 32GB.  Then I even began copying data before realizing, to my chagrin, that FAT32 has another limit: 4GB on the file size.  That left ext2, and its default block-size of 4K was fine (block-size under 2K would be a problem due to file size limitation), so something like:</p>
<p>  # mkfs.ext2 /dev/sda2<br />
  # mount -t ext2 /dev/sda2 /media/sda2</p>
<p>Progress.</p>
<p>Now, computer off.  Broken Seagate goes back in.  Boot.  And&#8230; no boot.  The boot sequence now stuck at two points where it wanted to read the Seagate drive (on /dev/hda):  First, it attempted to find a (nonexistent) CD on /dev/hda, resulting in churning the hard drive for a few seconds (damaging my data further, I&#8217;m sure!)  Next, at the auto-detection stage to create /etc/fstab, Knoppix repeatedly tried to read the drive, and apparently would go no further.  Online sources are rife with suggestions of passing the boot options &#8220;nofstab&#8221; and &#8220;noswap&#8221; to the kernel to solve this problem.  Wrong.  With these options set, it still had the same problem at the auto-creation of /etc/fstab.  The solution turned out to be nail-biting patience: After booting and allowing the auto-detection to proceed for 10+ minutes of now-familiar churn-churn-churn on the broken Seagate, heating it up and losing me more data, it eventually did go on and boot.  Um&#8230; whoever is responsible for this boot code should be flogged or at least, made to go home and work on it some more.  I can think of zero (0) reasons why this particular process warrants persisting through multiple disk read errors.</p>
<p>Now, /dev/hda wouldn&#8217;t mount (of course), but no matter. Here we have: </p>
<p>  /media/sda2#  ddrescue -B -n /dev/hda rescue.image rescue.log</p>
<p>ddrescue proceeded through the evening, surprising me by writing quite a bit of good data onto the disk image, even as it sticks briefly at various corrupted points, but then got bogged down at around 3200MB.  I left it to its own devices at 3AM.</font></p>
<p>Lessons today:</p>
<ul>
<li>Knoppix is genius. Why is there no Live-Windows-on-CD? Oh, I know why.</li>
<li>Knoppix is semi-retarded for disk recovery because it fights with a broken hard disk on boot.</li>
<li>FAT32 has a 4GB file-size limit even if you manage to format the volume to be rather large.</li>
<li>ddrescue is a great tool to have.</li>
</ul>
<p>On to <a href="http://scripts.mit.edu/~zong/wpress/?p=38">Part 3</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.yhuang.org/?feed=rss2&#038;p=37</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
