<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6142292830567779982</id><updated>2010-04-30T21:17:25.225-07:00</updated><title type='text'>this blog considered harmful</title><subtitle type='html'></subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.brucealderman.info/harmful/atom.xml'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-6156236621597647621</id><published>2009-12-21T17:10:00.000-08:00</published><updated>2009-12-21T17:10:00.544-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>another database cracked</title><summary type='text'>This one has far-ranging consequences. It's a global database, and most of the people listed are children:The majority of the children are accurately identified by their age, addresses, birthdates and (where possible) national identification numbers. All United States kids with Social Security numbers are now sharing their identities with the whole world.For some, the consequences have already </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=6156236621597647621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/6156236621597647621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/6156236621597647621'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/12/another-database-cracked.html' title='another database cracked'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-7018851301944562865</id><published>2009-12-12T22:53:00.000-08:00</published><updated>2009-12-12T22:53:00.678-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosmology'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>on the accuracy of the measurements in the galaxy song</title><summary type='text'>Paul Kohlmiller of the San Jose Astronomical Association analyzes Eric Idle's Galaxy Song here.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=7018851301944562865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7018851301944562865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7018851301944562865'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/12/on-accuracy-of-measurements-in-galaxy.html' title='on the accuracy of the measurements in the galaxy song'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-4958402213748608401</id><published>2009-11-24T08:21:00.000-08:00</published><updated>2009-11-24T08:30:08.587-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal data'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>private facebook photos are not private</title><summary type='text'>From Ars Technica:Nathalie Blanchard took leave from her job at IBM a year and a half ago after being diagnosed with "major depression," according to CBC News. At that time, Manulife began paying out monthly sick leave checks as part of her benefit package—until Blanchard posted photos to her private Facebook profile depicting her having fun at her own birthday party.How did the insurance company</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=4958402213748608401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/4958402213748608401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/4958402213748608401'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/11/private-facebook-photos-are-not-private.html' title='private facebook photos are not private'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-9064690321422568668</id><published>2009-11-19T08:01:00.000-08:00</published><updated>2009-11-19T08:02:35.830-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algol'/><category scheme='http://www.blogger.com/atom/ns#' term='Dijkstra'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Edsger Dijkstra on Algol</title><summary type='text'>Edsger W. Dijkstra on the influence of Algol-60:In a short summary I could formulate as follows: through its merits ALGOL 60 has inspired a great number of people to make translators for it, through its defects it has induced a great number of people to think about the aims of a "Programming Language".from the essay, Some Meditations on Advanced Programming.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=9064690321422568668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/9064690321422568668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/9064690321422568668'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/11/edsger-dijkstra-on-algol.html' title='Edsger Dijkstra on Algol'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-3821225152180694304</id><published>2009-10-29T00:01:00.000-07:00</published><updated>2009-10-29T00:01:03.689-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>LO, forty years ago</title><summary type='text'>Forty years ago this day, the first message was sent from one computer to a computer located at a remote site. In those days, different operating systems could not talk to each other, so the first network connections were made by connecting the campus mainframe to a smaller computer known as the Interface Message Processor (IMP). The IMPs from each campus could then talk to each other, and each </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=3821225152180694304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3821225152180694304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3821225152180694304'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/10/lo-forty-years-ago.html' title='LO, forty years ago'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-341797432294523715</id><published>2009-10-26T08:48:00.000-07:00</published><updated>2009-10-26T08:48:14.891-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>whitehouse drupal</title><summary type='text'>The new media team at the White House announced over the weekend that the whitehouse.gov website has been moved to Drupal. Open source advocates are hailing this as a victory for open source over proprietary software.Tim O'Reilly says:This move is obviously a big win for open source. As John Scott of Open Source for America (a group advocating open source adoption by government, to which I am an </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=341797432294523715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/341797432294523715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/341797432294523715'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/10/whitehouse-drupal.html' title='whitehouse drupal'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-706888503242824826</id><published>2009-10-14T20:10:00.000-07:00</published><updated>2009-10-14T20:14:54.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='operating systems'/><title type='text'>using gnu/linux for leverage</title><summary type='text'>From Linux and Free Software:Gillian was assigned to research GNU/Linux and found out that it would meet all the needs her department required and could be easily used instead of Microsoft Windows. Moreover, this switch to open source software would save them a lot of money.…However, like in all bureaucracies large or small, she still needed to get approval from the management. Little did she </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=706888503242824826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/706888503242824826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/706888503242824826'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/08/using-gnulinux-for-leverage.html' title='using gnu/linux for leverage'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-2338812828959360647</id><published>2009-10-04T22:18:00.000-07:00</published><updated>2009-10-05T06:41:27.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>postgresql setup 2: authentication and roles</title><summary type='text'>After you've created the database cluster, it's time to set up authentication and roles.Authentication is handled through the pg_hba.conf (HBA stands for Host-Based Authentication) file. This configuration file supports seven formats of authentication rules:local      database  user  auth-method  [auth-options]host       database  user  CIDR-address  auth-method  [auth-options]hostssl    database</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=2338812828959360647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2338812828959360647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2338812828959360647'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/10/postgresql-setup-2-authentication-and.html' title='postgresql setup 2: authentication and roles'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-7677485736580478000</id><published>2009-10-04T22:16:00.000-07:00</published><updated>2009-10-04T22:19:31.902-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>postgresql setup 1: create a database cluster</title><summary type='text'>There are a lot of things I like about PostgreSQL: It does a great job conforming to the SQL 92 and SQL 99 standards, while at the same time it supports more than a dozen procedural languages. It's robust and scalable. It grows with your needs. It's well documented.But there's one thing I don't like: It's a pain to set up. Well, maybe pain is an overstatement. But PostgreSQL does not just work </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=7677485736580478000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7677485736580478000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7677485736580478000'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/10/postgresql-setup-1-create-database.html' title='postgresql setup 1: create a database cluster'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-4230181621591771460</id><published>2009-09-21T06:46:00.000-07:00</published><updated>2009-09-21T06:51:59.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>The Future of Security</title><summary type='text'>RSnake examines what Star Trek tells us about the future of information security. A sample:Organizations will focus on secure transport and network security and will still ignore drive encryption and the insider threat: I don’t really recall any times where enemies were able to intercept any meaningful communications between the Enterprise and other federation ships. That must mean they are using</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=4230181621591771460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/4230181621591771460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/4230181621591771460'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/09/future-of-security.html' title='The Future of Security'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-2710669346256883279</id><published>2009-09-15T07:48:00.000-07:00</published><updated>2009-09-15T07:48:00.152-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turing machine'/><category scheme='http://www.blogger.com/atom/ns#' term='LEGO'/><title type='text'>The LEGO Turing Machine</title><summary type='text'>The computer science department at Aarhus University has created a Turing machine out of LEGO Mindstorms.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=2710669346256883279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2710669346256883279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2710669346256883279'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/09/lego-turing-machine.html' title='The LEGO Turing Machine'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-6681682336829220327</id><published>2009-09-08T22:27:00.000-07:00</published><updated>2009-09-08T22:28:40.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='personal data'/><title type='text'>the fallacy of anonymized data</title><summary type='text'>It's not so anonymous, after all.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=6681682336829220327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/6681682336829220327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/6681682336829220327'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/09/fallacy-of-anonymized-data.html' title='the fallacy of anonymized data'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-8547059826083843805</id><published>2009-08-20T07:45:00.000-07:00</published><updated>2009-08-20T08:01:40.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game theory'/><category scheme='http://www.blogger.com/atom/ns#' term='paradox'/><category scheme='http://www.blogger.com/atom/ns#' term='prisoner&apos;s dilemma'/><title type='text'>the prisoner's dilemma</title><summary type='text'>When is our own self-interest best served by going against what reason tells us is our own self-interest?The two teens were caught red-handed, literally. Officer Asdf just happened to be driving by as the teens launched the brick through the window of the jewelry store. ASDF's heart rate accelerated as he realized these might be the perpetrators of a string of break-ins in the city. The boys were</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=8547059826083843805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8547059826083843805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8547059826083843805'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/08/prisoners-dilemma.html' title='the prisoner&apos;s dilemma'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-3807442952236490025</id><published>2009-08-05T07:35:00.000-07:00</published><updated>2009-08-05T08:05:57.892-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>the Apple experience</title><summary type='text'>How to simulate the experience of buying a Mac:Buy a PC.Have the operating system replaced with FreeBSD.Withdraw $500 from your checking account, and burn it.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=3807442952236490025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3807442952236490025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3807442952236490025'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/08/apple-experience.html' title='the Apple experience'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-8134768475354202418</id><published>2009-08-02T22:32:00.000-07:00</published><updated>2009-08-02T22:33:44.280-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><title type='text'>50 in 50</title><summary type='text'>Guy Steele and Richard Gabriel describe 50 languages in 50 minutes in a presentation at JAOO Aarhus. It's a fascinating trip through the world of language design.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=8134768475354202418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8134768475354202418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8134768475354202418'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/08/50-in-50.html' title='50 in 50'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-7412212956865361968</id><published>2009-07-30T07:30:00.000-07:00</published><updated>2009-07-30T11:26:43.930-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Parrot'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><title type='text'>Parrot documentation</title><summary type='text'>It's been a while since I last blogged about Parrot and PIR. In the meantime, Parrot documentation has been coalescing nicely. The Parrot docs page even includes chapter-by-chapter links to drafts of a Parrot book and a PIR book. It's nice to see how much improvement has been made in Parrot documentation.I made my first contribution to the documentation last weekend, a trivial correction of a </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=7412212956865361968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7412212956865361968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7412212956865361968'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/07/parrot-documentation.html' title='Parrot documentation'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-2300419723017237312</id><published>2009-07-28T08:00:00.000-07:00</published><updated>2009-07-28T08:42:24.273-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='WTF'/><title type='text'>closing a browser window without JavaScript</title><summary type='text'>Sascha's coworker claims to know how.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=2300419723017237312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2300419723017237312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2300419723017237312'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/07/closing-browser-window-without.html' title='closing a browser window without JavaScript'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-7271954272086435438</id><published>2009-07-16T23:59:00.000-07:00</published><updated>2009-07-17T07:05:36.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun Microsystems'/><title type='text'>Sun set</title><summary type='text'>Alex Handy of the SD Times writes:At 10:05 a.m. Pacific time today, Sun Microsystems' fate was sealed. At that exact moment, shareholder voting closed, and the motion to accept the acquisition offer from Oracle was approved. There was little fanfare. Jonathan Schwartz, Sun's CEO, and Scott McNealy, its chairman, were both absent. Schwartz was said to be sick.I'm not surprised: Who wouldn't be </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=7271954272086435438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7271954272086435438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/7271954272086435438'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/07/sun-set.html' title='Sun set'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-5057246059976616956</id><published>2009-06-12T21:20:00.000-07:00</published><updated>2009-06-12T21:21:28.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>the real reason the Tower of Pisa leans</title><summary type='text'>... can be found here.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=5057246059976616956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/5057246059976616956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/5057246059976616956'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/06/real-reason-tower-of-pisa-leans.html' title='the real reason the Tower of Pisa leans'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-3386868222975834608</id><published>2009-05-21T21:42:00.000-07:00</published><updated>2009-05-21T21:43:07.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='experimentation'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='curiosity'/><title type='text'>programming experiments</title><summary type='text'>Bill the Lizard, in a post titled Programming and Experimentation, writes about his experience as a tutor of first-year CS students in college:I would frequently have students bring code to me and ask me what I thought of it. Some would even go so far as to ask me if I thought their code would compile. I would never answer this question directly (despite Head First Java repeatedly urging me to "</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=3386868222975834608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3386868222975834608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3386868222975834608'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/05/programming-experiments.html' title='programming experiments'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-2320654732984399727</id><published>2009-05-16T23:35:00.000-07:00</published><updated>2009-05-18T07:50:16.146-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symbol table'/><category scheme='http://www.blogger.com/atom/ns#' term='SPTL grammar'/><category scheme='http://www.blogger.com/atom/ns#' term='tokens'/><category scheme='http://www.blogger.com/atom/ns#' term='lexical analysis'/><title type='text'>SPTL: tokens and the symbol table</title><summary type='text'>In the early stages of Jack Crenshaw's excellent Let's Build a Compiler series, his compiler can only handle single-character keywords. It would seem that this is a limitation of all LL(1) parsers, because the parser is only looking at one source character at a time.There is a way around this limitation. We can preprocess the source code, replacing each element (no matter how long) with a single </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=2320654732984399727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2320654732984399727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/2320654732984399727'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/05/sptl-tokens-and-symbol-table.html' title='SPTL: tokens and the symbol table'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-8928935203164553789</id><published>2009-05-11T22:02:00.000-07:00</published><updated>2009-10-14T20:36:56.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='functions'/><title type='text'>name that month: adventures in refactoring</title><summary type='text'>One day, at the place I was working at the time, I was debugging some legacy PHP code from a predecessor when I found this:function get_month_name ($month){  $month = $month + 1;  if ($month == 1) {    $name = 'Jan';  }  if ($month == 2) {    $name = 'Feb';  }  if ($month == 3) {    $name = 'Mar';  }  if ($month == 4) {    $name = 'Apr';  }  if ($month == 5) {    $name = 'May';  }  if ($month == </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=8928935203164553789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8928935203164553789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8928935203164553789'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/05/name-that-month-adventures-in.html' title='name that month: adventures in refactoring'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-5671347576511154669</id><published>2009-04-12T22:27:00.000-07:00</published><updated>2009-04-13T07:00:06.636-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux ads?</title><summary type='text'>The Linux Foundation has announced the winners of the "We're Linux" ad contest.Consider me underwhelmed.Don't get me wrong: I've been using Linux for nine years, it's my primary operating system at home, and I expect to keep using it for the foreseeable future. But the Linux Foundation ads don't impress me.My first reaction was, Who is the target audience? The winning ad talks about freedom, but </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=5671347576511154669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/5671347576511154669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/5671347576511154669'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/04/linux-ads.html' title='Linux ads?'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-3661581348759884431</id><published>2009-03-18T22:33:00.000-07:00</published><updated>2009-03-28T10:09:44.619-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPTL  grammar'/><category scheme='http://www.blogger.com/atom/ns#' term='LL(1)'/><category scheme='http://www.blogger.com/atom/ns#' term='SPTL'/><title type='text'>SPTL grammar: statements</title><summary type='text'>Now that we've looked at FIRST and FOLLOW sets, and the grammar restrictions imposed by an LL(1) parser, we're ready to look at SPTL statement syntax. My first draft of the grammar featured ambiguities that a recursive descent parser simply cannot handle.For example, consider these definitions:statement = addstatement | assignstatement | breakstatement | callstatement            divstatement | </summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=3661581348759884431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3661581348759884431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/3661581348759884431'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/03/sptl-grammar-statements.html' title='SPTL grammar: statements'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6142292830567779982.post-8375305479591259452</id><published>2009-03-04T15:12:00.000-08:00</published><updated>2009-03-14T08:45:16.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><title type='text'>programming language music</title><summary type='text'>I don't know what's more impressive: This parody of Julia Ecklar's God Lives on Terra, or the fact that Ecklar herself was recruited to sing it.Of course, God doesn't really create the universe with Lisp code. It's common knowledge that God used Perl.</summary><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6142292830567779982&amp;postID=8375305479591259452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8375305479591259452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6142292830567779982/posts/default/8375305479591259452'/><link rel='alternate' type='text/html' href='http://www.brucealderman.info/harmful/2009/03/programming-language-music.html' title='programming language music'/><author><name>BruceA</name><uri>http://www.blogger.com/profile/16013588487417582411</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03711965979628984545'/></author><thr:total>0</thr:total></entry></feed>