Skip to main content

Baha'i Books Available Online

· 2 min read

Did you know that many Bahá'í books are available for free download onto your computer, smartphone, or e-reader?

  • At http://reference.bahai.org you can click on an author's name to see a list of books, including all published translations from the Central Figures, the writings of Shoghi Effendi, and a few other works. To the right of the book title are two small icons that you can click to download that book: one as a Microsoft Word document and another as an adobe PDF document. Both are zip files that require a program like WinZip or 7-Zip to open (newer computers will also have built-in capability to open these zip files).
  • Palabra Publications offers many compilations of letters from the House of Justice, as well as books on deepening themes written by Melanie Smith, Paul Lample, and Dr. A.M. Ghadirian. This includes Lample's Creating a New Mind and his new Revelation & Social Reality
  • The Gutenberg project aims to preserve a digital collection of tens of thousands of public domain books: those whose copyright has expired, or whose authors have placed the books into the public domain. All of the works at reference.bahai.org are also found here. In addition, you can find:
    • Under "Baha'i International Community" as author - Century of Light, One Common Faith, The Prosperity of Humankind, Statement on Baha'u'llah.
    • Under "Baha'i World Centre" - Bahiyyih Khanúm

What about uint?

· One min read

I'm writing a class with several methods that take integer input. The input values cannot be less than zero. Since we're not on .Net 4.0 yet, I'm manually writing code contracts (that is, my functions check preconditions), e.g. before doing anything else, I write something like…

if (sequenceNumber < 0)
{
throw new ArgumentOutOfRangeException("sequenceNumber", "Sequence number must be 0 or greater");
}

This got me thinking: why don't we ever use unsigned integers? Seems like having a uint would better communicate the requirement, and would simply not allow a negative number. The main answer seems to be that casting between uint and other data types, which is inevitable, is ugly. And that uint is not CLS compliant. Even though I'm not trying to write CLS-compliant code at the moment, I think I'll stick with int — because that is our existing convention, and I don't see enough reason to change the convention.

Diagnosing Production Problems: Zeroth Law

· 2 min read

Stephen's first law of diagnosing problems in production should have been: make sure you actually know the scope of the problem. We have a process that checks for duplicates in an inbound file. Records marked as duplicates are not moved into production. A refinement of the process was installed this week. All the sudden, e-mails showed that thousands of records were being marked as duplicates. I came over to help investigate, and found people looking at code, trying to figure out what was going on, because they knew without doubt that these records were not in fact duplicates.

But we needed to step back and ask what is the scope of the problem? We looked at the e-mail with the duplicates, picked a name or two from the list, and looked in the original input files and confirmed that they were not in the files. So how/why were they reported? But then let's set that aside, and ask: did all of today's records make it into production? If yes, then we have a problem but not a crisis. The answer was yes: we could see a 1-1 match between inbound file and outbound production data. Therefore, we have a minor reporting problem, but the core of the system was working just fine. Panic averted.

So what was the cause? A staging table that had not been truncated after a previous file was processed. All those records were being reported as duplicates.

Favorite Passages from On The Origin of Species

· 2 min read

The Times has a special feature about On the Origin of Species, including annotations from various Scientists commenting on favorite passages. The first annotation is by the famous primatologist Frans de Waal, who comments one of the passages that struck my interest when I read the book earlier this year:

I should premise that I use the term Struggle for Existence in a large and metaphorical sense, including dependence of one being on another, and including (which is more important) not only the life of the individual, but success in leaving progeny

Darwin, in the course of his opus, did not merely lay out the voluminous evidence for natural selection, he also frequently dropped hints of further research to come: for instance, the topic of cooperation. As de Waal notes, we're generally taught to think of Darwinism as survival of the strongest individual competitors. Look at so-called "social Darwinism," and you'll see something that Darwin would likely have hated. Because he clearly believed that cooperation and education (an extension of "leaving progeny") were key components of the general competition between traits (evolution) in a population — that evolution is more than just my biceps are bigger than yours, my brain case has more volume than yours, etc.

DbMail - A use for global temp tables in SQL

· 2 min read

"global temporary tables are visible to all sessions," says the MSDN documentation. I have occasionally wondered when this would be helpful. This week I finally found a use, albeit limited: I want a quick-and-dirty process that will e-mail a CSV file to me every day for a week. I wouldn't do this for a full on production system (without dwelling on it, it just strikes me as too error prone and inelegant), but for some testing I want to do over the course of a week, it makes sense.

I run a query that populates a temp table, and I want to e-mail the contents of the query using sp_send_dbmail. Again, the documentation tells something important: "Note that the query is executed in a separate session, so local variables in the script calling sp_send_dbmail are not available to the query." This applies not just to a table variable, but also a local temp table (e.g. #temp). But a global temp table (e.g. ##temp) is a different story: works just fine. So there you go, quick and dirty way to e-mail yourself some query results when you don't want to just pass the raw query directly to the send command.

Darfur Is Calling, Who's Answering? And Don't Forget Pakistan.

· 2 min read

Save Darfur Coalition just called me. And thanked me for being so pleasant on the phone. How sad. Its not like it was a cold call — I've supported them in the past and thus have a reasonable expectation that they'll try to contact me in the future. Why are they calling? Because apparently the conditions in Darfur are deteriorating. Do I believe the woman on the phone? Well, the Times reports that Violence Said to Be Rising in Sudan’s Darfur Region (2010-08-05). At this point Sudan is as much a powder-keg as ever, with secession of the south likely next year, renewed civil war equally likely. The Save Darfur Coalition< is helping spread awareness of, and global pressure on, the Sudanese government's grave abuses (killings, rapes, and other human rights violations). My money will not do much to stop the situation. But public pressure does make a difference, and I'll provide a small amount to help keep that pressure steady.

Meanwhile, Pakistan is also calling, though not literally. The flooding has been absolutely terrible, and relief agencies expect that hunger and isolation will be extreme in the coming months. Time to step up and show the love again for Pakistan (dead link removed; SF 2025 removed). Unicef, World Food Programm, International Committee of the Red Cross, Oxfam, etc. — let's all give one of them a cold call, only to give rather than receive.

Teaching Children, and Myself, About Service and Truthfulness

· 5 min read

I've done my alloted time now: taught a Bahá'í children's class at a St. Paul public housing community center two weeks running, with around 10 children each time. None of whom are Bahá'ís, and neither are their parents. We learned about service and truthfulness. Well, I learned, and I hope they did too. And they taught me about karma. Perhaps I'll go back and help out some more.

Waiting for the Return: Option 4

· 2 min read

A Pew Forum poll a few years ago included the following analysis: "Finally, while an overwhelming percentage of Christians (79%) say they believe in the second coming of Jesus Christ, far fewer see Christ's return as imminent. Overall just 20% of all Christians expect Christ to return to earth in their lifetime; even among those who say that the Bible is the literal word of God, just 37% expect Christ to return to earth in their lifetime."

Never Say Goodbye... Without Recycling

· One min read

I've been a recycling fool since I was in elementary school, when my best friend and I would walk around house construction sites and collect all of the aluminum cans (we weren't the least bit bothered if there were workers actually there, though typically we were out on Saturdays and that wasn't an issue). For years now I've been meaning to send my old floppy disks to Green Disk, and tonight we finally boxed them up for shipping tomorrow: floppy and zip disks, DSL modems, an ancient dubbed-from-broadcast Spaceballs on VHS (and a few other VHS).

The coup de grâce: Bon Jovi's Slippery When Wet. I had to open the liner notes and read/semi-sing the, shall we just leave it at trite, lyrics to Never Say Goodbye. But I was forced to give up half way through. That was about the last audio cassette tape. I think I still have The Cure's Faith/Carnage Visors, and REM's Carnival of Sorts, because those were rather rare even in their time.

Next on the recycling list: my old soccer, debate, and science competition trophies (about a dozen).

safnet logo