214 An online book about the Art of Assembly Language is |
214 An online book about the Art of Assembly Language is |
215 <A HREF="http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/">here</A>. |
215 <A HREF="http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/">here</A>. |
216 An introduction into x86 machine code is <A HREF="http://ianseyler.github.com/easy_x86-64/">here</A>. |
216 An introduction into x86 machine code is <A HREF="http://ianseyler.github.com/easy_x86-64/">here</A>. |
217 Intel's official manual for the x86 instruction is |
217 Intel's official manual for the x86 instruction is |
218 <A HREF="http://download.intel.com/design/intarch/manuals/24319101.pdf">here</A>. |
218 <A HREF="http://download.intel.com/design/intarch/manuals/24319101.pdf">here</A>. |
219 A simple assembler for the JVM is described <A HREF="http://jasmin.sourceforge.net">here</A>. |
219 Two assemblers for the JVM are described <A HREF="http://jasmin.sourceforge.net">here</A> |
|
220 <A HREF="https://github.com/Storyyeller/Krakatau">here</A>. |
220 An interesting twist of this project is to not generate code for a CPU, but |
221 An interesting twist of this project is to not generate code for a CPU, but |
221 for the intermediate language of the <A HREF="http://llvm.org">LLVM</A> compiler |
222 for the intermediate language of the <A HREF="http://llvm.org">LLVM</A> compiler |
222 (also described <A HREF="http://llvm.org/docs/LangRef.html">here</A>). If you want to see |
223 (also described <A HREF="http://llvm.org/docs/LangRef.html">here</A>). If you want to see |
223 what machine code looks like you can compile your C-program using gcc -S. |
224 what machine code looks like you can compile your C-program using gcc -S. |
224 </p> |
225 </p> |
225 <p> |
226 <p> |
226 If JavaScript is chosen as a target instead, then there are plenty of <A HREF="http://www.w3schools.com/js/">tutorials</A> on the Web. |
227 If JavaScript is chosen as a target instead, then there are plenty of <A HREF="http://www.w3schools.com/js/">tutorials</A> on the Web. |
227 <A HREF="http://jsbooks.revolunet.com">Here</A> is a list of free books on JavaScript. |
228 <A HREF="http://jsbooks.revolunet.com">Here</A> is a list of free books on JavaScript. |
228 A project from which you can draw inspiration is this |
229 A project from which you can draw inspiration is this |
229 <A HREF="http://jlongster.com/2012/01/04/outlet-my-lisp-to-javascript-experiment.html">List-to-JavaScript</A> |
230 <A HREF="http://jlongster.com/Outlet--My-Lisp-to-Javascript-Experiment">Lisp-to-JavaScript</A> |
230 translator. <A HREF="https://bitbucket.org/ktg/parenjs/overview">Here</A> is another such project. |
231 translator. <A HREF="https://bitbucket.org/ktg/parenjs/overview">Here</A> is another such project. |
231 And <A HREF="https://github.com/viclib/liscript">another</A> in less than 100 lines of code. |
232 And <A HREF="https://github.com/viclib/liscript">another</A> in less than 100 lines of code. |
232 <A HREF="http://en.wikipedia.org/wiki/CoffeeScript">Coffeescript</A> is a similar project |
233 <A HREF="http://en.wikipedia.org/wiki/CoffeeScript">Coffeescript</A> is a similar project |
233 except that it is already quite <A HREF="http://coffeescript.org">mature</A>. And finally not to |
234 except that it is already quite <A HREF="http://coffeescript.org">mature</A>. And finally not to |
234 forget <A HREF="http://www.typescriptlang.org">TypeScript</A> developed by Microsoft. The main |
235 forget <A HREF="http://www.typescriptlang.org">TypeScript</A> developed by Microsoft. The main |
275 </p> |
276 </p> |
276 |
277 |
277 <p> |
278 <p> |
278 It seems HTML and JavaScript are much better suited for generating |
279 It seems HTML and JavaScript are much better suited for generating |
279 such animated slides. This <A HREF="http://www.impressivewebs.com/html-slidedeck-toolkits/">page</A> |
280 such animated slides. This <A HREF="http://www.impressivewebs.com/html-slidedeck-toolkits/">page</A> |
280 links to 22 slide-generating programs using this combination of technologies. |
281 links to slide-generating programs using this combination of technologies. |
281 However, the problem with all of these project is that they depend heavily on the users being |
282 However, the problem with all of these project is that they depend heavily on the users being |
282 able to write JavaScript, CCS or HTML...not something one would like to depend on given that |
283 able to write JavaScript, CCS or HTML...not something one would like to depend on given that |
283 “normal” users likely only have a LaTeX background. The aim of this project is to invent a |
284 “normal” users likely only have a LaTeX background. The aim of this project is to invent a |
284 very simple language that is inspired by LaTeX and then generate from code written in this language |
285 very simple language that is inspired by LaTeX and then generate from code written in this language |
285 slides that can be displayed in a web-browser. |
286 slides that can be displayed in a web-browser. |
401 <B>Description:</B> |
402 <B>Description:</B> |
402 This project is for true hackers! <A HREF="http://en.wikipedia.org/wiki/Raspberry_Pi">Raspberry Pi's</A> |
403 This project is for true hackers! <A HREF="http://en.wikipedia.org/wiki/Raspberry_Pi">Raspberry Pi's</A> |
403 are small Linux computers the size of a credit-card and only cost £26 (see picture on the left below). They were introduced |
404 are small Linux computers the size of a credit-card and only cost £26 (see picture on the left below). They were introduced |
404 in 2012 and people went crazy...well some of them. There is a |
405 in 2012 and people went crazy...well some of them. There is a |
405 <A HREF="https://plus.google.com/communities/113390432655174294208?hl=en">Google+</A> community about Raspberry Pi's that has more |
406 <A HREF="https://plus.google.com/communities/113390432655174294208?hl=en">Google+</A> community about Raspberry Pi's that has more |
406 than 177k of followers. It is hard to keep up with what people do with these small computers. The possibilities |
407 than 197k of followers. It is hard to keep up with what people do with these small computers. The possibilities |
407 seem to be limitless. The main resource for Raspberry Pi's is <A HREF="http://www.raspberrypi.org">here</A>. |
408 seem to be limitless. The main resource for Raspberry Pi's is <A HREF="http://www.raspberrypi.org">here</A>. |
408 There are <A HREF="https://www.raspberrypi.org/magpi/">magazines</A> dedicated to them and tons of |
409 There are <A HREF="https://www.raspberrypi.org/magpi/">magazines</A> dedicated to them and tons of |
409 <A HREF="http://www.raspberrypi.org/phpBB3/viewforum.php?f=39">books</A> (not to mention |
410 <A HREF="http://www.raspberrypi.org/phpBB3/viewforum.php?f=39">books</A> (not to mention |
410 floods of <A HREF="https://www.google.co.uk/search?q=raspberry+pi">online</A> material, |
411 floods of <A HREF="https://www.google.co.uk/search?q=raspberry+pi">online</A> material, |
411 such as the <A HREF="https://www.raspberrypi.org/magpi-issues/Projects_Book_v1.pdf">RPi projects book</A>). |
412 such as the <A HREF="https://www.raspberrypi.org/magpi-issues/Projects_Book_v1.pdf">RPi projects book</A>). |
577 If you have your own project that is related to security (must be |
578 If you have your own project that is related to security (must be |
578 something interesting), please propose it. We can then have a look |
579 something interesting), please propose it. We can then have a look |
579 whether it would be suitable for a project. |
580 whether it would be suitable for a project. |
580 </p> |
581 </p> |
581 |
582 |
582 <li> <H4>[CU10] A Graphics Framework for JavaScript</H4> |
583 <li> <H4>[CU10] Anything Interesting in the Areas</H4> |
583 |
|
584 <li> <H4>[CU11] Anything Interesting in the Areas</H4> |
|
585 |
584 |
586 <p> |
585 <p> |
587 <ul> |
586 <ul> |
588 <li><A HREF="http://elm-lang.org">Elm</A> (a reactive functional language for animating webpages; have a look at the cool examples, or <A HREF="http://pragmaticstudio.com/blog/2014/12/19/getting-started-with-elm">here</A> for an introduction) |
587 <li><A HREF="http://elm-lang.org">Elm</A> (a reactive functional language for animating webpages; have a look at the cool examples, or <A HREF="http://pragmaticstudio.com/blog/2014/12/19/getting-started-with-elm">here</A> for an introduction) |
589 <li><A HREF="http://www.smlserver.org/smltojs/">SMLtoJS</A> (a ML compiler to JavaScript; or anything else related to |
588 <li><A HREF="http://www.smlserver.org/smltojs/">SMLtoJS</A> (a ML compiler to JavaScript; or anything else related to |
590 sane languages that compile to JavaScript) |
589 sane languages that compile to JavaScript) |
591 <li>Any statistical data related to Bitcoins (in the spirit of this |
590 <li>Any statistical data related to Bitcoins (in the spirit of this |
592 <A HREF="http://people.csail.mit.edu/spillai/data/papers/ bitcoin-transaction-graph-analysis.pdf">paper</A> or |
591 <A HREF="http://people.csail.mit.edu/spillai/data/papers/bitcoin-transaction-graph-analysis.pdf">paper</A> or |
593 this <A HREF="https://eprint.iacr.org/2012/584.pdf">one</A>; this will probably require some extensive C knowledge or any |
592 this <A HREF="https://eprint.iacr.org/2012/584.pdf">one</A>; this will probably require some extensive C knowledge or any |
594 other heavy-duty programming language) |
593 other heavy-duty programming language) |
595 <li>Anything related to programming languages and formal methods (like |
594 <li>Anything related to programming languages and formal methods (like |
596 <A HREF="http://matt.might.net/articles/intro-static-analysis/">static program analysis</A>) |
595 <A HREF="http://matt.might.net/articles/intro-static-analysis/">static program analysis</A>) |
597 <li>Anything related to low-cost, hands-on hardware like Raspberry Pi, Arduino, |
596 <li>Anything related to low-cost, hands-on hardware like Raspberry Pi, Arduino, |
598 <A HREF="http://en.wikipedia.org/wiki/Cubieboard">Cubieboard</A> |
597 <A HREF="http://en.wikipedia.org/wiki/Cubieboard">Cubieboard</A> |
599 <li>Anything related to microkernel operating systems, like |
598 <li>Anything related to unkernel operating systems, like |
600 <A HREF="http://www.xenproject.org">Xen</A> or |
599 <A HREF="http://www.xenproject.org">Xen</A> or |
601 <A HREF="http://www.openmirage.org">Mirage OS</A> |
600 <A HREF="http://www.openmirage.org">Mirage OS</A> |
602 <li>Any kind of applied hacking, for example the Arduino-based keylogger described |
601 <li>Any kind of applied hacking, for example the Arduino-based keylogger described |
603 <A HREF="http://samy.pl/keysweeper/">here</A> |
602 <A HREF="http://samy.pl/keysweeper/">here</A> |
604 </ul> |
603 </ul> |