<?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:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4604011709908623764</id><updated>2012-02-28T09:36:47.019+11:00</updated><category term='Me'/><category term='Environment'/><category term='Artificial Intelligence'/><category term='Games and puzzles'/><category term='History'/><category term='Science Fiction'/><category term='Writing'/><category term='Computer Science'/><category term='Management'/><category term='Technology'/><category term='Science'/><category term='Society'/><title type='text'>Resistance is futile</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default?start-index=101&amp;max-results=100'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>129</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-216620296242618649</id><published>2012-02-28T09:36:00.000+11:00</published><updated>2012-02-28T09:36:47.029+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>It's a matter of Faith</title><content type='html'>Yesterday, a friend of mine who defines himself as a creation-believing-Christian suggested that I attend a lecture titled &lt;i&gt;Creation: The Missing Link&lt;/i&gt;.&amp;nbsp; I couldn't resist replying with a tirade against Creationism.&amp;nbsp; Here it is.&lt;br /&gt;&lt;br /&gt;The results in Molecular Biology have demonstrated beyond any reasonable doubt that evolution is sufficient to explain the variety of species that exist (or have gone extinct).&amp;nbsp; Last December, I read a very detailed and documented book that demonstrates just that: &lt;a href="http://www.seanbcarroll.com/books/The_Making_of_the_Fittest/" target="_blank"&gt;The Making of the Fittest - DNA and the ultimate forensic record of evolution&lt;/a&gt;, by Sean B. Carroll ().&lt;br /&gt;&lt;br /&gt;Faith and Science are two different things.&amp;nbsp; Creationism and Intelligent Design can explain everything.&amp;nbsp; I know.&amp;nbsp; But the best proofs they can count on are tautological.&lt;br /&gt;&lt;br /&gt;Peer-reviewed published Science is not infallible, but when the body of evidence grows over decades and no measure, experiment, or discovery invalidates a theory, the probability that the theory is false vanishes.&amp;nbsp; Relativity, for example, is a theory and, as such, it could be refined in future, exactly as Relativity itself refined Newtonian Mechanics.&amp;nbsp; But, after so many confirmations, it cannot ever be invalidated, exactly as Newtons theories have not been.&lt;br /&gt;&lt;br /&gt;The Global Positioning System only works because the clocks on the satellites are adjusted to take into account Relativity.&amp;nbsp; The Cosmological Constant introduced and then repudiated by Einstein to avoid divergence of his formulae has been re-introduced to be able to avoid contradiction with the fact that the universe is expanding at an accelerated rate.&amp;nbsp; Dark Energy and the Cosmological Constant are ad-hoc solutions to explain (without actually explaining anything) the expansion of the universe.&amp;nbsp; This is a clear indication the Relativity as we know it is part of a more general theory that will explain the universe without fudging the formulae.&amp;nbsp; But that doesn't invalidate Relativity at all.&lt;br /&gt;&lt;br /&gt;All theories go through successive refinements and generalisations.&lt;br /&gt;&lt;br /&gt;Another "fudge" in Science that I know of is the "renormalisation" used in Quantum Field Theory to get rid of infinities (a bit like saying that 0/0 = 1!).&amp;nbsp; Again, it means that the theory will probably be refined in future (unless it becomes a particular case of a more general theory that doesn't need renormalisation).&amp;nbsp; Meanwhile, Quantum Theory has explained to us semiconductors, superconductivity, superfluidity, and a host of other useful stuff.&lt;br /&gt;&lt;br /&gt;Evolution is yet another theory and, like Newtonian Mechanics, Relativity, and Quantum Mechanics, will probably be refined in future.&amp;nbsp; But meanwhile, it explains the diversity of Nature without need for any external intervention.&amp;nbsp; And the aim of any explanation must be to be parsimonious: don't do anything more than necessary to achieve a certain result.&amp;nbsp; The fewer the ad-hoc factors invoked to explain something, the better (Occam's Razor).&lt;br /&gt;&lt;br /&gt;This does not (and I don't see why it should) prevent you from believing that the laws of Physics are what they are because Somebody invented them and then set the universal constants exactly to the value they currently have.&amp;nbsp; But, as I said, it is then a matter of Faith, not of Science.&lt;br /&gt;&lt;br /&gt;Sometimes (but very very very seldom!&amp;nbsp; ;-)&amp;nbsp; I wish I believed in God.&amp;nbsp; I know it can be of great help.&amp;nbsp; But I don't believe, and don't think I ever will (although, obviously, the future cannot be really predicted...)&lt;br /&gt;&lt;br /&gt;My wife is reading the book "Religion for Atheists", written by the Philosopher Alain De Botton.&amp;nbsp; You can see an interview with him on the &lt;a href="http://www.abc.net.au/news/2012-02-21/atheist-alain-de-botton-points-out-religions/3843406" target="_blank"&gt;7.30 Report&lt;/a&gt;'s website.&amp;nbsp; She loves it, and I will also read it.&amp;nbsp; Although he is a staunched Atheist, he claims that we should respect Religion and try to learn from it, rather than dismiss it.&amp;nbsp; He says that Religion does certain thing very well and that we miss some of them in our modern secular world.&amp;nbsp; I just watched the interview on the web and it is absolutely worth watching.&amp;nbsp; I strongly encourage you to do so.&amp;nbsp; Alain is not just brilliant and articulate.&amp;nbsp; He is also caring.&amp;nbsp; I can tell you this: if everybody thought like him, religious or atheist, I doubt that there would be any religious persecution in this world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-216620296242618649?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/216620296242618649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2012/02/its-matter-of-faith.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/216620296242618649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/216620296242618649'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2012/02/its-matter-of-faith.html' title='It&apos;s a matter of Faith'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-47183529381417442</id><published>2012-02-26T15:15:00.002+11:00</published><updated>2012-02-26T15:22:30.903+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Board Games</title><content type='html'>Years ago, I played some board games like Monopoly, Diplomacy, and  Halma.&amp;nbsp; But then, for whatever reason, I stopped.&amp;nbsp; Earlier this year, I  was talking with Glen of &lt;a href="http://mindgamescanberra.com/" target="_blank"&gt;Mind Games&lt;/a&gt; about numeric puzzles and he suggested that I attend Cancon 2012, Canberra's biggest gaming convention, organised by the &lt;a href="http://www.cgs.asn.au/" target="_blank"&gt;Canberra Games Society&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I was there all three days and looked at several games, like &lt;a href="http://www.boardgamegeek.com/geeksearch.php?action=search&amp;amp;objecttype=boardgame&amp;amp;q=carcassonne" target="_blank"&gt;Carcassonne&lt;/a&gt;, &lt;a href="http://www.boardgamegeek.com/geeksearch.php?action=search&amp;amp;objecttype=boardgame&amp;amp;q=dominion" target="_blank"&gt;Dominion&lt;/a&gt;, &lt;a href="http://www.boardgamegeek.com/geeksearch.php?action=search&amp;amp;objecttype=boardgame&amp;amp;q=tanto+cuore" target="_blank"&gt;Tanto Cuore&lt;/a&gt;, and &lt;a href="http://www.boardgamegeek.com/geeksearch.php?action=search&amp;amp;objecttype=boardgame&amp;amp;q=alien+frontiers" target="_blank"&gt;Alien Frontiers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I discovered that:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Some games, like Tanto Cuore and Alien Frontiers have very complex rules.&amp;nbsp; Certainly, they create an almost unlimited number of different situations.&amp;nbsp; But they also make it necessary to play quite a bit before becoming proficient and exploiting all possibilities.&amp;nbsp; Too many things to remember, especially for an impatient person like me.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All games have an element of randomness, realised by drawing cards, rolling dice, or picking tiles.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All games make possible to develop strategies to improve your chances of winning.&amp;nbsp; Sometimes it is realised by letting the players buy other cards (like in Dominion and Tanto Cuore).&amp;nbsp; Or by choosing between different playing options (like in Alien Frontiers), or deciding where to lay a tile (like in Carcassonne).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Most games hev extensions.&amp;nbsp; Their purpose clearly is twofold:&amp;nbsp; keep the game new and stimulating, and make more money for the game developer and publisher!&lt;/li&gt;&lt;/ol&gt;Pretty obvious, really.&amp;nbsp; The randomness gives you the thrill of the unexpected and, when you are not doing so well, the hope that a lucky turn of events will let you recover.&amp;nbsp; And the possibility of strategising lets you be, at least to a certain extent, in control of your own future.&amp;nbsp; You can perceive most victories as resulting from your shrewdness and most defeats as due to bad luck.&lt;br /&gt;&lt;br /&gt;Anyhow, the visit to the Convention made me itchy.&amp;nbsp; I wanted to buy a game and play it.&amp;nbsp; But they are so expensive, and none of them was completely right for me.&amp;nbsp; And my wife, who was going to be my most regular adversary, is even more choosy then me...&lt;br /&gt;&lt;br /&gt;I ended up not buying any game and deciding to develop one.&amp;nbsp; For one thing, I didn't want to have to learn thick manuals before being able to play.&lt;br /&gt;&lt;br /&gt;My first attempt was an abstract game named "Beeing About".&lt;br /&gt;&lt;br /&gt;You start with the following 112 tiles that you lay on a board.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;a href="http://4.bp.blogspot.com/-08lwaWk-5b8/T0mwLPsi-aI/AAAAAAAAAM8/hCzokl8nvQI/s1600/2012-02-26+13.00+Board+Games+0.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="http://4.bp.blogspot.com/-08lwaWk-5b8/T0mwLPsi-aI/AAAAAAAAAM8/hCzokl8nvQI/s640/2012-02-26+13.00+Board+Games+0.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The board consists of 169 hexagonal cells and 48 half-cell edges, arranged to form a large hexagon.&amp;nbsp; Half of the edges are marked to 'connect' the two adjacent cells.&amp;nbsp; Seven of the cells are 'crossroads' marked in such a way that all six sides are connected with each other:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/-p97fcdUNxgE/T0mwLw6RnTI/AAAAAAAAANA/QPThi4S_f3Y/s1600/2012-02-26+13.00+Board+Games+1.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="69" src="http://3.bp.blogspot.com/-p97fcdUNxgE/T0mwLw6RnTI/AAAAAAAAANA/QPThi4S_f3Y/s200/2012-02-26+13.00+Board+Games+1.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The game preparation is trivial:&amp;nbsp; Each player draws a number of tiles from the bag and places them face up on the table, where they are visible to all players.&amp;nbsp; The number of tiles drawn by each player is 6 with two players, 5 with three or four players, and 4 with five of six players.&lt;br /&gt;&lt;br /&gt;The whole rule book is as follows.&lt;br /&gt;&lt;br /&gt;Each player in turn plays a tile by laying it on one of the hexagons of the board.&amp;nbsp; For a play to be valid, the following rules must be respected:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The played tile must be in contact with at least one of the tiles that are already on the board. Alternatively, the tile can be laid adjacent to a crossroad cell, but only if the crossroad is already in contact with one or more tiles.&amp;nbsp; The only exception to this rule is when the first player plays his very first tile.&amp;nbsp; In that case, he lays the tile in contact with the crossroad in the middle of the board.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The paths of the played tile must continue the paths of the tiles (and possibly of a crossroad or an edge)&amp;nbsp; to which it comes into contact.&amp;nbsp; Note that the colours of the paths are different only to easily distinguish the tiles with different numbers of contact points.&lt;/li&gt;&lt;/ol&gt;Here are examples of correctly played tiles:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/-oJLbAlHhhHA/T0mwMlJBdhI/AAAAAAAAANM/k4Rk__PPyyo/s1600/2012-02-26+13.00+Board+Games+2.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://1.bp.blogspot.com/-oJLbAlHhhHA/T0mwMlJBdhI/AAAAAAAAANM/k4Rk__PPyyo/s400/2012-02-26+13.00+Board+Games+2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And here are examples of incorrectly laid tiles, because not all adjacent paths connect:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://4.bp.blogspot.com/-dsWcAGR0h2U/T0mwNuap-RI/AAAAAAAAANQ/c4dhjDOXTx0/s1600/2012-02-26+13.00+Board+Games+3.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="98" src="http://4.bp.blogspot.com/-dsWcAGR0h2U/T0mwNuap-RI/AAAAAAAAANQ/c4dhjDOXTx0/s320/2012-02-26+13.00+Board+Games+3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After laying a tile, a player draws a new tile from the bag, unless the bag has been emptied.&lt;br /&gt;&lt;br /&gt;If a player cannot lay any of his tiles, he can replace one or more of his tiles with tiles from the bag.&amp;nbsp; To do so, he places his tiles into the bag and gives it a good shake before drawing from it the same number of tiles.&amp;nbsp; This obviously means that, especially towards the end of the game, he could draw the same tiles he has just discarded.&amp;nbsp; If, after replacing tiles, the player still cannot play any of them, he sits his turn.&amp;nbsp; That is, a player can only exchange tiles once before each one of his turns, and only if he cannot play any of the tiles he is holding.&lt;br /&gt;&lt;br /&gt;Instead of exchanging tiles, a player can also decide to sit a turn.&amp;nbsp; If the bag is empty, the player obviously cannot exchange tiles and is forced to sit the turn.&lt;br /&gt;&lt;br /&gt;A tile can be laid on a crossroad cell, but only if its paths connect to the paths of all tiles adjacent to the crossroad.&lt;br /&gt;&lt;br /&gt;That's it.&lt;br /&gt;&lt;br /&gt;I played it a few times, and it turned out that strategising was not really possible, because the players couldn't plan beyond their second next move.&amp;nbsp; In Carcassonne, you draw a tile at a time, but the mix of tiles and their meaning make possible for you to roughly plan some moves ahead.&amp;nbsp; Carcassonne is a tile-laying game with very simple rules and very smartly designed.&amp;nbsp; That's why it is so successful.&lt;br /&gt;&lt;br /&gt;I could have worked on "Beeing About" and improve its strategising possibilities, but the game had another problem: it was too abstract.&amp;nbsp; The most successful new board games don't only tickle your intellect.&amp;nbsp; They also stimulate your imagination through nice sceneries and dazzling graphics.&amp;nbsp; And I suddenly had the urge to develop a successful board game.&lt;br /&gt;&lt;br /&gt;For the graphics, I will have to find a partner, but I feel that "Beeing About" is not so suitable anyway.&amp;nbsp; I am now working on a different game, based in space.&amp;nbsp; More about that in a future article.&amp;nbsp; For now, I shall only say that it also has a board of hexagonal cells.&amp;nbsp; Hexagons are much more exciting than squares or triangles.&amp;nbsp; Don't you agree?&lt;br /&gt;&lt;br /&gt;Before I end this article, here are some further reflections on the tiles of "Beeing About".&lt;br /&gt;&lt;br /&gt;I wanted to draw all possible combinations of connections between the sides of hexagons. The tiles with 1 point of contact (the black dead end) and with 2 (green) and 3 (blue) points do just that.&amp;nbsp; But if you carefully look at the tiles with 4 points of contact (red), you will notice that several of them are redundant.&amp;nbsp; In the game, the only thing that matters is the distribution of points of contacts on the edge of the hexagons.&amp;nbsp; How they are connected within the tile is irrelevant.&amp;nbsp; For example, the following three tiles:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--36UxHDt9V4/T0mwOEEL-CI/AAAAAAAAANY/GRNW0wrQb94/s1600/2012-02-26+13.00+Board+Games+4.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="56" src="http://4.bp.blogspot.com/--36UxHDt9V4/T0mwOEEL-CI/AAAAAAAAANY/GRNW0wrQb94/s200/2012-02-26+13.00+Board+Games+4.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;have the same points of contact among themselves.&amp;nbsp; And the following ones too:&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-xr32WW3oHGQ/T0mwO6N1H7I/AAAAAAAAANg/KG-Gi4InIUo/s1600/2012-02-26+13.00+Board+Games+5.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="56" src="http://1.bp.blogspot.com/-xr32WW3oHGQ/T0mwO6N1H7I/AAAAAAAAANg/KG-Gi4InIUo/s200/2012-02-26+13.00+Board+Games+5.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;and these:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DaFj8ixgZd4/T0mwPTneovI/AAAAAAAAANo/joFNY8T6H38/s1600/2012-02-26+13.00+Board+Games+6.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="56" src="http://4.bp.blogspot.com/-DaFj8ixgZd4/T0mwPTneovI/AAAAAAAAANo/joFNY8T6H38/s200/2012-02-26+13.00+Board+Games+6.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Only three combinations of four points of contacts are functionally distinct:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/-IAwqBpvk47Q/T0mwQMC8XBI/AAAAAAAAANw/CvjsXiIx8jY/s1600/2012-02-26+13.00+Board+Games+7.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="58" src="http://3.bp.blogspot.com/-IAwqBpvk47Q/T0mwQMC8XBI/AAAAAAAAANw/CvjsXiIx8jY/s200/2012-02-26+13.00+Board+Games+7.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It makes sense, because having four points of contacts means that you leave two of the six sides free.&amp;nbsp; And we know from the tiles with green paths that there are only three ways in which you can choose two sides...&lt;br /&gt;&lt;br /&gt;Similarly, the tiles with five points of contacts (magenta) are all functionally identical, because there is only one way of leaving a side of the hexagon free of contacts.&lt;br /&gt;&lt;br /&gt;But the different patterns looked nice...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-47183529381417442?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/47183529381417442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2012/02/board-games.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/47183529381417442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/47183529381417442'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2012/02/board-games.html' title='Board Games'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-08lwaWk-5b8/T0mwLPsi-aI/AAAAAAAAAM8/hCzokl8nvQI/s72-c/2012-02-26+13.00+Board+Games+0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3719884060719321823</id><published>2012-02-05T10:33:00.000+11:00</published><updated>2012-02-05T10:33:32.612+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Banks!</title><content type='html'>This morning, I saw an interesting advertisement in the window of a bank.&amp;nbsp; It offered an interest rate of 5.6% for a three-month term deposit (yes.&amp;nbsp; In Australia we have high interest rates. This is one of the reasons why people pump up the value of&amp;nbsp; the AUD by investing in it).&amp;nbsp; Then, on the same ad, with the figures well aligned, it offered to pay 5.10% for a six-month term deposit.&lt;br /&gt;&lt;br /&gt;Do you get it?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;5.6%&lt;br /&gt;5.10%&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;They expect the interest rates to decrease.&amp;nbsp; Therefore, they offer a lower interest rate for six months than for three months.&amp;nbsp; But, by writing 5.10 instead of 5.1, they make it look as if the interest rate for six months were higher than that for three months.&amp;nbsp; They play on the ignorance of people who see 10 greater than 6 even if it is after a decimal period.&lt;br /&gt;&lt;br /&gt;I hate banks...&amp;nbsp; Almost as much as insurances...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3719884060719321823?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3719884060719321823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2012/02/banks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3719884060719321823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3719884060719321823'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2012/02/banks.html' title='Banks!'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-674523950574099807</id><published>2012-01-26T09:46:00.000+11:00</published><updated>2012-01-26T09:46:44.376+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>US Troops</title><content type='html'>I was reading the article "The Strategist" in the current issue (Monday, Jan. 30, 2012) of Time Magazine and found some information that I would like to share.  As it is a small amount of data hidden inside a figure, I am confident I am not violating any copyright law (one cannot ever be careful enough these days...) &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I find it interesting because it answers the question: in which country are US troop present and how many?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Here is the list of troops presence (with the countries listed in no particular order):&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;&amp;gt; 50,000&lt;/b&gt;  U.S. (not surprisingly), Afghanistan (again, a well known fact), and Germany.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;1,000 .. 50,000&lt;/b&gt;  Spain, UK, Belgium, Italy, Turkey, Iraq, South Korea, Japan, Bahrain.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;100 .. 1,000&lt;/b&gt;  Australia, The Philippines, Thailand, Singapore, Saudi Arabia, Djibouti, Egypt, Greece, Portugal, Panama, Cuba (of course: Guantanamo), and Canada.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;b&gt;None&lt;/b&gt;  (at least, not officially ;-)  North Korea, Papua New Guinea, Malaysia, Iran, Albania, Belarus, Iceland, Eritrea, Somalia, Malawi, Swaziland, Lesotho, Namibia, Equatorial Guinea, Central African Republic, Benin, Burkina Faso, Guinea Bissau, Gambia, Western Sahara.&lt;/div&gt;&lt;div style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;All other countries have a presence of between 1 and 100 U.S. troops.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I thought: perhaps Time counted as troops the few marines attached to U.S. embassies.  But this is not the case because, according to &lt;a href="http://en.wikipedia.org/wiki/List_of_diplomatic_missions_of_the_United_States" target="_blank"&gt;Wikipedia&lt;/a&gt;, sixteen of the twenty countries that Time lists as not having any military presence do have a U.S. embassy (excluded are "the usual suspects": North Korea, Iran, Somalia, and Western Sahara).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This means that U.S. soldiers are present almost everywhere (101,000 further troops are at sea).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I find this amazing.  Don't you?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-674523950574099807?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/674523950574099807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2012/01/us-troops.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/674523950574099807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/674523950574099807'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2012/01/us-troops.html' title='US Troops'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7143598460223125890</id><published>2012-01-08T18:12:00.004+11:00</published><updated>2012-01-08T18:25:46.289+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><title type='text'>End-of-year Cleanup</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt;I should have published this story on January 1st, but better late than never.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.blogger.com/goog_985414377" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414377"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; As you perhaps know, I grew up in Rome (Italy).&amp;nbsp; On the last day of each  year, the busses stopped running a few hours before midnight and  retreated to their depots.&amp;nbsp; But it wasn't simply to give to drivers and  conductors the opportunity to celebrate the coming of the new year with  their families.&amp;nbsp; It was to ensure their safety. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.blogger.com/goog_985414374" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414374"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; Yes.&amp;nbsp; Their safety, because when I was a boy, it was a Roman tradition  to dispose of unwanted stuff by throwing it out of the window.&amp;nbsp;  Literally.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.blogger.com/goog_985414371" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414371"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; Why bring junk to the tip when you can simply throw it out?&amp;nbsp; Beside  being simpler and more economical, at a time when the majority of people  could not afford to buy a car, it was fun!&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/goog_985414368"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414368" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414368"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; Can you imagine the impact of an old easy chair when it hits the sidewalk after a "jump" from the fourth or the sixth floor?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.blogger.com/goog_985414365" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414365"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; You could throw out everything, including old sinks and toilet bowls,  with seat and all.&amp;nbsp; A walk in the early hours of the new year, before  the teams of garbage collectors started the thankless task of cleaning  up the streets, was a unique experience.&amp;nbsp; In some quarters you literally  had to walk in the middle of the street in order to negotiate your way  through.&amp;nbsp; At least, with all the broken glass and empty cans littering  the streets, there was no chance that a car would be around to hit you.&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/goog_985414362"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414362" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414362"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; I lived with my parents, sister, and grandmother, on the third floor of  &lt;a href="http://maps.google.it/maps?q=Via+Alessandria,+119,+Roma" target="_blank"&gt;Via Alessandria 119&lt;/a&gt;, just outside  the high wall that the Romans built around the city some two thousand  years ago.&amp;nbsp; It was quite central, and very near the place where the  troops of the Kingdom of Italy breached the wall on 20 September 1870 to  "liberate" Rome from the Vatican.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.blogger.com/goog_985414356" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_985414356"&gt;&lt;br style="font-family: inherit;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt; Anyhow, here is a nice snapshot of the street "borrowed" from Google's  street view.&amp;nbsp; You can see the entrance door and the windows. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.blogger.com/goog_985414351" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt; &lt;img border="0" height="588" src="http://3.bp.blogspot.com/-YV6jFrUNIac/TwlA2xUGf1I/AAAAAAAAAM0/kDt-w5d9RFw/s640/2012-01-08+12.13+End-of-year+Cleanup.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;From one of those windows, my family and I enjoyed the view of the "new-year dumping" and, sometimes, threw something away ourselves, although I don't remember that we ever got rid of very bulky items.&lt;br /&gt;&lt;br /&gt;One year, when I was between four and seven years old, we had a carton of persimmons who had become a bit too ripe.&amp;nbsp; Who knows why we had it, but I remember that at midnight of December 31st we used them to bombard a car that somebody, very imprudently, had left parked on the other side of our street.&amp;nbsp; The fruits were very soft, and I am sure that we didn't do any damage to the car, but I can only imagine what its owner must have thought when he saw it completely covered by a orangey sticky goo.&lt;br /&gt;&lt;br /&gt;I wouldn't do it now, and I cannot imagine (but don't know it) that Romans still throw rubbish out of the window on the last night of the year.&amp;nbsp; Still, at a time when very few families had a TV set or money to spend on fireworks, it was of great entertainment.&lt;br /&gt;&lt;br /&gt;Italy is much more civilised these days...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7143598460223125890?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7143598460223125890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2012/01/end-of-year-cleanup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7143598460223125890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7143598460223125890'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2012/01/end-of-year-cleanup.html' title='End-of-year Cleanup'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-YV6jFrUNIac/TwlA2xUGf1I/AAAAAAAAAM0/kDt-w5d9RFw/s72-c/2012-01-08+12.13+End-of-year+Cleanup.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-901830301915813581</id><published>2011-12-25T12:13:00.002+11:00</published><updated>2011-12-25T12:13:27.844+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><title type='text'>Montana, where are you?</title><content type='html'>This blog gave me two nice surprises for Christmas: the first visitor from Algeria and the first visitor from North Dakota.&lt;br /&gt;&lt;br /&gt;Now, I am only missing visitors from one of the United States: Montana.&lt;br /&gt;&lt;br /&gt;If any of you knows somebody who lives in Montana or happens to make a trip to the headwaters state and connects to the Internet, it would be nice to have the remaining US-state flag...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-901830301915813581?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/901830301915813581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/montana-where-are-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/901830301915813581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/901830301915813581'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/montana-where-are-you.html' title='Montana, where are you?'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-4087011294984910086</id><published>2011-12-25T11:08:00.000+11:00</published><updated>2011-12-25T11:08:05.443+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>DNA</title><content type='html'>Some days ago, I started reading the book "The Making of the Fittest" by Sean B. Carroll and I cannot put it down.&amp;nbsp; Finally, a book that explains how the study of DNA proves beyond any doubt that Darwin was right with his theory of evolution.&amp;nbsp; A clear and uncluttered explanation of how DNA works.&amp;nbsp; In fact, I like it so much that I will try to summarise it (!) here.&lt;br /&gt;&lt;br /&gt;DNA consists of a double chain (or "strand") of compounds called "Nucleotides" (although, to be precise, not all compounds called nucleotides are to be found in DNA).&amp;nbsp; A nucleotide (also called "Base") is a simple molecule with one or two dozen atoms.&amp;nbsp; Four bases exist: Adenosine (A), Cytidine (C), Guanosine (G), and Thymidine (T).&lt;br /&gt;&lt;br /&gt;Each base in a strand is linked via a Hydrogen bond to a base in the other strand: the As are linked with Ts and the Gs are linked with Cs.&amp;nbsp; That's how the two strands of DNA are kept together.&amp;nbsp; This means that for every A in one strand, there is a corresponding T in the other strand, for each C a G, for each G a C, and for each T an A.&amp;nbsp; Therefore, each strand contains the same information.&amp;nbsp; In other words, a DNA molecule contains the same information twice, once in each strand.&amp;nbsp; That's why you will find in the literature the description of DNA as consisting of "base pairs".&amp;nbsp; The Human DNA consists of about three billion base pairs.&lt;br /&gt;&lt;br /&gt;A "gene" is a sequence of about 1200 base pairs that contain the information to build a protein, and humans have something between 20,000 and 25,000 genes.&lt;br /&gt;&lt;br /&gt;A chromosome is only the name given to a portion of DNA.&amp;nbsp; That is, the fact that we have twenty-three chromosomes only tells you that our Genome (collective name for all our genes) is not contained in a single molecule of DNA but in a series of separate double-strands.&amp;nbsp; Chromosomes are important but, somehow, I don't find them very interesting, although, I might change my mind.&amp;nbsp; You can find a list of the number of genes and base pairs in each human chromosome here: http://en.wikipedia.org/wiki/Chromosome.&lt;br /&gt;&lt;br /&gt;When a cell wants to generate a protein (don't ask me when and why that happens), it "transcribes" the sequence of one of the DNA strands of the corresponding gene into a single strand of what is called "messenger RNA", or mRNA.&amp;nbsp; mRNA is a sequence of nucleotides similar to a DNA strand, and repeats the DNA sequence of the gene but with an A for each T, a C for each G, a G for each C, and a U (Uracil, another nucleotide) for each A.&lt;br /&gt;&lt;br /&gt;Proteins are chains of simpler compounds called "Amino Acids", which are quite simple molecules containing nitrogen.&lt;br /&gt;&lt;br /&gt;The cell "translates" the strand of mRNA into the corresponding protein, one amino acid at a time.&amp;nbsp; To do so, it scans the nucleotide sequence of the mRNA in groups of three, and each triplet (which is called a "codon") of nucleotides identifies a particular amino acid.&lt;br /&gt;&lt;br /&gt;Let's see: there are four different nucleotides in mRNA (A, C, G, and U).&amp;nbsp; Therefore, a group of three nucleotides can identify 4 x 4 x 4 = 64 amino acids.&amp;nbsp; In fact, there are only 20 amino acids (which is very convenient, because they can be identified by a single letter of the alphabet, as shown in http://en.wikipedia.org/wiki/Aminoacid).&amp;nbsp; This means that several triplets of nucleotides identify the same amino acid.&amp;nbsp; Note that pairs of nucleotides (instead of triplets) would have not been enough, because they could have only identified 4 x 4 = 16 amino acids.&amp;nbsp; In any case, there are also some codons that are used to "stop" a sequence.&amp;nbsp; When the molecule encounters a stop codon, it stops building up the protein.&lt;br /&gt;&lt;br /&gt;Obviously, as each gene has on average some 1200 bases and three bases are needed to identify an amino acid, the average protein contains 1200 / 3 = 400 amino acids.&lt;br /&gt;&lt;br /&gt;It turns out that about half of our DNA is "junk", left behind by genes that were no longer needed and have decayed due to natural mutation or resulting from the random duplications that often occur.&lt;br /&gt;&lt;br /&gt;As you might have heard, evolution is due to variations (i.e., DNA mutations), selection, and time.&amp;nbsp; DNA frequently mutates for various reasons (for example, when a nucleotide is replaced by a different one), but it can also happen that entire sequences of base pairs are either duplicated or lost.&amp;nbsp; If the "new" gene is viable, the corresponding protein sometimes turn out to be advantageous for the carriers of the mutated gene.&amp;nbsp; In those cases, if the gene is passed on to enough new members of the species, even a little advantage can, after enough time, cause a complete replacement of the "old" gene.&lt;br /&gt;&lt;br /&gt;Even minute advantages due to the presence (or absence) of a gene have, on the long run, significant effects.&amp;nbsp; Einstein (I believe) compared them to compound interest: even a small percentage, over many years, can result in substantial figures.&amp;nbsp; And evolutionary periods are measured in centuries and millennia, when not in millions of years.&lt;br /&gt;&lt;br /&gt;If the mutation is damaging, the same mechanism of natural selection "purges" the DNA.&amp;nbsp; That's how some genes have remained unchanged for, literally, billions of years and can be found in almost all species.&lt;br /&gt;&lt;br /&gt;It can also happen that, due to mutated environmental conditions, a particular gene ceases to be advantageous.&amp;nbsp; In those cases, natural selection no longer operates.&amp;nbsp; With time, as the gene mutates, there is no longer a mechanism to purge the DNA of those mutations that make the gene unviable.&amp;nbsp; As a result, eventually, all genes that cease to be advantageous decay and become irrelevant.&amp;nbsp; These fossil genes contribute to the junk base pairs in our DNA.&lt;br /&gt;&lt;br /&gt;The fact that genes disappear is a big blow to the proponents of "Intelligent Design".&amp;nbsp; Isn't it?&lt;br /&gt;&lt;br /&gt;There are genes that provide the material needed for our organs, and genes that regulate how those proteins are organised.&amp;nbsp; How these regulating genes do their job depends on a series of base-pair sequences in our DNA (called "Switches"), like a computer program depends on its parameters.&amp;nbsp; Changes in those switches can result in dramatic differences at the macroscopic level, because they also set things like the number of limbs.&lt;br /&gt;&lt;br /&gt;Fascinating!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-4087011294984910086?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/4087011294984910086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/dna.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4087011294984910086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4087011294984910086'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/dna.html' title='DNA'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-623700473918150300</id><published>2011-12-20T15:32:00.002+11:00</published><updated>2011-12-20T15:34:13.262+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Lacing Shoes</title><content type='html'>Almost one and a half years ago, I posted an article about how to fold toilet paper (&lt;a href="http://giuliozambon.blogspot.com/2010/07/toilet-paper-woes.html"&gt;Toilet paper woes&lt;/a&gt;).&amp;nbsp; Today, I would like to write about another simple task that often doesn't receive much attention (except by me, that is): how to lace shoes.&lt;br /&gt;&lt;br /&gt;After deciding to write about this neglected subject, I discovered a great website entirely dedicated to the different techniques for lacing up shoes: &lt;a href="http://www.fieggen.com/shoelace/lacingmethods.htm"&gt;Ian's Shoelace Site&lt;/a&gt;.&amp;nbsp; Very thorough a professional.&lt;br /&gt;&lt;br /&gt;Perhaps not surprisingly, the discovery of Ian's site didn't deter me from writing here my reflections on the subject.&amp;nbsp; Ian shows diagrams for 36 different ways to lace shoes, but I will concentrate on the three methods that, as far as I can see, are used by the vast majority of people.&lt;br /&gt;&lt;br /&gt;Here is the first method, in which one side of the lace spirals through all eyelets and the other side goes through to one of the two top holes:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UQ-DevS_Lf4/TvAOEOU-t2I/AAAAAAAAAMU/Ye1FwEcPuBw/s1600/2011-12-20+15.00+Lacing+Shoes+0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-UQ-DevS_Lf4/TvAOEOU-t2I/AAAAAAAAAMU/Ye1FwEcPuBw/s320/2011-12-20+15.00+Lacing+Shoes+0.jpg" width="223" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The advantage of this method is that, if the two sides can come close together, the loops are parallel to each other.&amp;nbsp; This appeals to many, and I have often found that this method is applied by salespeople.&amp;nbsp; Perhaps they do it because, with this method, you don't need to count holes.&lt;br /&gt;&lt;br /&gt;I hate this method.&amp;nbsp; After a while, it tends to skew the holes, as one  of the bottom ones is strongly pulled towards the top.&amp;nbsp; It is also  somewhat more difficult to open up the shoe, and the side of the lace  that loops through tends to remain loose in the middle.&amp;nbsp; Besides, I like  symmetry.&lt;br /&gt;&lt;br /&gt;One variation of this method is as follows:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xzjZ1LQm-Co/TvAOFpbSzaI/AAAAAAAAAMc/pS8YWSoEnY0/s1600/2011-12-20+15.00+Lacing+Shoes+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-xzjZ1LQm-Co/TvAOFpbSzaI/AAAAAAAAAMc/pS8YWSoEnY0/s320/2011-12-20+15.00+Lacing+Shoes+1.jpg" width="211" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id="goog_273186679"&gt;&lt;/span&gt;&lt;span id="goog_273186680"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see, both sides loop through each second pair of holes.&amp;nbsp; The loops remain parallel in front, while the skewing effect is significantly reduced.&amp;nbsp; But I still don't like it, because it remains asymmetrical and (don't ask me why) somewhat unnatural.&lt;br /&gt;&lt;br /&gt;The third method I would like to show you is completely symmetrical.&amp;nbsp; Here it is:&lt;br /&gt;&lt;span id="goog_273186695"&gt;&lt;/span&gt;&lt;span id="goog_273186696"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-SXOzsvfgtfk/TvAOGXaen_I/AAAAAAAAAMk/J1kjDS9n5oo/s1600/2011-12-20+15.00+Lacing+Shoes+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-SXOzsvfgtfk/TvAOGXaen_I/AAAAAAAAAMk/J1kjDS9n5oo/s320/2011-12-20+15.00+Lacing+Shoes+2.jpg" width="157" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;In the example shown, the lace always go through the eyelets from the  outside to the inside.&amp;nbsp; This is in fact a variation of the most common  technique, in which the lace starts from the inside and always go  through from the inside to the outside.&amp;nbsp; The result is a zip-like  pattern that is quite pleasing.&amp;nbsp; Like in the previous cases, it doesn't  require you to count the holes.&amp;nbsp; But it has two disadvantages.&amp;nbsp; The  first one is that you cannot bring the two sides of the shoe completely  together.&amp;nbsp; It is not a problem in the example, but I had sometimes shoes  in which the two sides even overlapped.&amp;nbsp; The second disadvantage is  that the two sides of the lace rub against each other, thereby making it  somewhat more difficult to open and close the shoe.&lt;/div&gt;&lt;br /&gt;The  final method is the one that I consistently use.&amp;nbsp; Although, for the  best effect, it requires you to count the holes (in, out, in, ...), it  represents in my opinion the most pleasing solution in terms of  symmetry, low friction, and applicability.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-crA5tERLzQw/TvAOHYFRrLI/AAAAAAAAAMs/HmBYGmAPb30/s1600/2011-12-20+15.00+Lacing+Shoes+3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-crA5tERLzQw/TvAOHYFRrLI/AAAAAAAAAMs/HmBYGmAPb30/s320/2011-12-20+15.00+Lacing+Shoes+3.jpg" width="183" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span id="goog_273186703"&gt;&lt;/span&gt;&lt;span id="goog_273186704"&gt;&lt;/span&gt;&lt;br /&gt;It is also nice to see the Xs formed by the laces inside.&amp;nbsp; Or not?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-623700473918150300?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/623700473918150300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/lacing-shoes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/623700473918150300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/623700473918150300'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/lacing-shoes.html' title='Lacing Shoes'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-UQ-DevS_Lf4/TvAOEOU-t2I/AAAAAAAAAMU/Ye1FwEcPuBw/s72-c/2011-12-20+15.00+Lacing+Shoes+0.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5701961976010581872</id><published>2011-12-20T12:18:00.001+11:00</published><updated>2011-12-20T12:19:02.691+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>A Puzzling year indeed</title><content type='html'>In yesterday's article, I forgot to say that in 2011 I also developed a &lt;a href="http://giuliozambon.blogspot.com/2011/11/you-can-buy-calcudoku-for-ipad.html"&gt;CalcuDoku-solving game for the iPad&lt;/a&gt; (search iTunes for CalcuDokus and you'll find it in your local iTunes store).&lt;br /&gt;&lt;br /&gt;I first made a $0.99 version with 100 puzzles, and then a free version with 17 puzzles and advertisements.&lt;br /&gt;&lt;br /&gt;Despite my attempts at getting some review sites to look at it, the results were quite disappointing.&amp;nbsp; Apple's AppStore is saturated with applications, and it has become very difficult to get noted.&amp;nbsp; Big games-developing companies systematically hit jackpots, but nanodevelopers like me have close to no chance.&lt;br /&gt;&lt;br /&gt;Far from me the idea that my application is exceptionally good and overlooked.&amp;nbsp; But I am pretty sure that a couple of years ago, it would have sold reasonably well.&amp;nbsp; So, why did I wait for 2011 and a saturated market before developing for the iPhone/iPad?&amp;nbsp; Because I am stupid.&amp;nbsp; That's why.&amp;nbsp; I did the same with the Web: in the early nineties, instead of being one of the first web developers on the market, I developed an application for the Mac (&lt;a href="http://giuliozambon.org/macdos/"&gt;MacDOS&lt;/a&gt;) that went nowhere.&lt;br /&gt;&lt;br /&gt;Another missed opportunity...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5701961976010581872?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5701961976010581872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/puzzling-year-indeed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5701961976010581872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5701961976010581872'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/puzzling-year-indeed.html' title='A Puzzling year indeed'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5085339858692839564</id><published>2011-12-19T21:41:00.003+11:00</published><updated>2011-12-19T21:45:54.250+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>A Puzzling Year</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s1600/2011-04-24+17.10+Sudoku+Programming+01.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;This has been a year during which I have concentrated on developing puzzles and writing about it.&amp;nbsp; I had always been interested more in developing programs to generate and solved numeric puzzles than to solve the puzzles themselves.&amp;nbsp; Towards the end of 2010, I finally dedicated myself to it.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s1600/2011-04-24+17.10+Sudoku+Programming+01.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s200/2011-04-24+17.10+Sudoku+Programming+01.png" width="131" /&gt;&lt;/a&gt;&lt;br /&gt;The first thing I did was to write two programs to generate and solve Sudoku Classic puzzles.&amp;nbsp; I also added to the Generator the code necessary to create pattern Sudokus (i.e., puzzles in which the initial clues are arranged in a pre-determined way).&amp;nbsp; Once I was done with Sudoku Classics, I wrote a program to combine five pattern Sudokus into a Samurai Sudoku puzzle.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s1600/2011-04-24+17.10+Sudoku+Programming+01.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;&lt;br /&gt;This work on Sudoku resulted in my first puzzle book, &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/sudoku_programming/"&gt;Sudoku Programming&lt;/a&gt;, which I self published at the beginning of April.&amp;nbsp; 365 pages of strategy explanations, walk-throughs of "C" code, and examples.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--j2DQVlqJlg/TeHkb5kEeSI/AAAAAAAAAI4/oR5b0m2gCPQ/s1600/2011-05-29+11.59+Sudoku+Explained+01.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/--j2DQVlqJlg/TeHkb5kEeSI/AAAAAAAAAI4/oR5b0m2gCPQ/s200/2011-05-29+11.59+Sudoku+Explained+01.png" width="132" /&gt;&lt;/a&gt;&lt;/div&gt;Shortly after that, I thought that a book describing in detail the strategies to solve Sudoku Classic puzzles could be useful, and wrote &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/sudoku_explained/"&gt;Sudoku Explained&lt;/a&gt;, a booklet of 94 pages that I published at the end of May.&amp;nbsp; I offered it to the game shop &lt;a href="http://www.mindgamescanberra.com/"&gt;Mind Games&lt;/a&gt;, that has since sold some copies.&amp;nbsp; Forget what they say about eBooks.&amp;nbsp; In terms of satisfaction, nothing compares with seeing your printed books on the shelves of a physical, old fashion, shop.&lt;br /&gt;&lt;br /&gt;I had designed the head with the "Sudoku Brain" for my first book, and had the idea of placing small heads on the two sides of my name.&amp;nbsp; But, after flipping the small head to place on the right-hand side of the cover, given my perfectionism, I flipped each digit inside the brain back to its original direction, so that they could be read.&amp;nbsp; The devil is indeed in the details... &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XmzP7_qV0bc/Tu8BFQJUGcI/AAAAAAAAALs/PyjA1PLsIaE/s1600/front.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-XmzP7_qV0bc/Tu8BFQJUGcI/AAAAAAAAALs/PyjA1PLsIaE/s200/front.png" width="131" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;At that point, I decided that "C", after all, was less popular than Java, and decided to rewrite all my Sudoku programs in Java. This took a few months during the middle of the year.&amp;nbsp; After that, it seemed natural to rewrite "Sudoku Programming" for Java.&amp;nbsp; This time, I chose the more catchy title &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/sudoku_java/"&gt;How to Create Your Own Sudokus with Java&lt;/a&gt;.&amp;nbsp; I contacted some publishers and also some agents, but nobody was interested in publishing it.&amp;nbsp; They all claimed that it was a very difficult book to place.&amp;nbsp; As a result, once more, I decided to publish it myself.&lt;br /&gt;&lt;br /&gt;But while I was looking for a publisher for my Java book, I started working on another puzzle: CalcuDoku (see several recent articles in this blog).&lt;br /&gt;I developed a program to generate and solve CalcuDokus, but this time I decided not to write books that explain how the programs work.&amp;nbsp; Similarly to what I had done with Sudokus, I wrote a program to compose CalcuDokus into larger puzzles.&lt;br /&gt;&lt;br /&gt;Over the past couple of months, I have published three books of puzzles: &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/sudoku_hearts/"&gt;200 Puzzling Hearts&lt;/a&gt;, with 200 heart-patterned easy Sudokus, &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/sudoku_shamrocks/"&gt;200 Puzzling Shamrocks&lt;/a&gt;, with 200 difficult Sudokus patterned like four-leafed clover, and &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/double_calcudokus/"&gt;100 Double CalcuDokus&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-y59urmZO6Hk/Tu8Q9skYs7I/AAAAAAAAAL0/L1H0CVfTe2o/s200/2011-12-19+16.52+A+Puzzling+Year+4.png" width="132" /&gt;&amp;nbsp; &lt;img border="0" height="200" src="http://4.bp.blogspot.com/-pwZkGEvMNu8/Tu8Q_Iq97VI/AAAAAAAAAL8/738roXGNG-8/s200/2011-12-19+16.52+A+Puzzling+Year+5.png" width="132" /&gt; &amp;nbsp; &amp;nbsp; &lt;img border="0" height="200" src="http://1.bp.blogspot.com/-XRTsTEX3gZA/Tu8RAVfAxfI/AAAAAAAAAME/2DaiHwkwG2Y/s200/2011-12-19+16.52+A+Puzzling+Year+6.png" width="132" /&gt;&lt;br /&gt;&lt;br /&gt;I am currently publishing what is going to be my last puzzle book (at least, that's what I am thinking now): &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/samurai_calcudokus/"&gt;50 Samurai CalcuDokus&lt;/a&gt;.&amp;nbsp; This book has a larger format because the samurai puzzles are LARGE!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CPuqtZThfeU/Tu8TWFY5xFI/AAAAAAAAAMM/49QLdoJDkiM/s1600/2011-12-19+16.52+A+Puzzling+Year+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-CPuqtZThfeU/Tu8TWFY5xFI/AAAAAAAAAMM/49QLdoJDkiM/s200/2011-12-19+16.52+A+Puzzling+Year+7.png" width="196" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Next year, I will have to work on something else.&amp;nbsp; I confess that I feel a bit saturated with puzzle programming.&amp;nbsp; Perhaps, I will resume writing my historical novel &lt;a href="http://zambon.com.au/fiction/novels/ciao/"&gt;Ciao Biondina&lt;/a&gt;.&amp;nbsp; But also a crime novel or an alternate history might inspire me.&amp;nbsp; We shall see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5085339858692839564?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5085339858692839564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/this-has-been-year-during-which-i-have.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5085339858692839564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5085339858692839564'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/this-has-been-year-during-which-i-have.html' title='A Puzzling Year'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s72-c/2011-04-24+17.10+Sudoku+Programming+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7536130788649274553</id><published>2011-12-08T16:52:00.000+11:00</published><updated>2011-12-08T16:52:31.932+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Double CalcuDoku #2</title><content type='html'>I can now generate Double CalcuDokus with any overlapping, although, at  least for the time being, the overlapping region can only be a square.&amp;nbsp;  Here is an example of a 6x6 overlap:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PJibtGkyn5I/TuBOwjCE3bI/AAAAAAAAALU/q_od8CEawNI/s1600/2011-12-08+18.04+double+CalcuDoku+%25232+0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="588" src="http://4.bp.blogspot.com/-PJibtGkyn5I/TuBOwjCE3bI/AAAAAAAAALU/q_od8CEawNI/s640/2011-12-08+18.04+double+CalcuDoku+%25232+0.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I find puzzles with large overlaps more interesting. It makes it easier  to exploit the fact that the cells of each row and columns that are not  share must coincide.&amp;nbsp; For example, in the above example, the three  bottom cells of the middle column of the right puzzle include two  singles: a 4 and a 2.&amp;nbsp; This means that also the top three cells of the  same column must include a 4 and a 2.&amp;nbsp; As the 2-cell cage "9x" cannot  possibly contain an even digit, it means that the they must be in the  other two cells.&lt;br /&gt;&lt;br /&gt;And here is an example of a 7x7 overlap:&lt;br /&gt;&lt;br /&gt;&lt;span id="goog_893409670"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-TR6c0J2vT0A/TuBOxvrh0aI/AAAAAAAAALc/Zi5e6cogQD8/s1600/2011-12-08+18.04+double+CalcuDoku+%25232+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="590" src="http://2.bp.blogspot.com/-TR6c0J2vT0A/TuBOxvrh0aI/AAAAAAAAALc/Zi5e6cogQD8/s640/2011-12-08+18.04+double+CalcuDoku+%25232+1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The "edge effect" is particularly strong when the overlapping is 7x7, and makes the solution of the overall puzzle easier.&amp;nbsp; To keep the difficulty at a challenging level, I have therefore tweaked the configuration parameters and made the individual puzzles a bit more difficult.&amp;nbsp; Notice that in the above example there are three 5-cell cages and seven 4-cell cages.&lt;br /&gt;&lt;br /&gt;I have just published a book with one hundred puzzles:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qmJFAJr0Dko/TuBP1nRanAI/AAAAAAAAALk/H4_hmE2zzU8/s1600/2011-12-08+18.04+double+CalcuDoku+%25232+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-qmJFAJr0Dko/TuBP1nRanAI/AAAAAAAAALk/H4_hmE2zzU8/s1600/2011-12-08+18.04+double+CalcuDoku+%25232+2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can buy it in print from &lt;a href="http://www.lulu.com/product/paperback/100-double-calcudokus/18727342"&gt;Lulu&lt;/a&gt; for US$9.99 or in several eBook formats from &lt;a href="http://www.smashwords.com/books/view/112288"&gt;Smashwords&lt;/a&gt; for US$0.99.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7536130788649274553?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7536130788649274553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/double-calcudoku-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7536130788649274553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7536130788649274553'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/double-calcudoku-2.html' title='Double CalcuDoku #2'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-PJibtGkyn5I/TuBOwjCE3bI/AAAAAAAAALU/q_od8CEawNI/s72-c/2011-12-08+18.04+double+CalcuDoku+%25232+0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-893954781662373351</id><published>2011-12-02T18:04:00.001+11:00</published><updated>2011-12-02T18:05:21.486+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Double CalcuDoku</title><content type='html'>I imagine that you are familiar with the double Sudokus like the following one:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8dRuki2huTA/Tth3RmnHOyI/AAAAAAAAALE/p5DKD41rFiE/s1600/2011-12-02+22.52+double+CalcuDoku+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-8dRuki2huTA/Tth3RmnHOyI/AAAAAAAAALE/p5DKD41rFiE/s200/2011-12-02+22.52+double+CalcuDoku+1.png" width="199" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I though: wouldn't it be nice to make overlapping CalcuDokus?  Well, here is the first one I generated:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9hV6R0Emmaw/Tth3SZ0SuoI/AAAAAAAAALI/QyLqbBTEOdE/s1600/2011-12-02+22.52+double+CalcuDoku+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="588" src="http://2.bp.blogspot.com/-9hV6R0Emmaw/Tth3SZ0SuoI/AAAAAAAAALI/QyLqbBTEOdE/s640/2011-12-02+22.52+double+CalcuDoku+2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As you can see, I overlapped a 3x3 area. To explain how this works, I have coloured the puzzle, which is normally in B&amp;amp;W. The two squares are two normal CalcuDokus, but the green area belongs to both the yellow and the blue puzzles.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Notice that cages can cross the boundary.  For example, the right-side cell of the 2-cell cage "2:" belongs to both puzzles, while its left-side cell only belongs to the yellow puzzle.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As I don't like puzzles that admit multiple solutions, I ensured that the program delivers a unique solution.  The interesting thing with overlapping CalcuDokus is that they can overlap by any amount of rows and/or columns, while Sudokus, to maintain the integrity of the boxes, can only overlap by 3 or 6 rows and/or columns.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For the time being, my program only supports an overlapping of 3 rows and 3 column, but I am going to parameterise it.  Then problem is not in generating and solving the puzzle, but in displaying it.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Concerning the name to give to these puzzles, I thought that Niken would be a nice possibility.  This is because "Ni" means "two" in Japanese and KenKen (which is a registered trademark of Nextoy LLC) is much more widely known than CalcuDoku.  In any case, "CalcuDoku", as a name, is quite long on its own.  As "Ken" is a normal Japanese word (which, as you probably know, means "wisdom"), I don't believe that Nextoy could accuse me of infringing their trademark.  I could also call it KenTwo or TwoKen but, somehow, it doesn't seem right.  Also Kenni is not good.  What do you think?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-893954781662373351?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/893954781662373351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/double-calcudoku.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/893954781662373351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/893954781662373351'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/12/double-calcudoku.html' title='Double CalcuDoku'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-8dRuki2huTA/Tth3RmnHOyI/AAAAAAAAALE/p5DKD41rFiE/s72-c/2011-12-02+22.52+double+CalcuDoku+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-6805084433862904843</id><published>2011-11-26T22:52:00.000+11:00</published><updated>2011-11-26T22:52:32.595+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>KenKen and CalcuDoku</title><content type='html'>I found three websites that let you play daily KenKen (® Nextoy LLC) /CalcuDoku puzzles: &lt;a href="http://www.kenken.com/"&gt;kenken.com&lt;/a&gt;, &lt;a href="http://www.calcudoku.org/"&gt;calcudoku.org&lt;/a&gt;, and my website &lt;a href="http://zambon.com.au/puzzles/calcudoku/daily/"&gt;zambon.com.au&lt;/a&gt;. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;While the other two websites include puzzles of different sizes, and calcudoku.org also includes variants, my website only includes 9x9 puzzles.  KenKen and CalcuDoku are the same puzzle, but their implementation is done by different people.  Each implementation has a different feel and, on average, different levels of difficulty.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I know how my puzzles are developed, but, obviously, I have no idea what algorithms the other developers use.  I thought it would be interesting to identify some of the differences from a statistical point of view.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For this purpose, I analysed 10 puzzles taken from each website.  I know that 10 is too small a sample to make good statistics, but it was a lot of counting...&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Anyhow, what follows is a summary of what I came up with.  To avoid repeating the domain names, I will use K to identify kenken.com, Z for zambon.com.au, and C for calcudoku.org. ‘A’  indicates values obtained by averaging all.  The triplets of numbers indicate minimum, average, and maximum values.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Number of cages&lt;/b&gt;: K=[31, 33.2, 38]; Z=[32, 34.3, 37]; C=[33, 34.2, 35]; A=[32.0, 33.9, 36.7].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The average number of cages is for everyone around 34.  But it is interesting to note that K's spread is 7, Z's is 5, and C's only 2. This might indicate that, while K and Z do not set any limits to the number of cages, C determines the cages not completely as a result of random choices.  This might be consistent with the fact that C sometimes presents puzzles that have the cages arranged in particular patterns (although none of the puzzles I randomly picked belonged to that group).  It would be interesting to know what Patrick (C's developer) would have to say about this.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;With larger samples, I expect that Z's (i.e., my) number of cages would turn out to be normally (i.e., randomly) distributed.  Actually, as I generate the puzzles, I don't need to do the counting, because the computer automatically lists for the number of cages.  I can check it out right now.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;...&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;It turns out that the number of cages calculated for 100 Z's puzzles is [32, 34.83, 38].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The following image shows how the normal distribution (the magenta squares) fits to the measured values (the blue diamonds; these are the default of Excel and I didn't bother to change them).  The vertical bars represent a standard deviation from the normally distributed values. In other words, if the distribution reflects reality, there is a 68.2% probability for each measurement to fall within the bars. At the very least, the plot confirms that the number of cages in my puzzles is not in disagreement with a normal distribution. I confess I would have been shocked if it had not been so, because the distribution is the result of several [pseudo]random choices...&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ohW86wKq2fQ/TtDRqPuhKUI/AAAAAAAAAK0/_87Xf7NFhFE/s1600/2011-11-26+21.33+KenKen+and+CalcuDoku+0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="408" src="http://3.bp.blogspot.com/-ohW86wKq2fQ/TtDRqPuhKUI/AAAAAAAAAK0/_87Xf7NFhFE/s640/2011-11-26+21.33+KenKen+and+CalcuDoku+0.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The following table summarises the counts of operation codes and cage sizes.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-96gOt9Un4xw/TtDRq07VQHI/AAAAAAAAAK8/jaAPikPENHg/s1600/2011-11-26+21.33+KenKen+and+CalcuDoku+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="313" src="http://4.bp.blogspot.com/-96gOt9Un4xw/TtDRq07VQHI/AAAAAAAAAK8/jaAPikPENHg/s640/2011-11-26+21.33+KenKen+and+CalcuDoku+1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;C has about 6 times the number of 1-cell cages that K and Z have, and half the number of 2-cell cages.&amp;nbsp; I will go out on a limb and say I believe that such differences are not due to statistical fluctuations within the samples.  C also seems to have fewer divisions (1.3 vs. 3.5 and 5.5) and more cages with more than 3 cells (6.4 vs. 3.1 and 3.9).  It seems reasonable to assume that the lower number of divisions (and perhaps subtractions) is due to the lower numbers of 2-cell cages.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;In general, I have the impression that C's puzzles are more difficult than those of K and Z, and it seems reasonably safe to assume that the higher number of large cages is a contributing factor.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To deduce more from such a small sample would be inappropriate.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-6805084433862904843?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/6805084433862904843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/11/kenken-and-calcudoku.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6805084433862904843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6805084433862904843'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/11/kenken-and-calcudoku.html' title='KenKen and CalcuDoku'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ohW86wKq2fQ/TtDRqPuhKUI/AAAAAAAAAK0/_87Xf7NFhFE/s72-c/2011-11-26+21.33+KenKen+and+CalcuDoku+0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3123890622205056345</id><published>2011-11-13T21:33:00.000+11:00</published><updated>2011-11-13T21:33:04.814+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><title type='text'>Catholic Church? No Thanks!</title><content type='html'>I just published with &lt;a href="http://smashwords.com/"&gt;Smashwords&lt;/a&gt; a short book titled &lt;a href="http://www.smashwords.com/books/view/104611"&gt;Catholic Church? No Thanks!&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It collects a series of short pieces about the Catholic Church that I wrote over a period of time. They describe some events that occurred to me and some of my reflections on how the Church operates. I was never a fervent Catholic, but this booklet explains some of the events that contributed to my Atheism.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Zf3FpQt9eeo/Tr-csGvo5uI/AAAAAAAAAKs/Hg46E-x5De0/s1600/2011-11-13+15.54+Catholic+Church+-+No+Thanks%2521+0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-Zf3FpQt9eeo/Tr-csGvo5uI/AAAAAAAAAKs/Hg46E-x5De0/s640/2011-11-13+15.54+Catholic+Church+-+No+Thanks%2521+0.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3123890622205056345?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3123890622205056345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/11/catholic-church-no-thanks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3123890622205056345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3123890622205056345'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/11/catholic-church-no-thanks.html' title='Catholic Church? No Thanks!'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Zf3FpQt9eeo/Tr-csGvo5uI/AAAAAAAAAKs/Hg46E-x5De0/s72-c/2011-11-13+15.54+Catholic+Church+-+No+Thanks%2521+0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2735214011164554436</id><published>2011-11-01T15:54:00.001+11:00</published><updated>2011-11-01T16:00:57.090+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>You can buy CalcuDoku for the iPad</title><content type='html'>My application to play CalcuDoku on the iPad is finally available in the iTunes App Store:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XyaGtYMMEF4/Tq97FVJ1chI/AAAAAAAAAKk/G72VMQHFa3o/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="512" src="http://4.bp.blogspot.com/-XyaGtYMMEF4/Tq97FVJ1chI/AAAAAAAAAKk/G72VMQHFa3o/s640/1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You can also check it out on &lt;a href="http://itunes.apple.com/us/app/calcudoku/id475018432?mt=8"&gt;itunes.apple.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What are you waiting for?&amp;nbsp; &lt;a href="http://planetsmilies.net/" title="happy smiley"&gt;&lt;img alt="http://planetsmilies.net/happy-smiley-567.gif" src="http://planetsmilies.net/happy-smiley-567.gif" style="vertical-align: top;" title="happy smiley" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2735214011164554436?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2735214011164554436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/11/you-can-buy-calcudoku-for-ipad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2735214011164554436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2735214011164554436'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/11/you-can-buy-calcudoku-for-ipad.html' title='You can buy CalcuDoku for the iPad'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-XyaGtYMMEF4/Tq97FVJ1chI/AAAAAAAAAKk/G72VMQHFa3o/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-8808539038690063354</id><published>2011-10-23T13:03:00.002+11:00</published><updated>2011-11-01T15:55:31.157+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Same-sex Marriage</title><content type='html'>Yesterday I talked about boat people.&amp;nbsp; Today, I feel compelled to write a short note about another issue that is being hotly debated in Australia.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All those who oppose same-sex marriage claim that their objections have nothing to do with religion.&amp;nbsp; This is obviously (at least to me) nonsensical.&amp;nbsp; The fact is that marriage is still seen by many as a “holy matrimony”, a union sealed by God.&lt;br /&gt;&lt;br /&gt;For me, to limit marriage to people of opposite sexes is an act of discrimination, as absurd as if there were the requirement of a minimum difference in weight or age or colour of the skin.&lt;br /&gt;&lt;br /&gt;In Australia, almost one third of people never marry and one third of marriages end up in divorce. Furthermore, there are more de-facto relationships than married couples.&amp;nbsp; The idea that marriage is one of the pillars of our society is therefore a bit outdated.&lt;br /&gt;&lt;br /&gt;A marriage is a contract.&amp;nbsp; It spells out duties and rights like any other contract.&amp;nbsp; As such, it should be accessible to everyone who accept some obligations in order to enter a recognised form of relationship.&lt;br /&gt;&lt;br /&gt;The discrimination against same-sex marriages is a relic of the past that should be disposed of without so much fussing about.&amp;nbsp; I understand the value of traditions, but marriage exclusively between a man and a woman should be confined to the history books exactly like the ius primae noctis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-8808539038690063354?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/8808539038690063354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/same-sex-marriage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8808539038690063354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8808539038690063354'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/same-sex-marriage.html' title='Same-sex Marriage'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-206229659809217675</id><published>2011-10-22T18:41:00.004+11:00</published><updated>2011-11-01T15:55:59.487+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Boat People</title><content type='html'>Every year, some thousand people are desperate enough to attempt the dangerous crossing from Indonesia to Australia on rickety boats.&amp;nbsp; They pay thousands of dollars to the unscrupulous operators who own the boats, in the hope that they will be allowed to remain in Australia as refugees.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most of them get recognition for their refugee status and, slowly and painfully, find their place in our society.&lt;br /&gt;&lt;br /&gt;Unfortunately, these people, who leave behind a life full of violence, abuse, and fear, have become a virtual ball that the two major Australian parties (Labour&amp;nbsp; and Liberal) play to score political points.&lt;br /&gt;&lt;br /&gt;In Australia, if you enter the country illegally (i.e., without a valid visa) and apply for refugee status, you are kept in detention until your application is processed.&amp;nbsp; This would be acceptable if the processing took, say, one month.&amp;nbsp; I am sure that everyone, after years of deprivation and a perilous journey, would be happy to relax for a short while in a comparatively comfortable place with plenty of food, clear water, and medical assistance.&amp;nbsp; I know I would.&lt;br /&gt;&lt;br /&gt;But the processing can take YEARS!&lt;br /&gt;&lt;br /&gt;Often the problem is that the Australian Security Intelligence Organisation (ASIO) encounters difficulties in determining the identity of the applicants and in ensuring that they do not represent a threat to national security (i.e., that they are not terrorists or criminals in disguise).&amp;nbsp; This is understandable, but what is wrong with letting them out, with some form of control, like regular reporting or perhaps, if you really are paranoid, GPS ankle-bands?&lt;br /&gt;&lt;br /&gt;As a result of this mandatory detention policy, families are split for years, and cases of self-arm and suicide are more frequent among detainees than in the rest of the population.&amp;nbsp; What a shame, for such an affluent society.&amp;nbsp; Besides, if these people were allowed to live a reasonably normal life and to look for work, beside being the humane thing to do, it couldn’t possibly cost to the taxpayers more than maintaining detentions facilities scattered throughout the country.&lt;br /&gt;&lt;br /&gt;According to both major parties and the Australian newspapers, the Australian public is very sensitive to the integrity of Australian borders.&amp;nbsp; This might be true, but then, rather than encourage alarmism every time a boat is intercepted, they should point out that every year some fifty-thousand people fly into the country legally and then overstay their visas.&amp;nbsp; It would take longer than a decade of boat people (estimated on the average of arrivals during the past 2.5 years) to make up the same number of travellers that in any single year overstay their visa.&lt;br /&gt;&lt;br /&gt;These people who come by boat could have not even applied for a passport in their country.&amp;nbsp; It is inhumane to lock them up as soon as they reach our shores.&amp;nbsp; Who bloody cares about a couple of thousand people more or less?&amp;nbsp; I say: let them in and treat them with dignity.&amp;nbsp; Show them, the Australian public, and the world that we care.&amp;nbsp; But perhaps we don’t.&amp;nbsp; Not enough.&lt;br /&gt;&lt;br /&gt;Then there is the myth of deterrence.&amp;nbsp; It was Paul Keating who, as a Labour Prime Minister, introduced the policy of “mandatory detention”, to discourage people from coming by boat.&lt;br /&gt;&lt;br /&gt;Then, John Howard, some years later, as a Liberal prime minister, introduced “offshore processing” for the same reason.&amp;nbsp; Asylum seekers were transported to Manus Island in Papua New Guinea and Nauru while their application was being processed.&amp;nbsp; Also, towards the end of 1999, the Howard government introduced the Temporary Protection Visas (TPVs).&amp;nbsp; Refugees were given a three-year visa rather than a permanent one.&lt;br /&gt;&lt;br /&gt;The Liberals claim that their TPVs worked as a deterrent, because the number of refugees trickled to almost nothing.&amp;nbsp; It is true that in 1999 there were 3721 arrivals by boat and in 2002 only 1 (yes: a single person), but the arrivals in 2000 were 2939, and in 2001 the number of arrivals reached 5516! (see http://www.aph.gov.au/library/pubs/bn/sp/boatarrivals.htm).&amp;nbsp; If the TPVs had been effective, it would have not taken two years to see a reduction of arrivals.&lt;br /&gt;&lt;br /&gt;The Liberals contradict themselves.&amp;nbsp; They explain the 2849 arrivals of 2009 with the fact that the Labour prime minister Rudd abolished the TPVs in 2008.&amp;nbsp; But then, why should it have take two years to see the opposite effect when the TPVs were introduced?&lt;br /&gt;&lt;br /&gt;Some months ago, the current Labour government came up with the concept of “regional processing centres”.&amp;nbsp; They said: refugees are a regional issue, not just an Australian one.&amp;nbsp; Therefore, we should set up regional centres where all refugees of the region can be processed.&amp;nbsp; Very innovative (although not in agreement with the Geneva Convention).&amp;nbsp; But East Timor didn’t agree to take the centre.&amp;nbsp; The Liberals pushed for Nauru, whose government would have welcomed such a centre.&lt;br /&gt;&lt;br /&gt;The government stated that Nauru was impossible because it was not a signatory of the Geneva Convention.&amp;nbsp; But they remained unmoved in their position when Nauru did sign the convention on refugees.&amp;nbsp; It seems obvious to me that the government rejected the idea of a regional centre in Nauru because the Liberals had been pushing for it.&amp;nbsp; That’s all.&amp;nbsp; The convention was just an excuse.&lt;br /&gt;&lt;br /&gt;Things seemed to be moving ahead on the deterrence front when the Labour government of Julia Gillard signed an agreement with Malaysia (which, incidentally, is not a signatory of the convention, and apparently treats its refugees in an appalling way, with beatings and unjustified arrests).&amp;nbsp; Australia would take from Malaysia four thousand recognised refugees and send there in exchange the first eight hundred boat people that would reach Australia after the signing the agreement.&lt;br /&gt;&lt;br /&gt;It certainly would have been a deterrent for people to try to reach Australia by boat from Indonesia knowing that they would be immediately flown to Malaysia.&lt;br /&gt;&lt;br /&gt;But somebody applied to the High Court of Australia on behalf of some of the people who were going to be deported to Malaysia  to have the agreement reviewed, and the High Court ruled that it was in violation of Australia’s international agreements and therefore illegal.&amp;nbsp; In fact, it wrote such a ruling that all offshore processing became impossible.&lt;br /&gt;&lt;br /&gt;The government formulated a law that would have allowed them to establish national policies in violation of international agreements, but the Greens, who support the current minority government, disagreed.&amp;nbsp; They had always been in favour of onshore processing and didn't change their mind.&amp;nbsp; And the Liberals were happy to score a point against the government by opposing the law, despite the fact that they had invented offshore processing in 2001.&lt;br /&gt;&lt;br /&gt;In any case, I question the morality of cajoling refugees so that they are dissuaded from coming.&amp;nbsp; I don’t find it acceptable to put under pressure people who are already so desperate.&lt;br /&gt;&lt;br /&gt;Earlier today, I talked about this subject with my local member of parliament.&amp;nbsp; He said that Labour’s goal is to prevent people from taking such a desperate journey.&amp;nbsp; Fair enough, but we are not responsible for them.&amp;nbsp; We should work with the neighbouring countries and try to catch the criminals that cash on people’s desperation, but once somebody decides to take the journey and arrives on our shores, we should treat them with compassion, not throw them into jail or fly them off to Malaysia...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-206229659809217675?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/206229659809217675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/boat-people.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/206229659809217675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/206229659809217675'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/boat-people.html' title='Boat People'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-6534116639356150619</id><published>2011-10-22T16:44:00.000+11:00</published><updated>2011-10-22T16:44:03.754+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>The CalcuDoku application for the iPad is ready</title><content type='html'>I have just uploaded the CalcuDoku application for the iPad to Apple’s application store.&amp;nbsp; They could still find something I didn’t do right and reject it, but I think (and hope) that everything will go smoothly.&amp;nbsp; I don’t know how long it will take before it will appear in the AppStore, though...&lt;br /&gt;&lt;br /&gt;Unfortunately, I am also not sure that it will be available in the Australian Apple store.&amp;nbsp; The problem is that I am not registered for GST (for the non-Australians: GST stands for Goods and Services Tax and is Australia’s 10% value-added tax).&amp;nbsp; It is only compulsory to register for GST if your Australian business revenue exceeds 75 kAUD, and it is such a bureaucracy that you don’t really want to get into it unless you do have such an income and/or incur significant GST-deductible expenses.&lt;br /&gt;&lt;br /&gt;It is not clear to me whether Apple will simply not pay me when they sell my application in Australia or (more likely) the Australian residents will be unable to buy the application locally.&amp;nbsp; In any case, they should still be able to buy it from the US store for USD 0.99 instead AUD 0.99 (actually a cent or two cheaper).&amp;nbsp; We shall see.&lt;br /&gt;&lt;br /&gt;Now that this application is done, I will go back writing fiction.&amp;nbsp; I confess I am a bit fed up with programming.&amp;nbsp; As I said in a previous article, Apple’s development environment is great, but not bug-free.&amp;nbsp; In a couple of occasions, I had to find some workarounds to get done what I needed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-6534116639356150619?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/6534116639356150619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/calcudoku-application-for-ipad-is-ready.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6534116639356150619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6534116639356150619'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/calcudoku-application-for-ipad-is-ready.html' title='The CalcuDoku application for the iPad is ready'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3853796057675508393</id><published>2011-10-17T17:16:00.002+11:00</published><updated>2011-10-22T16:44:30.550+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>Why a bladder?</title><content type='html'>I have always had some of my most interesting ideas during the periods of drowsiness that precede and follow sleep.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A couple of days ago, during one of those periods, the following question popped into my mind: “Why do we need a bladder?”&amp;nbsp; Or, better said: “What evolutionary advantage has led to the development in mammals of a bladder?”&lt;br /&gt;&lt;br /&gt;Reptilians and birds don’t have it.&amp;nbsp; They free themselves of their excreta via a single orifice, while mammals developed separate “way outs”.&amp;nbsp; But my early-morning question was more specific than that: we could still have two separate tracts and no bladder.&lt;br /&gt;&lt;br /&gt;Googling around, I discovered that a couple of other people had already asked the same question, but the answers were not pertinent at all.&amp;nbsp; In fact, they were a clear indication of how stupid some of the people who answer questions on the Internet are.&amp;nbsp; There seemed to be a consensus that you need the bladder otherwise you cannot free yourself of substances that, on the long run, would kill you.&amp;nbsp; That obviously answers the question “why do we need to urinate”, not “why do we need to store urine rather than just letting it go”.&lt;br /&gt;&lt;br /&gt;Understand me: I am very happy to have a bladder, otherwise I would be condemned to cope with a frequent trickle of urine.&amp;nbsp; Perhaps, without a bladder, humans would have developed a very different type of society.&amp;nbsp; At the very least, clothes would have been made in such a way as to allow an unhindered flow of urine, or perhaps with a built-in waterproof container.&lt;br /&gt;&lt;br /&gt;The presence of the bladder allows mammals not to leave traces behind them (unless they want, for example to mark territories).&amp;nbsp; And that is perhaps where the evolutionary advantage is: big saurians could track proto-mammals (if there is such a thing, a doubt which reveals my ignorance in species evolution) by following their trickle of urine.&amp;nbsp; To avoid being easily chased down, mammals learned to “hold it” as long as they could and, obviously, those that could do it longer were more likely to shake off their hunters.&amp;nbsp; Over many thousands of years, this might have resulted in the evolution of a bladder, so that mammals could wander about for long periods without leaving behind persistent scents.&lt;br /&gt;&lt;br /&gt;There is obviously no proof that my hypothesis is correct, but I am happy to have found a possible (and to me quite convincing) explanation.&lt;br /&gt;&lt;br /&gt;Disappointingly, I remain completely at a loss concerning why it was evolutionary advantageous to separate solid and liquid excreta...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3853796057675508393?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3853796057675508393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/why-bladder.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3853796057675508393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3853796057675508393'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/why-bladder.html' title='Why a bladder?'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3933182709901328354</id><published>2011-10-07T22:29:00.003+11:00</published><updated>2011-10-17T17:16:48.013+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>The CalcuDoku application for the iPad is almost done!</title><content type='html'>&lt;div style="text-align: left;"&gt;Hopefully, in the next week or two, you will see the application in the  Apple Store.&amp;nbsp; There will be a version with ten puzzles for free and a  version with one hundred puzzles for a few dollars.&amp;nbsp; This is obviously  to allow people to try out the game for free, and then, if they like  what they see, buy the version with many puzzles to play.&lt;br /&gt;&lt;br /&gt;Since the last article on this blog, I added a tool bar and a menu to select the puzzles, as shown in the following snapshot.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-423uTsDulmk/To7hAoFFVJI/AAAAAAAAAKU/HVhqU_e8qr8/s1600/01.png" /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Let’s look at the tool bar first.&amp;nbsp; The button “Dismiss” is normally  “Puzzles” and becomes “Dismiss” only after you have touched it in order  to display the puzzle menu.&amp;nbsp; When you touch “Get hint”, the application  suggest an action that you can perform to progress towards a solution;  more about that later in this article.&amp;nbsp; “Reset puzzle” returns the  current puzzle (“007” in the snapshot) to its initial state, with no  cells solved and no candidates removed.&amp;nbsp; “Reveal puzzle” shows the  solved puzzle (but then, where is all the fun? :-)&lt;br /&gt;&lt;br /&gt;As you can  see, you have a couple of segmented controls to select a subset of the  puzzles.&amp;nbsp; Not really useful with ten puzzles, but absolutely necessary  when you have one hundred of them.&amp;nbsp; The “difficulty” value that you see  in the puzzle summary is calculated on the basis of the number and type  of strategies needed to solve it.&amp;nbsp; I’ll tell you how I calculate it in a  moment, when I explain the “Get hint” function.&lt;br /&gt;&lt;br /&gt;Still in the  puzzle summary, “8 actions” is the total number of times you have  “touched” inside the action menu (see the previous article) to remove a  candidate or solve a cell.&lt;br /&gt;&lt;br /&gt;“3 cells solved” counts all the cells  solved, regardless of how they were solved (and who solved them).&amp;nbsp; Cells  can be solved in a number of ways. Two of them are obvious: you can  touch a green “This cell contains” button in the action menu, or the red  button marked “Show cell solution”.&amp;nbsp; Perhaps less obvious is that you  can solve a cell by touching one of the “Remove candidate” blue  buttons.&amp;nbsp; This can occur because the application automatically marks as  solved the cells that remain with a single candidate.&amp;nbsp; If, for example,  one cell whose solution is 2 shows the candidates 1 and 2, you can solve  it either by pressing the green 2 or the blue 1.&amp;nbsp; The two actions are  completely equivalent.&lt;br /&gt;&lt;br /&gt;There is a fourth way of solving cells,  and that is by letting the application automatically perform one of its  hints.&amp;nbsp; The following snapshot shows an example of what happens when you  press the “Get hint” button:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-fs401IFxQDc/To7hBF20aHI/AAAAAAAAAKY/dJKjp0Ep0yU/s1600/02.png" /&gt;&lt;/div&gt;&lt;br /&gt;Below the tool bar you see the hint, which in the snapshot says: “You can remove the 6s from all the cells of row I that don’t belong to cage &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;30x&lt;/span&gt; in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I4&lt;/span&gt;”.&amp;nbsp; It doesn’t say why, but if you look at the puzzle, you will notice that cage &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;30x&lt;/span&gt; in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I4&lt;/span&gt; only admits two solutions: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;56&lt;/span&gt; and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;65&lt;/span&gt; (obvious, as 6x5 is the only product of two numbers between 1 and 9 that results in 30).&amp;nbsp; But then, you know that 6 cannot possibly solve &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I8&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Now, if you touch the big button “Go ahead and do it!”, the application removes for you the 6 in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I8&lt;/span&gt;, without you having to click on the cell to bring up the action menu and then touch the blue 6.&amp;nbsp; In this example, it is not a big deal, but in some cases there are a handful of cells containing the candidate to be removed.&lt;br /&gt;&lt;br /&gt;I am not suggesting that you use the hints, but you might find them useful as a training exercise, to learn how to apply the strategies.&lt;br /&gt;&lt;br /&gt;I have implemented five strategies to provide the hints, each requiring an average of 130 lines of objective-C code.&amp;nbsp; The application tries the strategies in order of complexity, so that it only resorts to a particular strategy when all the simpler ones have failed.&lt;br /&gt;&lt;br /&gt;So far, I haven’t encountered a puzzle that those five strategies cannot solve.&amp;nbsp; This means that the application will always be able to give you a hint when you request it.&amp;nbsp; In fact, I use the hint mechanism to calculate the difficulty of the puzzles as: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;n5 * 25 + n4 * 5 + n3&lt;/span&gt;, where &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;nX&lt;/span&gt; is the number of times the application needs to apply strategy &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;X&lt;/span&gt; to solve the puzzle.&amp;nbsp; Note that the application starts searching for a hint from the last cell you have touched.&amp;nbsp; Therefore, you might find it a bit tricky to reproduce the difficulty I calculate, because I always do it with a freshly started application and a freshly loaded puzzle.&amp;nbsp; Only by starting from the same conditions it makes some sense to use my grading mechanism to compare puzzles.&lt;br /&gt;&lt;br /&gt;Before I forget, although it goes almost without saying, you can also play the game in landscape mode if you like.&lt;br /&gt;&lt;br /&gt;I still need to do a few things before I can release it:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Generate and grade some 93 puzzles, so that both applications (free and not) are released at the same time.&lt;/li&gt;&lt;li&gt;Modify the hint message to include the level of complexity of the strategy, just because you might like to know it.&lt;/li&gt;&lt;li&gt;Make a page attached to the “About” button of the tool bar.&lt;/li&gt;&lt;li&gt;Add to my web site &lt;a href="http://zambon.com.au/"&gt;zambon.com.au&lt;/a&gt; some pages of information associated with the application.&lt;/li&gt;&lt;li&gt;Prepare a good ad page for the Apple Store.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3933182709901328354?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3933182709901328354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/calcudoku-application-for-ipad-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3933182709901328354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3933182709901328354'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/10/calcudoku-application-for-ipad-is.html' title='The CalcuDoku application for the iPad is almost done!'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-423uTsDulmk/To7hAoFFVJI/AAAAAAAAAKU/HVhqU_e8qr8/s72-c/01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3363757435314115015</id><published>2011-09-27T14:47:00.004+10:00</published><updated>2011-10-07T22:29:55.210+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Progress on the CalcuDoku application for the iPad</title><content type='html'>This is to report on my progress on the development of the application I announced in my previous article.  Here a snapshot that gives you an idea on some of the functionality: &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-B6pcskh2NVg/ToFUU6DytVI/AAAAAAAAAKE/l7lutYHzIs4/s1600/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-B6pcskh2NVg/ToFUU6DytVI/AAAAAAAAAKE/l7lutYHzIs4/s640/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+1.png" width="561" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As you can see by comparing this image with the image in the previous article, I have added some important feature.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;First of all, each cell is now identifiable by its row/column coordinates like those used in chessboards.  This also lets you identify each cage by giving the coordinates of its cell that contains result and operation code.  For example, you can use &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;G4&lt;/span&gt; to identify the &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3/&lt;/span&gt; cage.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The most visible improvement is that each cell now shows its candidates.  I found that without candidates, solving the puzzle was incredibly more difficult than solve the same puzzle with paper and pencil.  The advantage of having the application determine the candidates for you, is that now you can concentrate on finding conflicts and solving cells.  To take full advantage of the candidates, you have to check the cage combinations.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For example, in the &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3/&lt;/span&gt; cage you find in &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;F4&lt;/span&gt; of the following example&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8xqr_yG8oOA/ToFUVQM6G8I/AAAAAAAAAKI/IKkjZlJ15e0/s1600/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-8xqr_yG8oOA/ToFUVQM6G8I/AAAAAAAAAKI/IKkjZlJ15e0/s640/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+2.png" width="68" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;you see that the two cells have candidates &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;13&lt;/span&gt; and &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;139&lt;/span&gt;, but when you consider that the two possible combinations are &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;13&lt;/span&gt; (with two permutations) and &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;39&lt;/span&gt;, you realise that a &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3&lt;/span&gt; is always present in either &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;F4&lt;/span&gt; or &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;G4&lt;/span&gt;.  This means that any other &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3&lt;/span&gt; in the other cells of column &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;4&lt;/span&gt;&lt;/span&gt; are not possible. Every such a small step gets you closer to solving the puzzle.  In the example, I have already removed the &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3&lt;/span&gt;s from column &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;4&lt;/span&gt;, because I want to use it to show you another possible strategy.  Notice that the cell &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;A4&lt;/span&gt; only has a &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;1&lt;/span&gt; and a &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;9&lt;/span&gt;.  As cage &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;F4&lt;/span&gt; can only contain either &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;13&lt;/span&gt;/&lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;31&lt;/span&gt; or &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;39&lt;/span&gt;, it means that if the correct solution for cell &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;A4&lt;/span&gt; is &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;1&lt;/span&gt;, the solution for cage &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;F4&lt;/span&gt; can only be &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;39&lt;/span&gt;.  Alternatively, if &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;9&lt;/span&gt; is the correct solution for &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;A4&lt;/span&gt;, &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;F4&lt;/span&gt; will be solved with either &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;13&lt;/span&gt; or &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;31&lt;/span&gt;.  In either case, the other six cells of colun &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;4&lt;/span&gt; cannot contain any &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;1&lt;/span&gt; or &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3&lt;/span&gt;.  This lets you discard as possible candidates the &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;1&lt;/span&gt;s in cells &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;H4&lt;/span&gt; and &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;I4&lt;/span&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;These type of reasoning is what makes CalcuDoku appealing and a very good excercise for the brain.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Another extension I have introduced is the list of permutations, which you see at the bottom of the image.  They are sometimes useful in figuring out how to solve a cell, but, in any case, they give you an indication of how close you are to solving the cage.  There is not much point in analysing at length a cage when it contains more than a handful of permutations.  Note that a single combination can result in many permutations.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Obviously, the application keeps the lists of candidates, combinations, and permutations up to date as the solution progresses.  While the candidates are always visible, combinations and permutations of a cage are only displayed when you touch a cell of the cage.  When you do so, what I have decided to call ‘action menu’ appears, as shown in the following snapshot.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XrtkZwAoyXY/ToFUVkw4OrI/AAAAAAAAAKM/hY7fcR5ctVY/s1600/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-XrtkZwAoyXY/ToFUVkw4OrI/AAAAAAAAAKM/hY7fcR5ctVY/s640/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+3.png" width="578" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As you can see from the description below the puzzle, the menu of this particular example appeared when I touched one of the two cells of cage &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;3/&lt;/span&gt; in &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;A8&lt;/span&gt;.  I didn’t bother to make it more complicated and confusing by also writing which one of the two cells I had touched.  I assume that you always know what cell you have touched.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The cage can only contain the combination &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;26&lt;/span&gt;.  Notice that the application always orders the digits from the largest to the samllest (e.g., &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;62&lt;/span&gt; instead of &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;26&lt;/span&gt;).  This has to do with the logic of the application itself.  I got used to it and I don’t think it is worth wasting effort and processing time to swapt them around.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Anyhow, the menu lets you choose or remove a candidate among those possible for the cell you have touched.  It also lets you ask the application to tell you the solution of the cell or of the entire puzzle.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This is going to change, as I am going to move the possibility to reveal the whole puzzle to a toolbar.  The menu should only let you do something with an individual cell.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I generate the puzzles offline and load them into the iPad application as resources.  Initially, I thought that I would provide a service with daily puzzles, but I have changed my mind.  One of the reasons is that I don’t actually like to have to provide the service.  It is much simpler to sell an application with, say, one hundred built-in puzzles.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;There is also another more critical reason: a few percent of the puzzles my program generates are too difficult to be solved with the iPad application, and I don’t want to deliver puzzles that cannot in all honesty be solved.  So far, I have been able to solve all puzzles with pencil and paper, but sometimes I had to use complex ‘what if’ analyses that are not possible on the screen (or, to put it bluntly, that would make the application too complex).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Finally, in a few percent of the cases, different pseudorandom seeds result in identical puzzles.  This is due to the many restrictions that I impose on the puzzle generator in order to make puzzles that can be solved analytically.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As a result, I solve all the puzzles with the iPad application before permanently loading them into it.  This ensures that they can be solved.  You might argue that a more skilled puzzler might solve puzzles I cannot solve, but, after solving hundreds of CalcuDokus, I have become quite good at it, and even the most adept puzzlers will find my puzzles challenging!&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;One thing I still want to do before releasing the application is provide a ‘hint’ button. This will be a toolbar button, not associated with any cell.  For example, in a puzzle including the following couple of rows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5JGWUo283So/ToFUWJE6jXI/AAAAAAAAAKQ/-Szrbo5HKMs/s1600/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="http://2.bp.blogspot.com/-5JGWUo283So/ToFUWJE6jXI/AAAAAAAAAKQ/-Szrbo5HKMs/s640/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;the hint could be that no &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;4&lt;/span&gt;s or &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;5&lt;/span&gt;s are possible in cells &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;D1&lt;/span&gt; to &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;D6&lt;/span&gt; because they certainly appear in &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;D7&lt;/span&gt; to &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;D9&lt;/span&gt;.  Indeed, cage &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;7+&lt;/span&gt; in &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;D7&lt;/span&gt; can only contain either &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;43&lt;/span&gt; or &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;52&lt;/span&gt;/&lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;25&lt;/span&gt;, thereby forming an exclusing pair with the &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;4&lt;/span&gt; and &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;5&lt;/span&gt; of cell &lt;span style="font-family: Courier New,monospace; font-size: small;"&gt;D9&lt;/span&gt;.  The challenge is to make the application recognise these occurrences and formulate intelligible hints.  I will start working on it as soon as I post this article to the blog.  I have half an idea of how I should be able to do it.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Ultimately, I want to be able to solve the puzzles exclusively by using hints.  And this is the test that I will do before releasing each new puzzle.  It will ensure that the application will not run out of hints.  To road-test the algorithm, I will try it out on the puzzles I have solved by hand.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The number of hints necessary to solve a puzzle will also provide a rough measure of its difficulty.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Now I am eager to get started on the hint functionality.  My apologies for the typos I have left in this article because of my haste...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3363757435314115015?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3363757435314115015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/09/progress-on-calcudoku-application-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3363757435314115015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3363757435314115015'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/09/progress-on-calcudoku-application-for.html' title='Progress on the CalcuDoku application for the iPad'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-B6pcskh2NVg/ToFUU6DytVI/AAAAAAAAAKE/l7lutYHzIs4/s72-c/2011-09-27+21.55+Progress+on+the+CalcuDoku+application+for+the+iPad+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5403367325861794279</id><published>2011-09-14T21:55:00.001+10:00</published><updated>2011-09-27T14:48:37.043+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>A CalcuDoku application for the iPad</title><content type='html'>Perhaps you have visited my &lt;a href="http://zambon.com.au/puzzles/calcudoku/daily/"&gt;DailyCalcuDoku&lt;/a&gt; page.  There, I provide interactivity with JavaScript, but all the work is done offline by a C application that runs on my server.  Every day, a few minutes after midnight AEST (Australian Eastern Standard Time), the system launches the application, which uses the current date as a pseudorandom seed, and generates an HTML file with the daily CalcuDoku. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Actually, I have just realised that if you attempt to play immediately after my midnight, the program will fail.  I have to fix it.  It’s not nice when a program fails with no explanation.  It might not seem a serious problem, but midnight here is 10 AM in Boston and 6 PM in Moscow...&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Anyhow, after developing the Daily CalcuDoku  software, I thought: wouldn’t it be nice to create an application for the iPad that does a similar thing?  I started on 1 September, and the following snapshot gives you a taste of it:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-fmusULb43sY/TnCWDZdfv1I/AAAAAAAAAKA/vHzJJwX5oHA/s1600/2011-09-13+13.44+A+CalcuDoku+application+for+the+iPad.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-fmusULb43sY/TnCWDZdfv1I/AAAAAAAAAKA/vHzJJwX5oHA/s640/2011-09-13+13.44+A+CalcuDoku+application+for+the+iPad.png" width="633" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;So far, the application reads a file with the list of cages and, when you click on (ahem... when you touch!) one of the cells, it shows the combinations of digits that provide the correct results.  For the multiplication, as you can see in the snapshot, it also lists the prime factors.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;OK. It doesn’t sound much, yet.  But I had to modify the original application to write the cages in a file.  Then, after familiarising myself with the development environment on the Mac and with the peculiarities of Objective-C, I wrote from scratch the code for the iPad to display the cages and to calculate the combinations.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Next, I will develop the code to identify the candidates for each cell, and a context menu to let the player interact with the application.  Obviously, I will also have to develop the functionality to save and retrieve the context when the player switches the iPad off and back on.  And, not to be forgotten, a setup screen and/or a toolbar to choose playing options.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I would like the application to provide hints when requested, but I still have to look into it.  I haven’t clear yet what hints would be possible.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I intend to create two applications: one will be free and will contain a limited number of puzzles.  The other one, at a low price, will connect to my server to access a new puzzle every day.  Also, the full application will be able to download more puzzles, which you can then play offline.  Perhaps I should also provide a training mode, in which the player can see different strategies in action.  Not sure about that.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Years ago, when Macintoshes were still running on Motorola Chips, before the advent of System X, I developed applications for the Mac.  The documentation from Apple was excellent, and the APIs smart.  But with the iPhone/iPad, the Apple developers have really surpassed themselves.  Sometimes, the interfaces are so well designed and intelligent that they make me smile.  This truly is promamming Nirvana!  Perhaps it is because, after decades of programming and system design, I can fully appreciate all the thought that went into them.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Sorry for the lyric digression.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I have decided that, in any case, the application will only be available for the iPad, because the screen of the iPhone is too small for so many numbers.  Also, the orientation will be fixed to portrait.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I will still need weeks (or longer...) to complete the application.  I’ll keep you posted.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5403367325861794279?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5403367325861794279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/09/calcudoku-application-for-ipad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5403367325861794279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5403367325861794279'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/09/calcudoku-application-for-ipad.html' title='A CalcuDoku application for the iPad'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-fmusULb43sY/TnCWDZdfv1I/AAAAAAAAAKA/vHzJJwX5oHA/s72-c/2011-09-13+13.44+A+CalcuDoku+application+for+the+iPad.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3307604710349353357</id><published>2011-09-12T13:44:00.002+10:00</published><updated>2011-09-14T21:56:24.079+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>How to identify some email scams</title><content type='html'>Some days ago, I received the following email (with my email address removed and the links disabled): &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Subject: Your package has arrived!&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;From: UPS Shipments &lt;tracking@ups.com&gt;&lt;/tracking@ups.com&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Date: Wed, 7 Sep 2011 21:42:50 +0900 (KST)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;To:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Dear client&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Your package has arrived.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;The tracking # is : 16B9159622A040A2 and can be used at :&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;u&gt;http://www.ups.com/tracking/tracking.html&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;The shipping invoice can be downloaded from :&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;u&gt;http://www.ups.com/tracking/invoices/download.aspx?invoice_id=16B9159622A040A2&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Thank you,&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;United Parcel Service&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;*** This is an automatically generated email, please do not reply ***&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;It looked reasonable, but I was not expecting any parcel.  Note that the time zone in the date is KST (Korea Standard Time).  Per se not suspicious when considering our globalised communication system.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Perhaps, if I had been expecting parcels, I would have clicked on the second link to see what item the email was about.  It would have been easier than looking up my outstanding invoices to compare the numbers.  But, if I had done so (although at the time I didn’t know it yet), I would have actually downloaded (and possibly launched) an application.  Who knows what it would have done...&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As I was not expecting any parcel, I saved the email to my desktop as an HTML file.  I then opened it in a text editor and discovered that the two links it contained pointed to URLs different from those shown.  The first one pointed to&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-family: Courier New,monospace;"&gt;http://wwwapps-ups.com/track.php?page=16b9159622a040a2&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;and the second one to&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-family: Courier New,monospace;"&gt;http://track.wwwapps-ups.com/invoice040A2.JPG.exe&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This ‘faking’ of URLs was highly suspicious, even if the actual domain name included the string “ups”.  Besides, why should my invoice be and EXEcutable file rather than a PDF?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I was not in any danger, because I read my mail on a Mac and the security settings of my email client are at maximum, but many might have been penetrated without even realising it.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I searched the Whois database by typing&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&amp;nbsp; &lt;a href="http://www.whois.net/whois/wwwapps-ups.com"&gt;http://www.whois.net/whois/wwwapps-ups.com&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;and came up with the following entry:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;WHOIS information for wwwapps-ups.com :&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;[Querying whois.verisign-grs.com]&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;[Redirected to grs-whois.hichina.com]&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;[Querying grs-whois.hichina.com]&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;[grs-whois.hichina.com]&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Domain Name ..................... wwwapps-ups.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Name Server ..................... dns27.hichina.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;dns28.hichina.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant ID ................... hc048483736-cn&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Name ................. wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Organization ......... wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Address .............. shanghaishihong kouquchangshalu125hao&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant City ................. hongkouqu&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Province/State ....... HA&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Postal Code .......... 200102&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Country Code ......... CN&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Phone Number ......... +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Fax .................. +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Registrant Email ................ sdfdsgfdf@126.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative ID ............... hc048483736-cn&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Name ............. wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Organization ..... wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Address .......... shanghaishihong kouquchangshalu125hao&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative City ............. hongkouqu&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Province/State ... HA&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Postal Code ...... 200102&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Country Code ..... CN&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Phone Number ..... +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Fax .............. +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Administrative Email ............ sdfdsgfdf@126.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing ID ...................... hc048483736-cn&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Name .................... wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Organization ............ wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Address ................. shanghaishihong kouquchangshalu125hao&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing City .................... hongkouqu&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Province/State .......... HA&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Postal Code ............. 200102&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Country Code ............ CN&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Phone Number ............ +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Fax ..................... +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Billing Email ................... sdfdsgfdf@126.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical ID .................... hc048483736-cn&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Name .................. wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Organization .......... wan shen&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Address ............... shanghaishihong kouquchangshalu125hao&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical City .................. hongkouqu&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Province/State ........ HA&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Postal Code ........... 200102&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Country Code .......... CN&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Phone Number .......... +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Fax ................... +86.02152312352 - &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Technical Email ................. sdfdsgfdf@126.com&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Expiration Date ................. 2012-09-07 08:17:10&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;HiChina Zhicheng Technology Ltd. is an ISP based in Beijing, and I have no reason to suspect that they are involved in the scam.  But this Wan Shen based in Hong Kong doesn’t look to have anything to do with UPS.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Now, if you search for &lt;span style="font-family: Courier New,monospace;"&gt;"wan shen" shanghaishihong&lt;/span&gt;, you find out two things:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.&amp;nbsp;&amp;nbsp; They also own the domain name &lt;span style="font-family: Courier New,monospace;"&gt;micr0supdates.com&lt;/span&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;2. &amp;nbsp; &lt;span style="font-family: Courier New,monospace;"&gt;micr0supdates.com&lt;/span&gt; is listed in a database of malware URLs&lt;br /&gt;(&lt;a href="http://www.malwareurl.com/listing.php?domain=micr0updates.com"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;http://www.malwareurl.com/listing.php?domain=micr0updates.com&lt;/span&gt;&lt;/a&gt;).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As a last interesting point, notice that the expiration date of &lt;span style="font-family: Courier New,monospace;"&gt;wwwapps-ups.com&lt;/span&gt; is &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;2012-09-07&lt;/span&gt;, exactly one year after the date of the scam email.  It seems that this Wan Shen registered the domain name and put it immediately to work...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3307604710349353357?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3307604710349353357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/09/how-to-identify-some-email-scams.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3307604710349353357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3307604710349353357'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/09/how-to-identify-some-email-scams.html' title='How to identify some email scams'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2198862948255359890</id><published>2011-08-30T13:21:00.000+10:00</published><updated>2011-08-30T13:21:59.098+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 20</title><content type='html'>This is the last posting concerning my Giza-IQ test.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Regardless of what numbers are drawn, there are 5! = 120 ways in which they can be ordered.&amp;nbsp; As there is only one way for the five numbers to be in increasing order, the probability is 1/120 = 0.00833...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2198862948255359890?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2198862948255359890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2198862948255359890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2198862948255359890'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-20.html' title='Giza-IQ Test - Solution 20'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-4942965665342565822</id><published>2011-08-30T13:19:00.002+10:00</published><updated>2011-08-30T13:21:59.099+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 19</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The answer is: 95.&amp;nbsp; They are the decimal digits of Π/5.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-4942965665342565822?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/4942965665342565822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4942965665342565822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4942965665342565822'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-19.html' title='Giza-IQ Test - Solution 19'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2448798224029532754</id><published>2011-08-25T18:02:00.001+10:00</published><updated>2011-08-25T18:03:10.125+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 18</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;We have to consider corners, sides and middles separately.&amp;nbsp; Out of a total of 5*4 = 20 positions, there are 4 corners, (3+2)*2 = 10 sides, and 20-4-10 = 6 middles.&lt;br /&gt;&lt;br /&gt;Therefore, the probabilities of hitting a particular type of position by choosing a position at random are:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; Pc = 4/20 = 1/5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; Ps = 10/20 = 1/2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; Pm = 6/20 = 3/10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;=== Corners&lt;br /&gt;A corner position is adjacent to 3 positions.&amp;nbsp; In order for all 3 to be occupied by mines, it is necessary that the remaining 7 mines are distributed in the remaining 20-4 = 16 positions.&amp;nbsp; The number of ways in which this can be done is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Nc3 = 16! / [(16-7)! * 7!] =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 16*15*14*13*12*11*10 / (7*6*5*4*3*2) =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 11440&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The total number of ways in which 10 mines can be placed in 20 positions is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;N = 20! / [(20-10)! * 10!] =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; = 20*19*18*17*16*15*14*13*12*11 / (10*9*8*7*6*5*4*3*2) =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; = 184756&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Therefore, the probability of being surrounded by mines in a corner position is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Pc3 = Nc3/N = 11440 / 184756 = 0.061919504643963&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;=== Sides&lt;br /&gt;&lt;br /&gt;A side position is adjacent to 5 positions.&amp;nbsp; In order for all 5 to be occupied by mines, it is necessary that the remaining 5 mines are distributed in the remaining 20-6 = 14 positions.&amp;nbsp; The number of ways in which this can be done is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ns5 = 14! / [(14-5)! * 5!] =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 14*13*12*11*10 / (5*4*3*2) =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2002&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Therefore, the probability of being surrounded by mines in a side position is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ps5 = Ns5/N = 2002 / 184756 = 0.010835913312693&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;=== Middles&lt;br /&gt;&lt;br /&gt;A middle position is adjacent to 8 positions.&amp;nbsp; In order for all 8 to be occupied by mines, it is necessary that the remaining 2 mines are distributed in the remaining 20-9 = 11 positions.&amp;nbsp; The number of ways in which this can be done is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Nm8 = 11! / [(11-2)! * 2!] =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 11*10 / 2 =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 55&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Therefore, the probability of being surrounded by mines in a middle position is given by:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Pm8 = Nm8/N = 55 / 184756 = 0.000297689926173&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;=== Result&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;P = Pc*Pc3 + Ps*Ps5 + Pm*Pm8 =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; = 1/5 * 0.061919504643963 + 1/2 * 0.010835913312693 +&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + 3/10 * 0.000297689926173 =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; = 0.012383900928793 + 0.005417956656347 + 0.000089306977852 =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; = 0.017891164562991 =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; = 1.789%&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2448798224029532754?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2448798224029532754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2448798224029532754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2448798224029532754'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-18.html' title='Giza-IQ Test - Solution 18'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2927861325723469142</id><published>2011-08-25T18:00:00.001+10:00</published><updated>2011-08-25T18:03:10.126+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 17</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Although the items appear to be binary numbers (i.e., numbers expressed in base 2), they are not.&lt;br /&gt;&lt;br /&gt;1011, 1001, 1011, and 1010 are 31, 28, 31, and 30 expressed in base 3.&amp;nbsp; They are the number of days in January, February (not a leap-year), March, and April.&lt;br /&gt;&lt;br /&gt;The four months that follow (May, June, July, and August) have 31, 30, 31, and 31 days.&amp;nbsp; Therefore, the correct answer is 1011, 1010, 1011, 1011.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2927861325723469142?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2927861325723469142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2927861325723469142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2927861325723469142'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-17.html' title='Giza-IQ Test - Solution 17'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7337204121359481820</id><published>2011-08-20T11:24:00.002+10:00</published><updated>2011-08-20T11:31:14.886+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 16</title><content type='html'>&lt;div style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;The buses of line 23 always come shortly after the buses of line 37.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;More precisely, (T&lt;sub&gt;23&lt;/sub&gt; - T&lt;sub&gt;37&lt;/sub&gt;) / (T&lt;sub&gt;37 &lt;/sub&gt;- T&lt;sub&gt;23&lt;/sub&gt;) = 7. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7337204121359481820?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7337204121359481820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7337204121359481820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7337204121359481820'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-16.html' title='Giza-IQ Test - Solution 16'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2872145240075541321</id><published>2011-08-20T11:20:00.003+10:00</published><updated>2011-08-20T11:31:35.177+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 15</title><content type='html'>&lt;div style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;O&lt;/u&gt;NE &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;T&lt;u&gt;W&lt;/u&gt;O&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;TH&lt;u&gt;R&lt;/u&gt;EE&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;F&lt;u&gt;O&lt;/u&gt;UR&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;F&lt;/u&gt;IVE&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;S&lt;u&gt;I&lt;/u&gt;X&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;SE&lt;u&gt;V&lt;/u&gt;EN&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;E&lt;u&gt;I&lt;/u&gt;GHT&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;N&lt;/u&gt;INE&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;T&lt;u&gt;E&lt;/u&gt;N&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;EL&lt;u&gt;E&lt;/u&gt;VEN&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;O&lt;/u&gt; W R O F &lt;u&gt;I&lt;/u&gt; V I N E &lt;u&gt;E&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2872145240075541321?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2872145240075541321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2872145240075541321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2872145240075541321'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-15.html' title='Giza-IQ Test - Solution 15'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2657329815430771287</id><published>2011-08-18T16:08:00.006+10:00</published><updated>2011-08-18T22:06:46.323+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Daily CalcuDoku</title><content type='html'>On July 10th, I missed the first anniversary of this blog, but I have just discovered that with the previous article I passed the 100-article mark.&amp;nbsp; Not too bad, even if the visitors are thousands instead of millions.&lt;br /&gt;&lt;br /&gt;Anyhow, I invite you to solve my daily CalcuDoku by clicking on the following picture of a partially solved puzzle&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://zambon.com.au/puzzles/calcudoku/daily/" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="CalcuDoku" src="http://zambon.com.au/puzzles/calcudoku/daily/calcudoku.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A word of warning: these puzzles are very hard!&lt;br /&gt;&lt;br /&gt;Then, you can tell me whether you like my implementation better than the Flash application you find in the original KenKen website &lt;a href="http://www.kenken.com/playnow.htm"&gt;kenken.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2657329815430771287?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2657329815430771287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/daily-calcudoku.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2657329815430771287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2657329815430771287'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/daily-calcudoku.html' title='Daily CalcuDoku'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5698722979146956898</id><published>2011-08-16T11:46:00.002+10:00</published><updated>2011-08-18T16:22:35.115+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Checks on Senior Law-Enforcement Agents</title><content type='html'>Yesterday, I watched Four Corners (http://www.abc.net.au/4corners/stories/2011/08/15/3291474.htm), one of Australia’s leading current affairs programs (without advertising), and feel compelled to reflect on it. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;It was about Mark Standen, assistant director of the NSW Crime Commission or, to say it plainly, the top lawman in drug-laws enforcement of the most populous Australian state.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To summarise what happened, I will just copy a paragraph from Australian ABC’s website (http://www.abc.net.au/4corners/stories/2011/08/15/3291474.htm ): “On Thursday 11th August, after a five month trial, a jury found Mark Standen guilty of conspiring to import and supply 300 kilograms of &lt;span lang="en-AU"&gt;pseudo-ephedrine&lt;/span&gt;, a chemical that could produce $60 million worth of "ice", or crystal meth. He was also found guilty of perverting the course of justice.”&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;After a thirty-year career in law enforcement, Standen let himself be corrupted.  It probably didn’t help that he had some gambling debts, but for me an important question is: how can an honest man get involved with crimes that literally contribute to killing young people?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;My answer is that he must have had in himself &lt;span lang="en-AU"&gt;enough&lt;/span&gt; selfishness to commit a crime regardless of the consequences.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Although obviously I cannot be sure, I don’t think I could ever get involved with drug trafficking.  Respect for other human being drives all my relationships, from the most fleeting to those that have remained with me for the largest part of my adult life.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;What arrogance to think that, although you earn 250 AU$/year, you are justified in contributing to waste other people’s lives to feed your gambling habits or to buy jewellery from Tiffany for your girl friend.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;We know that crooks can be everywhere.  In a country like Australia, the &lt;span lang="en-AU"&gt;vast&lt;/span&gt; majority of people at worst only indulge themselves in some tax cheating or driving above the speed limit.  Not acceptable activities, for sure, although somehow tolerated by many.  But drug trafficking is something else.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I don’t think he became a criminal for some ten thousand dollars.  As I said above, he must have held a seed of criminality inside himself well before the opportunity to smuggle synthetic-drug precursors presented itself.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Therefore, a key question for me is: how could such a latent criminal reach the top &lt;span lang="en-AU"&gt;echelons&lt;/span&gt; of law enforcement?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Certainly, Standen must have gone through several levels of vetting checks, specifically design to weed out potential crooks.  And yet, he was clever enough to pass them all.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;That’s why I support the idea of instituting an independent commission of enquiry into his career in law enforcement.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;We know that good networking is essential to progress within any organisation, and we also know that there is solidarity within the ranks of organisations that sometimes have to face popular criticism or opposition, like the armed forces, the fire brigades, the police, the judiciary, etc.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Still, to what scrutiny was Standen subjected before and after reaching senior positions in the NSW Crime Authority?  Was he checked at all once he became assistant director?  Perhaps not.  Perhaps it was thought that if he was there he must have been OK.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Standen’s misdeed were only discovered because the Dutch police found out that an English “drug facilitator” (an interesting item to put on a CV!), was in contact with Bill Jalalaty, an Australian businessman.  When the Australian Federal Police, on request of the Dutch, placed Jalalaty’s mobile phone under surveillance, they discovered that he was having suspicious conversations with none other than the top drug-cop of NSW.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Were Standen’s gambling problems known within the Agency and, if yes, why wasn’t he considered to be a risk?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;A wide-scoped investigation should ascertain whether the vetting process applied within law-enforcement agencies, especially concerning seniors officials, is sound.  Perhaps they are, and Standen was only an exceptional deceiver who managed to slip through the net.  An almost-impossible feat never to be repeated for decades to come.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;But perhaps the vetting process has shortcomings that should be fixed.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I believe that there should be regular checks on the presence of risk factors, like gambling, medication, and drinking problems.  And not only on the subject, but also on his immediate family.  I know: right to privacy and all that...  But if you want to be a commissioner in a crime authority, you should be prepared to &lt;span lang="en-AU"&gt;forfeit&lt;/span&gt; some of those rights.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;There are jobs in law enforcement and intelligence that are too sensitive to be left in the hands of potential crooks.  Any risk factor should be carefully considered.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Some criminal will always manage to escape detection.  Ultimately, it is the prevailing culture of a nation that determines whether the authorities are honest or not.  But checks are better than trust, when so much is at stake.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5698722979146956898?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5698722979146956898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/checks-on-senior-law-enforcement-agents.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5698722979146956898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5698722979146956898'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/checks-on-senior-law-enforcement-agents.html' title='Checks on Senior Law-Enforcement Agents'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-9079147574287810860</id><published>2011-08-12T14:42:00.001+10:00</published><updated>2011-08-12T14:43:17.981+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 15 to 20</title><content type='html'>&lt;div style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;Here are the last six numeric questions.&amp;nbsp; As usual,  I will post the answers one by one in the near future.&lt;/span&gt; &lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2.05&amp;nbsp;&amp;nbsp;&amp;nbsp; ? W R O F ? V I N E ?&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2.06&amp;nbsp;&amp;nbsp;&amp;nbsp; John has two girlfriends, Linda and Iris.  Just in front of John’s place, there is a bus stop for the lines 23 and 37.  Line 23 takes him to Linda, while line 37 takes him to Iris.  The buses come equally often.  Every day, John visits one of his girlfriends.  Without looking at his watch, he takes the first bus that comes.  After a few weeks though, Linda calls him crying and tells him that she doesn’t want to see him anymore.  If he cared about her, she says between sobs, he would visit her more often than once a week.  How can it be?&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2.07&amp;nbsp;&amp;nbsp;&amp;nbsp; 1011, 1001, 1011, 1010, ?, ?, ?, ?&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2.08&amp;nbsp;&amp;nbsp;&amp;nbsp; Minesweeper is a computer game included in all versions of Microsoft Windows.  If 10 mines are placed at random within a field of 5 x 4 positions and you start a round of the game by clicking on a position at random, what is the probability that all the positions adjacent to the one you have clicked on are occupied by mines?  Provide the answer as a percentage with three digits after the decimal period.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2.09&amp;nbsp;&amp;nbsp;&amp;nbsp; 628318530717??&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2.10&amp;nbsp;&amp;nbsp;&amp;nbsp; In a game of Bingo with 90 numbers, what is the probability that the first five numbers drawn are in increasing order? (e.g., 2 6 25 72 83 or 50 53 77 82 89)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-9079147574287810860?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/9079147574287810860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-questions-15-to-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/9079147574287810860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/9079147574287810860'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-questions-15-to-20.html' title='Giza-IQ Test - Questions 15 to 20'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-4710722232912413308</id><published>2011-08-10T13:08:00.001+10:00</published><updated>2011-08-20T11:32:11.552+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 14</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The four-digit numbers divisible by &lt;span style="font-family: Courier,monospace;"&gt;1892&lt;/span&gt; are: &lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;1892&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;3784&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;5676&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;7568&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;9460&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The numbers that cannot be changed to one of the multiples of &lt;span style="font-family: Courier,monospace;"&gt;1892&lt;/span&gt; by replacing up to three digits must have all four digits different from those of the multiples.  Therefore, the following digits are acceptable:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;2 0 0 1&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;4 1 1 3&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;6 2 2 5&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;8 3 3 7&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp; 9 4 9&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    5&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;--------&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;4*5*6*5 = 600&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-4710722232912413308?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/4710722232912413308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4710722232912413308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4710722232912413308'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-14.html' title='Giza-IQ Test - Solution 14'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5790871329756864549</id><published>2011-08-10T13:06:00.001+10:00</published><updated>2011-08-20T11:33:32.627+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 13</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;1.&amp;nbsp;&amp;nbsp;  25 of the participants solve at least one problem each. &lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;25 = a + b + c + ab + ac + bc + abc&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;2.&amp;nbsp;&amp;nbsp;  Of all those who don’t solve problem A, the number who solve B is twice the number who solve C.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;b + bc = 2*(c + bc)  =&amp;gt; bc = b - 2c&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;3.&amp;nbsp;&amp;nbsp;  The number of participants who solve only problem A is one more than the number of those who solve A and at least one other problem.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;a = 1 + ab + ac + abc  =&amp;gt; ab + ac + abc = a - 1&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;4. &amp;nbsp;  Of all participants who solve just one problem, half do not solve problem A.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;b + c = 1/2 * (a + b + c)  =&amp;gt; 1/2 * b + 1/2 * c = 1/2 * a  =&amp;gt; a = b + c&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;If we substitute 2, 3, and 4 into 1, we are left with an equation in &lt;span style="font-family: Courier,monospace;"&gt;b&lt;/span&gt; and &lt;span style="font-family: Courier,monospace;"&gt;c&lt;/span&gt;:&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;2,3 =&amp;gt; 1: a + b + c + a - 1 + b - 2c = 25  =&amp;gt; 2a + 2b - c = 26&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;4 =&amp;gt; 1: 2b + 2c + 2b - c = 26  =&amp;gt; c = 26 - 4b&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As both &lt;span style="font-family: Courier,monospace;"&gt;b&lt;/span&gt; and &lt;span style="font-family: Courier,monospace;"&gt;c&lt;/span&gt; must be positive integers, here are all possible combinations:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;b&amp;nbsp;&amp;nbsp; c&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;1&amp;nbsp; 22&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;2&amp;nbsp; 18&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;3&amp;nbsp; 14&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;4&amp;nbsp; 10&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;5&amp;nbsp;&amp;nbsp; 6&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;6&amp;nbsp;&amp;nbsp; 2&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;But from 2 we know that &lt;span style="font-family: Courier,monospace;"&gt;b = bc + 2c&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Therefore, &lt;span style="font-family: Courier,monospace;"&gt;b&lt;/span&gt; must be at least equal to &lt;span style="font-family: Courier,monospace;"&gt;2c&lt;/span&gt;.  From the table above, it is clear that this is only possible when &lt;span style="font-family: Courier,monospace;"&gt;b&lt;/span&gt; is &lt;span style="font-family: Courier,monospace;"&gt;6&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5790871329756864549?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5790871329756864549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5790871329756864549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5790871329756864549'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-13.html' title='Giza-IQ Test - Solution 13'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3572977350009940470</id><published>2011-08-08T13:38:00.003+10:00</published><updated>2011-08-17T17:19:03.834+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><title type='text'>I cannot get over it</title><content type='html'>This story of Patrizio Galli (see the posting of the 6th) is affecting me more than I would have thought.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I knew four people who committed suicide, and two of them quite well, and in two other occasions, I discovered somebody who had attempted to commit suicide.&amp;nbsp; Also, a very close friend of mine died in a car accident when she was barely thirty years old.&amp;nbsp; Therefore, it is not new for me to have to accept the violent death of somebody I know.&amp;nbsp; And yet, this time it is different.&lt;br /&gt;&lt;br /&gt;Somehow, I can understand suiciders. People don’t fall into depression in a fraction of a second.&amp;nbsp; In a sense, you prepare yourself to the eventuality that one day they might try it seriously enough to succeed, despite the best efforts of everyone who cares about them.&lt;br /&gt;&lt;br /&gt;And car accidents, unfortunately, are a possibility that is always present in the back of our mids.&amp;nbsp; At least, they are in mine.&lt;br /&gt;&lt;br /&gt;But a murder is something else.&amp;nbsp; I know that it did happen, but I still cannot imagine the Patrizio I know raising a monster of a gun and kill Catia.&amp;nbsp; And he had to load it first.&amp;nbsp; And then he fired at her five times, when I am sure that a single shot would have been enough.&amp;nbsp; He just left in the drum a single bullet, to terminate his own life without having to reload.&lt;br /&gt;&lt;br /&gt;This throws my perception of humanity into disarray.&amp;nbsp; I had seen on TV similar cases, but I had thought that, somehow, I could have not had anything in common with those perpretators. I implicitly believed that I could have not possibly befriended them.&lt;br /&gt;&lt;br /&gt;Then Patrizio.&lt;br /&gt;&lt;br /&gt;Does it mean that everybody can do what he did?&amp;nbsp; Almost certainly not.&amp;nbsp; Could I do what he did?&amp;nbsp; I don’t think so.&amp;nbsp; And yet perhaps everybody, pushed strongly enough, can do unimaginable things.&amp;nbsp; It is a disturbing thought.&amp;nbsp; I hope and trust that one day I will be able to shake it off, but not yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3572977350009940470?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3572977350009940470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/i-cannot-get-over-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3572977350009940470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3572977350009940470'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/i-cannot-get-over-it.html' title='I cannot get over it'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2627138846412327138</id><published>2011-08-08T12:19:00.001+10:00</published><updated>2011-08-20T11:33:04.164+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza IQ-Test - Solution 12</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Because we know from the first condition that A cannot finish in the first place, B in the second, etc., we can easily list all the remaining combinations:&lt;br /&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BADEC BAECD BCAED BCDEA BCEAD BDAEC BDEAC BDECA BEACD BECAD&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BEDAC BEDCA CABED CADEB CAEBD CDAEB CDEAB CDEBA CEABD CEBAD  &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;CEDAB CEDBA DABEC DAEBC DAECB DCAEB DCBEA DCEAB DCEBA DEABC  &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;DEACB DEBAC DEBCA EABCD EADBC EADCB ECABD ECBAD ECDAB ECDBA  &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;EDABC EDACB EDBAC EDBCA&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;The first condition also eliminates combinations containing one or more of the following pairs of consecutive contestants:&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;AB BC CD DE&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;This is what is left:&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;strike&gt;BADEC&lt;/strike&gt; &lt;strike&gt;BAECD&lt;/strike&gt; &lt;strike&gt;BCAED&lt;/strike&gt; &lt;strike&gt;BCDEA&lt;/strike&gt; &lt;strike&gt;BCEAD&lt;/strike&gt; BDAEC &lt;strike&gt;BDEAC&lt;/strike&gt; &lt;strike&gt;BDECA&lt;/strike&gt; &lt;strike&gt;BEACD&lt;/strike&gt; BECAD&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BEDAC BEDCA &lt;strike&gt;CABED&lt;/strike&gt; &lt;strike&gt;CADEB&lt;/strike&gt; CAEBD &lt;strike&gt;CDAEB&lt;/strike&gt; &lt;strike&gt;CDEAB&lt;/strike&gt; &lt;strike&gt;CDEBA&lt;/strike&gt; &lt;strike&gt;CEABD&lt;/strike&gt; CEBAD  &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;strike&gt;CEDAB&lt;/strike&gt; CEDBA &lt;strike&gt;DABEC&lt;/strike&gt; &lt;strike&gt;DAEBC&lt;/strike&gt; DAECB DCAEB DCBEA &lt;strike&gt;DCEAB&lt;/strike&gt; DCEBA &lt;strike&gt;DEABC&lt;/strike&gt;  &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;strike&gt;DEACB&lt;/strike&gt; &lt;strike&gt;DEBAC&lt;/strike&gt; &lt;strike&gt;DEBCA&lt;/strike&gt; &lt;strike&gt;EABCD&lt;/strike&gt; &lt;strike&gt;EADBC&lt;/strike&gt; EADCB &lt;strike&gt;ECABD&lt;/strike&gt; ECBAD &lt;strike&gt;ECDAB&lt;/strike&gt; &lt;strike&gt;ECDBA&lt;/strike&gt;  &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;strike&gt;EDABC&lt;/strike&gt; EDACB EDBAC &lt;strike&gt;EDBCA&lt;/strike&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;or:&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BDAEC BECAD BEDAC BEDCA CAEBD CEBAD CEDBA DAECB DCAEB DCBEA&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;DCEBA EADCB ECBAD EDACB EDBAC&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;The second condition requires that exactly two of the contestant finish in the order DAECB.&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;D A E C B&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BDAEC&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BECAD&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BEDAC&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;BEDCA    *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;CAEBD  * *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;CEBAD&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;CEDBA&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;DAECB * * * * *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;DCAEB *    *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;DCBEA *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;DCEBA *  *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;EADCB    * *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;ECBAD&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;EDACB    * *&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;EDBAC&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;This leaves the following six combinations:&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;CAEBD DCAEB DCEBA EADCB EDACB&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;We need to find the combination in which two disjoint pairs of students predicted to finish consecutively actually do so.  The pairs are: DA AE EC CB&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;The solution is EDACB, where the two pairs are DA and CB&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2627138846412327138?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2627138846412327138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2627138846412327138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2627138846412327138'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-12.html' title='Giza IQ-Test - Solution 12'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5263837479619067319</id><published>2011-08-08T12:17:00.001+10:00</published><updated>2011-08-20T11:32:38.619+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza IQ-Test - Solution 11</title><content type='html'>&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;day k: &lt;br /&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    m&lt;sub&gt;k&lt;/sub&gt; = k + 1/5*(m - k - [Sum(m&lt;sub&gt;j&lt;/sub&gt;) j = 1..k-1])&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;day k+1:&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    m&lt;sub&gt;k+1&lt;/sub&gt; = k + 1 + 1/5*(m - k - 1 - [Sum(m&lt;sub&gt;j&lt;/sub&gt;) j = 1..k]) =&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        = k + 1 + 1/5*(m - k - 1 - m&lt;sub&gt;k&lt;/sub&gt; - [Sum(m&lt;sub&gt;j&lt;/sub&gt;) j = 1..k-1]) =&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        = 1 - 1/5 - m&lt;sub&gt;k&lt;/sub&gt;/5 + k + 1/5*(m - k - [Sum(m&lt;sub&gt;j&lt;/sub&gt;) j = 1..k-1]) =&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        = 1 - 1/5 - m&lt;sub&gt;k&lt;/sub&gt;/5 + m&lt;sub&gt;k&lt;/sub&gt; =&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        = 4/5*(m&lt;sub&gt;k&lt;/sub&gt; + 1)&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;Therefore, all (m&lt;sub&gt;k&lt;/sub&gt; + 1) must be a multiple of 5.&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 5 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 4, m&lt;sub&gt;2&lt;/sub&gt; = 4, and all other  m&lt;sub&gt;k&lt;/sub&gt; = 4&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;That works.  From&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    m&lt;sub&gt;1&lt;/sub&gt; = 1 + 1/5*(m - 1)&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;you can calculate that m = 16.  Therefore, n = 4.&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 10 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 9, m&lt;sub&gt;2&lt;/sub&gt; = 8, but m&lt;sub&gt;3&lt;/sub&gt; = 7.2&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 15 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 14, m&lt;sub&gt;2&lt;/sub&gt; = 12, but m&lt;sub&gt;3&lt;/sub&gt; = 10.4&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 20 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 19, m&lt;sub&gt;2&lt;/sub&gt; = 16, but m&lt;sub&gt;3&lt;/sub&gt; = 13.6&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 25 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 24, m&lt;sub&gt;2&lt;/sub&gt; = 20, but m&lt;sub&gt;3&lt;/sub&gt; = 16.8&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 30 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 29, m&lt;sub&gt;2&lt;/sub&gt; = 24, m&lt;sub&gt;3&lt;/sub&gt; = 20, but m&lt;sub&gt;4&lt;/sub&gt; = 16.8&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;If (m&lt;sub&gt;1&lt;/sub&gt; + 1) = 35 =&amp;gt;  m&lt;sub&gt;1&lt;/sub&gt; = 34, m&lt;sub&gt;2&lt;/sub&gt; = 28, but m&lt;sub&gt;3&lt;/sub&gt; = 23.2&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;Increasing the factor that multiplies 5 sometimes pushes the fractional m&lt;sub&gt;k&lt;/sub&gt;s to higher values of k, but doesn’t eliminate them.&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;This is not foolproof, but a spreadsheet calculation has verified  that there are no other solutions for m&lt;sub&gt;1&lt;/sub&gt; up to more than 800.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5263837479619067319?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5263837479619067319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5263837479619067319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5263837479619067319'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-solution-11.html' title='Giza IQ-Test - Solution 11'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-6481970591221178118</id><published>2011-08-06T12:03:00.006+10:00</published><updated>2011-08-17T17:19:31.175+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><title type='text'>Patrizio Galli</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-grecADbgKwY/TjyfQr96R-I/AAAAAAAAAJ8/2Oz6JMzK_I4/s1600/2011-08-06+12.00+Patrizio+Galli.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="345" src="http://3.bp.blogspot.com/-grecADbgKwY/TjyfQr96R-I/AAAAAAAAAJ8/2Oz6JMzK_I4/s400/2011-08-06+12.00+Patrizio+Galli.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Only yesterday I discovered that Patrizio died almost one year ago, on August 20, 2010. I had lost contact with him some years ago and, until yesterday, my Internet searches had found nothing about him.&lt;br /&gt;&lt;br /&gt;He was a colleague and a friend.&amp;nbsp; The picture was taken in the Summer of 1983, on the Via Appia Antica, near Rome.&amp;nbsp; I know, it's a bit old, but it is the only one I have of him.&amp;nbsp; He is the one sitting on the column.&amp;nbsp; The nice lady standing beside me is Monika, my wife.&lt;br /&gt;&lt;br /&gt;He was a larrikin with an unstoppable sense of humour and an irreverent view on everything.&amp;nbsp; I like to remember him as he appears on this picture, with a smile on his face.&lt;br /&gt;&lt;br /&gt;But last August a side of him emerged that would have better remained buried in the deepest recesses of his mind.&amp;nbsp; In the hallway of his two-storey house near Rome, while his two teenage boys were sleeping upstairs, he armed his Smith &amp;amp; Wesson .44 Magnum revolver and shot five times his wife of twenty-six years, Catia.&amp;nbsp; He then directed the gun towards himself and put an end to his own life.&amp;nbsp; He was sixty-two.&amp;nbsp; Catia was forty-seven.&lt;br /&gt;&lt;br /&gt;It was the children, awoken by the gun shots, who discovered them.&amp;nbsp; They immediately called for help, but it was too late.&amp;nbsp; I cannot begin to imagine how they felt and how they could inform their three older sisters.&lt;br /&gt;&lt;br /&gt;That morning, like many other times in the recent past, a heated argument had exploded between Catia and Patrizio.&amp;nbsp; They were separating.&amp;nbsp; Perhaps some financial difficulties didn’t help, but I can only speculate on the reasons for the conflicts that ultimately led to such a tragedy.&lt;br /&gt;&lt;br /&gt;Before Patrizio met Catia, he had had many fleeting relationships and seemed destined to remain an eternal bachelor.&amp;nbsp; But Catia changed him.&amp;nbsp; He became a devoted husband and a patient father, who never laid a hand on any member of his family.&lt;br /&gt;&lt;br /&gt;He couldn’t face the prospect of losing the love of his life.&amp;nbsp; But how could he possibly do what he did, knowing that his children would have to live with this tragedy for the rest of their lives?&amp;nbsp; Ultimately, every homicide/suicide is an act of selfishness and an affirmation of power.&amp;nbsp; And yet, I only feel sadness and pain.&amp;nbsp; I cannot bring myself to hate him for what he did.&amp;nbsp; I feel as if he had been hit by a sudden sickness that in a second wiped out his rational mind.&lt;br /&gt;&lt;br /&gt;The last time I saw him was in 2003.&amp;nbsp; He showed me his collection of weapons, including the S&amp;amp;W.&amp;nbsp; I still cannot grasp the fact that I held in my hand the weapon that a few years later would be used to kill.&amp;nbsp; It was the revolver made famous by Clint Eastwood in the “Dirty Harry” movies.&amp;nbsp; When it was built, it was claimed to be the most powerful hand gun in existence, and it was a monster. I have fired a .38 and a nine-millimetre, but they felt like toys compared to that .44 Magnum.&lt;br /&gt;&lt;br /&gt;Besides being a fun person to be with, Patrizio was also one of the two or three best computer programmers I have ever met.&amp;nbsp; Writing programs is like authoring prose: some people come up with lines that need little editing, sharp and clean.&amp;nbsp; Patrizio was one of those.&amp;nbsp; He was also one of the very few people I have ever met capable of reading a computer manual from cover to cover.&amp;nbsp; And he was a natural, as he had never had any formal training in computer science.&lt;br /&gt;&lt;br /&gt;Death is always shocking, but these deaths will accompany me for a while.&amp;nbsp; I don’t believe in an afterlife, but I still feel compelled to say: Farewell my friend. Suffering is over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-6481970591221178118?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/6481970591221178118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/patrizio-galli.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6481970591221178118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6481970591221178118'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/patrizio-galli.html' title='Patrizio Galli'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-grecADbgKwY/TjyfQr96R-I/AAAAAAAAAJ8/2Oz6JMzK_I4/s72-c/2011-08-06+12.00+Patrizio+Galli.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7074151804245958612</id><published>2011-08-05T12:00:00.000+10:00</published><updated>2011-08-05T12:00:47.285+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 13 and 14</title><content type='html'>2.03&amp;nbsp;&amp;nbsp;&amp;nbsp; In a contest, three problems, A, B, and C are posed.&amp;nbsp; 25 of the participants solve at least one problem each. Of all those who don’t solve problem A, the number of those who solve B is twice the number of those who solve C.&amp;nbsp; The number of participants who only solve problem A is one more than the number of those who solve A and at least one other problem.&amp;nbsp; Of all participants who solve just one problem, half do not solve problem A.&amp;nbsp; How many participants solve only problem B?&lt;br /&gt;&lt;br /&gt;2.04&amp;nbsp;&amp;nbsp;&amp;nbsp; How many four-digit integers (i.e., between 1000 and 9999) cannot be changed to multiples of 1892 by replacing up to three of their digits?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7074151804245958612?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7074151804245958612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-questions-13-and-14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7074151804245958612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7074151804245958612'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-questions-13-and-14.html' title='Giza-IQ Test - Questions 13 and 14'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-8587077988811445101</id><published>2011-08-01T11:40:00.000+10:00</published><updated>2011-08-01T11:41:21.175+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 11 and 12</title><content type='html'>New month, new questions.&amp;nbsp; I have already posted all my geometrical questions.&amp;nbsp; This month, I have numerical and combinatorial questions for you.&lt;br /&gt;&lt;br /&gt;2.01&amp;nbsp;&amp;nbsp;&amp;nbsp; In a sport contest lasting n days (with n &amp;gt; 1), m medals are awarded.&amp;nbsp; On the first day, one medal and 1/5 of the remaining m-1 medals are awarded; on the second day, two medals and 1/5 of the then remaining medals are awarded; and so on.&amp;nbsp; On the last day, the remaining n medals are awarded.&amp;nbsp; How many days does the contest last and how many medals are awarded altogether?&lt;br /&gt;&lt;br /&gt;2.02&amp;nbsp;&amp;nbsp;&amp;nbsp; Five students, A,B,C,D, and E take part in a contest.&amp;nbsp; One prediction was that the contestants would finish in the order ABCDE.&amp;nbsp; In fact no contestant finishes in the position predicted, and no two contestants predicted to finish consecutively actually do so.&amp;nbsp; A second prediction had the contestants finishing in the order DAECB.&amp;nbsp; This prediction was better:&amp;nbsp; Exactly two of the contestants finish in the places predicted, and two disjoint pairs of students predicted to finish consecutively actually do so.&amp;nbsp; Determine the order in which the contestants finish.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-8587077988811445101?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/8587077988811445101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-questions-11-and-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8587077988811445101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8587077988811445101'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/08/giza-iq-test-questions-11-and-12.html' title='Giza-IQ Test - Questions 11 and 12'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2974026069142983031</id><published>2011-07-28T22:41:00.001+10:00</published><updated>2011-07-29T11:42:11.449+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 10</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-F0HUE1BK1x8/TjFZB_kcDKI/AAAAAAAAAJ4/Mo7qA2CiY0o/s1600/_2011-07-xx+13.58+Giza-IQ+Test+-+Solution+10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://3.bp.blogspot.com/-F0HUE1BK1x8/TjFZB_kcDKI/AAAAAAAAAJ4/Mo7qA2CiY0o/s320/_2011-07-xx+13.58+Giza-IQ+Test+-+Solution+10.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Each of the two ants has 4 edges to choose.  This gives a total of 4&lt;sup&gt;2&lt;/sup&gt; = 16 possible choices.  Of those choices, we have to discard the four cases in which the ants choose the same edge, because then they would meet between their starting vertices after walking 1/2 edge each. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;We are left with 12 possible choices.  This result can also be obtained by noting that if we let one of the ants choose the edge it likes, then the second ant is only left with three possible choices: 4*3 = 12.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;After walking their first edge, in 4 of the 12 possible cases, the ants find themselves still on opposite vertices, while in the other 8 cases, they are at two ends of the same edge.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Now, if they are at the two ends of an edge, it is for them impossible to meet after walking exactly a further edge without one of them having to walk back to its vertex of origin.  As the question states that the ants never double back, these possibilities have to be discarded.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As a result of the considerations above, the only cases that satisfy all the conditions are those in which the ants move from a pair of opposite edges to a different pair of opposite edges.  The probability is 4/16 = 1/4.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;In its new position, each ant can choose one of 3 possible edges (not 4, because ants never double back).  Therefore, there are 3&lt;sup&gt;2&lt;/sup&gt; = 9 possibilities.  Of these, only 2 lead to a meeting satisfying the required conditions: those in which both ants walk to one of the two vertices that were so far unoccupied by either one of them.  The probability is therefore 2/9.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The total probability is given by the product of the probabilities calculated for the two edges: P = 1/4 * 2/9 = 1/18 = 0.0555 .&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2974026069142983031?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2974026069142983031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2974026069142983031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2974026069142983031'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-10.html' title='Giza-IQ Test - Solution 10'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-F0HUE1BK1x8/TjFZB_kcDKI/AAAAAAAAAJ4/Mo7qA2CiY0o/s72-c/_2011-07-xx+13.58+Giza-IQ+Test+-+Solution+10.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-6523071874486005267</id><published>2011-07-28T22:35:00.002+10:00</published><updated>2011-07-28T22:42:14.484+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 9</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-eVwW32KBlyw/TjFXbTD58JI/AAAAAAAAAJ0/bxCTSllBb48/s1600/_2011-07-xx+13.58+Giza-IQ+Test+-+Solution+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="372" src="http://4.bp.blogspot.com/-eVwW32KBlyw/TjFXbTD58JI/AAAAAAAAAJ0/bxCTSllBb48/s400/_2011-07-xx+13.58+Giza-IQ+Test+-+Solution+9.png" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;It is a regular Octahedron. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-6523071874486005267?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/6523071874486005267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6523071874486005267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6523071874486005267'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-9.html' title='Giza-IQ Test - Solution 9'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-eVwW32KBlyw/TjFXbTD58JI/AAAAAAAAAJ0/bxCTSllBb48/s72-c/_2011-07-xx+13.58+Giza-IQ+Test+-+Solution+9.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-14346793190018450</id><published>2011-07-24T18:19:00.001+10:00</published><updated>2011-07-24T18:22:52.072+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 8</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-l4EyuIpQVDs/TivVKdze9tI/AAAAAAAAAJo/YhmP1hG26E4/s1600/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-l4EyuIpQVDs/TivVKdze9tI/AAAAAAAAAJo/YhmP1hG26E4/s320/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+0.png" width="302" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;If you lie the octahedron on its ADE face, its top view is as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-j5zf9oQk3iw/TivVKxiAyDI/AAAAAAAAAJs/ADZGtTqGJ8U/s1600/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="283" src="http://1.bp.blogspot.com/-j5zf9oQk3iw/TivVKxiAyDI/AAAAAAAAAJs/ADZGtTqGJ8U/s320/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The area of the smallest enclosing rectangle is given by BC, which is 1, multiplied by the projection of DF onto the horizontal plane, which is twice the distance between the centre of a face and one of its vertices = 2 * 2/3 * sqrt(3)/ 2 = 2/3 * sqrt(3)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The height of our box coincides with the distance between the faces ADE and BCF, which is twice the radius of the inscribed sphere.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Using the coordinate axes shown in the figure below, I write the equation of the sphere centred in the origin that has on its surface the centre of one of the faces.  If you find a better method for calculating the radius, I’d be happy to hear from you.  I just use the first method that comes to mind.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GYBs_NY_K3s/TivVLIObkBI/AAAAAAAAAJw/bSjEtfLqKCY/s1600/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-GYBs_NY_K3s/TivVLIObkBI/AAAAAAAAAJw/bSjEtfLqKCY/s320/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+2.png" width="305" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Considering that CDEF is a square of side 1, the distance of each vertex from the centre of the octahedron is sqrt(2)/2.  Therefore, the coordinates of the vertices B, C, and F are:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;B: (0, 0, sqrt(2)/2)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;C: (0, sqrt(2)/2, 0)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;F: (sqrt(2)/2, 0, 0)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To calculate the coordinates of the centre of the BCF face, I just average the coordinates of its vertices:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;centre of BCF: (sqrt(2)/6, sqrt(2)/6, sqrt(2)/6)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The equation of a sphere centred in the origin is simply x&lt;sup&gt;2&lt;/sup&gt; + y&lt;sup&gt;2&lt;/sup&gt; + z&lt;sup&gt;2&lt;/sup&gt; = r&lt;sup&gt;2&lt;/sup&gt;, and r turns out to be sqrt(6)/6.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;We can finally calculate the volume of our box as:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;V = area of base * height = [2/3 * sqrt(3)] * [sqrt(6) / 3] = 2/3 * sqrt(2)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-14346793190018450?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/14346793190018450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/14346793190018450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/14346793190018450'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-8.html' title='Giza-IQ Test - Solution 8'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-l4EyuIpQVDs/TivVKdze9tI/AAAAAAAAAJo/YhmP1hG26E4/s72-c/2011-07-23+11.21+Giza-IQ+Test+-+Solution+8+0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-8754107021635807982</id><published>2011-07-24T18:14:00.002+10:00</published><updated>2011-07-24T20:10:19.360+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 7</title><content type='html'>The cubic root of 2 is 1.259921049894873 = ~1.26 &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The following table shows how many 2-cubes (i.e., cubes of volume 2) fit side-by-side into the length occupied by a given number of 1-cubes:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;1-cubes&lt;/span&gt;&lt;span style="font-size: small;"&gt;    2-cubes&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;1 &amp;nbsp; &amp;nbsp;&amp;nbsp; 0&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;2           &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;1&amp;nbsp;&amp;nbsp; 1.26&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;3 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          &lt;/span&gt;&lt;span style="font-size: small;"&gt;2&amp;nbsp;&amp;nbsp; 2.52&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;4 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          &lt;/span&gt;&lt;span style="font-size: small;"&gt;3&amp;nbsp;&amp;nbsp;    3.78&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;5 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          3&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;3.78&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;6 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          4&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;5.04&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;7 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          5&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;6.30&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;8 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          6&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;7.56&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;9           &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;7&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;8.82&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;  &lt;/span&gt;&lt;span style="font-size: small;"&gt;10 &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;          7 &amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;8.82&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;  &lt;/span&gt;&lt;span style="font-size: small;"&gt;11           &lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;8&amp;nbsp;   &lt;/span&gt;&lt;span style="font-size: small;"&gt;10.08&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For example, six 2-cubes need just a bit less space than eight 1-cubes.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To solve the problem, we only need try possible box dimensions starting from the smallest one that can contain a 2-cube.  We can afford to do so, because we expect to find a solution pretty soon.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;1-cubes&lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp;   1-vol &amp;nbsp;   2-cubes&amp;nbsp;&amp;nbsp;    2-vol&amp;nbsp;&amp;nbsp;    ratio&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x2x2 &amp;nbsp; &amp;nbsp; &amp;nbsp;       8 &amp;nbsp; &amp;nbsp;     1x1x1 &amp;nbsp; &amp;nbsp; &amp;nbsp;       2 &amp;nbsp; &amp;nbsp;&amp;nbsp;      1/4&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x2x3&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;       12 &amp;nbsp; &amp;nbsp;     1x1x2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        4 &amp;nbsp; &amp;nbsp;&amp;nbsp;      1/3&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x3x3 &amp;nbsp; &amp;nbsp;&amp;nbsp;      18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      1x2x2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       4/9&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;3x3x3 &amp;nbsp;&amp;nbsp; &amp;nbsp;     27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      2x2x2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       16 &amp;nbsp; &amp;nbsp;     16/27&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x2x4&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;       16 &amp;nbsp; &amp;nbsp;     1x1x3 &amp;nbsp; &amp;nbsp; &amp;nbsp;       6 &amp;nbsp; &amp;nbsp;&amp;nbsp;      3/8&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x3x4&amp;nbsp; &amp;nbsp; &amp;nbsp;       24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      1x2x3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       12 &amp;nbsp; &amp;nbsp;&amp;nbsp;      1/2&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;3x3x4 &amp;nbsp; &amp;nbsp;&amp;nbsp;      36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2x2x3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       2/3&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;3x4x4&amp;nbsp; &amp;nbsp; &amp;nbsp;       48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2x3x3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       36 &amp;nbsp; &amp;nbsp;&amp;nbsp;      3/4&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;4x4x4&amp;nbsp; &amp;nbsp; &amp;nbsp;       64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3x3x3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      27/32&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x2x5&amp;nbsp; &amp;nbsp; &amp;nbsp;       20 &amp;nbsp; &amp;nbsp;     1x1x3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        6 &amp;nbsp; &amp;nbsp;&amp;nbsp;       3/10&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2x3x5&amp;nbsp; &amp;nbsp; &amp;nbsp;       30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1x2x3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       12 &amp;nbsp; &amp;nbsp;&amp;nbsp;      2/5&amp;nbsp;&amp;nbsp; ***&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-8754107021635807982?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/8754107021635807982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8754107021635807982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8754107021635807982'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-7.html' title='Giza-IQ Test - Solution 7'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3126059023849076414</id><published>2011-07-19T11:21:00.000+10:00</published><updated>2011-07-19T11:21:43.589+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 6</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vVjBYc3nZe4/TiTb8DYJOqI/AAAAAAAAAJk/mRaeAcZVxz8/s1600/2011-07-19+11.05+Giza-IQ+Test+-+Solution+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-vVjBYc3nZe4/TiTb8DYJOqI/AAAAAAAAAJk/mRaeAcZVxz8/s400/2011-07-19+11.05+Giza-IQ+Test+-+Solution+6.png" width="295" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you open the icosahedron, you can easily see that the shortest line between the geometrical centres of two opposite faces is the straight line.  This is the geodesic line, which you would obtain in absence of friction if you stretched between the two points an elastic band. If you establish the Cartesian axes as shown in the figure, the coordinates of the two points are (0, 1/3) and (5/2, 2/3). &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Therefore, the solution is given by:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;  d = sqrt((5/2)&lt;sup&gt; 2&lt;/sup&gt; + (1/3)&lt;sup&gt;2&lt;/sup&gt;) = sqrt(226) / 6 = 2.505549396395485.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3126059023849076414?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3126059023849076414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3126059023849076414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3126059023849076414'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-6.html' title='Giza-IQ Test - Solution 6'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-vVjBYc3nZe4/TiTb8DYJOqI/AAAAAAAAAJk/mRaeAcZVxz8/s72-c/2011-07-19+11.05+Giza-IQ+Test+-+Solution+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-8090159740550074224</id><published>2011-07-19T11:19:00.000+10:00</published><updated>2011-07-19T11:21:43.590+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 5</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-2Zc4Y4gqrmU/TiTbgw0cIPI/AAAAAAAAAJg/q_vhvaKmC3A/s1600/2011-07-19+11.05+Giza-IQ+Test+-+Solution+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="378" src="http://1.bp.blogspot.com/-2Zc4Y4gqrmU/TiTbgw0cIPI/AAAAAAAAAJg/q_vhvaKmC3A/s400/2011-07-19+11.05+Giza-IQ+Test+-+Solution+5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The volume of a tetrahedron is baseArea * height / 3.  If we extend exactly two edges, they can only be adjacent.  If you choose two that are not part of the base, the maximum height is obtained when the rotating edge is perpendicular to the base. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Then, the height coincides with the length of the edge.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The area of the base is sqrt(3)/4.  Therefore, the maximum volume of the tetrahedron is:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;  Vmax = sqrt(3) / 4 * 1/3 = sqrt(3) / 12 = 0.144337567297406.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-8090159740550074224?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/8090159740550074224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8090159740550074224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8090159740550074224'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-5.html' title='Giza-IQ Test - Solution 5'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-2Zc4Y4gqrmU/TiTbgw0cIPI/AAAAAAAAAJg/q_vhvaKmC3A/s72-c/2011-07-19+11.05+Giza-IQ+Test+-+Solution+5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-1248939788912729815</id><published>2011-07-18T11:05:00.000+10:00</published><updated>2011-07-18T11:06:02.313+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 4</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8XUpv7X5kTU/TiOG0aRCQvI/AAAAAAAAAJc/vpSk2mjCFmY/s1600/2011-07-18+16.03+Giza-IQ+Test+-+Solution+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="358" src="http://3.bp.blogspot.com/-8XUpv7X5kTU/TiOG0aRCQvI/AAAAAAAAAJc/vpSk2mjCFmY/s400/2011-07-18+16.03+Giza-IQ+Test+-+Solution+4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;The volume of a tetrahedron is baseArea * height / 3.  If we only extend one of the edges that don’t form the base, as shown in the figure, the maximum height is obtained when the rotating face is perpendicular to the base.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Then, the height coincides with that of an equilateral triangle of side 1: sqrt(3)/2.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The area of the base is sqrt(3)/4.  Therefore, the maximum volume of the tetrahedron is:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;  Vmax = sqrt(3)/4 * sqrt(3)/2 / 3 = 1/8 = 0.1250.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Just for fun, we can compare this volume with that of a regular tetrahedron. Its height can be calculated as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;  h = sqrt( 1&lt;sup&gt;2&lt;/sup&gt; - (2/3)&lt;sup&gt;2&lt;/sup&gt;) = sqrt(5)/3&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Therefore, the volume of the regular tetrahedron of unitary edge is&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;  sqrt(3)/4 * sqrt(5)/3 / 3 = 1/12 * sqrt(5/3) = 0.1076...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-1248939788912729815?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/1248939788912729815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/1248939788912729815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/1248939788912729815'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-4.html' title='Giza-IQ Test - Solution 4'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-8XUpv7X5kTU/TiOG0aRCQvI/AAAAAAAAAJc/vpSk2mjCFmY/s72-c/2011-07-18+16.03+Giza-IQ+Test+-+Solution+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7686031397956144732</id><published>2011-07-18T10:55:00.000+10:00</published><updated>2011-07-18T11:06:02.314+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 3</title><content type='html'>Cut the cone along the line formed by the vertical segment of the string, and open it onto a flat surface.&amp;nbsp; You obtain a triangle with a rounded base.&amp;nbsp; The string slips off the cone when the angle at the top of the opened surface of the cone reaches 180 degrees.&amp;nbsp; That is, when the opened cone looks like a semicircle.&lt;br /&gt;&lt;br /&gt;If we take the radius R of the semicircle to be 1, the circumference of the cone base is given by:&lt;br /&gt;&amp;nbsp; C = 2*pi*R / 2 = pi&lt;br /&gt;&lt;br /&gt;The radius of the cone base is then given by&lt;br /&gt;&amp;nbsp; r = C/(2*pi) = 1/2&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--nLchZWL4f0/TiODm2t86YI/AAAAAAAAAJY/u7CNO1DfefQ/s1600/2011-07-18+16.03+Giza-IQ+Test+-+Solution+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/--nLchZWL4f0/TiODm2t86YI/AAAAAAAAAJY/u7CNO1DfefQ/s320/2011-07-18+16.03+Giza-IQ+Test+-+Solution+3.png" width="130" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id="goog_950071661"&gt;&lt;/span&gt;&lt;br /&gt;The aperture α of the cone is easily calsulated as follows:&lt;br /&gt;&amp;nbsp; α = 2*arcsin(r/R) = 2*arcsin(1/2) = 60 degrees.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7686031397956144732?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7686031397956144732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7686031397956144732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7686031397956144732'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-3.html' title='Giza-IQ Test - Solution 3'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/--nLchZWL4f0/TiODm2t86YI/AAAAAAAAAJY/u7CNO1DfefQ/s72-c/2011-07-18+16.03+Giza-IQ+Test+-+Solution+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-734915753097434972</id><published>2011-07-17T12:02:00.002+10:00</published><updated>2011-07-17T12:04:19.467+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 9 and 10</title><content type='html'>Three more geometrical puzzles.&amp;nbsp; Don’t you like polyhedra?&amp;nbsp; These are the last two geometrical questions.&amp;nbsp; Then, I will have for you numerical ones.&lt;br /&gt;&lt;br /&gt;1.09&amp;nbsp;&amp;nbsp;&amp;nbsp; Four regular tetrahedrons are placed inside a regular tetrahedron that has edges of double length.&amp;nbsp; This is done in such a way that each vertex of the large tetrahedron coincides with one of the vertices of the small tetrahedrons, so that an empty space is left in the middle of the large tetrahedron.&amp;nbsp; Please describe in words the shape of the empty space.&lt;br /&gt;&lt;br /&gt;1.10&amp;nbsp;&amp;nbsp;&amp;nbsp; Two ants are on the opposite vertices of a regular octahedron.&amp;nbsp; They choose at random one of the edges and walk on it at the same uniform speed.&amp;nbsp; Every time each of the ants encounters a vertex, it immediately chooses at random a new edge (that is, it never doubles back onto the edge it has just come from) and walks on it.&amp;nbsp; What is the probability that the two ants meet after each ant has walked on exactly two edges?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-734915753097434972?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/734915753097434972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-9-and-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/734915753097434972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/734915753097434972'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-9-and-10.html' title='Giza-IQ Test - Questions 9 and 10'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2077376223191827261</id><published>2011-07-16T16:03:00.005+10:00</published><updated>2011-07-17T12:03:28.688+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 2</title><content type='html'>This is the solution to the second of the &lt;a href="http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-1-and-2.html"&gt;two problems I posted on July 11&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.02&amp;nbsp;&amp;nbsp;&amp;nbsp; The billiard balls are centred on the vertices of a regular tetrahedron.  Their points of contact with each other are in the middle of the edges and, as the radius of the balls is 1, the length of the edges is 2.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_5kXpIVGXUk/TiEpeMZFVnI/AAAAAAAAAJU/wXV3loY2Y0M/s1600/2011-07-16+13.04+Giza-IQ+Test+-+Solution+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="295" src="http://3.bp.blogspot.com/-_5kXpIVGXUk/TiEpeMZFVnI/AAAAAAAAAJU/wXV3loY2Y0M/s320/2011-07-16+13.04+Giza-IQ+Test+-+Solution+2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To determine the radius of the small ball, we need to subtract 1 (which is the radius of the billiard balls) from the distance between the centre of the tetrahedron (S in the figure) and one of the tetrahedron vertices.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Point A, which is the base of the tetrahedron height, is located at 1/3 of the bottom-face height, while the centre of the tetrahedron is at 1/4 of its height.  These two facts are obvious when one considers that A and S are the barycentres respectively of the tetrahedron bottom face and of the whole tetrahedron.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;face height = sqrt(2&lt;sup&gt;2&lt;/sup&gt; – 1&lt;sup&gt;2&lt;/sup&gt;) = sqrt(3)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;=&amp;gt;  2/3 of face height = 2 / sqrt(3)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;tetrahedron height = sqrt(2&lt;sup&gt;2&lt;/sup&gt; – (2 / sqrt(3))&lt;sup&gt; 2&lt;/sup&gt;) = 2 * sqrt(2/3)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;=&amp;gt;  3/4 of tetrahedron height = sqrt(3/2)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;=&amp;gt;  small radius = sqrt(3/2) – 1 = 0.2247..&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2077376223191827261?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2077376223191827261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2077376223191827261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2077376223191827261'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-2.html' title='Giza-IQ Test - Solution 2'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-_5kXpIVGXUk/TiEpeMZFVnI/AAAAAAAAAJU/wXV3loY2Y0M/s72-c/2011-07-16+13.04+Giza-IQ+Test+-+Solution+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5267362886349344917</id><published>2011-07-16T15:03:00.005+10:00</published><updated>2011-07-17T12:03:58.142+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Solution 1</title><content type='html'>Today, instead of proposing more puzzles, I have decided to begin giving you solutions. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;This is the solution to the first of the &lt;a href="http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-1-and-2.html"&gt;two problems I posted on July 11&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-uO1Izga10Z0/TiEba197kbI/AAAAAAAAAJQ/dtIUfUKu0fM/s1600/2011-07-16+13.04+Giza-IQ+Test+-+Solution+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-uO1Izga10Z0/TiEba197kbI/AAAAAAAAAJQ/dtIUfUKu0fM/s320/2011-07-16+13.04+Giza-IQ+Test+-+Solution+1.png" width="208" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.01&amp;nbsp;&amp;nbsp;&amp;nbsp; In the figure the height is not 2/3 of the width, but it doesn’t matter.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;We indicate with rs the radius of the sphere and with hc and rc the height and radius of the cone.  Further, we can set rc = 1 without any loss of generality.  We can then write:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;BE = hc - rs = 4/3 - rs&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;DE = rs&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;AB = sqrt(hc&lt;sup&gt;2&lt;/sup&gt;+rc&lt;sup&gt;2&lt;/sup&gt;) = sqrt(16/9 + 1) = sqrt(16+9) / 3 = 5/3&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;AC = rc = 1&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The angles EDB and ACE are right angles, and the triangle ABC is similar to EBD.  We can therefore write:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;BE/DE = AB/AC&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;If we substitute the lengths of the segments, we obtain:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;(4/3 - rs) / rs = 5/3&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;which, resolved in rs, gives us the radius of the sphere:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;r = 1/2&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Vc = pi * rc&lt;sup&gt;2&lt;/sup&gt; *  hc / 3 = pi * (4/3) / 3 = 4 * pi / 9&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Vs = (4/3) * pi * r&lt;sup&gt;3&lt;/sup&gt; = pi * (4/3) * (1/8) = pi / 6&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Vs/Vc = pi / 6 * 9 / (4 * pi) = 3/8&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5267362886349344917?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5267362886349344917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5267362886349344917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5267362886349344917'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-solution-1.html' title='Giza-IQ Test - Solution 1'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-uO1Izga10Z0/TiEba197kbI/AAAAAAAAAJQ/dtIUfUKu0fM/s72-c/2011-07-16+13.04+Giza-IQ+Test+-+Solution+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7862026871936267795</id><published>2011-07-15T13:58:00.000+10:00</published><updated>2011-07-16T16:04:46.563+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 7 and 8</title><content type='html'>Today’s puzzles are about fitting regular polihedra into boxes.&lt;br /&gt;&lt;br /&gt;1.07&amp;nbsp;&amp;nbsp;&amp;nbsp; A rectangular box can be filled completely with cubes of dimensions 1 x 1 x 1.&amp;nbsp; When the unit cubes are removed and larger cubes, each having a volume of 2, are placed in the box with their edges parallel to the edges of the box, it turns out that they can only fill 40% of the box. What is a possible set of dimensions for such a box?&lt;br /&gt;&lt;br /&gt;1.08&amp;nbsp;&amp;nbsp;&amp;nbsp; What are the dimensions of the smallest rectangular box that can contain a regular octahedron with unitary edge length?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7862026871936267795?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7862026871936267795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-7-and-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7862026871936267795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7862026871936267795'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-7-and-8.html' title='Giza-IQ Test - Questions 7 and 8'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-1972058733658560344</id><published>2011-07-14T14:13:00.001+10:00</published><updated>2011-07-15T13:57:26.302+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 5 and 6</title><content type='html'>To all French visitors: Happy Bastille Day!&amp;nbsp; For those who don’t know, on July 14th of 222 years ago, the French Revolution exploded.&amp;nbsp; That’s why today is the French equivalent of U.S.A’s&amp;nbsp; July 4th.&amp;nbsp; I wonder what fraction of such momentous events occurred during summer.&amp;nbsp; The Russian national day is (was?) October 25th, and the Chinese one is October 1st, but Italy’s is June 2nd, and the Australian one January 26th (which is during the southern summer)...&lt;br /&gt;&lt;br /&gt;Anyhow, today I am going to propose two more of my mathematical puzzles.&amp;nbsp; These two are about &lt;a href="http://en.wikipedia.org/wiki/Platonic_solid"&gt;Platonic solids&lt;/a&gt;: a &lt;a href="http://en.wikipedia.org/wiki/Tetrahedron"&gt;Tetrahedron&lt;/a&gt; and an &lt;a href="http://en.wikipedia.org/wiki/Icosahedron"&gt;Icosahedron&lt;/a&gt;.&amp;nbsp; Wikipedia says that many viruses, including the herpes virus, have icosahedral shells. Fascinating&amp;nbsp; (as an old friend with pointy ears would say)!&lt;br /&gt;&lt;br /&gt;1.05&amp;nbsp;&amp;nbsp;&amp;nbsp; In a regular tetrahedron with unitary edge length, two (and exactly two) edges are increased in length, thereby increasing the volume of the solid.&amp;nbsp; What is the maximum volume that can be obtained in this way?&lt;br /&gt;&lt;br /&gt;1.06&amp;nbsp;&amp;nbsp;&amp;nbsp; An ant walks on a regular icosahedron with unitary edge length.&amp;nbsp; It goes from the geometric centre of one face to the geometric centre of the opposite face (the geometric centre of a triangle is the centre of the circumscribed circle).&amp;nbsp; What is the minimum distance that the ant needs to cover?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-1972058733658560344?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/1972058733658560344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-5-and-6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/1972058733658560344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/1972058733658560344'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-5-and-6.html' title='Giza-IQ Test - Questions 5 and 6'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3141651198839091775</id><published>2011-07-13T18:08:00.003+10:00</published><updated>2011-07-14T14:15:23.944+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Java - Formatting a Sudoku for the Web</title><content type='html'>I just wrote a small method in Java that somebody might find useful. It converts a Sudoku string into HTML. &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;That is, it converts something like this: &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;074000610695802743310764089730040025560000034049000870007406300000179000000050000&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;into something like this:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-hDoB9WXirC8/Th1PFtWlXmI/AAAAAAAAAJI/mBIYEiNhQQ0/s1600/2011-07-13+16.14+Java+-+Formatting+a+Sudoku+for+the+Web.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" src="http://1.bp.blogspot.com/-hDoB9WXirC8/Th1PFtWlXmI/AAAAAAAAAJI/mBIYEiNhQQ0/s320/2011-07-13+16.14+Java+-+Formatting+a+Sudoku+for+the+Web.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Here is the code of the method:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lhxSvZ_t_Ys/Th1R1JemMdI/AAAAAAAAAJM/8yeKR2SK9no/s1600/2011-07-13+16.14+Java+-+Formatting+a+Sudoku+for+the+Web+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-lhxSvZ_t_Ys/Th1R1JemMdI/AAAAAAAAAJM/8yeKR2SK9no/s1600/2011-07-13+16.14+Java+-+Formatting+a+Sudoku+for+the+Web+1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I am sorry, but I can only display the source code as an image, because blogspot gets confused with the HTML tags.&amp;nbsp; This shouldn't happen, because I am pasting the HTML code in compose mode.&amp;nbsp; Their application should be able to escape the critical characters, but it doesn't. Very annoying.&amp;nbsp; I wasted at least half an hour trying to escape the greather-than signs manually, but it doesn't let me do it...&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;In any case, the method creates an HTML file that conforms to W3C’s XHTML 1.0 and CSS level 2.1.&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;To do the formatting of the output, it defines a different style class for each cell of a box, from top-left (c0, with thick top and left borders) to bottom right (c8, with thick right and bottom borders). It then determines the correct style class by calculating the position of each cell (from 0 to 8) with the formula &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;(kR % 3 * 3 + kC % 3)&lt;/span&gt;.&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;I know: it is nothing special for somebody who is familiar with stylesheets and Java.  Still...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3141651198839091775?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3141651198839091775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/java-formatting-sudoku-for-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3141651198839091775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3141651198839091775'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/java-formatting-sudoku-for-web.html' title='Java - Formatting a Sudoku for the Web'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-hDoB9WXirC8/Th1PFtWlXmI/AAAAAAAAAJI/mBIYEiNhQQ0/s72-c/2011-07-13+16.14+Java+-+Formatting+a+Sudoku+for+the+Web.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-6028166144792254560</id><published>2011-07-12T16:14:00.003+10:00</published><updated>2011-07-15T13:57:08.294+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Me'/><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 3 and 4</title><content type='html'>Here are two more questions to test your intelligence with mathematical and geometrical problems.&amp;nbsp; The first problem I propose to you today was one of the problems I encountered when in 1967 I attended in  Rome the selections for the Italian National Math championship.&amp;nbsp; I  qualified for the national championship and there I reached the fifth  place, thanks to which I became part of the Italian team sent to  the IX International Mathematics Olympiad.  &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A string is looped around the tip of a cone and pulled down with a weight, so that it hangs on the cone as shown in the figure below.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANsAAAEXCAYAAAAk3jE7AAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAASEklEQVR4Ae2dXchlVRmA1yfWVDgXRSWKRqhk5oUj/Q32I/140UTgT5BhEVl0N9JFRRZBN2FeSDXWRVJQIBhEQhh2UXoRJpRhDpIKUheVmaMRqBeNQdO35vves9fZZ+991tp7/a/ngJy91157/Tzv+5x3f2fmG3dO7b4UrywI7OzsKMKRRSiCLOKMIKMy6GwCWjhedRJAtkziSlXLJBABl4FsAeHOGVo/RlLd5pDL/x5kyyBGVLUMghBhCcgWAbLrFFQ3V2Jl9Ee2xHGiqiUOQMTpkS0ibJepqG4utMroi2wJ40RVSwg/wdTIlgC67ZRUN1tSZfRDtkRxoqolAp9wWmRLCN9maqqbDaUy+iBbGXFilRUQQLYEQXR9hKS6JQhSgCmRLQBUhoTAEAFkG6ISsM21qslSqG5Cotx3ZCs3dqy8MALIFjFgc6uaLJHqJiTKfEe2MuPGqgskgGyRgra0qskyqW5Corz3M8tbcoUrfvHv6vif/3V6Ywde9np1wVvOUS+vcJutb4nKFiEDxqvaCfWjL12ldg6erw4dOnT6v0suPVcdOPs96tafP6vUyXvVh8/dOf2b2xd99K7VSqluKxRFHVDZkoXrSfWFd79J3fbbgQWceEB9+erL1U8u/6965Om96+ddfNFAR5pKIkBlSxStB265Zk20a792j3r8L0+pJx68Qx05Ry/qKfXIH0+sVnfk2retjvUB1W0NRxEnO7tB49+NDBiq4UfIh9R1O+9Qd+/Pe82xx9TdRy/pVnHqPnXkjA+qX65arle/P3mXenvvB7nhsVc3cZAZASpbgoC89Mi9K9GUulHdYoqm17PzAXXLbVd2Kzt8WF3WE01fpLp1iEo4QraAURqrPM8/+8xq1gs/c526eHXWHVz4rstXJ1e+/wq+nVzRKPcA2VLE7sD/VrO+Sh1YHZsHZx26Sh3eb3jNG88zL60dU93WcGR9gmyBwjNW1Tame8WwbC89dVz9db/zq4e7bAxFQ94EkC1FfE522E88/if10sAannvsuPrHfvtDv3lsoEfXRHXrWOR81EU951UWtrZtVe21h96rLtvf0zP336F+3X3Dv996Uv302913kY/+4UH1XGEMWO4mAWTbZBK+5XUfUtddIdM8rG78+HfWZHroe1erz9/3vHRQ6vgD6okXutOhI6rbEJW82vhzNs/x2FbVZLoXf3ezOnj4m3Kq1KUfU7d+7gr1t199X333F5uPjV+5/z/qG++b/uHNdu5uUo5iEkA2z7RdEv74nZ9Vhz75w5EVXK9+fOdZ6lOf+MHp62ff8DP1zzuvHenbNbvM393FUQwC/N1Ij5RdE/2yXZFeeOdH1Ndv/pa659GnT6/klQfOV2898mn1xa/eoN588En178cPqmd3/weJB99wgceVMlQKAlQ2j9RdZfM49dpQuaxjbVGcKCpbpCTQAshLf5kx9+VrnLnzc998Asg2n93anUPVxBRjrbOnE3N8U2D5ZtJs8zQlwywggGwL4A3dagowdD1UmzkvkoWivGxc/pxtGb/Td0uiy7uHIRcNIeuQ90WDcbM3AlQ2byjtB0ICe1Y19US2hdHU4piPbTYimf1dp3cdv78+1/no748AsvljeXokUyQbMXxNb87ra0zG8UsA2Rbw3FY1TAFCiGeOP7YN3WfbOsfupd0vAWTzy3N0NBsxRm82LvgaxxiSw0gE+DZyJuiSqoVUt5lb5TZPBJDNE0iGgcA2Asi2jVAl16lu6QOJbDNiUNIj5IztcUsgAsgWCGyOw1Ld0kYF2Rz5U9UcgdF9RQDZVijaOKC6pYszsjmwp6o5wKLrBgFk20BSfwPVLU2Mkc2SO1XNEhTdRgkg2yiaui9Q3eLHF9ksmFPVLCDRZSsBZNuKqN4OVLe4sUW2uLyZrWECyLYl+LU/QlLdtiSAx8vI5hEmQ0FgigCyTdCpvarJ1qluQiLsO7KF5cvoEFgRQLYVivWDVqqa7JrqJiTCvSNbOLaMDIE1Asi2hmPvpLWqJgiobkIizDuyheFa7KgIFy50yNZj22pV62HgNAABZAsAtfQhqW5hIohsYbgyKgQ2CCCbgYRHyA4G1a1j4esI2XyRZBwIbCGAbPuAqGqbmUJ122SypAXZltDjXgg4EEC2XVhUtfGMobqNs3G9gmyuxOgPgZkEmpdNVzVe0wSobtN8bK82L5sGpZOJFwRCE2haNqqafXpR3exZjfVsWrYxKLRDIASBZmXjG0j3dKK6uTMz72hWNg0B4cxU4Dg0gaZlCw23xvGpbvOj2qRsVLT5CcOd8wk0Kdt8XNypCVDd5uVBc7JR1eYlCnctJ9CcbMuRMYImQHVzz4OmZKOquScId/gj0JRsfWx8OveJuJ3Dz41XM7JR1dwSg97+CTQjm390jKgJUN3s86AJ2ahq9glBz3AEmpAtHD5G1gSobnZ50LxsJIpdotBrOYHqZeMRcnmS2IzAh9Z2StXLth0BPXwS0B9uvIYJVC0bVW046KFadXXjNU6gatnGt71+hUegdR5Lz6huwwSrlY2qNhzw0K1Ut3HC1co2vuXhK1S3YS5zW6lum+SqlI2qthnomC1Ut2HaVco2vNXtrVS37YzoMZ9AdbJR1eYng887+eDapFmdbJtbdGshSdx40dueALLZs6LnDAJ8UdJBq0o2X4+QVLcuQTjyR6Aq2fxhYSQfBPSHln5R3fZoViObr6q2h4VfGxEOvPsjUI1s/pB0I/E42bFYcgTHPXpVyOa7qpmJRaKYNDheQqAK2ZYA4N44BPjQUqp42UJWNUlDEkVIuL/DrmNWvGzdVsIekTTL+bbOsGjZYlQ1M8VaTxaTBcfuBIqWzX27y+9AuGUMW+aHbDNyp+WEmYGLW/YJFCtb7EfIfsYgXJ+I/Xmr7IqVzT604Xq2mjQuRFN/KLqsNXTfImXLKYAINy9FW+RWpGzzwhvurhYTx5YmbDpSxcmWU1XrMPIXl00WtsetiVicbLaBTNFPkkd/IPCCQJ9AUbLlWtVMqFo4kc5s53iYQEusipJtOFx5tkoSUeXyjE+KVRUjWwlVrR9Aqtzeb2lrDlMv+WCa6lPDtWJkKxl2K8lUcoxirL0I2Uqsav3giXA8VvbJ7J0Ln+GrdbQWIVsdqPf+eKCFpKolXr73gWy+iVqMJ8JR5dZhCZf11nrOspethkfIoXTRiVV7cg3tu+W2M1vefA57HxJOt7X6Eh41Msi6stVa1foi6cSS5JJka/kRUxj0OZV+TmXLKIKmcHpZIpy0Z7RUq6W08mFpBWO3U7ayEai9by91IEU6fVyqeHrtLi+pbjXtN1vZXAJTe18z4UQ8s632/deyvyxlo6qNp5dIJtLpntI2fleZV/S+asqFLGUrMzXirtoUTMQz2+KuhtlsCGT3bWRNn2Q2AfDRR0smVUDE8zFuDmPIvnJYy9I1UNmWEszofqlspnDSltEym10KslUYelMwEc9sK23Leu01PPFkJVsNQHNLZJFMpNPrk7aQayWWm3Szkm1zebT4ImAKJuKZbb7mCTWOXmvpAmcjW+kgQyVZiHFFshKlC8Ej1pjZyBZrw8zTEehLp69IW9crn6PSq1sWslHV0ia0KRjVLlwssvtztnBbZWQbAlo8qSAins19sfrI2mLN53Oe5JWNquYznP7GkmpnCidt/mZpa6TksrWFu7zdmoKJeGZbih3p+Uv8kE4qW4nAUiRXLnOKZCKdXpe0mWskriaN7jipbN0yOCqJgCmYiGe2xdiLnq80qZEtRmZUPIdIlkq6ktAm+zaytE+lkoKaYq1aOqk2seaPPd/SfSWTbenCuT9PAimky5PE5qqSyEZV2wwELfMIlFTdksg2Dyt3lUSgJAlicY0uG1UtVmjbmacUsaPL1k4KsNNSJIgVqaiyUdVihbW9eUoQO6ps7aUAOy5BglhRiiYbVS1WSNudJ3exo8nWbgqw89wliBUhZItFuvF5YgkXa5454YwiG4+Qc0LDPbURiCJbbdDYzzwCsapOrHlcKQSXjarmGhL610oguGy1gmNf8wjEqjqx5nGhEFQ2qppLKOhbO4GgstUOj/3NIxCr6sSax5ZCMNmoarYhaLNfbiLEiEIw2WIsnjkgsI1ATlIHkY2qti0FuK4J5CRCjIgEkS3GwpkDArYEcpHau2xUNdsUoJ8mkIsIMaLhXbYYi2YOCLgSyEFqZHONGv29E8hBBO+bGhjQq2w8Qg4QpikbAqml9ipbNlRZSHEEUosQA5g32ahqMcJV9xwxhIsxx1iUvMk2NgHtEIDAHgEvslHVSCdfBGJUnhhzDPHwItvQwLRBAALrBBbLRlVbB8rZcgIxKk+MOfokFsvWH5BzCEBgmMAi2ahqw1BpXU4gRuWJMYdJYpFs5kAcQwAC0wSQbZoPVxMSiFF5YswhCGfLxiOkIOQ9JIGYMoTchx57tmyhF8b4EIhFIJbQs2SjqsVKA+bRBGLJEJr2LNlCL4rxIRCbQAyhnWWjqsVOA+bTBGLIEJq0s2yhF8T4EEhFILTQTrJR1VKlAfNqAqFlCE3ZSbbQi2F8CKQmEFJoa9moaqnTgPk1gZAyhCZsLVvohTA+BGwJhBYu1PjIZhth+kFgIQFkWwiQ29MQCFV9Qu7GWrYSNxcSHGPXSyDU9xPWstWLlp2VSqC0AuAkW2mbKzWJWHc6AqGqmt6Rk2zpEDAzBIYJlFQAnGUraXPD4aG1NgK+cjJkVdPMnWXTN/nanB6LFwRyIBBaNL3HWbLpGxFOU+CVC4El+RhDNM1ptmz65iUb1PfzgkBqArFE0/vc2RXm1NIN6wXrl4ehli6F+xsnYCtPipw900dsRLIUG/CxfsZoh0DKHPVS2fqhSrmh/lo4b4+Azj8pALL7HHLSS2WTDcm7bDSHDcqaeG+TQE45GEQ2CWtfOt0ubdKHdwiEIJCTZLK/oLLJJKZgAkFfM9ulL+8QmEOgn1f6PLf8iiKbCc8E0Adk9uMYAjYEJIfMvLK5L0Wf6LKZmzQBCTR93Ww3+3MMAU2g1FxJKpuZOqZgJkzdx7xm3sNxGwRqyYdsZDPTpi9XLbDNPXI8TqDWeGcpWz8MyNcnUs95Xyy9s368a9ltEbL1YfeDMRSwmoPW51HCOTFSqkjZ+snVl0+ujwVYro/dJ9d5tycA6+2sqpBtbJvbZNqWIHrcbWOMzV1TO5z8RLNq2bYhshGp9kSrfX/bciDm9aZlswHtS0ibuVL0sdlfinXVOCeyeYgqCesBYgNDLPpN7Qb4sEUIeCOAbN5QMhAEpgkg2zQfrkLAGwFk84aSgSAwTQDZpvlwFQLeCCCbN5QMBIFpAsg2zYerEPBGANm8oWQgCEwTQLZpPlyFgDcCyOYNJQNBYJoAsk3z4SoEvBFANm8oGQgC0wSQbZoPVyHgjQCyeUPJQBCYJoBs03y4CgFvBJDNG0oGgsA0AWSb5sNVCHgjgGzeUDIQBKYJINs0H65CwBsBZPOGkoEgME0A2ab5cBUC3gggmzeUDASBaQLINs2HqxDwRgDZvKFkIAhME0C2aT5chYA3AvyLyN5QMlAKAjfddNNq2ttvv311rA/k/2Nw9OjRVfuxY8dWx7EPdnb/6exTsSdlPggsJSCSmYKZUpnjm310e6qUp7KZUeG4CAKmaGOCmRvp99EVL4VwyGZGhePsCWjRpFL1JbJdvL4vhXDIZhsh+iUnIKLNlczcQArh+DbSjADH2RLwKZpsUoST89DvyBaaMOMvJhBCNFlUTOGQTajzniUBLVroVyzhkC10JBl/MQH9hYgWovQXspUewYrXH/LxsY8tRnVDtj51ziEQiACyBQLLsBDoE+Cva/WJcJ4NAf0Hz7F/VtM/H4b62yVUtmxSi4XUTgDZao8w+8uGALJlEwoWUjsBZKs9wuwvGwLIlk0oWEjtBJCt9ggXvD/9TaT8Ok2MbYT8JlKvH9liRJE5IIBs5AAE4hGgssVjzUyOBFL+4zyOS7XqjmxWmOiUikCsn9tC/7ym+SFbqixiXisCNVU3ZLMKOZ1SEghd3WJUNc0P2VJmEXNbEailuiGbVbjplJqA/pv4If7MLVZV0/z4p+xSZxHzWxPQwg39k+LWA/Q6xhRNT41svQBwmjcB+V2zJdJJhZSxYu0Y2WKRZh6vBEQUkU4GH/tlUxFM95N75Z5Y78gWizTzBCHQF6cvn0za7yftMd//D+fYxk6fPVVTAAAAAElFTkSuQmCC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" border="0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANsAAAEXCAYAAAAk3jE7AAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAASEklEQVR4Ae2dXchlVRmA1yfWVDgXRSWKRqhk5oUj/Q32I/140UTgT5BhEVl0N9JFRRZBN2FeSDXWRVJQIBhEQhh2UXoRJpRhDpIKUheVmaMRqBeNQdO35vves9fZZ+991tp7/a/ngJy91157/Tzv+5x3f2fmG3dO7b4UrywI7OzsKMKRRSiCLOKMIKMy6GwCWjhedRJAtkziSlXLJBABl4FsAeHOGVo/RlLd5pDL/x5kyyBGVLUMghBhCcgWAbLrFFQ3V2Jl9Ee2xHGiqiUOQMTpkS0ibJepqG4utMroi2wJ40RVSwg/wdTIlgC67ZRUN1tSZfRDtkRxoqolAp9wWmRLCN9maqqbDaUy+iBbGXFilRUQQLYEQXR9hKS6JQhSgCmRLQBUhoTAEAFkG6ISsM21qslSqG5Cotx3ZCs3dqy8MALIFjFgc6uaLJHqJiTKfEe2MuPGqgskgGyRgra0qskyqW5Corz3M8tbcoUrfvHv6vif/3V6Ywde9np1wVvOUS+vcJutb4nKFiEDxqvaCfWjL12ldg6erw4dOnT6v0suPVcdOPs96tafP6vUyXvVh8/dOf2b2xd99K7VSqluKxRFHVDZkoXrSfWFd79J3fbbgQWceEB9+erL1U8u/6965Om96+ddfNFAR5pKIkBlSxStB265Zk20a792j3r8L0+pJx68Qx05Ry/qKfXIH0+sVnfk2retjvUB1W0NRxEnO7tB49+NDBiq4UfIh9R1O+9Qd+/Pe82xx9TdRy/pVnHqPnXkjA+qX65arle/P3mXenvvB7nhsVc3cZAZASpbgoC89Mi9K9GUulHdYoqm17PzAXXLbVd2Kzt8WF3WE01fpLp1iEo4QraAURqrPM8/+8xq1gs/c526eHXWHVz4rstXJ1e+/wq+nVzRKPcA2VLE7sD/VrO+Sh1YHZsHZx26Sh3eb3jNG88zL60dU93WcGR9gmyBwjNW1Tame8WwbC89dVz9db/zq4e7bAxFQ94EkC1FfE522E88/if10sAannvsuPrHfvtDv3lsoEfXRHXrWOR81EU951UWtrZtVe21h96rLtvf0zP336F+3X3Dv996Uv302913kY/+4UH1XGEMWO4mAWTbZBK+5XUfUtddIdM8rG78+HfWZHroe1erz9/3vHRQ6vgD6okXutOhI6rbEJW82vhzNs/x2FbVZLoXf3ezOnj4m3Kq1KUfU7d+7gr1t199X333F5uPjV+5/z/qG++b/uHNdu5uUo5iEkA2z7RdEv74nZ9Vhz75w5EVXK9+fOdZ6lOf+MHp62ff8DP1zzuvHenbNbvM393FUQwC/N1Ij5RdE/2yXZFeeOdH1Ndv/pa659GnT6/klQfOV2898mn1xa/eoN588En178cPqmd3/weJB99wgceVMlQKAlQ2j9RdZfM49dpQuaxjbVGcKCpbpCTQAshLf5kx9+VrnLnzc998Asg2n93anUPVxBRjrbOnE3N8U2D5ZtJs8zQlwywggGwL4A3dagowdD1UmzkvkoWivGxc/pxtGb/Td0uiy7uHIRcNIeuQ90WDcbM3AlQ2byjtB0ICe1Y19US2hdHU4piPbTYimf1dp3cdv78+1/no748AsvljeXokUyQbMXxNb87ra0zG8UsA2Rbw3FY1TAFCiGeOP7YN3WfbOsfupd0vAWTzy3N0NBsxRm82LvgaxxiSw0gE+DZyJuiSqoVUt5lb5TZPBJDNE0iGgcA2Asi2jVAl16lu6QOJbDNiUNIj5IztcUsgAsgWCGyOw1Ld0kYF2Rz5U9UcgdF9RQDZVijaOKC6pYszsjmwp6o5wKLrBgFk20BSfwPVLU2Mkc2SO1XNEhTdRgkg2yiaui9Q3eLHF9ksmFPVLCDRZSsBZNuKqN4OVLe4sUW2uLyZrWECyLYl+LU/QlLdtiSAx8vI5hEmQ0FgigCyTdCpvarJ1qluQiLsO7KF5cvoEFgRQLYVivWDVqqa7JrqJiTCvSNbOLaMDIE1Asi2hmPvpLWqJgiobkIizDuyheFa7KgIFy50yNZj22pV62HgNAABZAsAtfQhqW5hIohsYbgyKgQ2CCCbgYRHyA4G1a1j4esI2XyRZBwIbCGAbPuAqGqbmUJ122SypAXZltDjXgg4EEC2XVhUtfGMobqNs3G9gmyuxOgPgZkEmpdNVzVe0wSobtN8bK82L5sGpZOJFwRCE2haNqqafXpR3exZjfVsWrYxKLRDIASBZmXjG0j3dKK6uTMz72hWNg0B4cxU4Dg0gaZlCw23xvGpbvOj2qRsVLT5CcOd8wk0Kdt8XNypCVDd5uVBc7JR1eYlCnctJ9CcbMuRMYImQHVzz4OmZKOquScId/gj0JRsfWx8OveJuJ3Dz41XM7JR1dwSg97+CTQjm390jKgJUN3s86AJ2ahq9glBz3AEmpAtHD5G1gSobnZ50LxsJIpdotBrOYHqZeMRcnmS2IzAh9Z2StXLth0BPXwS0B9uvIYJVC0bVW046KFadXXjNU6gatnGt71+hUegdR5Lz6huwwSrlY2qNhzw0K1Ut3HC1co2vuXhK1S3YS5zW6lum+SqlI2qthnomC1Ut2HaVco2vNXtrVS37YzoMZ9AdbJR1eYng887+eDapFmdbJtbdGshSdx40dueALLZs6LnDAJ8UdJBq0o2X4+QVLcuQTjyR6Aq2fxhYSQfBPSHln5R3fZoViObr6q2h4VfGxEOvPsjUI1s/pB0I/E42bFYcgTHPXpVyOa7qpmJRaKYNDheQqAK2ZYA4N44BPjQUqp42UJWNUlDEkVIuL/DrmNWvGzdVsIekTTL+bbOsGjZYlQ1M8VaTxaTBcfuBIqWzX27y+9AuGUMW+aHbDNyp+WEmYGLW/YJFCtb7EfIfsYgXJ+I/Xmr7IqVzT604Xq2mjQuRFN/KLqsNXTfImXLKYAINy9FW+RWpGzzwhvurhYTx5YmbDpSxcmWU1XrMPIXl00WtsetiVicbLaBTNFPkkd/IPCCQJ9AUbLlWtVMqFo4kc5s53iYQEusipJtOFx5tkoSUeXyjE+KVRUjWwlVrR9Aqtzeb2lrDlMv+WCa6lPDtWJkKxl2K8lUcoxirL0I2Uqsav3giXA8VvbJ7J0Ln+GrdbQWIVsdqPf+eKCFpKolXr73gWy+iVqMJ8JR5dZhCZf11nrOspethkfIoXTRiVV7cg3tu+W2M1vefA57HxJOt7X6Eh41Msi6stVa1foi6cSS5JJka/kRUxj0OZV+TmXLKIKmcHpZIpy0Z7RUq6W08mFpBWO3U7ayEai9by91IEU6fVyqeHrtLi+pbjXtN1vZXAJTe18z4UQ8s632/deyvyxlo6qNp5dIJtLpntI2fleZV/S+asqFLGUrMzXirtoUTMQz2+KuhtlsCGT3bWRNn2Q2AfDRR0smVUDE8zFuDmPIvnJYy9I1UNmWEszofqlspnDSltEym10KslUYelMwEc9sK23Leu01PPFkJVsNQHNLZJFMpNPrk7aQayWWm3Szkm1zebT4ImAKJuKZbb7mCTWOXmvpAmcjW+kgQyVZiHFFshKlC8Ej1pjZyBZrw8zTEehLp69IW9crn6PSq1sWslHV0ia0KRjVLlwssvtztnBbZWQbAlo8qSAins19sfrI2mLN53Oe5JWNquYznP7GkmpnCidt/mZpa6TksrWFu7zdmoKJeGZbih3p+Uv8kE4qW4nAUiRXLnOKZCKdXpe0mWskriaN7jipbN0yOCqJgCmYiGe2xdiLnq80qZEtRmZUPIdIlkq6ktAm+zaytE+lkoKaYq1aOqk2seaPPd/SfSWTbenCuT9PAimky5PE5qqSyEZV2wwELfMIlFTdksg2Dyt3lUSgJAlicY0uG1UtVmjbmacUsaPL1k4KsNNSJIgVqaiyUdVihbW9eUoQO6ps7aUAOy5BglhRiiYbVS1WSNudJ3exo8nWbgqw89wliBUhZItFuvF5YgkXa5454YwiG4+Qc0LDPbURiCJbbdDYzzwCsapOrHlcKQSXjarmGhL610oguGy1gmNf8wjEqjqx5nGhEFQ2qppLKOhbO4GgstUOj/3NIxCr6sSax5ZCMNmoarYhaLNfbiLEiEIw2WIsnjkgsI1ATlIHkY2qti0FuK4J5CRCjIgEkS3GwpkDArYEcpHau2xUNdsUoJ8mkIsIMaLhXbYYi2YOCLgSyEFqZHONGv29E8hBBO+bGhjQq2w8Qg4QpikbAqml9ipbNlRZSHEEUosQA5g32ahqMcJV9xwxhIsxx1iUvMk2NgHtEIDAHgEvslHVSCdfBGJUnhhzDPHwItvQwLRBAALrBBbLRlVbB8rZcgIxKk+MOfokFsvWH5BzCEBgmMAi2ahqw1BpXU4gRuWJMYdJYpFs5kAcQwAC0wSQbZoPVxMSiFF5YswhCGfLxiOkIOQ9JIGYMoTchx57tmyhF8b4EIhFIJbQs2SjqsVKA+bRBGLJEJr2LNlCL4rxIRCbQAyhnWWjqsVOA+bTBGLIEJq0s2yhF8T4EEhFILTQTrJR1VKlAfNqAqFlCE3ZSbbQi2F8CKQmEFJoa9moaqnTgPk1gZAyhCZsLVvohTA+BGwJhBYu1PjIZhth+kFgIQFkWwiQ29MQCFV9Qu7GWrYSNxcSHGPXSyDU9xPWstWLlp2VSqC0AuAkW2mbKzWJWHc6AqGqmt6Rk2zpEDAzBIYJlFQAnGUraXPD4aG1NgK+cjJkVdPMnWXTN/nanB6LFwRyIBBaNL3HWbLpGxFOU+CVC4El+RhDNM1ptmz65iUb1PfzgkBqArFE0/vc2RXm1NIN6wXrl4ehli6F+xsnYCtPipw900dsRLIUG/CxfsZoh0DKHPVS2fqhSrmh/lo4b4+Azj8pALL7HHLSS2WTDcm7bDSHDcqaeG+TQE45GEQ2CWtfOt0ubdKHdwiEIJCTZLK/oLLJJKZgAkFfM9ulL+8QmEOgn1f6PLf8iiKbCc8E0Adk9uMYAjYEJIfMvLK5L0Wf6LKZmzQBCTR93Ww3+3MMAU2g1FxJKpuZOqZgJkzdx7xm3sNxGwRqyYdsZDPTpi9XLbDNPXI8TqDWeGcpWz8MyNcnUs95Xyy9s368a9ltEbL1YfeDMRSwmoPW51HCOTFSqkjZ+snVl0+ujwVYro/dJ9d5tycA6+2sqpBtbJvbZNqWIHrcbWOMzV1TO5z8RLNq2bYhshGp9kSrfX/bciDm9aZlswHtS0ibuVL0sdlfinXVOCeyeYgqCesBYgNDLPpN7Qb4sEUIeCOAbN5QMhAEpgkg2zQfrkLAGwFk84aSgSAwTQDZpvlwFQLeCCCbN5QMBIFpAsg2zYerEPBGANm8oWQgCEwTQLZpPlyFgDcCyOYNJQNBYJoAsk3z4SoEvBFANm8oGQgC0wSQbZoPVyHgjQCyeUPJQBCYJoBs03y4CgFvBJDNG0oGgsA0AWSb5sNVCHgjgGzeUDIQBKYJINs0H65CwBsBZPOGkoEgME0A2ab5cBUC3gggmzeUDASBaQLINs2HqxDwRgDZvKFkIAhME0C2aT5chYA3AvyLyN5QMlAKAjfddNNq2ttvv311rA/k/2Nw9OjRVfuxY8dWx7EPdnb/6exTsSdlPggsJSCSmYKZUpnjm310e6qUp7KZUeG4CAKmaGOCmRvp99EVL4VwyGZGhePsCWjRpFL1JbJdvL4vhXDIZhsh+iUnIKLNlczcQArh+DbSjADH2RLwKZpsUoST89DvyBaaMOMvJhBCNFlUTOGQTajzniUBLVroVyzhkC10JBl/MQH9hYgWovQXspUewYrXH/LxsY8tRnVDtj51ziEQiACyBQLLsBDoE+Cva/WJcJ4NAf0Hz7F/VtM/H4b62yVUtmxSi4XUTgDZao8w+8uGALJlEwoWUjsBZKs9wuwvGwLIlk0oWEjtBJCt9ggXvD/9TaT8Ok2MbYT8JlKvH9liRJE5IIBs5AAE4hGgssVjzUyOBFL+4zyOS7XqjmxWmOiUikCsn9tC/7ym+SFbqixiXisCNVU3ZLMKOZ1SEghd3WJUNc0P2VJmEXNbEailuiGbVbjplJqA/pv4If7MLVZV0/z4p+xSZxHzWxPQwg39k+LWA/Q6xhRNT41svQBwmjcB+V2zJdJJhZSxYu0Y2WKRZh6vBEQUkU4GH/tlUxFM95N75Z5Y78gWizTzBCHQF6cvn0za7yftMd//D+fYxk6fPVVTAAAAAElFTkSuQmCC" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The aperture of the cone is indicated in the figure with the greek letter α.  Assuming that the contact between the string and the surface of the cone is frictionless, what is the minimum value of α in degrees for which the loop slips off the cone?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In a regular tetrahedron with unitary edge length, one (and only one) edge is increased in length, thereby increasing the volume of the solid.  What is the maximum volume that can be obtained in this way?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-6028166144792254560?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/6028166144792254560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-3-and-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6028166144792254560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6028166144792254560'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-3-and-4.html' title='Giza-IQ Test - Questions 3 and 4'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3019165691549855592</id><published>2011-07-11T13:04:00.002+10:00</published><updated>2011-07-15T14:22:26.845+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Giza-IQ Test - Questions 1 and 2</title><content type='html'>As you might know, in 2010 I joined several High-IQ societies. half a year later, I started working on an Intelligence Test.  After developing twenty-three questions, as it often happens to me, I lost interest and left it unfinished.  As I don’t think I will ever complete it, I will publish the questions in this blog.  To see the correct answers, you will have to send me an email or comment online. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The following guidelines apply to all questions.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="background: transparent; border: none; margin-bottom: 0cm; padding: 0cm; page-break-before: auto;"&gt;&lt;span style="font-size: medium;"&gt;&lt;b&gt;Giza-IQ Test – Solving Guidelines&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background: transparent; border: 1.00pt solid #000000; margin-bottom: 0cm; padding: 0.05cm;"&gt;The name of this test has nothing to do with the Egyptian pyramids.  It has only to do with the fact that my name is Giulio Zambon.  But it sounds exotic, doesn’t it?&lt;br /&gt;&lt;br /&gt;The problems require the level of Math normally acquired during the first couple of years of high school, and also some knowledge of Statistics.  Calculus and more advanced Math are not needed.&lt;br /&gt;&lt;br /&gt;To answer the questions, you can use whatever resources you find appropriate, but work on your own, and avoid discussing the solutions with anybody else.  Failure to do so, will sooner or later compromise the test and possibly invalidate your score.&lt;br /&gt;&lt;br /&gt;If a numeric result has more than four digits after the decimal period, unless otherwise requested, ignore in your answer the decimal digits after the fourth one.  Alternatively, when possible, you can answer with a simplified expression that, when calculated, provides the result.  Radicals don’t need to be above the fraction line.  For example, if you wanted to answer √3/3 to one of the questions, you could also express it as 0.5773 or 1/√3.&lt;br /&gt;&lt;br /&gt;A fully correct answer receives a score of 1, an answer with a minor error receives a 0.75, a partly-answered question receives a 0.50, and some ideas of how a question could be answered receive a 0.25.  The scorer decides how much each answer is worth, and you only get a total score.&lt;br /&gt;&lt;br /&gt;Some of the questions are adaptations of or have been inspired by problems of the International Mathematics Olympiads. This might give a small advantage to those who took part in those contests.  Nevertheless, the list of participants of each Olympiad is publicly available...&lt;br /&gt;&lt;br /&gt;Send your answers via email to giulio(at)good(dot)at(dot)it as a list formatted more or less as follows:&lt;br /&gt;1.01:  answer&lt;br /&gt;1.02:  answer&lt;br /&gt;...&lt;br /&gt;Together with the list, you should provide the details of your completed and non-completed solutions.  It is not strictly necessary, but it will make possible for you to get some credit for partially correct solutions.  Keep the details separate from the list of answers.  Append them to the email or send them as an attachment.  Whatever you find most convenient.&lt;br /&gt;&lt;br /&gt;Also, please provide the list of all I.Q. tests you have already done, each one with the result you have achieved.  This will make possible to calculate the correlation between the Giza Test and the other tests.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;And here are the first two questions:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.01 A cone of revolution has a height that is 2/3 of the diameter of its base.  Consider the largest sphere that you can fit inside the cone.  What is the ratio between the volume of the sphere and the volume of the cone?&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;1.02 Three billiard balls rest on a table in contact with each other.  A further billiard ball is placed on top of the three balls and comes therefore in contact with all three of them.  Assume that none of the balls moves or rolls away when the fourth ball is put into place.  If the radius of the billiard balls is 1 unit, what is the radius of the largest possible sphere that would fit in the space between the billiard balls?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3019165691549855592?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3019165691549855592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-1-and-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3019165691549855592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3019165691549855592'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/07/giza-iq-test-questions-1-and-2.html' title='Giza-IQ Test - Questions 1 and 2'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-9158493086336476270</id><published>2011-06-27T18:15:00.003+10:00</published><updated>2011-07-11T13:05:24.282+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>Testing for Rare Medical Conditions</title><content type='html'>I am not a Medical Doctor, but I know enough about statistics to talk about the validity of [some of] the tests currently used to screen for prostate cancer. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Two parameters are key to understand how useful medical tests are: &lt;i&gt;sensitivity&lt;/i&gt; and &lt;i&gt;specificity&lt;/i&gt;.  Sensitivity measures what fraction of the affected people that the test successfully identifies, so that the complement to 1 of the sensitivity measures the false negatives.  Specificity is the complement to 1 of the fraction of healthy people that the test erroneously flags as affected (i.e., the false positives).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Clearly, a test is better when both sensitivity and specificity are high.  A high sensitivity means that few affected people go through the test undetected, while a high specificity means that few healthy people get the scare of a positive test result.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;When a test for prostate cancer gives a positive result, doctors recommend a biopsy, which is an invasive and often uncomfortable procedure.  Regarding prostate biopsies, Wikipedia says: &lt;i&gt;Biopsies detect prostate cancer in about 25% of men with abnormal screening tests. However a negative biopsy does not ensure the absence of disease. Repeat prostate biopsies are positive in about 25-30% of patients whose initial biopsy was negative&lt;/i&gt;. Now, Wikipedia is not always reliable, but I have read from other sources that prostate biopsy is not particularly dependable.  To complicate the picture, I have also read (don’t remember where) that many prostate cancers are not malignant, and people can live with them without consequences.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I know: my last paragraph is just hand-waving.  Without references to original sources, my statements have no scientific value whatsoever.  But, now that I have written it, I don’t like to remove it.  Let me leave it at that and go back to statistical analysis.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For the purpose of this post, I will consider two tests: PSA (Prostate-Specific Antigen) and PCA3 (Prostate Cancer Antigen 3). PSA measure the level in urine of a protein produced by the prostate gland. PCA3 checks for the presence of a gene.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The following table for PSA comes from an article on the website of the Prostate Cancer Research Institute (&lt;a href="http://www.prostate-cancer.org/pcricms/node/122"&gt;www.prostate-cancer.org/pcricms/node/122&lt;/a&gt;):&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;  &lt;table border="1" cellpadding="8" cellspacing="0" style="width: 281px;"&gt;&lt;colgroup&gt;&lt;col width="88"&gt;&lt;/col&gt;   &lt;col width="71"&gt;&lt;/col&gt;   &lt;col width="72"&gt;&lt;/col&gt;   &lt;/colgroup&gt;&lt;tbody&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;PSA (ng/mL)&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;Sensitivity&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;Specificity&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;1.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;83.4&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;38.9&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;1.6&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;67.0&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;58.7&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;2.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;52.6&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;72.5&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;2.6&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;40.5&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;81.1&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;3.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;32.2&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;86.7&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;4.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;20.5&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;93.8&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;6.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;4.6&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;98.5&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;8.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;1.7&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;99.4&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td width="88"&gt;&lt;div align="RIGHT"&gt;10.1&lt;/div&gt;&lt;/td&gt;    &lt;td width="71"&gt;&lt;div align="RIGHT"&gt;0.9&lt;/div&gt;&lt;/td&gt;    &lt;td width="72"&gt;&lt;div align="RIGHT"&gt;99.7&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The study was conducted (if I understand it correctly) on 5,587 subjects, of whom 4,362 had no cancer of any type. The Symbion Laverty Pathology Lab that conducted my PSA test a few months ago stated that a level below 4.5 ng/mL is considered ‘normal’ (although, to be picky, the correlation between PSA and prostate cancer actually changes with the age of the subject).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;If you (linearly) interpolate the table, you find that the specificity for a PSA of 4.5 is 94.7%.  Considering that specificity as a function of PSA ‘flattens up’, we can be generous and say that the cut-off is around 95%.  This means that 5% of healthy subjects will be encouraged to take a biopsy if their PSA is 4.5 ng/mL or higher.  Similarly, the interpolated sensitivity for a PSA of 4.5 is 17.3%, which I am happy to generously round up to 18% to be on the safe side.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The following data, relative to PCA3, comes from an article published by Reviews in Urology and accessible via the website of the American National Institute of Health (&lt;a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2556484/"&gt;www.ncbi.nlm.nih.gov/pmc/articles/PMC2556484/&lt;/a&gt;):&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;  &lt;table border="1" cellpadding="8" cellspacing="0" style="width: 345px;"&gt;&lt;colgroup&gt;&lt;col width="93"&gt;&lt;/col&gt;   &lt;col width="101"&gt;&lt;/col&gt;   &lt;col width="101"&gt;&lt;/col&gt;   &lt;/colgroup&gt;&lt;tbody&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;PCA3 Cut-off&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;Sensitivity (%)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;Specificity (%)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;96&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;14&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;20&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;71&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;56&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;35&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;54&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;74&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;50&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;40&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;83&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;65&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;32&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;91&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="TOP"&gt;    &lt;td style="font-family: inherit;" width="93"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;90&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;20&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="101"&gt;&lt;div align="RIGHT"&gt;&lt;span style="font-size: small;"&gt;95&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The study was conducted on 570 men, of whom 36% tested positive.  But what does it mean ‘positive’?  It was decided to use a PCA3 cut-off of 35 (whatever that means...), because that score (I quote) &lt;i&gt;combined the greatest cancer sensitivity and specificity&lt;/i&gt;.  Indeed, 35 is the value that maximises both the sum and the product of sensitivity and specificity.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Notice that, like with PSA, higher specificity is associated with lower sensitivity.  This obviously makes a lot of sense: the price you pay to reduce false positives is to get more false negatives.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To summarise, the two major tests used to diagnose prostate cancer (if we exclude the practice of sticking a finger up your anus to check whether your prostate is too enlarged to be considered healthy) have sensitivities respectively of 17% and 54% and specificities of 95% and 74%.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Let set these figure aside for a moment to concentrate on the incidence of prostate cancer.  I will use the figures provided by the Prostate Cancer Foundation of Australia (&lt;a href="http://www.prostate.org.au/articleLive/pages/Prostate-Cancer-Statistics.html"&gt;www.prostate.org.au/articleLive/pages/Prostate-Cancer-Statistics.html&lt;/a&gt;), but I am very confident that my conclusions will be applicable worldwide.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;54 out of 1000 men in their sixties are on average diagnosed to have prostate cancer (1/1000 for the 40s, 12/1000 for the 50s, and 80/1000 for the 70s).  This formulation is in my opinion a bit ambiguous, because it is not clear to me whether all those with a positive diagnosis actually had the cancer.  And it doesn’t say how many men had a cancer that remained undiagnosed.  But let’s move on, because it will not significantly affect the result of my analysis.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;OK.  If I assume that 54/1000 measures the ‘real’ number of Australian men in their 60s with prostate cancer, I now have all the information I need to calculate the number of PSA and PCA3 tests that give a positive result.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;  &lt;table border="1" cellpadding="8" cellspacing="0" style="width: 518px;"&gt;&lt;colgroup&gt;&lt;col width="53"&gt;&lt;/col&gt;   &lt;col width="92"&gt;&lt;/col&gt;   &lt;col width="92"&gt;&lt;/col&gt;   &lt;col width="84"&gt;&lt;/col&gt;   &lt;col width="116"&gt;&lt;/col&gt;   &lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td height="2" rowspan="2" style="font-family: inherit;" valign="BOTTOM" width="53"&gt;&lt;div lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td rowspan="2" style="font-family: inherit;" width="92"&gt;&lt;div align="CENTER" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;Sensitivity&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td rowspan="2" style="font-family: inherit;" width="92"&gt;&lt;div align="CENTER" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;Specificity&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td colspan="2" style="font-family: inherit;" width="215"&gt;&lt;div align="CENTER" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;Positive     (1000 subjects)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td style="font-family: inherit;" width="84"&gt;&lt;div align="CENTER" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;Sick     (54)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="116"&gt;&lt;div align="CENTER" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;healthy     (946)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="BOTTOM"&gt;    &lt;td height="3" style="font-family: inherit;" width="53"&gt;&lt;div lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;PSA&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="92"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;18%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="92"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;95%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="84"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;10&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="116"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;47&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr valign="BOTTOM"&gt;    &lt;td height="2" style="font-family: inherit;" width="53"&gt;&lt;div lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;PCA3&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="92"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;54%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="92"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;74%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="84"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;29&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;    &lt;td style="font-family: inherit;" width="116"&gt;&lt;div align="RIGHT" lang="en-US" style="orphans: 2; widows: 2;"&gt;&lt;span style="font-size: small;"&gt;246&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;All in all, more than 82% (obtained as &lt;span style="font-family: Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;47/(10+47)&lt;/span&gt;&lt;/span&gt;) of the men that might subject themselves to a biopsy because of a positive PSA test wouldn’t need to do it at all.  And the figure rises to 89% with the PCA3 test.  And imagine the shock of being diagnosed with cancer!  Furthermore, if you happen to have prostate cancer, PSA will only detect it with a probability of 18%, while PCA3 will detect it with a probability just above fifty-fifty.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I might be too analytical, but to me, a test for prostate cancer doesn’t seem worth doing.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Then, you might ask, why did I decide to get a PSA test done?  Well, I did it and I didn’t...  My doctor decided to do it against my expressed desire not to have it done.  Fortunately, it came back with 0.31 ng/mL.  That is, the result was so low that the sensitivity was off the lower end of the scale, probably 90% of better.  But next time I am going to insist.  No more PSA test for me!&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;In general, the statistical problems with medical tests occur when the disease being tested is rare, even if the test is very good.  To explain why, let’s look at two very good tests, one for a hypothetical disease that affects 1% of the population and one for an equally hypothetical rare disease that affects 0.01% of the population.  Further, let’s assume that both tests have a sensitivity of 100% (actually impossible, because there are always cases that remain undiagnosed, but bear with me) and a specificity of 99.99%.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;With the more common disease, when screening 10,000 subjects, the test correctly identifies the 100 sick people and gives a positive result for 9900 * 0.01% = 0.99 ≈ 1 person who is in fact healthy.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;With the rarer disease, when screening 10,000 subjects, the test, as in the previous case, identifies all sick people and picks 9999 * 0.01% = 0.9999 ≈ 1 person who is healthy.  But this time, the number of sick people is also 1.  Therefore, half of the people for whom the test gives a positive result are in fact healthy.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Next time your doctor suggests that you take a test, perhaps you should check whether it is worth the effort.  I wonder what the sensitivity and specificity of the many tests the doctor prescribe for check-ups actually are.  And how rare are the pathologies being tested for?  MMmmm...&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-9158493086336476270?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/9158493086336476270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/06/testing-for-rare-medical-conditions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/9158493086336476270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/9158493086336476270'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/06/testing-for-rare-medical-conditions.html' title='Testing for Rare Medical Conditions'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5834328856148387182</id><published>2011-06-26T14:53:00.001+10:00</published><updated>2011-06-27T18:18:19.607+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>Equinoxes in Canberra</title><content type='html'>I noticed a discrepancy in Canberra equinoxes that I cannot explain.&amp;nbsp; Perhaps one of you will be able to shed some light on this puzzle.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At an equinox, day and night have the same duration and, if you are in the middle of your [theoretical] timezone, you see the Sun rise at 0600 and set at 1800.&lt;br /&gt;&lt;br /&gt;Canberra is almost in the middle of its timezone, but not exactly.&amp;nbsp; It would be smack in the middle if it were located at a latitude of 150° East, but it is only 149° 8’ east of Greenwich.&amp;nbsp; As 24h correspond to 360°, that degree of difference means that sunrise and sunset at the equinoxes are theoretically delayed by approximately four minutes.&amp;nbsp; Consequently, on March 23rd and September 20th, the Sun should rise at 0604 (plus daylight saving in March) and set at 1804.&lt;br /&gt;&lt;br /&gt;What I cannot explain is that the delay, instead of the expected four minutes, is between nine and ten minutes in March and between two and three minutes in September.&amp;nbsp; The discrepancy in September could perhaps be explained with roundings and with the fact that equinoxes actually happen at different times of the day.&amp;nbsp; But, considering that the times of sunrise and sunset only change very slowly, at a rate of around a minute per day, the difference of five to six minutes in March remains unexplained.&lt;br /&gt;&lt;br /&gt;Any idea?&lt;br /&gt;&lt;br /&gt;Just for fun, I calculated how far from its current position should Canberra be in order to be exactly 10 h ahead of Greenwich.&amp;nbsp; The length of the equator is 40,075 km.&amp;nbsp; As Canberra’s longitude is 35° 15’ South, it means that the parallel passing through Canberra ihas a length of approximately 40075 * cos(35° 15’) = 32,727 km.&amp;nbsp; Therefore, to be in the middle of the +10 time zone, Canberra should be 32727 / 360 ≈ 91 km more to the East.&amp;nbsp; But, I suppose, that didn’t figure very high on the founders’ priority list.&amp;nbsp; In any case, it would have been on a mountain range.&amp;nbsp; Not easily accessible...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5834328856148387182?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5834328856148387182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/06/equinoxes-in-canberra.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5834328856148387182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5834328856148387182'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/06/equinoxes-in-canberra.html' title='Equinoxes in Canberra'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7703050172451910373</id><published>2011-06-22T17:12:00.002+10:00</published><updated>2011-06-26T14:55:38.678+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Arrays of Functions in Java</title><content type='html'>A couple of months ago, shortly after publishing the book &lt;a href="http://zambon.com.au/non_fiction/books_and_manuals/sudoku_programming/"&gt;Sudoku Programming&lt;/a&gt; (also see &lt;a href="http://giuliozambon.blogspot.com/2011/04/sudoku-programming.html"&gt;the post&lt;/a&gt; in this blog), I asked myself whether I should have written the programs in Java instead of classic C. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I had chosen C because I thought it would be easier for non-programmers to deal with a procedural language rather than with  Object Oriented programming, with its class inheritance and operator overloading.  But, looking at the number of functions I needed for the C implementation, I began thinking that in Jva the implementation would probably have been simpler.  I simply had to re-develop Solver and Generator in Java.  I simply had to do it.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;One of the first problems I encountered was how to implement in Java an array of function pointers.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;  I needed it in order to execute in sequence all the puzzle-solving strategies.  In C, I had defined a pointer to a function as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;typedef void (*f_ptr_t)(void);&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This allowed me to define an array of pointers to strategy functions:  &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #005032; font-size: x-small;"&gt;&lt;span lang="en-US"&gt;f_ptr_t&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span lang="en-US"&gt; strats[] = {a_strat, another_strat, a_third_strat};&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span lang="en-US"&gt;int n_strats = sizeof(strats&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span lang="en-US"&gt;)/sizeof(f_ptr_t);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;All I needed to do to execute the strategies in sequence was then to write a for-loop as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;for (int k_strat = 0; k_strat &amp;lt; n_strats; k_strat++) {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;  &lt;span style="font-size: x-small;"&gt;strat[k]();&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To do the same in Java, I defined a &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Strategy&lt;/span&gt;&lt;/span&gt; class containing the following method:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;public void execute() {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;    &lt;span style="font-size: x-small;"&gt;System.out.println("*** " + this.getClass().getName()&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &lt;span style="font-size: x-small;"&gt;+ " does not redefine the method execute()"&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &lt;span style="font-size: x-small;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-family: Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Then, I defined all strategies to be subclasses of &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Strategy&lt;/span&gt;&lt;/span&gt; and to implement the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;execute()&lt;/span&gt;&lt;/span&gt; method.  For example:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;class aStrat extends Strategy {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;  &lt;span style="font-size: x-small;"&gt;public void execute() {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-size: x-small;"&gt;//...&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp; &amp;nbsp;   &lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&lt;span style="font-size: x-small;"&gt; }&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Finally, I defined a &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;StrategyArray&lt;/span&gt;&lt;/span&gt; class as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;class StrategyArray {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;  &lt;span style="font-size: x-small;"&gt;protected static final Strategy STRATS[] = {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp; &amp;nbsp;     &lt;span style="font-size: x-small;"&gt;new aStrat, new anotherStrat(), new aThirdStrat()&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;span style="font-size: x-small;"&gt;};&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;  &lt;span style="font-size: x-small;"&gt;public static void executeStrategies() {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-size: x-small;"&gt;for (int kStrat = 0; kStrat &amp;lt; STRATS.length; kStrat++) {&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;     &lt;span style="font-size: x-small;"&gt;STRATS[k].execute();&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&amp;nbsp;  &lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;In reality, I grouped the strategies according to their level of complexity and implemented &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;STRATS&lt;/span&gt;&lt;/span&gt; as a two-dimensional array, with the first index being the level of complexity of the strategies, ranging from 0 to 3.  Also, obviously, &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;STRATS&lt;/span&gt;&lt;/span&gt; didn’t need to be static, but that allowed me to execute the strategies with:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;StrategyArray.executeStrategies();&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Instead of having to create a &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;StrategyArray&lt;/span&gt;&lt;/span&gt; object as in:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;StrategyArray strats = new StrategyArray();&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;strats.executeStrategies();&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;You might wonder why I didn’t define the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Strategy&lt;/span&gt;&lt;/span&gt; class and its &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;execute&lt;/span&gt;&lt;/span&gt; method to be abstract, instead of defining a method that displays an error message on the console if it is not overriden.  The reason is that I defined in &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Strategy&lt;/span&gt;&lt;/span&gt; other methods that need to be overridden, but not all subclasses (i.e., strategies) need them all.  The alternative solution of defining more than one interface and have each strategy implement only the relevant interfaces seemed cumbersome.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-7703050172451910373?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/7703050172451910373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/06/arrays-of-functions-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7703050172451910373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/7703050172451910373'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/06/arrays-of-functions-in-java.html' title='Arrays of Functions in Java'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2048835608551912706</id><published>2011-05-29T16:17:00.001+10:00</published><updated>2011-06-22T17:13:43.657+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>Sudoku Explained</title><content type='html'>&lt;div style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;I have just released the book “Sudoku Explained”. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; margin-bottom: 0cm;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--j2DQVlqJlg/TeHkb5kEeSI/AAAAAAAAAI4/oR5b0m2gCPQ/s1600/2011-05-29+11.59+Sudoku+Explained+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/--j2DQVlqJlg/TeHkb5kEeSI/AAAAAAAAAI4/oR5b0m2gCPQ/s400/2011-05-29+11.59+Sudoku+Explained+01.png" width="265" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;This book tells you in a very practical way how to solve Sudoku puzzles.  First, it describes in detail and with examples fourteen solving strategies, from the very simple to the very complex.  Then, it explains how to apply the strategies you have learned to forty puzzles of increasing levels of difficulty.  No other book will teach you how to solve Sudoku puzzles as effectively as this one, but be warned: after reading it, you will discover that the puzzles in your local paper are not so challenging after all!&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit; line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For now, it is only available on &lt;a href="http://www.lulu.com/product/paperback/sudoku-explained/15845311"&gt;Lulu&lt;/a&gt;, either in print for US$9.99 or as an eBook in PDF format for US$4.99.&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Welcome to Sudoku Explained. The purpose of this book is to help you become a Sudoku champion. Not everyone has the pattern-recognition abilities to become a champion, and I cannot guarantee that you will succeed, but I can point you in the right direction. The rest is up to you.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;The WorldWide Web is full of explanations about Sudoku. You can find the description of many strategies and lots of examples. What I believe you will only find in this book is a systematic and consistent description of all significant strategies coupled with commented solutions of puzzles.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;For this book, I have chosen forty Sudokus I generated with the program described in my first Sudoku book (Sudoku Programming). They all have thirty-three clues and look like medieval crosses, because the central row and the central column are always already solved.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Their difficulties range from easy to diabolical, measured as the number and complexity of the solving strategies they require. It is true that, in general, puzzles with fewer clues are easier, but what is true statistically, doesn't apply to each individual puzzle. I have seen very easy puzzles with only seventeen clues, while the last puzzles in this book, despite their thirty-three clues, are as challenging as they come.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Chapter 1 describes the terminology I use throughout the book.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Chapter 2 explains in detail fifteen strategies grouped in four levels of complexity, from 0 to 3.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Chapter 3 presents the Sudokus. Puzzles 1 to 10 can be solved with level 0 strategies; 11 to 20 require level 1 strategies; 21 to 30 are at level 2, and 31 to 40 are at level 3.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Chapter 4 provides the solutions of the puzzles shown in Chapter 3. For the puzzles at level 1, I also list a sequence of strategies capable of solving them, while for the puzzles at level 2 and 3, I explain the application of the more complex strategies in detail.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Have fun with Sudoku!&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;As an example of how I describe strategies, here is the description of ‘naked pair’&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;If two cells in the same unit only contain the same two candidates, it means that one of those candidates will solve one of the two cells, and the other candidate will solve the other cell.  Therefore, the same candidates can be removed from all other cells of the unit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;For example, suppose that box 3 has reached the point shown in Figure 2-2.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-SXG7chz0sJ0/TeHkcRlKBWI/AAAAAAAAAI8/eD-9GcxJfi0/s1600/2011-05-29+11.59+Sudoku+Explained+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193" src="http://1.bp.blogspot.com/-SXG7chz0sJ0/TeHkcRlKBWI/AAAAAAAAAI8/eD-9GcxJfi0/s200/2011-05-29+11.59+Sudoku+Explained+02.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-top: 0.21cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=4604011709908623764" name="_Ref278724629"&gt;&lt;/a&gt;&lt;/span&gt; &lt;span style="font-size: small;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Figure&lt;/b&gt;&lt;/span&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt; 2-2: A naked pair&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;The &lt;/span&gt;&lt;span style="font-size: small;"&gt;two cells (4,0) and (4,2) contain the naked pair 8 and 9. If 8 solves (4,0), then 9 must solve (4,2). If, on the other hand, 8 solves (4,2), then 9 must solve (4,0). In either case, both 8 and 9 are used. Therefore, the 8s in cells (5,0), (5,1), and (5,2) as well as the 9s in cells (3,1) and (3,2) can be removed.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Example of how I explain a solution in detail (excerpt)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;'unique': 5 in (2,8) is unique within the column&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;remove 3 and 6 from (2,8)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;solved (2,8) with 5&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;'unique': 9 in (0,0) is unique within the row&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;remove 1 and 2 from (0,0)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;solved (0,0) with 9&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;'unique': 6 in (0,5) is unique within the box&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;remove 3 from (0,5)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;solved (0,5) with 6&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;At this point, 53 cells have been solved and many candidates removed, but it is not possible to proceed further with level 0 strategies. Applying ‘naked pair’ twice does the trick:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;‘naked pair’: (1,3) and (1,5) in row 1 contain the pair 35&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;remove 3 from (1,1)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;remove 3 from (1,2)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;‘naked pair’: (1,1) and (6,1) in column 1 contain the pair 28&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;remove 2 from (7,1)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;solved (7,1) with 1&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;'cleanup' of row 7: remove 1 from (7,7)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 0.5cm;"&gt;&lt;span style="font-size: small;"&gt;solved (7,7) with 2&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Example of how I describe the application of a complex strategy&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="CENTER" style="line-height: 0.53cm; margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-U_51AJ0c9Kc/TeHkclFYtUI/AAAAAAAAAJA/R5IvHodaP-Y/s1600/2011-05-29+11.59+Sudoku+Explained+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="613" src="http://1.bp.blogspot.com/-U_51AJ0c9Kc/TeHkclFYtUI/AAAAAAAAAJA/R5IvHodaP-Y/s640/2011-05-29+11.59+Sudoku+Explained+03.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Puzzle 22 after level 1 strategies&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;To solve the puzzle, you can apply ‘Y-wing’ to the three cells (6,7), (8,6), and (8,5), containing respectively the pairs 81, 19, and 98. The cells (6,3), (6,4), (6,5), (8,7), and (8,8) are ‘visible’ from both (6,7) and (8,5). Therefore, the candidates for the digit 8 can be removed from them. This boils down to removing a single 8 from (6,5), but that is enough to ‘unlock’ the puzzle, which you can then solve by applying a series of ‘cleanup’s.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2048835608551912706?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2048835608551912706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/05/sudoku-explained_29.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2048835608551912706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2048835608551912706'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/05/sudoku-explained_29.html' title='Sudoku Explained'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/--j2DQVlqJlg/TeHkb5kEeSI/AAAAAAAAAI4/oR5b0m2gCPQ/s72-c/2011-05-29+11.59+Sudoku+Explained+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3680431082135139911</id><published>2011-05-24T13:43:00.001+10:00</published><updated>2011-05-29T16:18:38.997+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Casualties</title><content type='html'>Another Australian soldier has died in Afghanistan.&amp;nbsp; It saddens me to think that a hail of nails and ball bearings on a dusty road killed a young, strong, and courageous man.&amp;nbsp; Like most people, I know what it means to lose somebody you care about, and my thoughts go to Sergeant Wood’s wife.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Still, as sorry as I was to hear of Brett Wood’s death, I was amazed to hear radio commentators ask whether the Australian presence in Afghanistan will be affected by it.&amp;nbsp; At risk of appearing cynical, one more death doesn’t change anything.&amp;nbsp; I don’t even understand why anybody would raise the issue at all.&amp;nbsp; Of course the Australian policy concerning Afghanistan will not change.&amp;nbsp; And rightly so.&amp;nbsp; With a dangerous operation involving thousands of soldiers and civilians, we can be happy that only twenty-four have died.&amp;nbsp; There will be more casualties.&amp;nbsp; For sure.&lt;br /&gt;&lt;br /&gt;Should we be in Afghanistan at all?&amp;nbsp; I will answer with another question: if you saw a bully humiliate a weaker child on a schoolyard or a violent man assault a woman, should you intervene?&amp;nbsp; To what extent do you try to reason with somebody who bases his existence on violence and abuse?&amp;nbsp; It comes to a point where you cannot simply look on and enjoy your peaceful corner of the world.&lt;br /&gt;&lt;br /&gt;I am not so naive as to think that interventions in countries like Afghanistan and Libya are purely for humanitarian reasons.&amp;nbsp; And the proof of that is that many/most/all governments have a history of supporting tyrants as long as their actions suit the perceived interests of western countries, like when the USA armed Saddam Hussein because he was at war with Iran.&lt;br /&gt;&lt;br /&gt;Nevertheless, I think there would be less suffering in our world if the Taliban were prevented from practising their medieval beliefs.&lt;br /&gt;&lt;br /&gt;To make another parallel, I don’t like antibiotics and heavy drugs, but sometimes they are necessary.&amp;nbsp; A healthy diet and some placebos like Homeopathic medicines and food supplements are not always enough.&amp;nbsp; The Taliban and groups like Al Qaeda are like tumours and drug-resistant viruses.&amp;nbsp; If what it takes to keep them in check is chemotherapy, then so be it.&lt;br /&gt;&lt;br /&gt;And now that I have started with this tirade, I feel compelled to talk about Israel as well.&amp;nbsp; No idea why.&amp;nbsp; The Israelis think that the centuries of prosecution culminating with the Holocaust give them the right to do what they want.&amp;nbsp; They reject criticism directed towards their policies by saying that it is a manifestation of anti-Semitism.&amp;nbsp; And most governments let them get away with it for fear of upsetting significant parts of their electorates.&lt;br /&gt;&lt;br /&gt;This is nonsense.&amp;nbsp; Israel is an arrogant little state that has been oppressing the Palestinian people for decades.&amp;nbsp; They feel threatened by the countries that surround them.&amp;nbsp; I understand that.&amp;nbsp; And we shouldn’t forget the Holocaust.&amp;nbsp; But it is time that we look at the Israeli for what they are and what they do right now, rather than feel sorry for what Hitler did to their grandparents.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3680431082135139911?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3680431082135139911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/05/casualties.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3680431082135139911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3680431082135139911'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/05/casualties.html' title='Casualties'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3088578745757638543</id><published>2011-05-04T15:59:00.001+10:00</published><updated>2011-05-29T15:24:29.202+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Refugees</title><content type='html'>The members of Mensa Australia exchange ideas via a mailing list. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;On May 1&lt;sup&gt;st&lt;/sup&gt;, one of the members posted the following message, under the heading “cost-benefit of refugees”:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;To an Economist, cost and benefit is everything.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;I am under no doubt that the benefits of the Royal wedding clearly outweigh the costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;There is another Government made decision that I believe is costing the Australian Taxpayers far more than has yet been revealed.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;The decision by the Rudd Government to scrap temporary visas has resulted in an additional 3,000 illegal immigrants arriving at our processing centres each year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;How much extra has this single decision cost Australian taxpayers?&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Let's look at the costs:  (Assume illegal/refugee stays in detention for four years)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Basic legal costs per refugee applicant:  $200,000&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Housing at Christmas Island:  $400 million per year, so $150,000 per refugee for the four years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Welfare payments:  $50,000 per year = $200,000&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Offshore Management  $156 million per year.  $50,000 per refugee.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Christmas Island infrastructure improvements:  $120 million over 4 years: $10,000 per refugee&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Additional patrolling costs:  $100 million over 4 years.  $10,000 per refugee&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Regional costs to assist handling refugees coming here:  $33 million per year.  $10,000 per refugee&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Each additional refugee will cost us around $630,000 over the period of his stay in detention.  With an extra 3000 refugees coming in as a result of that policy, that is costing taxpayers and additional $2 billion per year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;Is this where you want your taxes to go, or can you see better ways to utilize your money?&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: red;"&gt;The refugee program in total (13,500 per year) could well be costing four times this amount, particularly when you factor in the low employment skills and high crime rates of the people coming in here.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;On May 3&lt;sup&gt;rd&lt;/sup&gt;, the former State Representative for the Australian Capital Territory replied with the following (I took the liberty of correcting a couple of trivial typos and removing the name of the member who posted the original message).  Note that I have interspersed the comments provide by the original member in a subsequent message.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;I believe there is a lot of unwarranted bias here.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;I too am an economist, but I believe that there is more to life than cost-benefit analysis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;This concept was very popular in the 60s especially, and is the basis of many decisions in our economy.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;But..... it is not always appropriate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;Apart from the question whether &lt;name&gt;'s calculations [...] are an accurate reflection of what it costs our government to admit refugees;&lt;/name&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;and apart from the fact that &lt;name&gt; fails to introduce even one benefit (over a 40-50 year period of residency in Australia?),&lt;/name&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;&lt;name&gt; is blaming the refugees.  Why.....&lt;/name&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 1.5cm;"&gt;&lt;span style="color: red;"&gt;I am not blaming the refugees.  I blame the decision makers who are inviting people here who have little hope of fitting in.  Refugees are acting in their own best interests.  They look for the easiest targets in first world countries and exploit any loophole to get here and to stay here.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;If the Western alliance of which we are a member, had not started fighting in Iraq, Afghanistan, and before that the English meddling in the Middle East, there would not be many refugees from these countries. &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;Our government is not only complicit (even if inherited from previous governments) in the reasons refugees come here thru our military actions, but our trade practices too influence the situation of people living in these countries. And while some come for economic reasons, most are trying to escape violence.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;Their countries have cultures of violence that sometimes date back hundreds of years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;What we need to do, is not locking them up for years till ASIO has finally figured out that they cannot find anything against a certain refugee, we need to put these people in schools.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;The refugee camps need to become schools where we teach them how to live in a modern western society. Teach them not only our language, but our laws, customs, and culture.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;And indoctrinate them concerning our abhorrence of the use of arms. Make sure they understand that peace and non-violence is our way of life.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;This may not be foolproof, but it should make them fit into our society a lot easier. &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 1.5cm;"&gt;&lt;span style="color: red;"&gt;Have you tried teaching Lebanese in schools?  About half of them are hyperactive and have no respect for authority.  I would dread trying to contain in a classroom someone who has been roaming around with an AK47 eliminating anyone who crossed his path.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;After all, how can we expect an 18-yr old, who grew up in a desert surrounded by marauders, to fit in with the peaceful side of Australian Society if we keep them incarcerated in a remote, semi-violent environment for a year or more before we let them loose in our cities?&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: blue;"&gt;This would probably increase &lt;name&gt;'s “cost” side of the equation. But the Benefits side would increase enormously.&lt;/name&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; margin-left: 1.5cm;"&gt;&lt;span style="color: red;"&gt;In my twenty years of teaching, I learned that the cast is set before the child enters Primary School.  Trouble makers in grade one are trouble makers all the way through.  One year of deportment classes will have zero impact I am afraid.  Wouldn't you prefer to see the billions of dollars we spend on assimilating refugees in Australia spent to the benefit of hundreds of thousands of people in countries of need rather than the few thousand here who have jumped the queues?&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;At this point, I felt I couldn’t let it rest, and posted the following message:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: green;"&gt;Money, money, money...&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: green;"&gt;I seriously question the current policy of keeping boat people interned for years. It is inhumane and makes no sense. People who manage to obtain a passport and come to Australia by plane are not forced into a camp. But some people are not so lucky. To escape their place of birth, they feel forced to risk the life of their children and place themselves in the hands of unscrupulous smugglers. Why should we treat these two groups of refugees so differently? Why can refugees who come by air freely move in our society while boat people cannot? As I said, it doesn't make any sense. Immigration and ASIO should process and check out boat people exactly as they do with 'plane people'.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: green;"&gt;AND THERE IS NO QUEUE! There are just desperate people coming into our country however they can. Or should we think that some people prefer to risk their life on rickety boats and endure years of confinement rather than fly in on a commercial jet? Come on... If anything, from a humane point of view, it would make sense to process the boat people more swiftly than those who come by plane. And a passage on a boat easily costs more than an economy-class aeroplane ticket. That alone should tell you how desperate some of these people are.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: green;"&gt;Modern economy ignores everything it cannot put a price on. That leads to apparently logical but in reality inhumane conclusions. Hitler's final solution was logical when seen from the perspective of Nazi-Germany racism; forced repatriation of Chinese was logical in the context of the white-Australia policy; and the slogan 'stop the boats' is logical in a context of an uncaring political party that manipulates fears in the less educated among us.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: green;"&gt;To be honest, I only care about the money spent on boat people because, and I agree with &lt;the former="" rep="" state=""&gt;, we should invest it in educating them rather than wasting it on keeping them locked up.&lt;/the&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: green;"&gt;Besides, if everybody in this country only focussed on money, we couldn't function as a society. That is, if all the volunteers and carers that supplement our 'official' welfare expected to be paid for their work, we would become a ruthless and uncaring society. This goes a long way to prove that we shouldn't look at money as the only thing that matters.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;There might be further postings on this subject, but I felt that many non-Mensans would be interested in confirming that a high-IQ has nothing to do with being a humane and caring person.  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3088578745757638543?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3088578745757638543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/05/refugees.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3088578745757638543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3088578745757638543'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/05/refugees.html' title='Refugees'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-845590977864442794</id><published>2011-04-24T11:59:00.005+10:00</published><updated>2011-05-29T15:26:35.952+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Sudoku Programming</title><content type='html'>I have finally completed my book “Sudoku Programming”.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s1600/2011-04-24+17.10+Sudoku+Programming+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s400/2011-04-24+17.10+Sudoku+Programming+01.png" width="263" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;The purpose of this book is to teach you how to write computer programs to solve and generate Sudoku puzzles.  If you love Sudoku and have some knowledge of computer programming, you will have no problem in understanding the code of my Sudoku Solver and Sudoku Generator.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;I have included in the book the full listings of both programs and an explanation of each C module, with walk-throughs and examples. To make your life easier, I have also included a description in detail of the sixteen solving strategies implemented in the Solver and a summary of the C language.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;By following the instructions contained in this book, you will be able to create a practically unlimited number of original Sudokus. To stimulate your creativity, I have also added a chapter about Samurai Sudokus, and a program to help you generate them.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;This is a practical book that will provide you with everything you need to write your own books of Sudoku Classic and Samurai puzzles.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;It includes 365 pages, 107 figures, and 111 listings.  Inside the book, you will also find the URL from which you can obtain the source files.  And here is the top-level table of contents:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Table of Figures&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Table of Listings&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;About the Author&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Introduction&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;1.  Modelling a Sudoku Puzzle in C&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;2. The Strategies&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;3. Main Program &amp;amp; Utilities&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;4. Implementing ‘unique’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;5. Implementing ‘naked’ Strategies&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;6. Implementing ‘hidden’ Strategies&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;7. Implementing ‘box-line’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;8. Implementing ‘pointing-line’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;9. Implementing ‘lines’ Strategies&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;10. Implementing ‘Y-wing’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;11. Implementing ‘XY-chain’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;12. Implementing ‘rectangle’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;13. Implementing ‘backtrack’&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;14. Solving Thousands of Puzzles&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;15. Generating Sudokus&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;16. Puzzle Statistics&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;17. Puzzles&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;18. Samurai Sudokus&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;A. Introduction to C&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;B. Development Environment&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;C. Puzzle Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;D. Abbreviations &amp;amp; Acronyms&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 0.53cm; margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;Strategy Index&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;After talking with some possible publishers, I arrived to the conclusion that it would be almost impossible to find for it a suitable “home” and decided to self-publish it.  For now, it is only available on &lt;a href="http://www.lulu.com/product/paperback/sudoku-programming/15392488"&gt;Lulu&lt;/a&gt;, either in print for US$30.00 or as an eBook in PDF format for US$4.99.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;It will become available on Amazon and other online retailers, but it is unlikely that you will see it in a brick-and-mortar bookstore.  Bookshops are very reluctant to buy books printed on demand because they cannot return unsold copies.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;What are you waiting for?&lt;br /&gt;&lt;a href="http://planetsmilies.net/" title="winking smiley"&gt;&lt;img alt="http://planetsmilies.net/winking-smiley-42.gif" src="http://planetsmilies.net/winking-smiley-42.gif" style="border-width: 0pt;" title="winking smiley" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-845590977864442794?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/845590977864442794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/04/sudoku-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/845590977864442794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/845590977864442794'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/04/sudoku-programming.html' title='Sudoku Programming'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4CJP-jK_hVY/TbOEBI0w_kI/AAAAAAAAAIk/hFGs_J5cdAQ/s72-c/2011-04-24+17.10+Sudoku+Programming+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-5752401479422487113</id><published>2011-04-16T17:09:00.000+10:00</published><updated>2011-04-16T17:11:03.966+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><title type='text'>Code Red</title><content type='html'>&lt;span style="color: blue;"&gt;I haven’t been posting anything for a while.&amp;nbsp; I thought, perhaps I can entertain you with a micro-story I wrote last year.&amp;nbsp; It is a slightly modified version of a story that was shortlisted in the “Positive Words” mini-competition of February 2010, open to stories not longer than 100 words.&amp;nbsp; I tell you, it wasn't easy to write a story with a character and a plot in 100 words...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I clench my teeth.&amp;nbsp; The cockpit is a cacophony of beeping sounds.&amp;nbsp; The instrument panel a kaleidoscope of flashing red lights.&lt;br /&gt;&lt;br /&gt;“Captain...”&lt;br /&gt;&lt;br /&gt;I nod, without taking my eyes off the angry sea of grey before me.&amp;nbsp; With all the checklists exhausted, there is nothing more to say.&lt;br /&gt;&lt;br /&gt;Few seconds later, the plane hammers onto the tarmac, its frame jarred by the impact.&amp;nbsp; The engines scream in reverse.&lt;br /&gt;&lt;br /&gt;A lineup of fire trucks emerges from the fog on the right side of the runway.&amp;nbsp; This time they will not be needed.&lt;br /&gt;&lt;br /&gt;In the back, the passengers erupt into applause.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-5752401479422487113?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/5752401479422487113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/04/code-red.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5752401479422487113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/5752401479422487113'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/04/code-red.html' title='Code Red'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-3637364500685683239</id><published>2011-03-07T14:24:00.002+11:00</published><updated>2011-03-07T14:26:21.239+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>KenKen - One more case</title><content type='html'>Here is one more interesting strategy I discovered when solving one of my CleverClever puzzles.  &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-oVz9fnc0Exo/TXRP2MvnTMI/AAAAAAAAAIg/L_d077gzM5M/s1600/2011-03-07+16.38+KenKen+-+One+more+case+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="https://lh4.googleusercontent.com/-oVz9fnc0Exo/TXRP2MvnTMI/AAAAAAAAAIg/L_d077gzM5M/s640/2011-03-07+16.38+KenKen+-+One+more+case+01.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The four-cell cage on the right shows all possible candidates of each cell.  We can discard the 1 of (5,8) because the sum must be even and the three other cells only have even candidates.  Then, as the 1 of row 5 can only be in (5,1), we can remove all other candidates from that cell and the corresponding candidates in the other cell of the cage.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-3637364500685683239?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/3637364500685683239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/03/kenken-one-more-case.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3637364500685683239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/3637364500685683239'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/03/kenken-one-more-case.html' title='KenKen - One more case'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-oVz9fnc0Exo/TXRP2MvnTMI/AAAAAAAAAIg/L_d077gzM5M/s72-c/2011-03-07+16.38+KenKen+-+One+more+case+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2274844460473774058</id><published>2011-03-06T16:10:00.000+11:00</published><updated>2011-03-06T16:11:48.998+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>KenKen - A non-trivial case</title><content type='html'>Solving one of my CleverClever puzzles, I encountered the following configuration: &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-jWE4wiRqhgg/TXMXJzUs8OI/AAAAAAAAAIc/LUsZhCxtSrU/s1600/2011-03-06+16.38+KenKen+-+A+non-trivial+case+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="https://lh3.googleusercontent.com/-jWE4wiRqhgg/TXMXJzUs8OI/AAAAAAAAAIc/LUsZhCxtSrU/s640/2011-03-06+16.38+KenKen+-+A+non-trivial+case+01.png" width="177" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Suppose that the 112x cage is solved by the combination [8 7 2 1].  Then, the 8 must be in (7,5), because there is already an 8 in either (3,6) or (4,6).  But if that is the case, then the remaining three cells of the cage, all in column 6, must contain 7, 2, and 1.  This leads to a contradiction, because it would force us to remove the 1s in (2,6) and (8,6), thereby leaving both cells with a 9 as the only possible candidate.  Therefore, the 112x cage must be solved with [7 4 2 2] (which, incidentally, means that (7,5) must contain a 2).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I don’t have a name for this strategy, but it is a nice example of a technique that does not (and cannot) occur in Sudoku.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2274844460473774058?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2274844460473774058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/03/kenken-non-trivial-case.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2274844460473774058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2274844460473774058'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/03/kenken-non-trivial-case.html' title='KenKen - A non-trivial case'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-jWE4wiRqhgg/TXMXJzUs8OI/AAAAAAAAAIc/LUsZhCxtSrU/s72-c/2011-03-06+16.38+KenKen+-+A+non-trivial+case+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2549478329919010527</id><published>2011-03-05T16:38:00.002+11:00</published><updated>2011-03-07T13:58:18.604+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>KenKen Strategies</title><content type='html'>Most of the strategies used to solve Sudoku rely on the interplay of boxes and lines.  Therefore, it is not surprising that they are not transferable to KenKen&lt;sup&gt;®&lt;/sup&gt; (registered trademark of Nextoy LLC). &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To see what Sudoku strategies do apply to KenKen, I will first define the concept of &lt;i&gt;segment&lt;/i&gt;.  A segment is a collection of cells belonging to a cage that are also on the same line (row or column). In the following example with four cages, the horizontal segments (along a row) are: A, BC, DE, F, G, H, IJ, KLM, and N, while the vertical segments (along a column) are: AF, B, CH, DI, EJN, GL, K, and M.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-TiNZTxO_ook/TXHL_P7tBvI/AAAAAAAAAIQ/tbeS40x0Sn4/s1600/2011-03-05+18.34+KenKen+Strategies+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="https://lh3.googleusercontent.com/-TiNZTxO_ook/TXHL_P7tBvI/AAAAAAAAAIQ/tbeS40x0Sn4/s320/2011-03-05+18.34+KenKen+Strategies+01.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;What follows is a list of Sudoku strategies adapted to KenKen.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;‘Naked single’: If a cell only has a single candidate, that candidate must solve the cell. This is obvious: if there are no other possible candidates in a cell, the only one present must be it.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;‘Unique’: If a candidate for a particular number is found in a single cell of a line (row or column), it must solve the cell.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;‘Cleanup’: When you solve a cell, the digit that solves it cannot be a candidate anywhere else in any of the lines to which the cell belongs.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;‘Naked pair’: If two cells in the same line but belonging to different cages only contain the same two candidates, it means that one of those candidates will solve one of the two cells, and the other candidate will solve the other cell.  Therefore, the same candidates can be removed from all other cells of the line.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;And now a couple of KenKen-specific strategies.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;‘Pointing segment’: If you know one or more digits of a segment, even if you don’t know which cells they individually solve, you can remove candidates for the same digits from all other cells of the line to which the segment belongs.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;‘Solving order’: Solve first all the cages that only contain one cell. Then write down the candidates of the cages with two cells that can only be solved by one, two, three, or four pairs. As next, look at cages with high totals obtained by multiplication, because they are likely to have a low number of possible combinations. Straight cages are always easier to solve than cages with bends.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Look for example at the following puzzle:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-ctN7brB5-64/TXHL_jrKHyI/AAAAAAAAAIU/dbFWWpcPfAs/s1600/2011-03-05+18.34+KenKen+Strategies+02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="635" src="https://lh6.googleusercontent.com/-ctN7brB5-64/TXHL_jrKHyI/AAAAAAAAAIU/dbFWWpcPfAs/s640/2011-03-05+18.34+KenKen+Strategies+02.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;You can immediately write 8 in cell (0,4) and 4 in cell (8,5).  Then, notice that the cages [(1,8) (2,8)], [(2,5) (3,5)], [(3,8) (4,8)], [(4,7) (5,7)], [(6,2) (7,2)], and [(7,3) (8,3)] all admit only one pair of combinations.  You can therefore fill them with the pairs of alternatives [9 1], [9 8], [8 5], [9 8], [8 1], and [7 3].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;At this point, also the cage [(5,8) (6,8)] can only be filled with a single pair of alternatives.  Normally, to obtain a total sum of 13 you can add any of the pairs [9 4], [8 5], and [7 6], but in this case, as the digits 9 and 8 have already been allocated to other segments of the same column, only the pair [7 6] remains.  As an example of a pair with more alternatives, I filled in the cage [(4,5) (5,5)} with the possible alternatives [6 1], [3 2], [2 3], and [1 6].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The square cage at the top [(0,5) (0,6) (1,5) (1,6)] requires a product of 200.  The prime factors of 200 are 2 2 2 5 5.  This means that the four cells must hold either [8 5 5 1] or [5 5 4 2].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The cage [(7,4) (7,5) (7,6)] can only contain [9 7 5], because the factors 0f 315 are 3 3 5 7.  This means that the 7 that we had considered possible for the cell (7,3) has become impossible.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Similarly, the cage [(4,1) (4,2) (5,1)] can only contain [1 7 7], because 49 only admits the two factors 7 7.  As a result, we can remove the pair [1 6] from the cage [(4,5) (5,5)].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;At this point, the puzzle looks as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-EXQCcngl2PA/TXHL_xX7cQI/AAAAAAAAAIY/7_Cztbj2mBM/s1600/2011-03-05+18.34+KenKen+Strategies+03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="635" src="https://lh4.googleusercontent.com/-EXQCcngl2PA/TXHL_xX7cQI/AAAAAAAAAIY/7_Cztbj2mBM/s640/2011-03-05+18.34+KenKen+Strategies+03.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Incidentally, I have found out how to make my CleverClever puzzles solvable analytically.  At least, I have managed to solve the first ten I generated, although in a couple of cases only on the second attempt.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2549478329919010527?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2549478329919010527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/03/kenken-strategies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2549478329919010527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2549478329919010527'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/03/kenken-strategies.html' title='KenKen Strategies'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-TiNZTxO_ook/TXHL_P7tBvI/AAAAAAAAAIQ/tbeS40x0Sn4/s72-c/2011-03-05+18.34+KenKen+Strategies+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-8986633931257744523</id><published>2011-02-23T16:56:00.005+11:00</published><updated>2011-03-05T16:38:56.758+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><title type='text'>KenKen</title><content type='html'>Some weeks ago, I discovered the Sudoku-like puzzle KenKen&lt;sup&gt;®&lt;/sup&gt; (registered trademark of Nextoy LLC). In Japanese, Ken means ‘clever’.  I say ‘Sudoku-like’ because it consists of a grid to be filled with digits.  Like with Sudoku, every digit can only appear once within its row and once within its column.  But, instead of square boxes, KenKen&lt;sup&gt;®&lt;/sup&gt;  contains &lt;i&gt;cages&lt;/i&gt;, which can hold between one and seven (the largest cage I have encountered) contiguous cells.  There are no initial clues, but for every cage, the puzzle provides a number and an operation with which the number is to be achieved. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Here is an example of an empty KenKen&lt;sup&gt;®&lt;/sup&gt; grid:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Gy3xvHI7dR0/TWShTF4ElYI/AAAAAAAAAIE/E5lbRt472qc/s1600/2011-02-23+18.34+KenKen+0+12213443.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/-Gy3xvHI7dR0/TWShTF4ElYI/AAAAAAAAAIE/E5lbRt472qc/s640/2011-02-23+18.34+KenKen+0+12213443.png" width="616" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For example, the cage marked 36x and located smack in the middle of the puzzle must be filled with two numbers whose product is 36. As the side of the puzzle has a side length of nine cells, it means that the numbers must be between 1 and 9 (you can make puzzles of any size).  Clearly, there are only two possible pairs that can solve the cage: (4 9) and (9 4). Another example: the 4-cell cage marked with 162x in the top row can only contain one of the combinations (1 3 6 9) and (2 3 3 9).  It can contain two 3s because they can be placed in such a way that they don’t share either row or column.  A third (and last) example: the two cells close to the bottom-left corner marked 4: can contain any of the combinations (1 4), (2 8), (4 1), and (8 2).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;If you are interested in trying it out, you will find a new daily puzzle posted at &lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://www.kenken.com/playnow.html"&gt;&lt;span lang="en-AU"&gt;www.kenken.com/playnow.html&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Some strategies are similar to those used to solve Sudoku, but the more complex Sudoku strategies don’t play any role with KenKen&lt;sup&gt;®&lt;/sup&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Obviously, as soon as I discovered KenKen&lt;sup&gt;®&lt;/sup&gt;, I decided at once to write a program to generate my own puzzles.  The puzzle you see in this post is one of those I generated.  Note that I cannot call it KenKen&lt;sup&gt;®&lt;/sup&gt; because that name is trademarked.  It was not an easy task to generate a KenKen&lt;sup&gt;®&lt;/sup&gt;-like puzzle and I am quite proud of the result.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;A tricky hurdle was to ensure that the puzzles I generated only admitted a single solution. Look for example at the following partial puzzle:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-wUqB8pitH5w/TWShTtE2SXI/AAAAAAAAAII/SeMO90wSvVI/s1600/2011-02-23+18.34+KenKen+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-wUqB8pitH5w/TWShTtE2SXI/AAAAAAAAAII/SeMO90wSvVI/s320/2011-02-23+18.34+KenKen+1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;You could swap the 8 and 2 in the two cages and obtain a valid solution.  I did fix this problem with a specific check, but I then realised that it was not sufficient to guarantee unicity.  Here is an example that shows why checking for pair swaps is not enough:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="CENTER" style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uSmc_NTXniM/TWShUD3MANI/AAAAAAAAAIM/x-jHAlXfc2M/s1600/2011-02-23+18.34+KenKen+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="249" src="http://4.bp.blogspot.com/-uSmc_NTXniM/TWShUD3MANI/AAAAAAAAAIM/x-jHAlXfc2M/s320/2011-02-23+18.34+KenKen+2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Clearly, you can solve the puzzle by placing in the three pairs of cells either one of the two permutations [(2 3) (3 8) (8 2)] and [(3 2) (8 3) (2 8)].&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Further, you can also imagine much more complex permutations of several cells.  The only way to ensure the unicity of the solution was a &lt;i&gt;brute&lt;/i&gt; approach rather than an analytical one: try all possible permutations of all cages.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Implemented the check for unicity, I was able to generate CleverClever puzzles.  Unfortunately, the fact that the puzzles were correct and admitted a single solution didn’t make them enjoyable.  When I tried to solve the puzzle you see at the beginning of this post, I discovered that there were too many combinations that remained after applying all analytical strategies I had practised on the puzzles made available by kenken.com over a period of a few weeks.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;That’s when I decided to give it a rest and go back to it in a while, with a fresh mind.  I have to understand how the cages interact with each other to reduce the number of possible combinations.  I can generate valid CleverClever puzzles, but they are not fun to solve because they require backtracking (i.e., trial and error).Actually,&amp;nbsp; to be precise, *I* have not fun in solving them because *I* am not able to solve them analytically...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-8986633931257744523?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/8986633931257744523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/02/kenken.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8986633931257744523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8986633931257744523'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/02/kenken.html' title='KenKen'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Gy3xvHI7dR0/TWShTF4ElYI/AAAAAAAAAIE/E5lbRt472qc/s72-c/2011-02-23+18.34+KenKen+0+12213443.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-4531349302287377493</id><published>2011-02-20T18:34:00.000+11:00</published><updated>2011-02-20T18:35:18.652+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>Watch Your Language!</title><content type='html'>Intelligent Design is an affirmation of a belief, not a scientific theory.&amp;nbsp; To maintain that Nature is too complex to have evolved on its own and then deduce from such an arbitrary concept that a Creator/Designer must exist is an affirmation of faith, not a scientific statement.&lt;br /&gt;&lt;br /&gt;It is important that magazines focussed on popularising Science maintain the highest standards of objectivity, not just in what they say but also in how they say it.&amp;nbsp; Statements that purport to be scientific but are formulated with elements of superstition can have deleterious effects on the minds of the younger readers.&lt;br /&gt;&lt;br /&gt;What prompted this tirade is the article by Lauren Monaghan titled “Grand Delusions” that appeared in Cosmos (self proclaimed “Australia’s #1 Science Magazine”)&amp;nbsp; Issue 28 of Aug/Sep 2009. On page 46, it contained the following sentence:&lt;br /&gt;&lt;br /&gt;“...we always have — and always will — want to believe in the fantastic. In fact, many scientists believe we are even &lt;i&gt;programmed&lt;/i&gt; to do so.”&amp;nbsp; (my italics)&lt;br /&gt;&lt;br /&gt;In the same article was also the following statement made by an experimental psychologist:&lt;br /&gt;&lt;br /&gt;“Humans are born with brains &lt;i&gt;designed&lt;/i&gt; to make sense of the world, and that sometimes leads to beliefs that go beyond natural explanations.”&amp;nbsp; (again, my italics)&lt;br /&gt;&lt;br /&gt;Do you see what I mean?&amp;nbsp; The words “programmed” and “designed” imply the existence of a Programmer and a Designer.&amp;nbsp; They should have never appeared in a Science magazine.&lt;br /&gt;&lt;br /&gt;Bah...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-4531349302287377493?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/4531349302287377493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/02/watch-your-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4531349302287377493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4531349302287377493'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/02/watch-your-language.html' title='Watch Your Language!'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-6754991595871445898</id><published>2011-02-06T14:20:00.002+11:00</published><updated>2011-02-20T18:35:51.506+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>GLUT in C with Eclipse on the Mac</title><content type='html'>For the past couple of months, for my book on Sudoku, I have been writing C programs with Eclipse running under Mac OS. &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;OpenGL (Open Graphics Library) is allegedly “the premier environment for developing portable, interactive 2D and 3D graphics applications”.  I simply had to try it out.  I quickly discovered that, beside the generic OpenGL libraries, I also needed GLUT (OpenGL Utility Toolkit, pronounced as in gluttony).&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;As it turned out, every Macintosh comes with everything you need (Windows systems don’t include GLUT).  Therefore, the only thing I needed to do was to tell Eclipse where to find the libraries.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I hit at once a little problem: when you tell Eclipse to use a library (I’ll tell you in a moment how to do it), Eclipse actually looks for it after attaching to its name the string &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;lib&lt;/span&gt;&lt;/span&gt; at the beginning and the extension &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;.dylib&lt;/span&gt;&lt;/span&gt; at the end.  So, for example, if you tell Eclipse to use the library named &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;GLUT&lt;/span&gt;&lt;/span&gt;, Eclipse looks for &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;libGLUT.dylib&lt;/span&gt;&lt;/span&gt;.  The problem arises because on the Mac the GLUT library is simply named &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;GLUT&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To fix it, you need to go to the GLUT directory:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;cd /system/Library/Frameworks/GLUT.framework/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;and then, as &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;root&lt;/span&gt;&lt;/span&gt;, create the following soft link:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;ln –s GLUT libGLUT.dylib&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;To tell Eclipse where to look for the openGL libraries, open the Project Properties dialogue and select &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Settings&lt;/span&gt;&lt;/span&gt; item of the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;MacOS X C Linker&lt;/span&gt;&lt;/span&gt; category, as shown in the following figure.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_zO-MsFcj5cc/TU4RaSZB8zI/AAAAAAAAAH4/48BNIhMoGOc/s1600/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="489" src="http://2.bp.blogspot.com/_zO-MsFcj5cc/TU4RaSZB8zI/AAAAAAAAAH4/48BNIhMoGOc/s640/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Then, as shown, add the following two entries to the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Library search path (-L)&lt;/span&gt;&lt;/span&gt;:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;/System/Library/Frameworks/OpenGL.framework/Libraries&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;/System/Library/Frameworks/GLUT.framework&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;and the following three entries to the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Libraries (-l)&lt;/span&gt;&lt;/span&gt;:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;GL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;GLU&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;GLUT&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;After telling Eclipse where the OpenGL/GLUT libraries are, before you can use them in your programs, you still need to tell Eclipse where to find the corresponding header files.  For this, still within the same dialogue, select the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Includes&lt;/span&gt;&lt;/span&gt; item of the &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;GCC C Compiler&lt;/span&gt;&lt;/span&gt; category, as shown below.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_zO-MsFcj5cc/TU4RbHiiSqI/AAAAAAAAAH8/NEi5rsFwfQk/s1600/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="490" src="http://2.bp.blogspot.com/_zO-MsFcj5cc/TU4RbHiiSqI/AAAAAAAAAH8/NEi5rsFwfQk/s640/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;When you are there, add the two following entries in the field &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;Include paths (-l)&lt;/span&gt;&lt;/span&gt;:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;/System/Library/Frameworks/OpenGL.framework/Headers&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;/System/Library/Frameworks/GLUT.framework/Headers&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;That’s it.  Now you can use the graphics package in C within Eclipse.  Here is the small program I used to test the package, copied directly from Eclipse:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;#include&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;stdlib.h&gt;&lt;/stdlib.h&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;#include&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;gl glut.h=""&gt;&lt;/gl&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;#define&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; SIDE 306&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;#define&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; CELL SIDE/9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;#define&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; EDGE 8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; *arg;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; use_arg = 0;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;tick&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutPostRedisplay&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;output&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; k, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; j, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; c) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; x = EDGE + CELL * k + (CELL &amp;gt;&amp;gt; 1) - 5;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; y = EDGE + CELL * j + (CELL &amp;gt;&amp;gt; 1) + 7;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glRasterPos2f&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(x, y);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutBitmapCharacter&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(GLUT_BITMAP_HELVETICA_18, c);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;display&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glClear&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(GL_COLOR_BUFFER_BIT);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (use_arg) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; k = 0; k &amp;lt; 81; k++) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; kR = k / 9;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; kC = k-kR*9;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (arg[k] != &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;'0'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &lt;span style="font-family: Monaco,Courier New;"&gt;output(kR, kC, arg[k]);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;    &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; k = 0; k &amp;lt; 9; k++) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;      &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; j = 0; j &amp;lt; 9; j++) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;        &lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;output(k, j, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;'0'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;+k);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;        &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;      &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;    &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; k = 0; k &amp;lt;= 9; k++) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;    &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (k % 3 == 0) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;      &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glLineWidth&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (1.5);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;    &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;      &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glLineWidth&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (0.5);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;      &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;    &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glBegin&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (GL_LINES);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;      &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glVertex2f&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (EDGE,      EDGE+CELL*k);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;      &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glVertex2f&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (EDGE+SIDE, EDGE+CELL*k);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;    &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glEnd&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; ();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;    &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glBegin&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (GL_LINES);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;      &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glVertex2f&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (EDGE+CELL*k, EDGE);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;      &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glVertex2f&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; (EDGE+CELL*k, EDGE+SIDE);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;    &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glEnd&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; ();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;    &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutSwapBuffers&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;reshape&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; w, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; h) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glViewport&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(0, 0, w, h);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glMatrixMode&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(GL_PROJECTION);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glLoadIdentity&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;gluOrtho2D&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(0, w, h, 0);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glMatrixMode&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(GL_MODELVIEW);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;main&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; argc, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;char&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; **argv) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;arg = argv[1];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutInit&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(&amp;amp;argc, argv);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutInitDisplayMode&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(GLUT_DOUBLE | GLUT_RGB);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutInitWindowSize&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(SIDE+EDGE+EDGE, SIDE+EDGE+EDGE);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;use_arg = (argc &amp;gt; 0);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutCreateWindow&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;((argc &amp;gt; 1) ? argv[2] : &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;"Sudoku"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glClearColor&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(1, 1, 1, 1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glColor3f&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(0, 0, 0);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutDisplayFunc&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(display);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutReshapeFunc&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(reshape);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutIdleFunc&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;(tick);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #642880; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;glutMainLoop&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;span style="color: #7f0055; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-size: x-small;"&gt;&lt;span style="font-family: Monaco,Courier New;"&gt;&lt;span lang="en-US"&gt; EXIT_SUCCESS;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div lang="en-US" style="margin-bottom: 0cm; orphans: 2; widows: 2;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="font-family: Monaco,Courier New;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;It accepts a string of 81 characters as the first argument and displays it within a Sudoku-like grid.  Here is an example of what you get:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_zO-MsFcj5cc/TU4Rbo10grI/AAAAAAAAAIA/HcSO7pW0zAY/s1600/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_zO-MsFcj5cc/TU4Rbo10grI/AAAAAAAAAIA/HcSO7pW0zAY/s320/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+3.png" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Obviously, as there are no events (e.g. user inputs) to trigger any change, this program is pretty dull.  But it proves that you can use GLUT in the C programs you develop with Eclipse.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-6754991595871445898?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/6754991595871445898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/02/glut-in-c-with-eclipse-on-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6754991595871445898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/6754991595871445898'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/02/glut-in-c-with-eclipse-on-mac.html' title='GLUT in C with Eclipse on the Mac'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zO-MsFcj5cc/TU4RaSZB8zI/AAAAAAAAAH4/48BNIhMoGOc/s72-c/2011-02-06+20.05+GLUT+in+C+with+Eclipse+on+the+Mac+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-8374444093310499266</id><published>2011-01-28T20:05:00.000+11:00</published><updated>2011-01-28T20:05:42.452+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Society'/><title type='text'>Multiculturalism</title><content type='html'>In 1970, the German film director and producer Rosa von Praunheim made the film &lt;i&gt;Die Bettwurst&lt;/i&gt;.  The word &lt;i&gt;Bettwurst&lt;/i&gt;&lt;span style="font-style: normal;"&gt;, invented by Rosa, means &lt;/span&gt;&lt;i&gt;bed sausage&lt;/i&gt;&lt;span style="font-style: normal;"&gt;, and refers to somebody who never gets out of bed.&lt;/span&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;Anyhow, I saw the film decades ago, but I still remember the words of the following little song:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;Die ganze Welt ist nur ein Arsch&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;und wir sind seine Fürze.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;Ein Jeder stinkt nach seiner Art.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;Das gibt dem Leben Würze.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;Here is my best translation of it:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;The whole world is just an arse&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;and we are its farts.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;Each one stinks in its own way.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: normal;"&gt;This gives spices to our lives.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-8374444093310499266?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/8374444093310499266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/01/multiculturalism.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8374444093310499266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/8374444093310499266'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/01/multiculturalism.html' title='Multiculturalism'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-2258455568762992867</id><published>2011-01-19T17:09:00.002+11:00</published><updated>2011-01-19T18:06:09.530+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games and puzzles'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Sudoku - A Handsome Samurai</title><content type='html'>I have almost completed my book &lt;i&gt;Sudoku Programming&lt;/i&gt; (if I have ever seen a plug...) about how to write C applications that can solve and generate Sudokus. As part of it, I have decided to explain how to generate Samurai Sudokus. I had noticed that they often have the shared boxes completely empty and wanted to do better than that. I am very happy with the result, and would like to share it with you. Here it is: &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_zO-MsFcj5cc/TTZ_PaaxyiI/AAAAAAAAAHw/bHw5tjQCrg8/s1600/2011-01-19+11.08+Sudoku+-+A+Handsome+Samurai+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="390" src="http://1.bp.blogspot.com/_zO-MsFcj5cc/TTZ_PaaxyiI/AAAAAAAAAHw/bHw5tjQCrg8/s400/2011-01-19+11.08+Sudoku+-+A+Handsome+Samurai+1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I can generate as many as I like and not necessarily fully symmetrical, even if I think that they are just beautiful. Each one of the five puzzles I used to ‘assemble’ the Samurai requires some non-trivial strategies like Y-wing, XY-chain, and X-wing. The presence of the intersections might/should reduce the overall difficulty of the puzzle, but I still expect it to be reasonably (whatever that means) difficult.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Obviously, I have got the solution, but you don’t expect me to give it to you, do you? &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-2258455568762992867?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/2258455568762992867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/01/sudoku-handsome-samurai.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2258455568762992867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/2258455568762992867'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/01/sudoku-handsome-samurai.html' title='Sudoku - A Handsome Samurai'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zO-MsFcj5cc/TTZ_PaaxyiI/AAAAAAAAAHw/bHw5tjQCrg8/s72-c/2011-01-19+11.08+Sudoku+-+A+Handsome+Samurai+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-4312534160353312744</id><published>2011-01-11T11:08:00.002+11:00</published><updated>2011-01-19T17:10:58.403+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Fortran and Eclipse on the Mac - Addendum</title><content type='html'>This is about updating Eclipse, PTP, and the Fortran compiler to their latest versions. Beth Tibbitts of the Eclipse Parallel Tools Platform (&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://eclipse.org/ptp"&gt;&lt;span lang="en-AU"&gt;http://eclipse.org/ptp&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;) told me how to do it via the Photran Information mailing list (photran[a t]eclipse.org). &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Here is how she explained it to me:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Your description uses the original versions of Helios (and PTP, and Photran) instead of the SR1 release in September.&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;That URL should be&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr1"&gt;&lt;span lang="en-AU"&gt;&lt;b&gt;http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr1&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Or even better: Tell them to go to &lt;/b&gt;&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://eclipse.org/downloads/"&gt;&lt;span lang="en-AU"&gt;&lt;b&gt;http://eclipse.org/downloads/&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt; and click on "Eclipse IDE for C/C++ Developers" which will always get the latest version. (Now it's Helios SR1.)&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Using your update site instructions *will* correctly install PTP and Photran at 4.0.3 and 6.0.3 versions.&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Then if you do a Help &amp;gt; Check for Updates -- it will update things to the SR1 level.&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;In fact, PTP itself had some slight updates even since then.&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Perhaps not critical, but handy to know how to do:&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;See &lt;/b&gt;&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://wiki.eclipse.org/PTP/FAQ%23update_ptp_specific"&gt;&lt;span lang="en-AU"&gt;&lt;b&gt;http://wiki.eclipse.org/PTP/FAQ#update_ptp_specific&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;b&gt;Your PTP should then be at 4.0.5 and Photran at 6.0.5 (your instructions show 4.0.0 and 6.0.0)&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;And here are some snapshots I took while I was following her instructions:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_zO-MsFcj5cc/TSufB2O-OAI/AAAAAAAAAHg/Boc5pueLw2c/s1600/Eclipse_updates.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_zO-MsFcj5cc/TSufB2O-OAI/AAAAAAAAAHg/Boc5pueLw2c/s640/Eclipse_updates.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSufEc9-uTI/AAAAAAAAAHk/H46LLTTgHOA/s1600/Eclipse_licences.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="420" src="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSufEc9-uTI/AAAAAAAAAHk/H46LLTTgHOA/s640/Eclipse_licences.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSufHHV6JMI/AAAAAAAAAHo/FCCpBieMKlE/s1600/Eclipse_updates_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="348" src="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSufHHV6JMI/AAAAAAAAAHo/FCCpBieMKlE/s640/Eclipse_updates_2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSufJd5MfEI/AAAAAAAAAHs/JE_x8xtJGVo/s1600/Eclipse_licences_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSufJd5MfEI/AAAAAAAAAHs/JE_x8xtJGVo/s640/Eclipse_licences_2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4604011709908623764-4312534160353312744?l=giuliozambon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giuliozambon.blogspot.com/feeds/4312534160353312744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giuliozambon.blogspot.com/2011/01/fortran-and-eclipse-on-mac-addendum.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4312534160353312744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4604011709908623764/posts/default/4312534160353312744'/><link rel='alternate' type='text/html' href='http://giuliozambon.blogspot.com/2011/01/fortran-and-eclipse-on-mac-addendum.html' title='Fortran and Eclipse on the Mac - Addendum'/><author><name>Locutus</name><uri>http://www.blogger.com/profile/08731178103175750901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zO-MsFcj5cc/TSufB2O-OAI/AAAAAAAAAHg/Boc5pueLw2c/s72-c/Eclipse_updates.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4604011709908623764.post-7226858741890351171</id><published>2011-01-04T14:16:00.006+11:00</published><updated>2011-01-11T11:09:14.468+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Science'/><title type='text'>Fortran and Eclipse on the Mac</title><content type='html'>In this post, I describe how I installed a Fortran compiler within Eclipse on my 64-bit Macintosh running the Snow Leopard system (OS X 10.6.5). &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The first step was to get the “Eclipse IDE for C/C++ Developers” Helios package from&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliosr"&gt;&lt;span lang="en-AU"&gt;http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliosr&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;.  I downloaded the file eclipse-cpp-helios-macosx-cocoa-x86_64.tar.gz (86.9 MB) by clicking on the “Mac OS X(Cocoa 64)” link.  The Helios release (Eclipse 3.6 of 2010-06-23) includes the Photran package.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I placed the downloaded file in a directory I will identify with &lt;span style="font-family: Courier New,monospace;"&gt;/basedir/&lt;/span&gt; for simplicity.  I completed the installation of the package by expanding it.  The Eclipse application was in &lt;span style="font-family: Courier New,monospace;"&gt;/basedir/eclipse/Eclipse.app&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Photran is part of Eclipse's Parallel Tool Platform (PTP).  Therefore, the next step was to install PTP.  To do so, I performed the following steps from within Eclipse:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Opened “Help &amp;gt; Install New  Software...”&lt;/li&gt;&lt;li&gt;Chose “Helios -  http://download.eclipse.org/releases/helios” in “Work with:”  drop down menu.&lt;/li&gt;&lt;li&gt;Expanded the “General Purpose  Tools” category by clicking on the little triangle on its left.&lt;/li&gt;&lt;li&gt;Scrolled down until I reached the  PTP-related items and selected four of them as shown in the  following snapshot: &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://1.bp.blogspot.com/_zO-MsFcj5cc/TSKPu2Xob_I/AAAAAAAAAHY/zX6wbBI3IVY/s1600/2011-01-04+Fortran+with+Eclipse+01.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="552" src="http://1.bp.blogspot.com/_zO-MsFcj5cc/TSKPu2Xob_I/AAAAAAAAAHY/zX6wbBI3IVY/s640/2011-01-04+Fortran+with+Eclipse+01.gif" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;ul&gt;&lt;li&gt;In the “Programming Languages”  category, I selected Fortran as shown in the following snapshot:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSKPv8BpQMI/AAAAAAAAAHc/D5Feu3hxMEY/s1600/2011-01-04+Fortran+with+Eclipse+02.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="552" src="http://4.bp.blogspot.com/_zO-MsFcj5cc/TSKPv8BpQMI/AAAAAAAAAHc/D5Feu3hxMEY/s640/2011-01-04+Fortran+with+Eclipse+02.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;ul&gt;&lt;li&gt;Clicked on “Next” and then on  “Finish”, restarting Eclipse when prompted.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ol&gt;&lt;/ol&gt;&lt;div style="margin-bottom: 0cm;"&gt;The default Fortran compiler for Eclipse is gfortran.  But as Eclipse Helios is a 32-bit application, I had to download the gfortran for MacOS X Tiger and Leopard, not for the latest Snow Leopard, which is a 64-bit OS. To get the 32-bit version of gfortran, I went to &lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a class="western" href="http://hpc.sourceforge.net/"&gt;&lt;span lang="en-AU"&gt;http://hpc.sourceforge.net/&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt; and clicked on&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;gfortran-leopard-intel-bin.tar.gz (Intel Mac gfortran only), updated June 2009 (Leopard only)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;(14.6 MB)&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;After expanding it into &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/basedir/&lt;/span&gt;, I got a folder named &lt;span style="font-family: Courier New,monospace;"&gt;usr&lt;/span&gt; with inside a folder named &lt;span style="font-family: Courier New,monospace;"&gt;local&lt;/span&gt;.  Clearly, I was supposed to expand it from the root directory.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;So, I typed in a terminal window (as root) the following command:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;$ mv -v /Basedir/usr/local/* /usr/local/&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;/Basedir/usr/local/bin -&amp;gt; /usr/local/bin&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;/Basedir/usr/local/include -&amp;gt; /usr/local/include&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;/Basedir/usr/local/lib -&amp;gt; /usr/local/lib&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;/Basedir/usr/local/libexec -&amp;gt; /usr/local/libexec&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;/Basedir/usr/local/share -&amp;gt; /usr/local/share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Note that there must not be spaces in the directory names, because gfortran/gcc cannot cope with it.  Be aware that gfortran is also available from http://gcc.gnu.org/wiki/GFortranBinaries, but if you download from there the file gfortran-macosx-x86.dmg allegedly for Tiger and Leopard, you actually get the 64-bit gfortran for Snow Leopard! Perhaps they have fixed it by now...&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;When I tried to compile a simple Fortran program, “make” reported the following error on the Eclipse console:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;**** Build of configuration Release for project ftest ****&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;make all &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Building file: ../ftest.for&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;Invoking: GNU Fortran Compiler&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;gfortran -funderscoring -O3 -Wall -c -fmessage-length=0 -o"ftest.o" "../ftest.for"&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;/bin/sh: gfortran: command not found&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;make: *** [ftest.o] Error 127&lt;/span&gt;&lt
