tag:blogger.com,1999:blog-85494862070044798342024-03-13T03:40:35.177-07:00yobiduckBradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-8549486207004479834.post-49497234910193560092021-08-18T08:39:00.000-07:002021-08-18T08:39:01.194-07:00The Original Alpha-Beta Search Paper<p> I have an interesting story about trying to find a copy of the original paper describing alpha-beta search. Back in 1992 I was doing research on massively-parallel computer chess for <a href="https://people.csail.mit.edu/bradley/papers/Kuszmaul94.pdf">my Ph.D. thesis</a>, and I was trying to do a literature review. According to several sources, the paper was<br /></p><ul style="text-align: left;"><li>Timothy P. Hart and Daniel J. Edwards, "<a href="https://people.csail.mit.edu/bradley/other_papers/HartEd61.pdf">The Tree Prune (TP) Algorithm</a>", Artificial Intelligence Project Memo 30, RLE And Computation Center, Massachusetts Institute of Technology, Cambridge, MA, USA, December 4, 1961. (Revised as D. J. Edwards and T. P. Hart, "<a href="https://people.csail.mit.edu/bradley/other_papers/EdwardsHa63.pdf">The α-β Heuristic</a>", AI Memo 30 (Revised), October 28, 1963.)<i><br /></i></li></ul><div>I was pleased that the original algorithm had been developed at MIT, but the problem was that I couldn't find the paper in the MIT libraries! The MIT libraries had lost the paper. It turned out that Tom Knight had the first first 4 pages (out of 6) of the 1961 version, but not the 1963 version.</div><div><br /></div><div>I emailed everyone I could find who had cited the paper (Berliner, Karp, Knuth, McCarthy, Nilsson, and Slagel). No one had a copy. The email from Knuth bounced: He had already abandoned email, and required a real hardcopy letter if you wanted a response. I couldn't find the original authors (the web was just getting started), and was about to give up, but then I tried the white pages (the hardcopy phonebook), where I found <a href="http://www.egh.com/about/history.htm">Tim Hart</a> in Lexington, Massachusetts. I sent him a letter, and he responded with original mimeographed copies of both papers.</div><div><br /></div><div><br />The history of alpha-beta search is murky. The rest of this post comprises an incomplete review of that history. (See Knuth and Moore for a more careful treatment.)</div><div><ul style="text-align: left;"><li><a href="https://dl.acm.org/doi/10.1145/321510.321511">Slagle and Dixon (1969)</a> wrote that Hart and Edwards provided the first detailed description of alpha-beta search (in 1961) and the first published use of the term "alpha-beta" (in the 1963 revision). Slagel and Dixon provided the first proof about the effectiveness of alpha-beta search on best-ordered trees, whereas Hart and Edwards stated the theorem without proof.</li><li>Nils J. Nilson's 1971 book <i>Problem Solving Methods in Artificial Intelligence</i> cites Hart and Edwards as having done extensive investigation of alpha-beta search. Nilson cites, on page V-49, a personal communication with A. L. Samuel who claimed that he had implemented alpha-beta search in his 1959 checkers program but that Samuel didn't realize the significance of the algorithm and hadn't included a description of it in <a href="https://doi.org/10.1147/rd.24.0320">his paper.</a> Samuel's work was actually pretty amazing: The entire checkers program was written in only 6800 instructions on an IBM 704, and included a transposition table.</li><li><a href="https://doi.org/10.1016/0004-3702(75)90019-3">Knuth and Moore (1975)</a> is the standard reference for a mathematical treatment of alpha-beta pruning. Knuth and Moore also cite (on page 303) that Samuel stated that alpha-beta search was present in his checker-playing programs. Knuth and Moore state that McCarthy thought of alpha-beta search in 1956. Knuth and Moore say that the first published account of alpha-beta search appeared in Russia (Brudno 1963), based on the fact that the Hart and Edwards AI memo was "unpublished". Knuth and Moore note how early authors had a lot of trouble explaining alpha-beta search: the idea was difficult to express in the notation of the time.</li></ul><div>Hart and Edwards write the algorithm in old McCarthy-style LISP (M expressions rather than the more modern S expressions). <div class="separator" style="clear: both; text-align: center;"><a href="https://people.csail.mit.edu/bradley/other_papers/HartEdwardsLisp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="383" data-original-width="620" height="383" src="https://people.csail.mit.edu/bradley/other_papers/HartEdwardsLisp.png" width="620" /></a></div><br /></div><div> </div><div><br /></div><div>I think it's interesting that in 1961 they called in an algorithm, but called it an "heuristic" in 1963. Today, we would consider an algorithm to be more "real" than a heuristic. Maybe in 1963, when doing AI research, it was better to develop heuristics. Knuth points out that McCarthy didn't realize that alpha-beta search always gives the right answer, and thought it was a possibly inaccurate heuristic. Today, we consider alpha-beta search to be an algorithm that relies on heuristics to get good performance. The important heuristics are the ones that guess what the best search order is for subtrees. The algorithm works right without the heuristics, but the heuristics are important. </div><div><br /></div><div>Virtually all the analysis of the runtime discusses the case of searching a uniform best-ordered tree, but the whole point of the search is that you don't know the best move. So we use heuristics to guess the best move from any position. A simple heuristic in chess , which was explained to me by Berliner, is "try capturing the most valuable piece with the least valuable piece"; if you can capture a queen with a pawn, that's probably the best move, or at least one that's good enough to allow a lot of pruning. Another important heuristic is "iterative deepening" : when searching to depth <i>k,</i> guess that the best move is the one that was best according to a search to depth <i>k-1.</i></div><div><i><br /></i></div><div>The previous work to Hart and Edwards was <a href="https://doi.org/10.1147/rd.24.0320">Newell, Shaw, and Simon (1958)</a>, which provided the first published description of alpha-beta-like tree pruning. Their algorithm does only alpha pruning, without deep cutoffs.<br /><br /><br /></div></div><p></p>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com1tag:blogger.com,1999:blog-8549486207004479834.post-32187813340078972372021-05-11T09:56:00.002-07:002021-05-11T09:56:33.547-07:00Reviews of Ancient Systems Papers: "Distributed Operating Systems" by Tanenbaum and Van Renesse, 1985.<p> I've been reading some of the papers that were assigned reading in MIT class 6.033 <i>Computer Systems Engineering</i>, both when I took it in about 1984 and when I helped teach it, as a teaching assistant, in about 1992. This class is aimed at MIT seniors, and involves a large writing component. I think there is a lot of value in those old papers. Some of it hasn't aged very well, however. Here I'll review some of those old papers, 37 years after I originally read most of them.</p><p>I'll start this series (note the optimism! A series! So far, containing one element) by reviewing item number 28 <a href="https://drive.google.com/file/d/1v_OUryeulNTeODn3L1iUf0osqDETcXHG/view?usp=sharing">1991 6.033 Reading List</a> is Tanembaum and Van Renese, "Distributed Operating Systems"<a href="https://www.cs.swarthmore.edu/~newhall/readings/p419-tanenbaum.pdf">Tanenbaum and Van Renesse, "Distributed Operating Systems"</a>, Computing Surveys,17:4, December 1985.</p><p>The authors are interested in "distributed operating systems". On such a system, the users can be largely unaware "of the fact that multiple machines are being used." As far as I know, such such operating system has gained traction. We are still using "network operating systems" today. I suspect that's for good reason: failures in distributed systems are too hard to hide.</p><p>Keep in mind that this paper was written in 1985, before Paxos (or Viewstamp replication) was invented. So the problem of coping with errors was wide open. No one knew how to make a distributed transaction that wouldn't get stuck. In 1988, Lynch, Dwork and Stockmeyer showed that consensus was possible, in theory, in distributed system. In 1988 Oki and Liskov described Viewstamp replication, and in 1989, Lamport described Paxos, both of which can be used to handle errors. In some sense, those consensus algorithms, which I'll call "Paxos" here, are the beginning of modern distributed systems: I might even argue that every correct distributed algorithm is built starting with Paxos. Feel free to prove me wrong with examples!</p><p>This paper, in Section 2.1.3, "error handling", alludes to the problem. It points out that "in a centralized system, a system crash means that the client, server, and communication channel are all completely destroyed, and no attempt is made to revive them. In a distributed system, matters are more complex." They go on to write about how if one machine fails, the other may end up waiting forever, and then if it has a timeout, it may timeout just when the failing machine comes back online. "Simply waiting until the server is rebooted and trying again sometimes works and sometimes does not". They conclude that doing an operation exactly once "is probably impossible". Today we know better.</p><p>Their section on scheduling feels out-of-date. These days we know how much more about scheduling.</p><p>They spend a lot of time on the details of remote procedure calls, naming, and protection. As far as I can tell, these issues haven't changed much in 37 years.</p><p>When this paper was written, Sun's NFS was brand new. NFS doesn't handle failures very well, and sadly it's almost still the state of the art for filesystems. I don't know any distributed filesystem protocols that actually work in the face of failures. (There are plenty of distributed filesystems built on top of Paxos, such as Amazon's EFS and Oracle's File Storage Service. But they all talk NFS to the clients, and it's really tough to write applications that cope with NFS failures. I find the paper's discussion of how to build distributed filesystems to be a painful: they didn't really get at the difficult issues of distributed filesystems. The problem isn't the filesystem (at least not when you have Paxos), the problem is that the programming interface that everyone is using just doesn't work well in a distributed environment. For example, Unix open(), read(), write(), fsync(), and close() functionality is an unsolved problem. What's needed is an API that both permits caching (so that the filesystem will be fast enough) and understands failures (so the application can cope with things like network partitions).</p><p>They conclude that distributed operating systems "will be an interesting and fruitful area of research for a number of years to come". It seems like that may still be true.</p><p><br /></p><p><br /></p><p><br /></p>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-70768555747627777182020-10-11T11:54:00.004-07:002020-10-11T11:54:49.444-07:00<p>While cleaning up I found this manual for Illustrate, which was implemented by Dawn Clarke and Dinarte Morais on Lisp machines, and modeled on the Xerox Alto draw program. The user interface was nice compared to most modern tools. One could do many operations with the keyboard or if you did need the mouse, you didn't need many clicks, so you could draw things very quickly.</p><p>Dawn M. Clarke and Dinarte R. Morais. <a href="https://drive.google.com/file/d/1v8CLtZCEyZY5B1GRm1j0T_muxgFd8zfz/view?usp=sharing">Illustrate Reference Manual</a>, Tanglewood Design Note 12, 10 January 1985. MIT Lab for Computer Science.<br /></p>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-21330601862777025562014-02-25T12:48:00.000-08:002014-02-25T12:48:04.843-08:00Trying to build gcc cilk from sources following the instructions at <a href="https://www.cilkplus.org/download">https://www.cilkplus.org/download</a>. This step repeatedly fails since the gnu.org git server is slow or something:
<br />
<pre>git clone http://gcc.gnu.org/git/gcc.git cilkplus-gcc
</pre>
<br />
Here's how to incrementally do a giant git clone from a slow server.
<br />
<pre>git init</pre>
<pre>git add .
git remote add cilkplus-gcc http://gcc.gnu.org/git/gcc.git
git pull http://gcc.gnu.org/git/gcc.git
</pre>
It's painful, but with enough git pull operations, I seem to be able to get everything.
Thanks to <a href="http://superuser.com/questions/154647/how-to-continue-cloning-a-git-repository-that-the-download-was-stopped">http://superuser.com/questions/154647/how-to-continue-cloning-a-git-repository-that-the-download-was-stopped</a><br />
<br />
Note: the git add . gave an error, but I don't know if that meant it was a no-op.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-14766555188445706822013-10-17T10:15:00.000-07:002013-10-18T06:46:13.134-07:00I am general chair for <a href="http://supertech.csail.mit.edu/cel60/">Charles E. Leiserson's 60th-Birthday Symposium and Party</a>. It's a symposium (for the techs) and it's a party (for everyone). Hope to see you there.
Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-7062268611105345062012-09-17T10:47:00.000-07:002012-09-17T10:49:00.503-07:00XLDB TutorialMichael Bender and I presented a tutorial on <a href="http://people.csail.mit.edu/bradley/BenderKuszmaul-tutorial-xldb12.pdf">Data Structures and Algorithms for Big Databases</a> at <a href="http://www-conf.slac.stanford.edu/xldb2012/">XLDB 2012</a>.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-56087854881875576262012-05-31T06:40:00.001-07:002012-05-31T06:40:54.445-07:00How to digitally sign a pdf file using free software in GNU/Linux<p>I recently needed to sign a pdf document for legal purposes. The other party was willing to accept a digital signature.
That does not mean copying an picture onto a pdf document. It's using public key crypto to sign the pdf document. Acrobat can do it, but I use free software, so, after about 30 minutes I figured out how to do it.</p>
<ol>
<li> I extracted my csail certificate from my browser. In firefox
<ul>
<li> edit->preferences->advanced->encryption->view certificates
<li> select the certificate
<li> then hit backup
<li> save it as a pkcs12 file
<li> you'll be asked for a password for the backup. You'll use this later.
</ul>
<li> I got <a href="http://sourceforge.net/projects/jsignpdf/files/latest/download">jsignpdf-1.3.0</a> and installed it
<ul>
<li><tt>$ unzip JSignPdf-1.3.0.zip</tt>
<li><tt>$ cd jsignpdf-1.3.0</tt>
</ul>
<li> I ran it: <tt>$ java -jar JSignPdf.jar</tt>
<ul>
<li>A simple window popped up with some forms to fill in.
<ul>
<li> keystore type: PKCS12
<li> keystore file: choose the backup made of the certificate
<li> keystore password: the password you used
<li> input file: the pdf file to sign
<li> output file: I chose another name to avoid overwriting something useful
<li> I clicked the checkbox on "visible signature"
<li> Went to the "settings" box next to 'visible signature"
<li> I chose the page where the signature needed to be placed, and I chose coordinates. I found the coordinates by running <tt>gv input.pdf</tt> since ghostview shows the coordinates in the upper left corner. For example, I put my signature on page 7 and put signature at coordinates
<ul>
<li>147
<li>482
<li>369
<li>519
</ul>
<li> I chose Display: "Signature name and decsription"
<li> Hit "close"
</ul>
<li>Then "sign it" on the original jpdfsign window.
</ul>
</ol>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com22tag:blogger.com,1999:blog-8549486207004479834.post-9679388898780404702010-12-06T08:38:00.000-08:002010-12-06T08:39:55.930-08:00my webpages are mostly backAfter being down for nearly a year my web content at bradley.csail.mit.edu is mostly back up at http://people.csail.mit.edu/bradley/.<br /><br />There remain a few things missing...Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-33599329570856344742010-11-30T07:41:00.000-08:002010-11-30T07:44:26.334-08:00MIT Academic CalendarI created a google calendar for the MIT Academic Calendar. The calendar ID is gtfme9paltu2dfdac81f0p73us@group.calendar.google.com.<br /><br />If you would like to volunteer to help maintain this calendar, please contact bradley@mit.edu. Originally I was using obpoblff7vffces4ot4g73b02g@group.calendar.google.com, but it's not being maintained, and I don't know how to contact the maintainers.<br /><br /><iframe src="http://www.google.com/calendar/embed?src=gtfme9paltu2dfdac81f0p73us%40group.calendar.google.com&ctz=America/New_York" style="border: 0" width="400" height="600" frameborder="0" scrolling="no"></iframe>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-12474330907035239452010-11-15T08:23:00.001-08:002010-11-15T08:26:51.723-08:00planetsupertechI've created <a href="http://pipes.yahoo.com/planetsupertech/full">planet supertech</a> to aggregate <a href="http://supertech.csail.mit.edu/">supertech</a>-related blogs.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-46790474123594076112009-05-26T08:02:00.000-07:002010-11-15T08:27:09.245-08:00Fedora 10 on x61sRecent Fedora 10 updates destabilized my Thinkpad x61s. (Mouse movement would start getting sluggish and eventually the system would freeze.) It's probably something to do with dri in the xserver (and I don't even know what that means :-) I put this into my ~/.drirc, and my machine has been fine. I think the key is vblank_mode.<br /><br /><pre><br /><driconf><br /> <device screen="0" driver="i965"><br /> <application name="Default"><br /> <option name="force_s3tc_enable" value="false" /><br /> <option name="no_rast" value="false" /><br /> <option name="fthrottle_mode" value="2" /><br /> <option name="bo_reuse" value="1" /><br /> <option name="vblank_mode" value="0" /><br /> <option name="allow_large_textures" value="2" /><br /> </application><br /> </device><br /></driconf><br /></pre>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com1tag:blogger.com,1999:blog-8549486207004479834.post-497711665285971542009-03-17T07:40:00.001-07:002009-03-17T07:43:50.514-07:00tabook resurfacesLenovo moved the thinkpad tabook.pdf to<br /><a href="http://www.lenovo.com/psref/pdf/tabook.pdf">http://www.lenovo.com/psref/pdf/tabook.pdf</a><br />and google has a hard time finding it. The old ftp site run by IBM isn't working anymore.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-67600684384284426932009-02-23T13:08:00.000-08:002009-02-23T13:14:36.171-08:00pc5750 just works under fedora core 10I installed FC10 on a new disk drive for my Thinkpad x61s, plugged in my pc5750 revA evdo card, clicked "Auto Mobile Broadband (CDMA) connection" in NetworkManager, and it just worked.<br /><br />No more editing chat scripts or /etc/ppp/peers/ or fiddling around with modprobe or invoking pppd or hacking /etc/resolv.conf (all of which I had to do in FC6 and then in FC8).<br /><br />Beautiful!Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-72212164300770357342009-01-22T19:25:00.000-08:002009-01-22T19:28:46.426-08:00Spot the dangling participle:<br /><br /><blockquote>PepsiCo, a manufacturer of soda, salty snacks and cereal based in Purchase, N.Y., is among a growing number of companies that hope to get ahead of potential government mandates and curb their energy use as prices and long-term supply grow less certain.</blockquote><a href="http://www.nytimes.com/2009/01/22/business/22pepsi.html">http://www.nytimes.com/2009/01/22/business/22pepsi.html</a><blockquote></blockquote>Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-74010881189479276052008-11-20T03:22:00.000-08:002008-11-20T03:28:06.073-08:00tortillasLater, Steve asked "What's the difference between enchiladas, tacos, burritos, and fajitas?"<br /><br />I was on a roll by now. I said "Well, an enchilada is a tortilla with stuff in it, whereas a taco is a tortilla with stuff in it..." Alan interrupted "Aren't taco shells hard?" I said "they can be soft tortillas. A Burrito, on the other hand are tortillas with stuff in it." I was starting to giggle uncontrollably. "You must be really tired" quipped Steve. I managed to get out "Fajitas are different. A fajita is a torilla with stuff in it", and almost fell off my chair.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-21938961137110327392008-11-20T03:05:00.000-08:002008-11-20T03:22:47.959-08:00What Do Floating-Point Numbers Want?I was having dinner with Steve and Alan at SC08. Alan mentioned that the trouble with floating point is that it is difficult to define the "right" answer to certain computations. Starting very early in life we learn that in math, answers are either right or wrong. But with floating-point math, there is no "right" or "wrong".<br /><br />I responded that floating-point numbers must live in a moral gray area. They deny the existence of God, yet they try to do good.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-53299564015564054142008-11-17T02:34:00.000-08:002008-11-17T02:39:26.949-08:00MySQL sandboxAt the OpenSQL Camp, I attended a talk by Giuseppe Maxia on MySQL sandbox.<br /><br />I tried it out, and it's great.<br /><ol><li>Download and unpack the tarball at http://launchpad.net/mysql-sandbox.</li><li>Obtain a mysql tarball.</li><li>Run "make-sandbox /path-to-tarball/mysql-X.X.XX-osinfo.tar.gz"</li><li>Run "start", which starts a mysql server.<br /></li><li>Run "use", which starts a mysql client.<br /></li></ol>Total elapsed time (starting at step 3), 12 seconds.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-795844347364932902008-11-17T02:28:00.000-08:002008-11-17T02:29:23.871-08:00RIC has free wifiCool, Richmond airport has free wifi.Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-59281736210267228082008-02-29T10:52:00.000-08:002008-02-29T11:00:38.993-08:00inflationary pressures<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ecolution.com/products/pictures/Wallets/HW3A_big.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 101px; height: 121px;" src="http://www.ecolution.com/products/pictures/Wallets/HW3A_big.jpg" alt="" border="0" /></a><br />My old ecolution wallet fell apart, so I ordered a new one. But my credit cards don't fit in the new one. It's what I wanted (a zippered change pocket so that I won't have loose change that my youngsters might get their hands on and try to eat; enough space for my wallets and cash). The new wallet's design is exactly the same as the old one, except that wallet is about 7mm narrower. I cannot quite get stuff into the wallet.<br />I guess I won't be buying any more of those...Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-9111042436703154402007-12-23T07:21:00.000-08:002007-12-23T07:25:55.252-08:00a mission statementHere's one I found this week:<br /><blockquote><br />XXX offers a comprehensive on-demand cross-channel commerce platform that empowers large multi-channel retailers to innovate continuously, operate efficiently at any scale, and integrate effectively with enterprise systems.<br /></blockquote><br /><br />It's just not yobiduck, though...Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-15836135662106113912007-10-29T11:31:00.000-07:002007-10-29T11:32:25.780-07:00pc5750 performanceI get about 150Kb/s downloading and aobut 50Kb/s uploading. This is actually faster than my DSL at home...Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-8561006544140128232007-10-29T11:29:00.000-07:002007-12-31T02:48:22.435-08:00pc5750 evdo under linuxI finally got my pc5750 revA evdo card to work under linux, using instructions adapted from<br /> http://www.linux.com/feature/52729<br /><br />This is under Fedora Core 6 on a Thinkpad z61p running kernel 2.6.22.9-61_1.cubbi_suspend2<br /><br /><br />Step 1: Put this into /etc/ppp/peers/1xevdo<br />---- cut here ----<br />ttyACM0<br />115200<br />debug<br />noauth<br />defaultroute<br />usepeerdns<br />connect-delay 10000<br />user 781xxxxxxx@vzw3g.com<br />show-password<br />crtscts<br />lock<br />lcp-echo-failure 4<br />lcp-echo-interval 65535<br />connect '/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat'<br />---- cut here ----<br /><br />Step 2: Put this into /etc/ppp/peers/1xevdo_chat<br />---- cut here ----<br />ABORT 'NO CARRIER' ABORT 'ERROR' ABORT 'NO DIALTONE' ABORT 'BUSY' ABORT 'NO ANSWER'<br />'' ATZ<br />OK-AT-OK ATDT#777<br />CONNECT \d\c<br />---- cut here ----<br /><br />Step 3: Insert the pc5750 card<br /><br />Step 4: Do<br /> $ sudo /sbin/modprobe usbserial vendor=0x106c product=0x3702<br /><br />Step 5: Turn off your other network interfaces (e.g., your wireless)<br /><br />Step 6: sudo /usr/sbin/pppd call 1xevdo<br /><br />Step 7: sudo tail -f /var/log/messages<br /><br />Wait until you see something like<br />Oct 29 14:19:07 localhost chat[5357]: ATZ^M^M<br />Oct 29 14:19:07 localhost chat[5357]: OK<br />Oct 29 14:19:07 localhost chat[5357]: -- got it <br />Oct 29 14:19:07 localhost chat[5357]: send (ATDT#777^M)<br />Oct 29 14:19:07 localhost chat[5357]: expect (CONNECT)<br />Oct 29 14:19:07 localhost chat[5357]: ^M<br />Oct 29 14:19:09 localhost chat[5357]: ATDT#777^M^M<br />Oct 29 14:19:09 localhost chat[5357]: CONNECT<br />Oct 29 14:19:09 localhost chat[5357]: -- got it <br />Oct 29 14:19:09 localhost chat[5357]: send (\d)<br />Oct 29 14:19:10 localhost pppd[5356]: Serial connection established.<br />Oct 29 14:19:10 localhost pppd[5356]: Using interface ppp0<br />Oct 29 14:19:10 localhost pppd[5356]: Connect: ppp0 <--> /dev/ttyACM0<br />Oct 29 14:19:20 localhost pppd[5356]: local IP address 75.193.141.18<br />Oct 29 14:19:20 localhost pppd[5356]: remote IP address 66.174.22.5<br />Oct 29 14:19:20 localhost pppd[5356]: primary DNS address 66.174.95.44<br />Oct 29 14:19:20 localhost pppd[5356]: secondary DNS address 69.78.96.14<br /><br />Step 8: You are connected!Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0tag:blogger.com,1999:blog-8549486207004479834.post-40394634453809950542007-08-17T14:27:00.000-07:002007-08-17T14:39:51.632-07:00How many ducks is a yobiduck?How many ducks is a yobiduck?<br /><br />It's 2^80 ducks. If a duck is a liter, then the volume of the earth is 220 yobiducks.<br /><br />A yobiduck is about two moles of duck. Thus, at standard temperature and pressure, a yobiduck would be 44.8 liters.<br /><br />The ducks wouldn't be happy though...Bradley C. Kuszmaulhttp://www.blogger.com/profile/16428429628432728830noreply@blogger.com0