<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Nick Craig-Wood's Pages - Latest Comments</title><link xmlns="http://www.w3.org/2005/Atom" rel="http://api.friendfeed.com/2008/03#sup" href="http://disqus.com/sup/all.sup#forumcomments-3a07811d" type="application/json"/><link>http://nickcw.disqus.com/</link><description></description><atom:link href="http://nickcw.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Wed, 18 Apr 2012 20:32:22 -0000</lastBuildDate><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-501325603</link><description>&lt;p&gt;Could you also use Halley's method to calculate the square root? It has cubic converge but the formula is a little bit more complicated. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Crazyasianboy436</dc:creator><pubDate>Wed, 18 Apr 2012 20:32:22 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-498738752</link><description>&lt;p&gt;The answer would be any of the above!  Chudnovsky is the fastest as you can see from the graphs, but you may want an algorithm you can prove (like Archimedes) or a very simple one (like Gregory).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nick Craig-Wood</dc:creator><pubDate>Mon, 16 Apr 2012 07:18:56 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-498738259</link><description>&lt;p&gt;The code starts the iteration at k=1 where the a_sum is 1 and the b_sum is 0, rather than starting with k=0 where the a_sum is 0 and the b_sum is 0.  That just saves a bit of extra complexity in the code and makes it run a tiny bit faster.  I didn't explain what I was doing though so you are right to be confused!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nick Craig-Wood</dc:creator><pubDate>Mon, 16 Apr 2012 07:17:22 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-495441430</link><description>&lt;p&gt;also not to bug you but this is my last question: When calculating pi which algorithm should i use from your links:&lt;br&gt;Pi - Chudnovsky&lt;br&gt;Pi - Machin&lt;br&gt;Pi - Archimedes&lt;br&gt;Pi - Gregory's Series&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kayleighsinger99</dc:creator><pubDate>Thu, 12 Apr 2012 10:36:09 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-495426593</link><description>&lt;p&gt;ummm.... im new at this and i am confused. in the early equations that have the python it says k=0 but after that when you have Chudnovsky's series it says k=1. maybe im thinking too much or looking at it wrong. can you help me?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kayleighsinger99</dc:creator><pubDate>Thu, 12 Apr 2012 10:17:23 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-481518944</link><description>&lt;p&gt;This is great!! I made some edits so that it prints to a textfile as opposed to just butchering the ram. (:   Know i can email my friends the giant file!!! &lt;br&gt;JIK you want the code all you have to do is add this:::::::::::::::::::&lt;/p&gt;

&lt;p&gt; digitprint = str(pi)&lt;br&gt;        str(pi)&lt;br&gt;        f = open("filename.txt", 'w')&lt;br&gt;        f.write(digitprint)&lt;br&gt;        f.close()&lt;br&gt;        print("We have printed to the textfile.")&lt;/p&gt;

&lt;p&gt;::::::::::::::::::::&lt;br&gt;To the part of the script that prints the answer to the console, You can change the variable if you want. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Caleb</dc:creator><pubDate>Sat, 31 Mar 2012 00:14:06 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-385486015</link><description>&lt;p&gt;A really great write up and interesting to see how the rest of the stages panned out. &lt;br&gt;I only managed time to solve stage 1, a bit windows based but here was my method &lt;a href="http://www.youtube.com/watch?v=e1uIpBI9u6g" rel="nofollow"&gt;http://www.youtube.com/watch?v...&lt;/a&gt;&lt;br&gt;Matt&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matt Bartlett</dc:creator><pubDate>Tue, 13 Dec 2011 05:29:23 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-383034627</link><description>&lt;p&gt;Nice effort and great write-up!&lt;/p&gt;

&lt;p&gt;Gerry&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gerard Blais</dc:creator><pubDate>Fri, 09 Dec 2011 14:48:43 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-382494638</link><description>&lt;p&gt;Some have used Avalanche (&lt;a href="http://www.tora-centre.ru/avalanche.htm)" rel="nofollow"&gt;http://www.tora-centre.ru/aval...&lt;/a&gt; successfully, but with much less professional satisfaction, I guess.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anon</dc:creator><pubDate>Thu, 08 Dec 2011 18:47:45 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-382466878</link><description>&lt;p&gt;Amazing read :) very sophisticated riddle indeed. Not my level yet. Thanks for solution.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jubas Andrzej</dc:creator><pubDate>Thu, 08 Dec 2011 17:54:53 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-382450481</link><description>&lt;p&gt;&lt;a href="http://www.google.com.ua/search?q=site%3Acanyoucrackit.co.uk&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:ru:official&amp;amp;client=firefox#q=site:canyoucrackit.co.uk&amp;amp;hl=en&amp;amp;client=firefox&amp;amp;rls=org.mozilla:ru:official&amp;amp;prmd=imvns&amp;amp;ei=OznhTteFMMPBtAafluHbCA&amp;amp;start=10&amp;amp;sa=N&amp;amp;filter=0&amp;amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;amp;fp=dd5ec346a4e8ced&amp;amp;biw=1280&amp;amp;bih=598" rel="nofollow"&gt;http://www.google.com.ua/searc...&lt;/a&gt;&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ss</dc:creator><pubDate>Thu, 08 Dec 2011 17:26:21 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-382122676</link><description>&lt;p&gt;I sent you an e-mail with the code. Thanks :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jakob</dc:creator><pubDate>Thu, 08 Dec 2011 11:22:09 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-382103694</link><description>&lt;p&gt;Thanks!  And email me the code (email address above) and I'll take a look.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nick Craig-Wood</dc:creator><pubDate>Thu, 08 Dec 2011 10:55:28 -0000</pubDate></item><item><title>Re: Pi - Chudnovsky</title><link>http://www.craig-wood.com/nick/articles/pi-chudnovsky#comment-382055943</link><description>&lt;p&gt;Great series of articles! I am studying mathematics and taking some computer science courses so this is great fun for me. I have implemented the Machin method in Java, but my implementation of the Chudnovsky algorithm just won't work. No matter my level of precision (size of one), I get results like: 314159265358998213617, which is wrong. Do you have any idea what could cause it to behave this way? I can upload my code if you have any experience with Java.&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jakob</dc:creator><pubDate>Thu, 08 Dec 2011 09:54:30 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-380567343</link><description>&lt;p&gt;Top tip thanks!  Must learn how to use gdb for assembly level code properly...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nick Craig-Wood</dc:creator><pubDate>Tue, 06 Dec 2011 15:51:00 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-380536331</link><description>&lt;p&gt;You can use "layout asm" in GDB and it can show the disassembly for you, and you can trace it with stepi/nexti,breakpoints etc.  However, I did it in Windows using OllyDbg: you just paste the bytes somewhere in the loaded code section of some arbitrary .exe, set the origin on the first instruction and then you can happily trace through it until it finally hits the INT 80 instruction and dies.  To get the bytes into OllyDbg you can copy them from a binary file (View-&amp;gt;File).  If you're careful about where you place the bytes you can even patch them back into whichever .exe you used with a few clicks so it's there when you restart.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Malcolm</dc:creator><pubDate>Tue, 06 Dec 2011 15:12:55 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-380099800</link><description>&lt;p&gt;Learning Python 的中国人，领教了。&lt;br&gt;Email me：17zouguo@gmail.com&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">玉帅 董</dc:creator><pubDate>Tue, 06 Dec 2011 00:03:55 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-380089240</link><description>&lt;p&gt;So great !&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">玉帅 董</dc:creator><pubDate>Mon, 05 Dec 2011 23:54:49 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-380030035</link><description>&lt;p&gt;That may not be the answer...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guest</dc:creator><pubDate>Mon, 05 Dec 2011 22:03:55 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-379863835</link><description>&lt;p&gt;Dzięki!&lt;br&gt;Thanks a lot for your post. Now I can do it too :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Uzdrowiska</dc:creator><pubDate>Mon, 05 Dec 2011 17:27:57 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-379486858</link><description>&lt;p&gt;Interesting - thanks for that - I hadn't worked out it was RC4.  Too busy looking at the trees to see the forest!&lt;/p&gt;

&lt;p&gt;I think there are probably lots of alternative solutions to all the stages, but as soon as I got one which worked, however inelegant, I moved on!CheersNick&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nick Craig-Wood</dc:creator><pubDate>Mon, 05 Dec 2011 09:06:21 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-379485557</link><description>&lt;p&gt;I think stage 1 was the most challenging  because firstly I wasn't expecting it to be executable code, I was expecting something I had to decipher. and secondly because the code wouldn't actually run as is once I had worked it out it was code.  I take your point about the reverse engineering skills necessary though, the challenge did remind me very much of times gone by when I used to do quite a lot of this sort of thing!  I'm much better at ARM/68000 assembler so I found the x86 assembler decoding a bit painful, especially wading through lots of C compiler generated stack frame manipulation.  I concentrated on trying to get the various bits of code to run - in hindsight it probably would have been better to concentrate on reverse engineering them and run a reverse engineered version of them.&lt;/p&gt;

&lt;p&gt;I wonder who set it too - it was a very good puzzle!&lt;/p&gt;

&lt;p&gt;Thanks for reading&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nick Craig-Wood</dc:creator><pubDate>Mon, 05 Dec 2011 09:03:24 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-379406949</link><description>&lt;p&gt; Excellent read! As someone whom is quite new to assembly and hex editing(been reverse engineering programs only for a few months) its a great description of the whole process, I learned a lot from this! So far all I had was that it was executable x86.&lt;/p&gt;

&lt;p&gt;Thanks for this great article!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">casper</dc:creator><pubDate>Mon, 05 Dec 2011 05:18:49 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-379250797</link><description>&lt;p&gt;nice read, thanks for sharing&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Phil hassey</dc:creator><pubDate>Sun, 04 Dec 2011 21:25:50 -0000</pubDate></item><item><title>Re: How I Solved the GCHQ challenge</title><link>http://www.craig-wood.com/nick/articles/how-i-solved-the-gchq-challenge#comment-379212408</link><description>&lt;p&gt;fyi - stage 1 is an implementation of RC4 with a 256-byte key being 0xdeadbeef repeated in little-endian format.&lt;br&gt;Looks to me like stages 2 &amp;amp; 3 may admit alternative solutions&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eleemosynator</dc:creator><pubDate>Sun, 04 Dec 2011 19:30:43 -0000</pubDate></item></channel></rss>
