<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>programming &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/programming/</link>
	<description>Feed of posts on WordPress.com tagged "programming"</description>
	<pubDate>Wed, 02 Dec 2009 18:08:34 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Games and Variables = UPDATES]]></title>
<link>http://turboramble.wordpress.com/2009/12/02/games-and-variables-updates/</link>
<pubDate>Wed, 02 Dec 2009 17:35:53 +0000</pubDate>
<dc:creator>turboramble</dc:creator>
<guid>http://turboramble.wordpress.com/2009/12/02/games-and-variables-updates/</guid>
<description><![CDATA[2 days in a row, now! I&#8217;m back on track *again*! Anyway, I&#8217;ve completely revamped the Ga]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><img class="aligncenter size-full wp-image-378" src="http://turboramble.wordpress.com/files/2009/12/updates.png" alt="" width="338" height="190" /></p>
<p>2 days in a row, now! I&#8217;m back on track *again*! Anyway, I&#8217;ve completely revamped the Games page (previously titled &#8220;Freeware&#8221;), and I&#8217;ve added some definitions of the local variables. Here&#8217;s what the updated Games page now looks like:</p>
<p style="text-align:center;"><a href="http://turboramble.wordpress.com/freeware"><img class="aligncenter size-full wp-image-379" title="&#34;Games&#34; Page Screenshot" src="http://turboramble.wordpress.com/files/2009/12/games.png" alt="" width="450" height="363" /></a></p>
<p>I&#8217;ve removed unused games such as FBalling, Horde Demo, and Pizzle Demo. BUT, I&#8217;ve added the two Ball Wars games back and put up two new games - Ratio and Pixel. Download them from the Games page. I&#8217;m hoping to start work with Adobe Flash finally so you guys can play for this site instead of always having to download.</p>
<p>-Nathan Wood</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SRM449 div2 (practice)]]></title>
<link>http://cou929.wordpress.com/2009/12/03/srm449-div2-practice/</link>
<pubDate>Wed, 02 Dec 2009 17:29:36 +0000</pubDate>
<dc:creator>cou929</dc:creator>
<guid>http://cou929.wordpress.com/2009/12/03/srm449-div2-practice/</guid>
<description><![CDATA[Hard &#8211; HexagonalBattlefieldEasy Took a greedy aproach. Recursively place a Vasyl&#8217;s hero ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h3><a href="http://www.topcoder.com/stat?c=problem_statement&#38;pm=10550&#38;rd=13903">Hard &#8211; HexagonalBattlefieldEasy</a></h3>
<p>Took a greedy aproach. Recursively place a Vasyl&#8217;s hero for every possible way to put step by step.</p>
<p>I used a 2 dimensional array to represent a hexagonal battle field. Like this:</p>
<pre>
**...
*....
.....
....*
...**
</pre>
<p>A &#8220;.&#8221; on center of the field represents a cell (0, 0) of hexagonal battle field. And &#8220;*&#8221; is a pixel which is out of the range. Additionally, in this time, there is 6 way to put a Vasyl&#8217;s hero with containing certain pixel (x, y):</p>
<ul>
<li>(x+1, y)</li>
<li>(x, y-1)</li>
<li>(x-1, y-1)</li>
<li>(x-1, y)</li>
<li>(x, y+1)</li>
<li>(x+1, y+1)</li>
</ul>
<p>Place a hero one by one following these rules. Execution time doesn&#8217;t become a problem because N is at most 4, so the largest field size is only 37 cells.</p>
<pre class="brush: cpp;">
class HexagonalBattlefieldEasy {
public:
  vector &#60;string&#62; splits(const string _s, const string del) {
    vector &#60;string&#62; ret;
    string s = _s;

    while (!s.empty()) {
      size_t pos = s.find(del);
      string sub = &#34;&#34;;
      sub = s.substr(0, pos);
      ret.push_back(sub);
      if (pos != string::npos)
        pos += del.size();
      s.erase(0, pos);
    }

    return ret;
  }

  int table[7][7];
  int N;
  int ret;

  pair &#60;int, int&#62; searchStart() {
    int len = N*2-1;
    for (int i=0; i&#60;len; i++)
      for (int j=0; j&#60;len; j++)
        if (table[i][j] == 0)
          return make_pair(i, j);
    return make_pair(-1, -1);
  }

  bool isInRange(int x, int y) {
    if (0 &#60;= x &#38;&#38; x &#60; N*2-1 &#38;&#38; 0 &#60;= y &#38;&#38; y &#60; N*2-1)
      return true;
    return false;
  }

  int r(pair &#60;int, int&#62; pos) {
    int curx = pos.first, cury = pos.second;
    int dirx[6] = {1, 0, -1, -1, 0, 1};
    int diry[6] = {0, -1, -1, 0, 1, 1};

    for (int i=0; i&#60;6; i++) {
      int nextx = curx + dirx[i], nexty = cury + diry[i];
      if (isInRange(nextx, nexty) &#38;&#38; table[nextx][nexty] == 0) {
        table[curx][cury] = table[nextx][nexty] = 1;

        pair &#60;int, int&#62; tmp = searchStart();
        if (tmp.first != -1)
          r(tmp);
        else
          ret++;

        table[curx][cury] = table[nextx][nexty] = 0;
      }
    }

    return 0;
  }

  int countArrangements(vector &#60;int&#62; X, vector &#60;int&#62; Y, int _N) {
    ret = 0;
    N = _N;
    memset(table, 0, sizeof(table));
    vector &#60;string&#62; black_list;
    black_list.push_back(&#34;&#34;);
    black_list.push_back(&#34;20&#34;);
    black_list.push_back(&#34;30 40 41&#34;);
    black_list.push_back(&#34;40 50 60 51 61 62&#34;);

    vector &#60;string&#62; tmp = splits(black_list[N-1], &#34; &#34;);
    for (int i=0; i&#60;tmp.size(); i++) {
      int a = tmp[i][0] - '0', b = tmp[i][1] - '0';
      table[a][b] = 1, table[b][a] = 1;
    }

    for (int i=0; i&#60;X.size(); i++)
      table[X[i] + N-1][Y[i] + N-1] = 1;

    pair &#60;int, int&#62; t = searchStart();
    if (t.first != -1)
      r(t);
    else
      ret++;

    return ret;
  }
};
</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Հումորը ծրագրավորման շուրջ]]></title>
<link>http://the809blog.wordpress.com/2009/12/02/%d5%b0%d5%b8%d6%82%d5%b4%d5%b8%d6%80%d5%a8-%d5%ae%d6%80%d5%a1%d5%a3%d6%80%d5%a1%d5%be%d5%b8%d6%80%d5%b4%d5%a1%d5%b6-%d5%b7%d5%b8%d6%82%d6%80%d5%bb/</link>
<pubDate>Wed, 02 Dec 2009 16:56:44 +0000</pubDate>
<dc:creator>the809blog</dc:creator>
<guid>http://the809blog.wordpress.com/2009/12/02/%d5%b0%d5%b8%d6%82%d5%b4%d5%b8%d6%80%d5%a8-%d5%ae%d6%80%d5%a1%d5%a3%d6%80%d5%a1%d5%be%d5%b8%d6%80%d5%b4%d5%a1%d5%b6-%d5%b7%d5%b8%d6%82%d6%80%d5%bb/</guid>
<description><![CDATA[Այսօր պատահաբար հանդիպեցի մի հետաքրքիր էջի, մեջը լիքը կատակներ ծրագրավորողների մասին: Ռեսուրսը անգլե]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Այսօր պատահաբար հանդիպեցի մի հետաքրքիր էջի, մեջը լիքը կատակներ ծրագրավորողների մասին: Ռեսուրսը անգլերեն է և հնարավորինս չափ փորձեցի թարգմանել հայերեն: Անգլերեն տարբերակները ևս գրել եմ: Եթե գոնե մի քիչ հասկանում եք անգլերեն, կայդացեք օրիգինալ տարբերակները:</p>
<p><a href="http://the809blog.files.wordpress.com/2009/12/comic.jpg"><img title="comic" src="http://the809blog.files.wordpress.com/2009/12/comic.jpg?w=300&#038;h=100#38;h=100" alt="" width="300" height="100" /></a></p>
<p>Երկու բիթ հանդիպում են իրար.<br />
-Հիվանդ ես հա երևի?<br />
-Չէ ուղղակի ինձ մի քիչ զրո եմ զգում:</p>
<p>Two bits meet. The first bit asks, “Are you ill?”<br />
The second bit replies, “No, just feeling a bit off.”</p>
<p>***</p>
<p>Հարց. Ինչպես կարող է ծրագրավորողը մահանալ լոգանք ընդունելիս?<br />
Պատասխան. Շամպունի ինստրուկցիայում կարդալով “Քսեք մազերին: Լվացրեք: Կրկնեք”: Անվերջ ցիկլ է:</p>
<p>Q. How did the programmer die in the shower?<br />
A. He read the shampoo bottle instructions: Lather. Rinse. Repeat.</p>
<p>***</p>
<p>Հարց. Ինչու են ծրագրավորողները շփոթում Հելլոուինը և Սուրբ ծնունդը?<br />
Պատասխան: Որովհետև Oct 31-ը հավասար է Dec 25-ին:</p>
<p>Why do programmers always mix up Halloween and Christmas?<br />
Because Oct 31 equals Dec 25.</p>
<p>***<br />
Մի մարդ սիգարետ է ծխում: Ընկերուհին ջղայնանում և ասում է “Չես տեսնում ինչ warning է գրած տուփի վրա – Ծխելը վնասակար է առողջությանը”:<br />
Նա պատասխանում է “Ես ծրագրավորող եմ, ինձ միայն error-ներն են մտահոգում, և ոչ թե warning-ները:”</p>
<p>A man is smoking a cigarette and blowing smoke rings into the air. His girlfriend becomes irritated with the smoke and says, “Can’t you see the warning on the cigarette pack? Smoking is hazardous to your health!”<br />
To which the man replies, “I am a programmer. We don’t worry about warnings; we only worry about errors.”</p>
<p>***<br />
Երկու տող գնում են բար:<br />
-Ինչ եք պատվիրում, – հարցնում է բարմենը<br />
Առաջինն ասում է.<br />
-Ինձ տվեք գարեջուր ու ճհամն 0սա2իճհիճ ս5աիճ77նի ա+սճհնի/*հ,.ի…<br />
-Ներեցեք: Մոռացել են նրա վերջում տողի ավարտի սիմվոլ դնեն:</p>
<p>Two strings walk into a bar and sit down. The bartender says, “So what’ll it be?”<br />
The first string says, “I think I’ll have a beer quag fulk boorg jdk^CjfdLk jk3s d#f67howe%^U r89nvy~~owmc63^Dz x.xvcu”<br />
“Please excuse my friend,” the second string says, “He isn’t null-terminated.”</p>
<p>Շարունակելի…</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Win a car or a luxury holiday with the Intel Atom Developer Program]]></title>
<link>http://softtalkblog.wordpress.com/2009/12/02/win-a-car-or-a-luxury-holiday-with-the-intel-atom-developer-program/</link>
<pubDate>Wed, 02 Dec 2009 16:17:47 +0000</pubDate>
<dc:creator>softtalkblog</dc:creator>
<guid>http://softtalkblog.wordpress.com/2009/12/02/win-a-car-or-a-luxury-holiday-with-the-intel-atom-developer-program/</guid>
<description><![CDATA[Developers can win big prizes by submitting their applications to the Intel Atom Developer Program, ]]></description>
<content:encoded><![CDATA[Developers can win big prizes by submitting their applications to the Intel Atom Developer Program, ]]></content:encoded>
</item>
<item>
<title><![CDATA[Dad's computer... Fixed???]]></title>
<link>http://rayquaza20.wordpress.com/2009/12/02/dads-computer-fixed/</link>
<pubDate>Wed, 02 Dec 2009 13:56:38 +0000</pubDate>
<dc:creator>rayquaza20</dc:creator>
<guid>http://rayquaza20.wordpress.com/2009/12/02/dads-computer-fixed/</guid>
<description><![CDATA[This is the next part of this and this. No, they&#8217;re not a trilogy story! They just like&#8230;]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is the next part of <a href="http://rayquaza20.wordpress.com/2009/11/08/experiment-ps2-pc-success/">this</a> and <a href="http://rayquaza20.wordpress.com/2009/11/15/kompirusak/">this</a>. No, they&#8217;re not a trilogy story! They just like&#8230; a problem solved and ruined and solved again, and in a way it transfigured into three parts.</p>
<p>Anyway, remember when I say my dad&#8217;s computer, where I can successfully play a PlayStation 2 emulator? Oh wait, you haven&#8217;t read them? Then read them, silly! So you see, my dad finally came home after a month at other country. I told him the issue about his computer, which you can find the details at the previous post. Or if you&#8217;re too lazy to read it I&#8217;ll just sum it all up: Everytime I turn it on, the screen was still black, and came beeping sound (tut-tut-tut) from the computer (motherboard problem I believe). I&#8217;ll tell you how my dad fix it. <!--more--></p>
<p>Here&#8217;s how my dad fix it: He turn it on.</p>
<p>Yeah, you hear me. It&#8217;s <em>that</em> simple. He just turned it on twice (in the first try, the screen came up, but he restarted it), and it simply turned on like a normal healthy computer. But I tried to turn it on countless time before yet it still throw those beeping sounds into my ears plus a blank screen. I don&#8217;t know if it&#8217;s just luck, the computer need time to get fixed by itself, or dad&#8217;s computer like its master(my dad) better than me.</p>
<p>Now if you don&#8217;t think this is funny, weird, confusing, or make you eyes open wide, please do tell me what&#8217;s in your mind. I mean, can a computer fix itself? Can it?! The situation is dire already, since the screen can&#8217;t even come up. But it fix itself?!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Optimization - EverCrack II (Mono-Alphabetic Ciphers)]]></title>
<link>http://clanmckenna.wordpress.com/2009/12/02/optimization-evercrack-ii-mono-alphabetic-ciphers/</link>
<pubDate>Wed, 02 Dec 2009 13:50:49 +0000</pubDate>
<dc:creator>clanmckenna</dc:creator>
<guid>http://clanmckenna.wordpress.com/2009/12/02/optimization-evercrack-ii-mono-alphabetic-ciphers/</guid>
<description><![CDATA[The EverCrack kernel cryptanalyzes uniliteral, monoalphabetic substitution ciphers. Substitution cip]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p> The EverCrack kernel cryptanalyzes uniliteral, monoalphabetic<br />
substitution ciphers.  Substitution ciphers involve taking a clear<br />
text &#8220;this is a message&#8221; and substitute the identity of each clear<br />
text letter with a cipher symbol [while retaining the position of the<br />
letter] &#8220;zyxw xw vutwwvst&#8221;. Monoalphabetic ciphers involve only<br />
using one alphabet [out of (26! - 1) possible alphabets] to encipher<br />
the message.  That is, if &#8216;t&#8217; enciphers to &#8216;z&#8217; in the cipher text, no<br />
other clear letter will be represented by &#8216;z&#8217; and &#8216;t&#8217; will always encipher<br />
to &#8216;z&#8217;.</p>
<p>Uniliteral ciphers involve using only one cipher symbol to represent<br />
a single clear symbol [&#8216;t&#8217; becomes &#8216;z&#8217; rather than &#8216;zg&#8217; in multiliteral<br />
ciphers.  The form of cipher that EverCrack cracks is a weak cipher,<br />
it just utilizes a very efficient method. Such a cipher still could be<br />
encrypted using one of (26! -1) possible alphabets:<br />
403, 291, 461, 126, 605, 635, 584, 000 ,000 possible alphabets.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[elisp fun]]></title>
<link>http://petitesnouvelles.wordpress.com/2009/12/02/elisp-fun/</link>
<pubDate>Wed, 02 Dec 2009 13:37:58 +0000</pubDate>
<dc:creator>petitesnouvelles</dc:creator>
<guid>http://petitesnouvelles.wordpress.com/2009/12/02/elisp-fun/</guid>
<description><![CDATA[Problem As we all know programmers are lazy, repetition is the evil, we want to type as fast as poss]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h3> Problem </h3>
<p>As we all know programmers are lazy, repetition is the <em>evil</em>, we want to type as fast as possible. <br />
Using C-like languages you always need to put the comma in the end. </p>
<p>Normally after the comma you also want to go to newline and indent, so why not put together those two things and automate it? </p>
<p>If you also like <a href="http://yasnippet.googlecode.com/">yasnippet</a> then you&#8217;ll find this feature even nicer.<br />
I took from this feature <a href="http://www.macromates.com/"> textmate </a>, a wonderful text editor which comes with this setting by default. <br />
As we&#8217;ll see we don&#8217;t need many lines of elisp code to end up with a much more powerful and flexible version of this nice feature.</p>
<h3> Solution </h3>
<h4> newline-force </h4>
<p>We first define a first function <em>newline-force</em> <br />
Here it is: </p>
<pre class="brush: plain;">
(defun newline-force()
  &#38;amp;amp;quot;Goes to newline leaving untouched the rest of the line&#38;amp;amp;quot;
  (interactive)
  (progn
    (end-of-line)
    (newline-and-indent)))
</pre>
<p>This function goes to end of line and calls the predefined function <em>newline-and-indent</em>, which goes to newline and indent according to mode <br />
In more detail: </p>
<p>- *interactive*: function is available for user<br />
- *progn*: executes a sequence of disjointed operations</p>
<p><!--more--></p>
<h3> newline-force-close </h3>
<p>The newline-force-close function before going to newline adds a closing char at the end. <br />
We have to consider some more cases:</p>
<ul>
<li> we are in the beginning of the buffer </li>
<li> we already have the closing char inserted </li>
</ul>
<pre class="brush: plain;">
(defun newline-force-close()
  (interactive)
  (end-of-line)
  (let ((closing-way (assoc major-mode newline-force-close-alist))
        closing-char)
    ;; Setting the user defined or the constant if not found
    (if (not closing-way)
	(progn
	  (message &#38;amp;quot;closing char not defined for this mode, using default&#38;amp;quot;)
	  (setq closing-char default-closing-char))
      (setq closing-char (aref (cdr closing-way) 0)))
    (when (not (bobp))
      ;; if we're at beginning of buffer,
      ;; the backward-char will beep  <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />
      ;; This works even in the case of
      ;; narrowing (e.g. we don't look outside
      ;; of the narrowed area.
      (when (not (looking-at closing-char))
 	(insert closing-char))
      (newline-force))))
</pre>
<p>Here below there are the two variables needed.</p>
<pre class="brush: plain;">
(defconst default-closing-char &#38;amp;quot;;&#38;amp;quot;
  &#38;amp;quot;default closing char, change in newline-force-close-alist if needed&#38;amp;quot;)

(defvar newline-force-close-alist
  '((python-mode . [&#38;amp;quot;:&#38;amp;quot; python-mode-hook python-mode-map]))
  &#38;amp;quot;Alist defining WHAT is to be used for newline-force-close
function,\n WHAT being a vector [closing-char mode-hook mode-map]&#38;amp;quot;)
</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Optimization - EverCrack I (Introduction)]]></title>
<link>http://clanmckenna.wordpress.com/2009/12/02/optimization-evercrack-i/</link>
<pubDate>Wed, 02 Dec 2009 13:25:34 +0000</pubDate>
<dc:creator>clanmckenna</dc:creator>
<guid>http://clanmckenna.wordpress.com/2009/12/02/optimization-evercrack-i/</guid>
<description><![CDATA[EverCrack is an open-source, general-implementation cryptanalyzer for mono-alphabetic substitution c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>   EverCrack is an open-source, general-implementation<br />
cryptanalyzer for mono-alphabetic substitution ciphers.<br />
By general-implementation, I mean that it can crack any<br />
type of cipher in this class (Caesar Ciphers, Affine Ciphers,<br />
Atbash Ciphers, etc.,).<br />
   These types of ciphers are by no means computationally<br />
secure by today&#8217;s standards but the solution space is still<br />
large enough to make brute-forcing the problem (with a single<br />
computer) time-consuming.  The solution space is 26! &#8211; 1 (where<br />
1 represents the possible arrangement of symbols that is the<br />
cipher itself).<br />
   Devising an elegant (quick and accurate) solution became an<br />
interesting experience in learning how to optimize on the level of<br />
algorithmic design &#8211; that is, how more important that is compared<br />
to optimization &#8220;tricks&#8221;.<br />
   This series is primarily a revisit for myself in understanding the<br />
path I followed in designing EverCrack.  When I first started,<br />
EverCrack could (for the most part) accurately decipher (a<br />
particular test) cipher in 7 minutes.  After a year of optimizing the<br />
design, it could accurately decipher the same cipher in 70 ms.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Внимание к мелочам или "ни на что не повлияет"]]></title>
<link>http://cbuh.wordpress.com/2009/12/02/%d0%b2%d0%bd%d0%b8%d0%bc%d0%b0%d0%bd%d0%b8%d0%b5-%d0%ba-%d0%bc%d0%b5%d0%bb%d0%be%d1%87%d0%b0%d0%bc-%d0%b8%d0%bb%d0%b8-%d0%bd%d0%b8-%d0%bd%d0%b0-%d1%87%d1%82%d0%be-%d0%bd%d0%b5-%d0%bf%d0%be%d0%b2/</link>
<pubDate>Wed, 02 Dec 2009 10:52:36 +0000</pubDate>
<dc:creator>cbuh</dc:creator>
<guid>http://cbuh.wordpress.com/2009/12/02/%d0%b2%d0%bd%d0%b8%d0%bc%d0%b0%d0%bd%d0%b8%d0%b5-%d0%ba-%d0%bc%d0%b5%d0%bb%d0%be%d1%87%d0%b0%d0%bc-%d0%b8%d0%bb%d0%b8-%d0%bd%d0%b8-%d0%bd%d0%b0-%d1%87%d1%82%d0%be-%d0%bd%d0%b5-%d0%bf%d0%be%d0%b2/</guid>
<description><![CDATA[Рассмотрим небольшой процесс. Определим роли: дизайнер объекта, пользователь объекта и разработчик о]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Рассмотрим небольшой процесс. Определим роли: дизайнер объекта, пользователь объекта и разработчик объекта. Язык программирования: C++.</p>
<p><strong>Дизайн объекта</strong></p>
<p>Дизайнер хочет описать объект имеющий один атрибут, не изменяющийся на протяжении выполнения программы. Он записал следующий интерфейс для объекта:<br />
<code><br />
class Object<br />
{<br />
public:<br />
std::string getAttr() const;<br />
};<br />
</code><br />
решив, что раз метод <code>getAttr()</code> возвращает копию <code>std::string</code>, то можно не объявлять её <code>const</code>, так как это ни на что не повлияет.</p>
<p><strong>Использование объекта</strong></p>
<p>Пользователь объекта (другой программист, а то и не один) получив интерфейс стал решать свои задачи. Рано или поздно, он использовал конструкцию вида <code>foo(obj.getAttr())</code>, где сигнатура <code>foo</code> следующая:<br />
<code><br />
void foo(std::string &#38; str);<br />
</code><br />
<em>Обращу внимание, на тот факт, что компилятор gcc такой вызов не позволит, а вот MS Visual Studio &#8212; отнюдь. Допустим функция foo() не находится в области ответственности пользователя объекта, иначе, пользуясь gcc,  ему бы пришлось отказаться от указанной конструкции. Допустим он пользуется студией&#8230;<br />
</em></p>
<p><strong>Разработка объекта</strong></p>
<p>Разработчик объекта, получив интерфейс и mock-реализацию вида<br />
<code><br />
std::string Object::getAttr() const<br />
{<br />
return "Final value of the attr";<br />
}<br />
</code><br />
подумал и решил, что раз атрибут задуман быть инвариантным, то его можно сделать статичным:<br />
<code><br />
static std::string INVARIANT_ATTR_VALUE(<br />
"Final value of the attr"<br />
);<br />
</code><br />
и не создавать/копировать <code>std::string</code> при каждом вызове <code>getAttr()</code>:<br />
<code><br />
<strong>const </strong>std::string<strong> &#38;</strong> Object::getAttr() const<br />
{<br />
return INVARIANT_ATTR_VALUE;<br />
}<br />
</code><br />
Для этого ему пришлось ужесточить интерфейс:<br />
<code><br />
class Object<br />
{<br />
public:<br />
<strong>const </strong>std::string <strong>&#38;</strong> getAttr() const;<br />
};<br />
</code><br />
После последнего действия код пользователя объекта перестал собираться!</p>
<p>Если рассматривать в пределе, то исправлять код пользователь не будет и разработчику объекта вместе с дизайнером придётся оставить первую версию интерфейса объекта, как наследие, или вообще отказаться от разумного улучшения интерфейса, предложенного разработчиком. Оба варианта исхода представляются, как вырожденные. Выходит &#8220;необъявление&#8221; <code>const</code> привело дизайнера с разработчиком к вырожденной ситуации с наследием или пользователя к потере времени/денег.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[2nd Attempt Ubuntu Multiple Local Sites Apache2]]></title>
<link>http://williambuell.wordpress.com/2009/12/02/2nd-attempt-ubuntu-multiple-local-sites-apache2/</link>
<pubDate>Wed, 02 Dec 2009 09:35:08 +0000</pubDate>
<dc:creator>William Buell</dc:creator>
<guid>http://williambuell.wordpress.com/2009/12/02/2nd-attempt-ubuntu-multiple-local-sites-apache2/</guid>
<description><![CDATA[Note, my user name is always bryan, because he gave me his old machine, with a password on it, so I ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Note, my user name is always bryan, because he gave me his old machine, with a password on it, so I just keep everything the same, for convenience.</p>
<p>Step 1:<br />
Terminal<br />
sudo chown bryan /var/www</p>
<p>Step 2: having given myself rights with that above chown command<br />
I should be able to create folders withing /var/www<br />
e.g. /var/www/proj1</p>
<p>and then invoke the 1st pg of the application by typing into the browser</p>
<p>localhost/proj1/report.html</p>
<p>I shall test this, and place the exercises from Head First PHP MySQL into a folder /var/www/proj1 and see if the exercise works</p>
<p>The only question that remains in my mind is whether the exercise pages will work unchanges, honoring /var/www/proj1 as the root, or whether I need to issue some other command to MAKE proj1 the default directory, or whether I have to hard code paths into all the exercise pages, which, if I do, would kind of defeat the purpose of developing a project in a folder, and then transparently moving it to some other location.</p>
<p>What follows is the raw text from the IRC channel where I asked my questions. I sorted through it to come up with the above, step-by-step procedure to achieve my goals.</p>
<p>+++ the steps WORK AND here is my email feedback to the person that gave me the valuable guidance:</p>
<p>You saved me HOURS of grief, and made it possible for me to now make rapid progress with my HEAD FIRST book. And Yes, I want to pay $60 for the paperback, because I want to be able to take it in the bathroom or on the subway. I want to really let all this PHP MySQL stuff sink in, and become second nature, for the simple reason that I am sick and tired of years of bondage to Micr0$oft and products like Access (or worse VISUAL FOXPRO which they finally dropped as a supported product). I figure that php mysql apache is the best choice for me, because I can kind of understand whats going on, and there is tons of documentation to make it work, but forum and IRC support (like YOUR excellent patient help).</p>
<p>You are CORRECT, THAT YOU did tell me what I need to know, but you did not realize that as a beginner, I cannot recognize the right answer UNTIL certain concepts sink in. Once I did the CHOWN trick you showed me, then I could navigate with the GUI, to /var/www and create a folder, proj1. Then I could navigate to my Desktop to a folder where I put two of the Head First exercises, but with the word TEST inserted in each field, so I would KNOW that it was these executing, and that I was not somehow executing the same original pages in /var/www .  Now, I could NOT get Desktop/testwww/report.html to run and then correctly post with report.php and see the added record in the MySQL database with phpmyadmin.</p>
<p>BUT, as soon as it dawned upon me the simple steps you were saying, I copied to cloned files to /var/www/proj1  went to my folder and entered localhost/report.html, actually SAW the cloned version come up with TEST prefixed to each field, I entered data prefixed by TEST so I would see it in the mysql table,&#8230; pressed submit, and BINGO, when I did localhost/phpmyadmin and signed in, there was the new record in the sql table.</p>
<p>SO, you see, for a beginner, the Head First book leaves out a VERY IMPORTANT CONCEPT, about creating folders for projects in /var/www and doing the CHOWN trick once, up front, to allow access.</p>
<p>THANKS! And, as you will notice from my blog, when I asked the same question in IRC last week, someone thought that I wanted to do that<br />
http://www.debian-administration.org/articles/412 complex business (which was CORRECT, if I wanted to access separate projects from some remote client, BUT unnecessary for my simple desktop purposes).</p>
<p>And here is the RAW irc chat to illustrate what a beginner may have to do to sort out the proper answers from a technically savvy person trying to help.<br />
++++++++++++++++++++++++++++++</p>
<p>I am trying to set up several websites on my desktop ubuntu under Apache 2, and I have a detailed tutorial, but it says I need my IP address, but </p>
<p>sudo ipconfig gives me an internal, and </p>
<p>whatismyip.com gives me an external, any clues as to which is required, thanks</p>
<p>[04:08]  WilliamBuell: what IP address?  where do you want to reach them from?</p>
<p>(the answer, as it turns out, which I did not make clear to the IRC channel, is that I only want to make this stuff work from my DESKTOP, not from some remote client on the internet, which might require some ip address)</p>
<p>[04:08]  thanks  I am following this excellent tutorial on apache2 multiple sites </p>
<p><a href="http://www.debian-administration.org/articles/412" target="_blank">http://www.debian-administration.org/articles/412</a></p>
<p>[04:09]  I have Ubuntu desktop with LAMP installed, but can only get php pages to work in /var/www</p>
<p>[04:09]  I want to be able to have several projects i.e /home/proj1</p>
<p>[04:09]  WilliamBuell: that&#8217;s where they should go</p>
<p>[04:09]  why not put them in /var/www?</p>
<p>(this turns out to be an EXCELLENT QUESTION!)</p>
<p>[04:10]  the tutorial mentions IP address but does not indicate whether it is EXTERNAL from whatismyip.com or local from </p>
<p>sudo ifconfig</p>
<p>[04:10]  BECAUSE I would need a different name for each html and php page</p>
<p>[04:10]  WilliamBuell: where are you trying to access them from?  you shouldn&#8217;t need an ip address at all most likely</p>
<p>[04:11]  suppose I am following several tutorials, with several pages with same name, they cannot BOTH be in /var/www</p>
<p>[04:11] why not  /var/www/proj1, /var/www/proj2?</p>
<p>[04:11]  and i dont know how to access some search path that would support /var/www/proj1</p>
<p>[04:12]  or does apache2 lamp automatically honor any folder within www</p>
<p>[04:12]  yes, automatically http://localhost/folder</p>
<p>(above is the KEY CONCEPT that I needed)</p>
<p>[04:12]  and, if so (i am total beginner) &#8230;. </p>
<p>aha&#8230;. localhost/folder seems to make sense to me</p>
<p>[04:13]  next question in TERMINAL does it matter HOW i create those folders, i mean do i have to be sudo or root</p>
<p>[04:13]  do permissions matter?</p>
<p>[04:13]  what would the proper command be to create the folder in /var/www would it be mkdir /home/www/www.example.com<br />
[04:14]  with sudo mkdir /home/www/www.example.com</p>
<p>[04:14]  except it would be sudo mkdir /var/www/www.example.com</p>
<p>[04:14]  if i follow along with this one tutorial</p>
<p>[04:15]  but that tutorial is talking about MULTIPLENAMEHOST</p>
<p>[04:15]  WilliamBuell: you can cheat and do sudo chown USER /var/www</p>
<p>( the above is the OTHER KEY CONCEPT that I require.. and if it works, then I can navigate in a GUI file folder system and create project folders at will, without fussing with sudo permissions)</p>
<p>[04:15]  it sounds like you are saying if I simply create a folder in /var/www/proj1 that it will work from localhost/proj1</p>
<p>[04:15]  WilliamBuell: only on a desktop though<br />
[04:16]  WilliamBuell: correct</p>
<p>[04:16]  i am a 60 year old total beginner, so i dont need hints like &#8220;you can cheat&#8221; I am truly lost</p>
<p>[04:17]  so i should say from TERMINAL sudo chown bryan /var/www  but&#8230; HOW DO I MAKE THE FOLDER PROJ1<br />
[04:17]  i mean the chown command is changing rights or something</p>
<p>[04:17]  chown changes the ownership of the file<br />
[04:17]  nothing else</p>
<p>[04:17]  WilliamBuell: oh, one you own the folder, you can go into /var/www and make whatever you want <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[04:18]  in other words, from terminal, what is the command to correctly creat /var/www/proj1 with all the proper user rights for apache2 to work</p>
<p>[04:18]  BUT, whenever i go into /var/www it doesnt let me do stuff i dont think unless i am root admin</p>
<p>[04:18]  WilliamBuell: the support here is not too great&#8230; might want to try a support channel</p>
<p>[04:18]  WilliamBuell: yeah, that&#8217;s why I suggested owning the folder</p>
<p>[04:18]  yeah, but you guys know this like the back of your hand</p>
<p>[04:19]  once you do that, you can mkdir in /var/www all you wnat</p>
<p>[04:19]  and you just cant give a beginner the command to create the folder</p>
<p>[04:19]  WilliamBuell: if we did we would have told you straight away</p>
<p>[04:19]  so, you say , create the folder, and then use chown to change ownership?<br />
[04:19]  and then everything will be honkey dory ok</p>
<p>[04:19]  WilliamBuell: no, chown /var/www, then you can create all the folders you want without sudo</p>
<p>[04:21]  ok so  sudo chown bryan /var/www gives me the rights, then i should be able to navigate with the gui and create proj1</p>
<p>[04:21]  WilliamBuell: yep <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[04:21]  aha&#8230; now that is making sense to this beginner brain<br />
[04:22]  and i WONT need to mess with that other tutorial<br />
[04:22]  since i only want stuff to work locally&#8230;</p>
<p>[04:22]  WilliamBuell: right no apache configs <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[04:23]  BUT, second question,&#8230;. if i make a bunch of php html pages in /var/www/proj1 do I need explicit paths to the other pages, or will they default to that local directory</p>
<p>[04:23]  and is there some command i need to issue to make /var/www/proj1 a local directory for that session</p>
<p>[04:23]  WilliamBuell: not sure I&#8217;m following</p>
<p>[04:23]  WilliamBuell: not sure you&#8217;re sure what you&#8217;re asking<br />
[04:24]  http://localhost basically loads what&#8217;s in /var/www</p>
<p>[04:24]  ok&#8230; you are telling me if i do all this then from browser ..   i type localhost/proj1/report.html and it comes up</p>
<p>[04:24]  yep</p>
<p>[04:24]  but INSIDE report.html it is going to POST to report.php</p>
<p>[04:24]  if you have /var/www/proj1/report.html</p>
<p>[04:24]  yeah, default is current folder</p>
<p>[04:24]  but, it will know enough to look in var/www/proj1 without<br />
[04:25]  well, it looks in http://localhost/proj1/report.php<br />
[04:25]  or rather posts to</p>
<p>[04:25]  aha, and the very act of launching the project as localhost/proj1 is sufficient to make that the local directory for the entier project session</p>
<p>[04:25]  which should correspond to /var/www/proj1/report.php<br />
[04:25]  if so, that makes sense</p>
<p>[04:25]  WilliamBuell: not sure you quite get URL vs local path<br />
[04:25]  it&#8217;s not for the session</p>
<p>[04:25]  in other words, i dont have to HARD CODE specific addresses in each html and php&#8230;</p>
<p>[04:26]  that&#8217;s just how it it</p>
<p>[04:26]  WilliamBuell: that you have to do<br />
[04:26]  i want to develop something in /var/www/proj1 test it , but have it work if i move it somewhere else</p>
<p>[04:26]  WilliamBuell: why not just have a .php file?<br />
[04:26]  why have anything .html?</p>
<p>[04:26]  well, i dont know enough to understand your hint</p>
<p>[04:26]  WilliamBuell: a PHP file can have HTML and PHP in it</p>
<p>[04:27]  because, the tutorial book i am following starts with report.html posting with report.php&#8230; but now i see what you are saying</p>
<p>[04:27]  WilliamBuell: what book?</p>
<p>[04:27]  but, php or html, is not germain to my path question at hand</p>
<p>[04:27]  it is a great book called HEAD FIRST php mysql, which leads you step by step, including cookie sessions</p>
<p>[04:28]  i have in my blog links to the book</p>
<p>[04:28]  i am buying the book for $60 tomorrow, and i already downloaded a zip file of all the source code exercises from the publisher</p>
<p>[04:29]  WilliamBuell: do you have any programming background and are you interested in mysql&#62;??</p>
<p>[04:29]  i started programming in 1979, through the 1980s, with stuff like cobol, rpg, then basic, then pick</p>
<p>[04:29]  WilliamBuell: BTW, you know you can get it as an ebook for $36</p>
<p>[04:29]  i am not a moron</p>
<p>[04:30]  i just have some simple questions which in reality have very simple answers, but getting straight answers from techie types is like pulling teeth<br />
[04:31]  WilliamBuell: do you like head first series?</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Writing plugins for RDesktop]]></title>
<link>http://jasper22.wordpress.com/2009/12/02/writing-plugins-for-rdesktop/</link>
<pubDate>Wed, 02 Dec 2009 08:03:53 +0000</pubDate>
<dc:creator>jasper22</dc:creator>
<guid>http://jasper22.wordpress.com/2009/12/02/writing-plugins-for-rdesktop/</guid>
<description><![CDATA[This article was mostly written for Linux developers. The article gives a method of writing out-of-p]]></description>
<content:encoded><![CDATA[This article was mostly written for Linux developers. The article gives a method of writing out-of-p]]></content:encoded>
</item>
<item>
<title><![CDATA[Therapy: Day 2]]></title>
<link>http://direking.wordpress.com/2009/12/01/therapy-day-2/</link>
<pubDate>Wed, 02 Dec 2009 05:54:39 +0000</pubDate>
<dc:creator>viricordova</dc:creator>
<guid>http://direking.wordpress.com/2009/12/01/therapy-day-2/</guid>
<description><![CDATA[Well, I&#8217;m looking at 6 months of going to pretty intensive therapy for 6 hours a day. Only 4 h]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Well, I&#8217;m looking at 6 months of going to pretty intensive therapy for 6 hours a day. Only 4 hours of that is actually therapy stuff. Here&#8217;s how a typical day breaks down:</p>
<p>830am-900am Picked up by community van to go to therapy.<br />
930am-1030am Meditation<br />
1030am-1130am Devotional<br />
1130am-1230pm Lunch<br />
1230pm-2pm Women&#8217;s Group<br />
2pm-230pm Picked up by van for ride home, usually home by 3pm.</p>
<p>We&#8217;re all ex-addicts of some sort (my poison is alcohol), even the counselors, so smoking is pretty rampant and there&#8217;s alot of downtime in there for breaks. I get bored.</p>
<div class="zemanta-img" style="display:block;margin:1em;">
<div>
<dl class="wp-caption alignright">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/Image:Cross_of_the_Morro_do_Pai_In%C3%A1cio.jpg"><img title="The cross of the &#34;Morro do Pai Inácio&#38;quo..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Cross_of_the_Morro_do_Pai_In%C3%A1cio.jpg/300px-Cross_of_the_Morro_do_Pai_In%C3%A1cio.jpg" alt="The cross of the &#34;Morro do Pai Inácio&#38;quo..." width="196" height="141" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/Image:Cross_of_the_Morro_do_Pai_In%C3%A1cio.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p style="text-align:justify;">It seems broken down in to 2 major ideas: a) learning how to think and b) using your new thinking to learn how to live. It&#8217;s pretty Christian-oriented but not so much so that I don&#8217;t feel able to ignore most of it most of the time and the one time I couldn&#8217;t, I just didn&#8217;t join into the prayer.</p>
<p style="text-align:justify;">On day 1 I got angry because people were condescending. I don&#8217;t know if they meant to be or not but either way they just didn&#8217;t think and it was annoying and stupid. I came home, ranted to a friend and felt better. I don&#8217;t really fit the profile for this group but I&#8217;ll take what I can out of it, use it to get a grip on things and bite my tongue on the rest of it.</p>
<p>Today I was angry again but for a better reason. I&#8217;m coming to grips with a condition<em> I can do nothing about but suck it</em>. I feel it&#8217;s a fairly natural response to be angry about this in the process of coming to terms with it. I also feel fear because I know the underlying cause of my habitual behaviors and <em>I don&#8217;t want to change it</em>. In the end, I probably won&#8217;t so I don&#8217;t know how much &#8220;better&#8221; I&#8217;ll ever really get.</p>
<p>Right now, I&#8217;ll settle for coping.</p>
<p>And I don&#8217;t mind if the boy scouts make money from <em>luminarias</em>. It&#8217;s a good organization to help out. Marching bands can screw me. their schools already get my tax money.</p>
<div class="zemanta-pixie" style="margin-top:10px;height:15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/9eaed957-955e-4576-8bfb-e6179d225fd6/"><img class="zemanta-pixie-img" style="border:medium none;float:right;" src="http://img.zemanta.com/reblog_e.png?x-id=9eaed957-955e-4576-8bfb-e6179d225fd6" alt="Reblog this post [with Zemanta]" /></a></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Moving ahead by going back - working with JavaScript again]]></title>
<link>http://johnjakubowski.wordpress.com/2009/12/02/moving-ahead-by-going-back-working-with-javascript-again/</link>
<pubDate>Wed, 02 Dec 2009 05:48:25 +0000</pubDate>
<dc:creator>johnjakubowski</dc:creator>
<guid>http://johnjakubowski.wordpress.com/2009/12/02/moving-ahead-by-going-back-working-with-javascript-again/</guid>
<description><![CDATA[I recently worked on a project adding functionality to a legacy web application. This meant digging ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I recently worked on a project adding functionality to a legacy web application. This meant digging back into client-side scripting, using html frames no less. Now to clarify this wasn’t <a title="--&#62;JQuery homepage" href="http://jquery.com/" target="_blank">JQuery</a> or asynchronous JSON or XML fun but good old fashioned JavaScript in ‘classic’ ASP pages. It was determined that rather that tacking on more and more bits this would be an extension of the inherent framework already established.</p>
<p>Having been focused on other areas of development for awhile I had to re-learn some of the basics I had long forgotten such as equality operators and their type coercion vs. identity type comparisons, properly dealing with undefined object null defaults, blocks without scope and generally re-getting the ‘hang’ of a loosely-typed language. I used plenty of references such as <a title="--&#62;Mozilla Developer Core JavaScript 1.5 Reference" href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference" target="_blank">Mozilla</a> &#38; <a title="--&#62;w3schools Javascript reference" href="http://www.w3schools.com/jsref/default.asp" target="_blank">w3schools</a> and even perused <a title="--&#62;ECMAScript spec link" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm" target="_blank">the spec</a>.</p>
<p>The more I worked with it again the more I came to enjoy and appreciate JavaScript. If you haven’t used it or it has been awhile you might take a look and be surprised with the power and flexibility it provides (first-class functions, run-time evaluation, functions as methods).</p>
<p>Along the way I came across some interesting items I though I would post for reference.</p>
<p><a title="--&#62;Jash command line debugging of browser" href="http://www.billyreisinger.com/jash/" target="_blank">Jash: JavaScript Shell</a> &#8211; A Cross-Browser JavaScript Command-Line Debugging Tool</p>
<p><a title="--&#62; JSVI javascript Vi" href="http://gpl.internetconnection.net/vi/" target="_blank">JSVI</a>, a clone of Vi written in JavaScript running in your browser</p>
<p><a title="--&#62; JSure - lint for Javascript" href="http://www.jsure.org/about" target="_blank">JSure: The JavaScript Checker</a> -</p>
<p>Excellent language introduction videos of Yahoo! JavaScript Architect <a title="--&#62;Douglas Crockford homepage" href="http://www.crockford.com/" target="_blank">Douglas Crockford</a>-</p>
<p>The JavaScript Programming Language</p>
<p><a title="--&#62;Douglas Crockford video 1/4" href="http://video.yahoo.com/watch/111593" target="_blank">video 1 of 4</a></p>
<p><a title="--&#62; Douglas Crockford video 2/4" href="http://video.yahoo.com/watch/111594/1710553" target="_blank">video 2 of 4</a></p>
<p><a title="--&#62; Douglas Crockford video 3/4" href="http://video.yahoo.com/watch/111595/1710607" target="_blank">video 3 of 4</a></p>
<p><a title="--&#62; Douglas Crockford video 4/4" href="http://video.yahoo.com/watch/111596/1710658" target="_blank">video 4 of 4</a></p>
<p>Next time I hit this code I suspect I’ll be looking at using <a title="--&#62; Modernizr homepage" href="http://www.modernizr.com/" target="_blank">Modernizr</a> and some other newer bits working towards the future while I patch up the past.</p>
<div class="wlWriterHeaderFooter" style="text-align:right;margin:0;padding:4px 0;"><a href="http://digg.com/submit?url=http%3a%2f%2fjohnjakubowski.wordpress.com%2f2009%2f12%2f02%2fmoving-ahead-by-going-back-working-with-javascript-again%2f&#38;title=Moving+ahead+by+going+back+-+working+with+JavaScript+again"><img style="border:0;" title="Digg This" src="http://digg.com/img/badges/100x20-digg-button.png" border="0" alt="Digg This" width="100" height="20" /></a></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[SICP Exercise 4.29]]></title>
<link>http://wqzhang.wordpress.com/2009/12/02/sicp-exercise-4-29/</link>
<pubDate>Wed, 02 Dec 2009 04:48:39 +0000</pubDate>
<dc:creator>Weiqun</dc:creator>
<guid>http://wqzhang.wordpress.com/2009/12/02/sicp-exercise-4-29/</guid>
<description><![CDATA[SICP Exercise 4.29 (define (fib n) (cond ((= n 0) 0) ((= n 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-27.html#%_thm_4.29">SICP Exercise 4.29</a></p>
<pre class="wqz-code">
(<span class="scheme-keyword">define</span> (<span class="scheme-function-name">fib</span> n)
  (<span class="scheme-keyword">cond</span> ((= n 0) 0)
        ((= n 1) 1)
        (<span class="scheme-keyword">else</span> (+ (fib (- n 1)) (fib (- n 2))))))

(<span class="scheme-keyword">let</span> ((t0 0) (t1 0))
  (set! t0 (get-universal-time))
  (fib 20)
  (set! t1 (get-universal-time))
  (- t1 t0))
<span class="scheme-comment-delimiter">; </span><span class="scheme-comment">67 without memorization
</span><span class="scheme-comment-delimiter">; </span><span class="scheme-comment">12 with memorization
</span>
<span class="scheme-comment-delimiter">;;; </span><span class="scheme-comment">L-Eval input:
</span>(square (id 10))
<span class="scheme-comment-delimiter">;;; </span><span class="scheme-comment">L-Eval value:
</span>100
<span class="scheme-comment-delimiter">;;; </span><span class="scheme-comment">L-Eval input:
</span>count
<span class="scheme-comment-delimiter">;;; </span><span class="scheme-comment">L-Eval value:
</span>1 <span class="scheme-comment">; with memorization, (id 10) is called once.
</span>2 <span class="scheme-comment">; without memorization, (id 10) is called twice
</span></pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[And Just Like That]]></title>
<link>http://bobbycressey.wordpress.com/2009/12/01/and-just-like-that/</link>
<pubDate>Wed, 02 Dec 2009 04:15:54 +0000</pubDate>
<dc:creator>bobbycressey</dc:creator>
<guid>http://bobbycressey.wordpress.com/2009/12/01/and-just-like-that/</guid>
<description><![CDATA[My Jingleball gig is CANCELLED. The show is obviously going forward but not with the band. I got a t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>My Jingleball gig is CANCELLED.</p>
<p>The show is obviously going forward but not with the band. I got a text today that didn&#8217;t really explain it, but just said, &#8216;The gig is off&#8217;. How does that make me feel?</p>
<p>I woke up early yesterday, spent the ENTIRE DAY feverishly programming my keyboards, came back and programmed until 2 AM, woke back up at 7 AM and continued the assault until the second I went to work today. I am annoyed that I squandered the day and diverted my energy from composing the music I wanted to for a promising listing today. I am upset that I had to bail on the post concert annual hang last night to come home and program keyboards for a gig that would never happen. Time is a precious commodity and to see it wasted like that makes me angry.</p>
<p>I still don&#8217;t know what happened, nor that it&#8217;s anyone&#8217;s fault. I am imagining that DJ Skee had 2nd thoughts about trying to pull this crazy live act together at the last minute. Probably smart, although I feel like this band is so good that it wouldn&#8217;t have been a problem. I&#8217;ll be finding out soon though.</p>
<div id="attachment_66" class="wp-caption alignnone" style="width: 310px"><a href="http://bobbycressey.wordpress.com/files/2009/12/anger.jpg"><img class="size-medium wp-image-66" title="anger" src="http://bobbycressey.wordpress.com/files/2009/12/anger.jpg?w=300" alt="" width="300" height="231" /></a><p class="wp-caption-text"> </p></div>
<p>At least:</p>
<p>-I get some time back for this week<br />
-I learned how to use Master Mode on the MOTIFs finally. Seriously, that&#8217;s pretty cool (and long overdue)<br />
-I can go visit my GF in SD this week.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Currency Format]]></title>
<link>http://catatanbodoh.wordpress.com/2009/12/02/currency-format/</link>
<pubDate>Wed, 02 Dec 2009 03:14:25 +0000</pubDate>
<dc:creator>Programmer Bodoh</dc:creator>
<guid>http://catatanbodoh.wordpress.com/2009/12/02/currency-format/</guid>
<description><![CDATA[you can manipulate your string to currency format in several ways MMSQL declare @price as MONEY set ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>you can manipulate your string to currency format in several ways</p>
<p><strong>MMSQL</strong></p>
<p>declare @price as MONEY</p>
<p>set @price = &#8216;1000000&#8242;<!--more--></p>
<p>convert(varchar,@price,1);</p>
<p><strong>ASPX</strong></p>
<p>Text=&#8217;&#60;%#bind(&#8220;price&#8221;, &#8220;{0:##,##0}&#8221;) %&#62;&#8217;</p>
<p><strong>VB</strong></p>
<p>price.Text = String.Format(&#8220;{0:##,##0}&#8221;, datareader(&#8220;price&#8221;))</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Locking a Windows Session]]></title>
<link>http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/</link>
<pubDate>Wed, 02 Dec 2009 03:11:19 +0000</pubDate>
<dc:creator>Jim Lawless</dc:creator>
<guid>http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/</guid>
<description><![CDATA[Several years ago, a friend and I discussed the topic of a program that would, after a period of ina]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Several years ago, a friend and I discussed the topic of a program that would, after a period of inactivity, issue the equivalent function of locking one&#8217;s Windows session via CTRL-ALT-DEL followed by a click on the appropriate &#8220;lock&#8221; button.  The screen-saver was supposed to fulfill this role, but the thought-process was that someone could disable their screen-saver.</p>
<p>I did a little investigation into the matter and could not find a way to lock the session via a program.  Years later, a function was added to user32.dll that could be invoked to provide this functionality.  The C program below attempts to find this function in User32 dynamically and then invokes it.  If not found, an error message will be displayed.</p>
<p><strong>lock.c</strong></p>
<pre class="brush: cpp;">
// Lock a Windows session.
//
// License: MIT / X11
// Copyright (c) 2009 by James K. Lawless
// jimbo@radiks.net http://www.radiks.net/~jimbo
// http://www.mailsend-online.com
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the &#34;Software&#34;), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED &#34;AS IS&#34;, WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.

#include &#60;windows.h&#62;

#pragma comment(lib,&#34;user32.lib&#34;)

int main(int argc,char **argv) {
   FARPROC lockWorkStation;
   HANDLE user32;
   user32=LoadLibrary(&#34;user32.dll&#34;);
   lockWorkStation=GetProcAddress(user32,&#34;LockWorkStation&#34;);
   if(lockWorkStation!=NULL)
      (*lockWorkStation)();
   else
      MessageBox(NULL,
         &#34;You don't have LockWorkStation in User32&#34;,
         &#34;&#34;,MB_OK);

}
</pre>
<p>The source and sample executable file for lock can be downloaded in a single archive at:<br />
<a href="http://www.mailsend-online.com/wp/lock.zip">http://www.mailsend-online.com/wp/lock.zip</a></p>
<p><a href="http://del.icio.us/post?url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/&#38;title=Locking+a+Windows+Session" target="_blank"><img title="del_icio_us" src="http://www.mailsend-online.com/wp/del_icio_us.png" alt="del_icio_us" /></a> <a href="http://del.icio.us/post?url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/&#38;title=Locking+a+Windows+Session" target="_blank">Save to del.icio.us</a><br /><a href="http://digg.com/submit?phase=2&#38;url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/&#38;title=Locking+a+Windows+Session" target="_blank"><img title="digg" src="http://www.mailsend-online.com/wp/digg.png" alt="digg" /></a> <a href="http://digg.com/submit?phase=2&#38;url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/&#38;title=Locking+a+Windows+Session" target="_blank">Digg it</a><br /><a href="http://reddit.com/submit?url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/&#38;title=Locking+a+Windows+Session" target="_blank"><img title="reddit" src="http://www.mailsend-online.com/wp/reddit.png" alt="reddit" /></a> <a href="http://reddit.com/submit?url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/&#38;title=Locking+a+Windows+Session" target="_blank">Save to Reddit</a><br /><a href="http://www.facebook.com/share.php?u=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/" target="_blank"><img title="facebook" src="http://www.mailsend-online.com/wp/facebook.png" alt="facebook" /></a> <a href="http://www.facebook.com/share.php?u=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/" target="_blank">Share on Facebook</a><br /><a href="http://twitter.com/home?status=Check+out+http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/"><img title="twitter" src="http://www.mailsend-online.com/wp/twitter.gif" alt="twitter" /></a> <a href="http://twitter.com/home?status=Check+out+http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/" target="_blank">Share on Twitter</a><br /><a href="http://www.addthis.com/bookmark.php?pub=dvd&#38;url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/;title=Locking+a+Windows+Session" target="_blank"><img title="aolfav" src="http://www.mailsend-online.com/wp/aolfav.gif" alt="aolfav" /></a> <a href="http://www.addthis.com/bookmark.php?pub=dvd&#38;url=http://jimlawless.wordpress.com/2009/12/01/locking-a-windows-session/;title=Locking+a+Windows+Session" target="_blank">More bookmarks</a>
<p><img src="http://www.mailsend-online.com/cgi-bin/wphit.pl" /><br />
<em>Unless otherwise noted, all code and text entries are Copyright © 2009 by James K. Lawless</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Volker/McChesney Award Nominations]]></title>
<link>http://farpoint.wordpress.com/2009/12/02/volkermcchesney-award-nominations/</link>
<pubDate>Wed, 02 Dec 2009 02:28:15 +0000</pubDate>
<dc:creator>svanblarcom</dc:creator>
<guid>http://farpoint.wordpress.com/2009/12/02/volkermcchesney-award-nominations/</guid>
<description><![CDATA[Everyone is invited to submit nominations for the Volker/McChesney Award, to be presented during the]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Everyone is invited to submit nominations for the Volker/McChesney Award, to be presented during the Opening Banquet on Friday evening.</p>
<p>This award recognizes a fan or group of fans for their contribution to the fan community.  Past winners include the late Beverly Volker, Marty Gear, the Boogie Knights, Martha Bonds-Sayre and the USS Chesapeake.  Previous winners and current members of the Farpoint committee are not eligible for the award.</p>
<p>Please submit your nomination to us at FarpointEnt@comcast.net.  Please include a short summary of your nominee&#8217;s activities and why you feel they have made a contribution to fandom.</p>
<p>Fandom is made up of many unsung heroes who make positive contributions regularly.  Here&#8217;s a chance to have your favorite fan recognized!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[O'Reilly - Designing Enterprise Applications with Java 2 Platform, Enterprise Edition]]></title>
<link>http://cuddlyconcepts.com/2009/12/02/oreilly-designing-enterprise-applications-with-java-2-platform-enterprise-edition/</link>
<pubDate>Wed, 02 Dec 2009 02:02:57 +0000</pubDate>
<dc:creator>siocowiz</dc:creator>
<guid>http://cuddlyconcepts.com/2009/12/02/oreilly-designing-enterprise-applications-with-java-2-platform-enterprise-edition/</guid>
<description><![CDATA[Free ebook download Designing Enterprise Applications with Java 2 Platform, Enterprise Edition Descr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Free ebook download</p>
<p>Designing Enterprise Applications with Java 2 Platform, Enterprise Edition<br />
<img src="http://cuddlyconcepts.wordpress.com/files/2009/12/designing-enterprise-applications-with-java-cuddlyconcepts-com.jpg" alt="Book Cover" /></p>
<p><strong>Description</strong></p>
<blockquote><p>The Java 2 Platform, Enterprise Edition, offers enterprise developers a simplified, component-based approach to creating applications for both intranets and the Internet. Created by the Enterprise Team of the Java Software group at Sun Microsystems, Designing Enterprise Applications with the Java(tm) 2 Platform, Enterprise Edition describes the application configurations supported by the J2EE platform and presents practical guidelines for determining the best design for particular needs. It explores web-based clients based on Java servlets and Java ServerPages, middle-tier solutions using Enterprise JavaBeans technology, and backend connections based on JDBC technology. It also presents security, deployment, transaction management, and other key issues for today&#8217;s applications. Using both smaller code samples and a full-scale e-commerce example, this book provides concrete guidelines to assist with mastering the features and benefits of the J2EE platform. Chapters include: An introduction to the J2EE platform and several scenarios for Internet and intranet applications built on the J2EE platform An in-depth discussion of the technologies provided by the J2EE platform How to create Web-based applications implemented with Java servlets and JavaServer Pages technologies How to implement the middle tier of J2EE applications using Enterprise JavaBeans component technology How to connect new J2EE applications to existing information systems using JDBC and other technologies A discussion of packaging and deploying applications for the J2EE platform Information on techniques, both automatic and programmatic, for managing transactions An in-depth exploration of the security features provided by the J2EE platform A complete hands-on example of an e-commerce application&#8211;the Java Pet Store Demo&#8211;written using these design guidelines A glossary of terms used in discussing the Java 2 Platform, Enterprise Edition and its technologies</p></blockquote>
<p><strong>Download</strong><br />
<a href="http://91325503.linkbucks.com">Megaupload</a><br />
<a href="http://58af4d7d.linkbucks.com">Hotfile</a><br />
<strong>Password: cuddlyconcepts</strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[You must fail before you can succeed!]]></title>
<link>http://codeforfun.wordpress.com/2009/12/01/you-must-fail-before-you-can-succeed/</link>
<pubDate>Wed, 02 Dec 2009 01:28:44 +0000</pubDate>
<dc:creator>Cliff</dc:creator>
<guid>http://codeforfun.wordpress.com/2009/12/01/you-must-fail-before-you-can-succeed/</guid>
<description><![CDATA[If you try to fail and you succeed, which have you actually done? Are you a success? Or a failure? I]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>If you try to fail and you succeed, which have you actually done? Are you a success? Or a failure? Is it good to be a failure? Is it better to be successful at failure? Let&#8217;s add detail to the question. By the way, I&#8217;m Cliff. You&#8217;re here because you tried to fail and you succeeded. Today&#8217;s topic is something I&#8217;ve visited before. It&#8217;s a new thing I&#8217;m trying with unit tests. Actually it&#8217;s an old thing to many but I&#8217;m trying it for the first time in both C++ and ObjC so it feels sorta new-ish.</p>
<p><strong>How do you unit test?</strong><br />
Let&#8217;s start with how you unit test. What are your steps? What are the recommended steps? In order to be successful at TDD you must appreciate the entirety of the practice. It goes, &#8220;Red, Green, Refactor&#8221;. Red comes before Green, just like with traffic lights. What I&#8217;m saying is that you have to begin with a failing test. The first test is important. The first failure should describe what work you have to do. In my case, I&#8217;m swimming in un-ventured waters (C++/ObjC++ testing) so there&#8217;s some learning that needs to be re-enforced. Here&#8217;s how I&#8217;ve been starting my tests recently:</p>
<pre class="brush: plain;">
//
//  MyCoolNewObjectTest.m
//  Created by cliftoncraig07 on 12/1/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import &#60;SenTestingKit/SenTestingKit.h&#62;
#include &#34;MyCoolNewObject.h&#34;

@interface MyCoolNewObjectTest : SenTestCase
{
  MyCoolNewObject *coolObject;
}
@end

@implementation MyCoolNewObjectTest

-(void) setUp
{}

@end
</pre>
<p>The test shell is completely empty except for references to the &#8220;thing&#8221; I&#8217;m about to create. I get my first failure which is a compile error stating that this thing does not exist. &#8220;No such file error&#8230;&#8221; around the include. Here I have an opportunity to review my design as minimalist as it is. I ask, &#8220;Does the error make sense? Is it expected? Do I like the name of this cool new thing I&#8217;m creating? Is it specific to the task I&#8217;m assigned to?&#8221; Always review each error with these question. After creating the files for the new &#8220;thing&#8221; I then follow up with:</p>
<pre class="brush: plain;">
//
//  MyCoolNewObjectTest.m
//  Created by cliftoncraig07 on 12/1/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import &#60;SenTestingKit/SenTestingKit.h&#62;
#include &#34;MyCoolNewObject.h&#34;

@interface MyCoolNewObjectTest : SenTestCase
{
  MyCoolNewObject *coolObject;
}
@end

@implementation MyCoolNewObjectTest

-(void) setUp
{ STFail(@&#34;You must fail before you can succeed!&#34;); }

@end
</pre>
<p>Also important, while I train myself on the new testing framework, because I need to catch myself misnaming the &#8220;setup&#8221; method which should have a capital &#8220;U&#8221;. It also lets me know that my test is actually running as part of the suite. Far too often, in Xcode, I&#8217;ll have the wrong target active and begin writing the wrong code because I was getting false positives from tests that were never run. Here&#8217;s where it gets interesting. The STFail in the above example does not fail! Now we face our original question, if you try to fail, as we have above, and you succeed like our test suite will do here, which have you actually done? The first time I hit the unexpected success I got nervous and read all around the SenTesting framework and OCUnit. Eventually I settled on the conclusion that because there were no tests to run the setUp was being optimized away as unnecessary. What the above example is pointing out is that such a test case can never fail since there are no tests. That leads us to our final step&#8230;</p>
<pre class="brush: plain;">
//
//  MyCoolNewObjectTest.m
//  Created by cliftoncraig07 on 12/1/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import &#60;SenTestingKit/SenTestingKit.h&#62;
#include &#34;MyCoolNewObject.h&#34;

@interface MyCoolNewObjectTest : SenTestCase
{
  MyCoolNewObject *coolObject;
}
@end

@implementation MyCoolNewObjectTest

-(void) setUp
{ STFail(@&#34;You must fail before you can succeed!&#34;); }

-(void) testSomething
{}

@end
</pre>
<p>&#8230;and here we get our familiar red bar! Our test case is complete and we now understand a little more about OCUnit. That&#8217;s it for today. Go on. Nothing else to see here. I know what you&#8217;re thinking. &#8220;We haven&#8217;t written or learned anything new!&#8221; Sure we have! We&#8217;ve written and validated our first test case in ObjC++. (I&#8217;m using OCUnit w/ C++ extensions to exercise or test drive C++ code.) The little amount we went over here is persistent through all the testing you will do from then on. It starts from the basic mechanics. Make sure every line of code is proceeded by some test (or compiler) failure. If you&#8217;ve done more than 2-3 things and haven&#8217;t run a build to generate a failure then you&#8217;re completely off track.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[... Orientation Changes]]></title>
<link>http://skeniver.wordpress.com/2009/12/02/orientation-changes/</link>
<pubDate>Wed, 02 Dec 2009 00:41:43 +0000</pubDate>
<dc:creator>skeniver</dc:creator>
<guid>http://skeniver.wordpress.com/2009/12/02/orientation-changes/</guid>
<description><![CDATA[When I released my first app, the whole concept of Android&#8217;s orientation changes scared me. So]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>When I released my first app, the whole concept of Android&#8217;s orientation changes scared me. So I set it so that it would only work in portrait mode, by specifying the no sensor option in the manifest.</p>
<p>This worked fine for about a month when someone emailed me and told me that when they opened the keyboard of the G1, the app was kicking them out! <span style="background-color:#ffffff;">After a little investigation, I found that opening a keyboard overrides any sensor checks I had put in. God only knows how many people had downloaded the app and uninstalled it straight away because they wanted to use the keyboard. But I quickly released a work around that at least showed an error message when this happened.</span></p>
<p><span style="background-color:#ffffff;">I also then realised that I was selling my app short by limiting it. An application shouldn&#8217;t refuse to make use of a phones capabilities, without good reason!</span></p>
<p>So it was time to set things straight! Get back on my keyboard and make right the injustice on my own work!</p>
<p>So for anyone who is interested in my solution, here it is (it wasn&#8217;t that hard in the end&#8230;):</p>
<p>First thing I did, was create a couple of integer variables to track how the phone was setup to begin with:</p>
<pre><span style="color:#0000ff;">int orientation, keyboard;</span></pre>
<p>And you will want to assign them in the onCreate method:</p>
<pre><span style="color:#0000ff;">orientation = getResources().getConfiguration().orientation;
<span style="background-color:#ffffff;">keyboard = getResources().getConfiguration().hardKeyboardHidden;<span style="background-color:#ffffff;color:#000000;font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;"> </span></span></span></pre>
<p>Now when the orientation changes (or when the keyboard opens, even if it&#8217;s in landscape already), Android stops the activity and creates it again&#8230; So you need to override the onStop method:</p>
<pre><span style="color:#0000ff;">@Override</span>
<span style="color:#0000ff;">public void onStop() {</span>
<span style="color:#0000ff;">super.onStop();</span>
<span style="color:#0000ff;">}</span></pre>
<p>Next you want to check whether the phones orientation or keyboard state have changed. So you add two simple if statements inside the onStop:</p>
<pre><span style="color:#0000ff;">if (getResources().getConfiguration().orientation == Global.orientation) {</span>
<span style="color:#0000ff;">if (getResources().getConfiguration().hardKeyboardHidden == Global.keyboard) {</span>
<span style="color:#0000ff;">finish();</span>
<span style="color:#0000ff;">onDestroy();</span>
<span style="color:#0000ff;">}</span>
<span style="color:#0000ff;">}</span></pre>
<p>So, when a user changes the orientation, the onStop will check to see if the orientation has changed. But bearing in mind that they could already be in landscape mode when they open the keyboard, if the orientation is the same, they keyboard may not be!</p>
<p>Now my app is designed to exit if the onStop is called for any other reason, but you can handle this however you fancy&#8230;</p>
<p>If you have any comments, questions or criticisms, please let me know!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ruby Wins Brownie Points]]></title>
<link>http://mtgap.wordpress.com/2009/12/01/ruby-wins-brownie-points/</link>
<pubDate>Wed, 02 Dec 2009 00:06:49 +0000</pubDate>
<dc:creator>Michael Dickens</dc:creator>
<guid>http://mtgap.wordpress.com/2009/12/01/ruby-wins-brownie-points/</guid>
<description><![CDATA[Today I learned that Ruby&#8217;s random number generator uses the Mersenne Twister, the greatest ps]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Today I learned that <a href="http://www.ruby-lang.org/en/">Ruby</a>&#8217;s random number generator uses the <a href="http://en.wikipedia.org/wiki/Mersenne_twister">Mersenne Twister</a>, the greatest pseudorandom number generator known to man &#8212; both faster and higher quality than the commonly-used <a href="http://en.wikipedia.org/wiki/Linear_congruential_generator">linear congruential generator</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Roadmap For Gonzales 0.02]]></title>
<link>http://namiezi.wordpress.com/2009/12/02/roadmap-for-gonzales-0-02/</link>
<pubDate>Tue, 01 Dec 2009 23:10:34 +0000</pubDate>
<dc:creator>rockiger</dc:creator>
<guid>http://namiezi.wordpress.com/2009/12/02/roadmap-for-gonzales-0-02/</guid>
<description><![CDATA[For version 0.02 I have the following features in mind: A simple help system, that shows you the mos]]></description>
<content:encoded><![CDATA[For version 0.02 I have the following features in mind: A simple help system, that shows you the mos]]></content:encoded>
</item>
<item>
<title><![CDATA[Le Fluffie Previews]]></title>
<link>http://skunkiebutt.wordpress.com/2009/12/01/le-fluffie-previews/</link>
<pubDate>Tue, 01 Dec 2009 23:04:39 +0000</pubDate>
<dc:creator>skunkiebutt</dc:creator>
<guid>http://skunkiebutt.wordpress.com/2009/12/01/le-fluffie-previews/</guid>
<description><![CDATA[(This blog seems to cut my pix in half, if you want, just right click &gt; copy image location to se]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>(This blog seems to cut my pix in half, if you want, just right click &#62; copy image location to see the whole pic)<br />
Note: Some things I did not take a picture of:<br />
GPD Viewer (for analysis)<br />
Xbox Music Viewer<br />
HDD Game Viewer<br />
And a few other tidbits ^_^</p>
<p>Main Menu:<br />
<img class="aligncenter" title="Main Menu" src="http://img138.imageshack.us/img138/4637/mainmenu.jpg" alt="" width="1019" height="827" /></p>
<p>FATX Explorer (Image is cut off, can read STFS names and profile GT&#8217;s):<br />
<img class="aligncenter" title="FATX" src="http://img248.imageshack.us/img248/6072/fatx.jpg" alt="" width="697" height="519" /></p>
<p>Package Creation:<br />
<img class="aligncenter" title="Package Creation" src="http://img34.imageshack.us/img34/8430/packagecreationmain.jpg" alt="" width="552" height="616" /></p>
<p>STFS Contents:<br />
<img alt="" src="http://img34.imageshack.us/img34/4534/stfsexplorer1.jpg" title="STFS Contents" class="aligncenter" width="510" height="718" /></p>
<p>Security Stuffs:<br />
<img alt="" src="http://img207.imageshack.us/img207/9959/security.gif" title="Security" class="aligncenter" width="485" height="693" /></p>
<p>Profile Main:<br />
<img alt="" src="http://img697.imageshack.us/img697/896/profilemain.jpg" title="Profile Main" class="aligncenter" width="484" height="692" /></p>
<p>Profile Achieves:<br />
<img alt="" src="http://img340.imageshack.us/img340/7199/achieves.jpg" title="Achievements" class="aligncenter" width="510" height="716" /></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
