mikeage.net Logo
mikeage.net/2006/page/4/

mikeage.net @ כ"ד מרחשון תשס"ט

Archive for 2006 - November 22, 2008

Block spam harvesters

כ"ח תשרי תשס"ז - October 19, 2006

On my site, I have a few "special" pages who's only purpose is to ban bots that ignore robots.txt (or worse, use it as a hint for where "the good stuff" is!). Here's how I do that:
(more...)

Tehillim Request

כ"ז תשרי תשס"ז - October 18, 2006

I almost never pass on requests for Tehillim, but this is a case that I suspect really needs some assistance. A newly arrived (mid June) woman in Ramat Bet Shemesh just gave birth to her first baby. Baruch Hashem, the baby was born healthy, but there were some complications during the birth, and the mother is now in a coma in bikkur cholim hospital. We just had her and her husband over for a meal about a month ago, and they're truly wonderful people who're just settling down in life (he's 30, she's 27). Please daven for Sarah Leah bat Frummit.

I hope to, be'ezras Hashem, be posting good news soon!

Dividing Integers (& Casting Precedance)

כ"ו תשרי תשס"ז - October 17, 2006

Quiz:
What does the following code print:

int i,j;
float k;
i = 5;
j = 2;
k = i/j;
printf("%f\n",k);

(more...)

Conditional Assignments

כ"ד תשרי תשס"ז - October 15, 2006

Sometimes, you'll have a scenario with two variables, and you need to use one of them based on a simple test. Rather than a long and awkward if / else statement, C allows the use of the ? : form. It is perfectly acceptable to write:

int i,j,k,l;
...
i = (j > 5? k : l)

which will set i to k if j is greater than 5, and l otherwise.
Another common use is [sf]?printf statements:

printf("The test %s\n",(status == OK) ? "passed" : "failed");

However, one can't use it to handle selective assignments. The following code is illegal:

int i,j,k;
...
((i>5) ? j : k) = 5;

This cannot be used to choose whether j or k is set to 5.
There is, however a way this can be done. Using pointer, we can select which one to deference:

*((i>5) ? &j : &k) = 5;

This will work.

Preprocessor #s, ##s, and other weird stuff

כ"ב תשרי תשס"ז - October 13, 2006

In the post on strings for enums , I used two types of pound symbols in the preprocessor macros: # and ##. Here's some more detail:
(more...)

Quick Map
Content +
Personal +
Archives +
Site Stuff +
RBS Weather +
Search +
New Images
Visitors
Clustermap

Valid XHTML 1.1!
Printer Friendly Page
 

Last Modified: September 04, 2006 @ 05:11 CST

Memory(TRUE): 2621440/2883584
Memory(FALSE): 2616112/2624352