diff --git a/www/index.php b/www/index.php
index 2b8be96..995bc91 100644
--- a/www/index.php
+++ b/www/index.php
@@ -73,7 +73,14 @@ $URL_RULES =
try {
InitPHP();
- $path = strtolower(parse_url($_SERVER['REQUEST_URI'])['path']);
+ if (isProd())
+ $requri = $_SERVER['REQUEST_URI'];
+ else
+ $requri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : 'localhost:80/';
+
+ $parse = parse_url($requri);
+
+ $path = strtolower(isset($parse['path']) ? $parse['path'] : '');
$pathparts = preg_split('@/@', $path, NULL, PREG_SPLIT_NO_EMPTY);
$partcount = count($pathparts);
diff --git a/www/internals/blog.php b/www/internals/blog.php
index 8ba186f..42740af 100644
--- a/www/internals/blog.php
+++ b/www/internals/blog.php
@@ -4,30 +4,7 @@ class Blog
{
public static function listAll()
{
- $all =
- [
- [ 'id' => 5, 'date' => '2009-04-08', 'visible' => true, 'title' => 'Beginning the log', 'fragment' => 'initial.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 6, 'date' => '2009-05-01', 'visible' => false, 'title' => 'Mess with the best ...', 'fragment' => 'hack.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 4, 'date' => '2009-06-22', 'visible' => true, 'title' => 'New Layout!', 'fragment' => 'newlayout.txt', 'type' => 'plain', 'cat' => 'log' ],
- [ 'id' => 10, 'date' => '2009-06-28', 'visible' => true, 'title' => '"FUN" update', 'fragment' => 'funupdate.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 11, 'date' => '2009-07-05', 'visible' => true, 'title' => 'New Download: LAN Control 2.0', 'fragment' => 'lancontrol.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 12, 'date' => '2009-09-07', 'visible' => false, 'title' => 'Airline BSOD', 'fragment' => 'bsod.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 13, 'date' => '2009-11-22', 'visible' => true, 'title' => 'Spammers gonna spam', 'fragment' => 'spammers.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 15, 'date' => '2012-04-14', 'visible' => true, 'title' => 'New Download: Infinity Tournament', 'fragment' => 'inftournament.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 16, 'date' => '2012-05-27', 'visible' => true, 'title' => 'New Download: Borderline Defense', 'fragment' => 'borderlinedef.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 17, 'date' => '2012-05-28', 'visible' => true, 'title' => 'Big clean up', 'fragment' => 'cleanup.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 18, 'date' => '2013-01-03', 'visible' => true, 'title' => 'New Download: Crystal Grid', 'fragment' => 'crystalgrid.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 2, 'date' => '2014-05-14', 'visible' => true, 'title' => 'Let\'s do Befunge-93', 'fragment' => 'befunge93.md', 'type' => 'markdown', 'cat' => 'blog' ],
- [ 'id' => 14, 'date' => '2014-06-30', 'visible' => true, 'title' => 'Language changes', 'fragment' => 'language.txt', 'type' => 'plain', 'cat' => 'log' ],
- [ 'id' => 1, 'date' => '2014-07-10', 'visible' => true, 'title' => 'Project Euler with Befunge', 'fragment' => '', 'type' => 'euler', 'cat' => 'blog' ],
- [ 'id' => 3, 'date' => '2014-07-15', 'visible' => true, 'title' => '.Net format specifier Cheat Sheet', 'fragment' => 'net_format_spec.md', 'type' => 'markdown', 'cat' => 'blog' ],
- [ 'id' => 19, 'date' => '2014-08-04', 'visible' => true, 'title' => 'I am Number Four', 'fragment' => 'v4.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 7, 'date' => '2014-09-28', 'visible' => true, 'title' => 'My BFJoust arena and battle-bot', 'fragment' => 'bfjoust.md', 'type' => 'markdown', 'cat' => 'blog' ],
- [ 'id' => 8, 'date' => '2014-11-05', 'visible' => true, 'title' => 'Rapla Enhancement Script', 'fragment' => 'rapla_css.md', 'type' => 'markdown', 'cat' => 'blog' ],
- [ 'id' => 20, 'date' => '2015-01-09', 'visible' => true, 'title' => 'More Befunge with Project Euler', 'fragment' => 'more_euler.md', 'type' => 'markdown', 'cat' => 'log' ],
- [ 'id' => 9, 'date' => '2016-10-22', 'visible' => true, 'title' => 'A complete sudoku solver in Befunge-93', 'fragment' => 'sudoku_befunge.md', 'type' => 'markdown', 'cat' => 'blog' ],
- [ 'id' => 21, 'date' => '2018-01-02', 'visible' => true, 'title' => 'A simple javascript befunge-93 runner', 'fragment' => 'js_befrunner.md', 'type' => 'markdown', 'cat' => 'blog' ],
- ];
+ $all = require (__DIR__ . '/../statics/blog/__all.php');
return array_map('self::completeSingle', $all);
}
diff --git a/www/internals/euler.php b/www/internals/euler.php
index 1d55bd8..38379f1 100644
--- a/www/internals/euler.php
+++ b/www/internals/euler.php
@@ -2,10 +2,8 @@
class Euler
{
- public static function readSingle($f)
+ public static function readSingle($a)
{
- $a = require $f;
-
$n3p = str_pad($a['number'], 3, '0', STR_PAD_LEFT);
$a['number3'] = $n3p;
@@ -29,10 +27,9 @@ class Euler
public static function listAll()
{
- $expr = __DIR__ . '/../statics/euler/Euler_Problem-*.php';
- $files = glob($expr);
-
- return array_map('self::readSingle', $files);
+ $all = require (__DIR__ . '/../statics/euler/__all.php');
+
+ return array_map('self::readSingle', $all);
}
public static function getEulerProblemFromStrIdent($ident)
diff --git a/www/internals/programs.php b/www/internals/programs.php
index 9a7d3c8..ad6d12a 100644
--- a/www/internals/programs.php
+++ b/www/internals/programs.php
@@ -2,10 +2,8 @@
class Programs
{
- public static function readSingle($f)
+ public static function readSingle($a)
{
- $a = require $f;
-
$a['thumbnail_url'] = '/data/images/program_thumbnails/' . $a['thumbnail_name'];
$a['url'] = '/programs/view/' . $a['name'];
@@ -14,9 +12,9 @@ class Programs
public static function listAll()
{
- $files = glob(__DIR__ . '/../statics/programs/*.php');
-
- return array_map('self::readSingle', $files);
+ $all = require (__DIR__ . '/../statics/programs/__all.php');
+
+ return array_map('self::readSingle', $all);
}
public static function listAllNewestFirst()
diff --git a/www/pages/blog_list.php b/www/pages/blog_list.php
index 4ceada8..93e34f4 100644
--- a/www/pages/blog_list.php
+++ b/www/pages/blog_list.php
@@ -12,7 +12,7 @@ $allposts = Blog::listAllOrderedDescending();
@@ -32,11 +32,11 @@ $allposts = Blog::listAllOrderedDescending();
{
if (!$post['visible']) continue;
- if ($post['cat']=='blog') echo "
";
- else if ($post['cat']=='log') echo "";
- echo "" . $post['date'] . "
";
- echo "" . $post['title'] . "
";
- echo "";
+ if ($post['cat']=='blog') echo "
\n";
+ else if ($post['cat']=='log') echo "\n";
+ echo "" . $post['date'] . "
\n";
+ echo "" . $post['title'] . "
\n";
+ echo "\n";
}
?>
diff --git a/www/statics/blog/__all.php b/www/statics/blog/__all.php
new file mode 100644
index 0000000..9087750
--- /dev/null
+++ b/www/statics/blog/__all.php
@@ -0,0 +1,26 @@
+ 5, 'date' => '2009-04-08', 'visible' => true, 'title' => 'Beginning the log', 'fragment' => 'initial.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 6, 'date' => '2009-05-01', 'visible' => false, 'title' => 'Mess with the best ...', 'fragment' => 'hack.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 4, 'date' => '2009-06-22', 'visible' => true, 'title' => 'New Layout!', 'fragment' => 'newlayout.txt', 'type' => 'plain', 'cat' => 'log' ],
+ [ 'id' => 10, 'date' => '2009-06-28', 'visible' => true, 'title' => '"FUN" update', 'fragment' => 'funupdate.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 11, 'date' => '2009-07-05', 'visible' => true, 'title' => 'New Download: LAN Control 2.0', 'fragment' => 'lancontrol.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 12, 'date' => '2009-09-07', 'visible' => false, 'title' => 'Airline BSOD', 'fragment' => 'bsod.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 13, 'date' => '2009-11-22', 'visible' => true, 'title' => 'Spammers gonna spam', 'fragment' => 'spammers.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 15, 'date' => '2012-04-14', 'visible' => true, 'title' => 'New Download: Infinity Tournament', 'fragment' => 'inftournament.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 16, 'date' => '2012-05-27', 'visible' => true, 'title' => 'New Download: Borderline Defense', 'fragment' => 'borderlinedef.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 17, 'date' => '2012-05-28', 'visible' => true, 'title' => 'Big clean up', 'fragment' => 'cleanup.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 18, 'date' => '2013-01-03', 'visible' => true, 'title' => 'New Download: Crystal Grid', 'fragment' => 'crystalgrid.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 2, 'date' => '2014-05-14', 'visible' => true, 'title' => 'Let\'s do Befunge-93', 'fragment' => 'befunge93.md', 'type' => 'markdown', 'cat' => 'blog' ],
+ [ 'id' => 14, 'date' => '2014-06-30', 'visible' => true, 'title' => 'Language changes', 'fragment' => 'language.txt', 'type' => 'plain', 'cat' => 'log' ],
+ [ 'id' => 1, 'date' => '2014-07-10', 'visible' => true, 'title' => 'Project Euler with Befunge', 'fragment' => '', 'type' => 'euler', 'cat' => 'blog' ],
+ [ 'id' => 3, 'date' => '2014-07-15', 'visible' => true, 'title' => '.Net format specifier Cheat Sheet', 'fragment' => 'net_format_spec.md', 'type' => 'markdown', 'cat' => 'blog' ],
+ [ 'id' => 19, 'date' => '2014-08-04', 'visible' => true, 'title' => 'I am Number Four', 'fragment' => 'v4.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 7, 'date' => '2014-09-28', 'visible' => true, 'title' => 'My BFJoust arena and battle-bot', 'fragment' => 'bfjoust.md', 'type' => 'markdown', 'cat' => 'blog' ],
+ [ 'id' => 8, 'date' => '2014-11-05', 'visible' => true, 'title' => 'Rapla Enhancement Script', 'fragment' => 'rapla_css.md', 'type' => 'markdown', 'cat' => 'blog' ],
+ [ 'id' => 20, 'date' => '2015-01-09', 'visible' => true, 'title' => 'More Befunge with Project Euler', 'fragment' => 'more_euler.md', 'type' => 'markdown', 'cat' => 'log' ],
+ [ 'id' => 9, 'date' => '2016-10-22', 'visible' => true, 'title' => 'A complete sudoku solver in Befunge-93', 'fragment' => 'sudoku_befunge.md', 'type' => 'markdown', 'cat' => 'blog' ],
+ [ 'id' => 21, 'date' => '2018-01-02', 'visible' => true, 'title' => 'A simple javascript befunge-93 runner', 'fragment' => 'js_befrunner.md', 'type' => 'markdown', 'cat' => 'blog' ],
+];
\ No newline at end of file
diff --git a/www/statics/euler/Euler_Problem-001.php b/www/statics/euler/Euler_Problem-001.php
deleted file mode 100644
index 31b58a7..0000000
--- a/www/statics/euler/Euler_Problem-001.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 1,
- 'date' => '2014-09-11',
- 'title' => 'Multiples of 3 and 5',
- 'abbreviated' => false,
- 'steps' => 47624,
- 'time' => 62,
- 'width' => 30,
- 'height' => 5,
- 'value' => 233168,
-];
diff --git a/www/statics/euler/Euler_Problem-002.php b/www/statics/euler/Euler_Problem-002.php
deleted file mode 100644
index 92b11f0..0000000
--- a/www/statics/euler/Euler_Problem-002.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 2,
- 'date' => '2014-09-11',
- 'title' => 'Even Fibonacci numbers',
- 'abbreviated' => false,
- 'steps' => 1669,
- 'time' => 62,
- 'width' => 26,
- 'height' => 5,
- 'value' => 4613732,
-];
diff --git a/www/statics/euler/Euler_Problem-003.php b/www/statics/euler/Euler_Problem-003.php
deleted file mode 100644
index 01e9ebc..0000000
--- a/www/statics/euler/Euler_Problem-003.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 3,
- 'date' => '2014-09-11',
- 'title' => 'Largest prime factor',
- 'abbreviated' => false,
- 'steps' => 31579516,
- 'time' => 9547,
- 'width' => 55,
- 'height' => 4,
- 'value' => 6857,
-];
diff --git a/www/statics/euler/Euler_Problem-004.php b/www/statics/euler/Euler_Problem-004.php
deleted file mode 100644
index 53523ab..0000000
--- a/www/statics/euler/Euler_Problem-004.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 4,
- 'date' => '2014-09-11',
- 'title' => 'Largest palindrome product',
- 'abbreviated' => false,
- 'steps' => 230611114,
- 'time' => 77813,
- 'width' => 71,
- 'height' => 6,
- 'value' => 906609,
-];
diff --git a/www/statics/euler/Euler_Problem-005.php b/www/statics/euler/Euler_Problem-005.php
deleted file mode 100644
index 7103762..0000000
--- a/www/statics/euler/Euler_Problem-005.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 5,
- 'date' => '2014-09-11',
- 'title' => 'Smallest multiple',
- 'abbreviated' => false,
- 'steps' => 50166,
- 'time' => 47,
- 'width' => 73,
- 'height' => 6,
- 'value' => 232792560,
-];
diff --git a/www/statics/euler/Euler_Problem-006.php b/www/statics/euler/Euler_Problem-006.php
deleted file mode 100644
index d02b251..0000000
--- a/www/statics/euler/Euler_Problem-006.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 6,
- 'date' => '2014-09-11',
- 'title' => 'Sum square difference',
- 'abbreviated' => false,
- 'steps' => 18897151,
- 'time' => 7347,
- 'width' => 72,
- 'height' => 16,
- 'value' => 25164150,
-];
diff --git a/www/statics/euler/Euler_Problem-007.php b/www/statics/euler/Euler_Problem-007.php
deleted file mode 100644
index 50b7e28..0000000
--- a/www/statics/euler/Euler_Problem-007.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 7,
- 'date' => '2014-09-11',
- 'title' => '10001st prime',
- 'abbreviated' => true,
- 'steps' => 21915385,
- 'time' => 7628,
- 'width' => 1000,
- 'height' => 156,
- 'value' => 104743,
-];
diff --git a/www/statics/euler/Euler_Problem-008.php b/www/statics/euler/Euler_Problem-008.php
deleted file mode 100644
index d7a0a7d..0000000
--- a/www/statics/euler/Euler_Problem-008.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 8,
- 'date' => '2014-09-11',
- 'title' => 'Largest product in a series',
- 'abbreviated' => false,
- 'steps' => 614295,
- 'time' => 234,
- 'width' => 116,
- 'height' => 29,
- 'value' => 23514624000,
-];
diff --git a/www/statics/euler/Euler_Problem-009.php b/www/statics/euler/Euler_Problem-009.php
deleted file mode 100644
index b69af4a..0000000
--- a/www/statics/euler/Euler_Problem-009.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 9,
- 'date' => '2014-09-11',
- 'title' => 'Special Pythagorean triplet',
- 'abbreviated' => false,
- 'steps' => 1397212134,
- 'time' => 394277,
- 'width' => 79,
- 'height' => 7,
- 'value' => 31875000,
-];
diff --git a/www/statics/euler/Euler_Problem-010.php b/www/statics/euler/Euler_Problem-010.php
deleted file mode 100644
index 3a9e301..0000000
--- a/www/statics/euler/Euler_Problem-010.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 10,
- 'date' => '2014-09-11',
- 'title' => 'Summation of primes',
- 'abbreviated' => true,
- 'steps' => 416776174,
- 'time' => 67127,
- 'width' => 2000,
- 'height' => 1007,
- 'value' => 142913828922,
-];
diff --git a/www/statics/euler/Euler_Problem-011.php b/www/statics/euler/Euler_Problem-011.php
deleted file mode 100644
index 3bfb5c7..0000000
--- a/www/statics/euler/Euler_Problem-011.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 11,
- 'date' => '2014-09-11',
- 'title' => 'Largest product in a grid',
- 'abbreviated' => false,
- 'steps' => 323945,
- 'time' => 78,
- 'width' => 151,
- 'height' => 31,
- 'value' => 70600674,
-];
diff --git a/www/statics/euler/Euler_Problem-012.php b/www/statics/euler/Euler_Problem-012.php
deleted file mode 100644
index 7ae090e..0000000
--- a/www/statics/euler/Euler_Problem-012.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 12,
- 'date' => '2014-09-11',
- 'title' => 'Highly divisible triangular number',
- 'abbreviated' => true,
- 'steps' => 38855123,
- 'time' => 7566,
- 'width' => 1000,
- 'height' => 170,
- 'value' => 76576500,
-];
diff --git a/www/statics/euler/Euler_Problem-013.php b/www/statics/euler/Euler_Problem-013.php
deleted file mode 100644
index 29c3cbc..0000000
--- a/www/statics/euler/Euler_Problem-013.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 13,
- 'date' => '2014-09-11',
- 'title' => 'Large sum',
- 'abbreviated' => true,
- 'steps' => 244792,
- 'time' => 78,
- 'width' => 59,
- 'height' => 113,
- 'value' => 5537376230,
-];
diff --git a/www/statics/euler/Euler_Problem-014.php b/www/statics/euler/Euler_Problem-014.php
deleted file mode 100644
index c0c7ab4..0000000
--- a/www/statics/euler/Euler_Problem-014.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 14,
- 'date' => '2014-09-11',
- 'title' => 'Longest Collatz sequence',
- 'abbreviated' => false,
- 'steps' => 3877209672,
- 'time' => 717713,
- 'width' => 51,
- 'height' => 5,
- 'value' => 837799,
-];
diff --git a/www/statics/euler/Euler_Problem-015.php b/www/statics/euler/Euler_Problem-015.php
deleted file mode 100644
index b7fb1bf..0000000
--- a/www/statics/euler/Euler_Problem-015.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 15,
- 'date' => '2014-09-11',
- 'title' => 'Lattice paths',
- 'abbreviated' => false,
- 'steps' => 61202,
- 'time' => 47,
- 'width' => 78,
- 'height' => 27,
- 'value' => 137846528820,
-];
diff --git a/www/statics/euler/Euler_Problem-016.php b/www/statics/euler/Euler_Problem-016.php
deleted file mode 100644
index cb049ef..0000000
--- a/www/statics/euler/Euler_Problem-016.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 16,
- 'date' => '2014-09-11',
- 'title' => 'Power digit sum',
- 'abbreviated' => false,
- 'steps' => 27332672,
- 'time' => 4228,
- 'width' => 60,
- 'height' => 14,
- 'value' => 1366,
-];
diff --git a/www/statics/euler/Euler_Problem-017.php b/www/statics/euler/Euler_Problem-017.php
deleted file mode 100644
index 025d214..0000000
--- a/www/statics/euler/Euler_Problem-017.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 17,
- 'date' => '2014-09-12',
- 'title' => 'Number letter counts',
- 'abbreviated' => false,
- 'steps' => 179076,
- 'time' => 47,
- 'width' => 48,
- 'height' => 15,
- 'value' => 21124,
-];
diff --git a/www/statics/euler/Euler_Problem-018.php b/www/statics/euler/Euler_Problem-018.php
deleted file mode 100644
index 4b2d164..0000000
--- a/www/statics/euler/Euler_Problem-018.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 18,
- 'date' => '2014-09-13',
- 'title' => 'Maximum path sum I',
- 'abbreviated' => false,
- 'steps' => 15048,
- 'time' => 16,
- 'width' => 120,
- 'height' => 16,
- 'value' => 1074,
-];
diff --git a/www/statics/euler/Euler_Problem-019.php b/www/statics/euler/Euler_Problem-019.php
deleted file mode 100644
index f4401fe..0000000
--- a/www/statics/euler/Euler_Problem-019.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 19,
- 'date' => '2014-09-14',
- 'title' => 'Counting Sundays',
- 'abbreviated' => false,
- 'steps' => 3197878,
- 'time' => 546,
- 'width' => 72,
- 'height' => 12,
- 'value' => 171,
-];
diff --git a/www/statics/euler/Euler_Problem-020.php b/www/statics/euler/Euler_Problem-020.php
deleted file mode 100644
index 7cec775..0000000
--- a/www/statics/euler/Euler_Problem-020.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 20,
- 'date' => '2014-09-14',
- 'title' => 'Factorial digit sum',
- 'abbreviated' => false,
- 'steps' => 1546679,
- 'time' => 265,
- 'width' => 101,
- 'height' => 6,
- 'value' => 648,
-];
diff --git a/www/statics/euler/Euler_Problem-021.php b/www/statics/euler/Euler_Problem-021.php
deleted file mode 100644
index def3640..0000000
--- a/www/statics/euler/Euler_Problem-021.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 21,
- 'date' => '2014-09-15',
- 'title' => 'Amicable numbers',
- 'abbreviated' => true,
- 'steps' => 601124986,
- 'time' => 102399,
- 'width' => 400,
- 'height' => 33,
- 'value' => 31626,
-];
diff --git a/www/statics/euler/Euler_Problem-022.php b/www/statics/euler/Euler_Problem-022.php
deleted file mode 100644
index 7ed3e60..0000000
--- a/www/statics/euler/Euler_Problem-022.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 22,
- 'date' => '2014-09-16',
- 'title' => 'Names scores',
- 'abbreviated' => true,
- 'steps' => 4703607994,
- 'time' => 961793,
- 'width' => 109,
- 'height' => 5164,
- 'value' => 871198282,
-];
diff --git a/www/statics/euler/Euler_Problem-023.php b/www/statics/euler/Euler_Problem-023.php
deleted file mode 100644
index 3020b8c..0000000
--- a/www/statics/euler/Euler_Problem-023.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 23,
- 'date' => '2014-09-16',
- 'title' => 'Non-abundant sums',
- 'abbreviated' => true,
- 'steps' => 10667174483,
- 'time' => 1967688,
- 'width' => 400,
- 'height' => 88,
- 'value' => 4179871,
-];
diff --git a/www/statics/euler/Euler_Problem-024.php b/www/statics/euler/Euler_Problem-024.php
deleted file mode 100644
index f1bcf58..0000000
--- a/www/statics/euler/Euler_Problem-024.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 24,
- 'date' => '2014-09-16',
- 'title' => 'Lexicographic permutations',
- 'abbreviated' => false,
- 'steps' => 3499,
- 'time' => 31,
- 'width' => 61,
- 'height' => 8,
- 'value' => 2783915460,
-];
diff --git a/www/statics/euler/Euler_Problem-025.php b/www/statics/euler/Euler_Problem-025.php
deleted file mode 100644
index ef19006..0000000
--- a/www/statics/euler/Euler_Problem-025.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 25,
- 'date' => '2014-09-17',
- 'title' => '1000-digit Fibonacci number',
- 'abbreviated' => false,
- 'steps' => 745055403,
- 'time' => 116938,
- 'width' => 123,
- 'height' => 28,
- 'value' => 4782,
-];
diff --git a/www/statics/euler/Euler_Problem-026.php b/www/statics/euler/Euler_Problem-026.php
deleted file mode 100644
index d76ef56..0000000
--- a/www/statics/euler/Euler_Problem-026.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 26,
- 'date' => '2014-09-17',
- 'title' => 'Reciprocal cycles',
- 'abbreviated' => false,
- 'steps' => 21266126,
- 'time' => 4477,
- 'width' => 100,
- 'height' => 16,
- 'value' => 983,
-];
diff --git a/www/statics/euler/Euler_Problem-027.php b/www/statics/euler/Euler_Problem-027.php
deleted file mode 100644
index ffee665..0000000
--- a/www/statics/euler/Euler_Problem-027.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 27,
- 'date' => '2014-09-21',
- 'title' => 'Quadratic primes',
- 'abbreviated' => true,
- 'steps' => 37842282,
- 'time' => 6240,
- 'width' => 600,
- 'height' => 162,
- 'value' => -59231,
-];
diff --git a/www/statics/euler/Euler_Problem-028.php b/www/statics/euler/Euler_Problem-028.php
deleted file mode 100644
index 6d41b00..0000000
--- a/www/statics/euler/Euler_Problem-028.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 28,
- 'date' => '2014-09-18',
- 'title' => 'Number spiral diagonals',
- 'abbreviated' => false,
- 'steps' => 28514,
- 'time' => 15,
- 'width' => 54,
- 'height' => 2,
- 'value' => 669171001,
-];
diff --git a/www/statics/euler/Euler_Problem-029.php b/www/statics/euler/Euler_Problem-029.php
deleted file mode 100644
index 1266844..0000000
--- a/www/statics/euler/Euler_Problem-029.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 29,
- 'date' => '2014-09-20',
- 'title' => 'Distinct powers',
- 'abbreviated' => true,
- 'steps' => 6439429168,
- 'time' => 1423681,
- 'width' => 248,
- 'height' => 59,
- 'value' => 9183,
-];
diff --git a/www/statics/euler/Euler_Problem-030.php b/www/statics/euler/Euler_Problem-030.php
deleted file mode 100644
index 9fa6edc..0000000
--- a/www/statics/euler/Euler_Problem-030.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 30,
- 'date' => '2014-09-18',
- 'title' => 'Digit fifth powers',
- 'abbreviated' => false,
- 'steps' => 51019199,
- 'time' => 7332,
- 'width' => 59,
- 'height' => 8,
- 'value' => 443839,
-];
diff --git a/www/statics/euler/Euler_Problem-031.php b/www/statics/euler/Euler_Problem-031.php
deleted file mode 100644
index d28c07d..0000000
--- a/www/statics/euler/Euler_Problem-031.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 31,
- 'date' => '2014-09-18',
- 'title' => 'Coin sums',
- 'abbreviated' => false,
- 'steps' => 310409597,
- 'time' => 47970,
- 'width' => 60,
- 'height' => 11,
- 'value' => 73682,
-];
diff --git a/www/statics/euler/Euler_Problem-032.php b/www/statics/euler/Euler_Problem-032.php
deleted file mode 100644
index fa22bea..0000000
--- a/www/statics/euler/Euler_Problem-032.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 32,
- 'date' => '2014-09-22',
- 'title' => 'Pandigital products',
- 'abbreviated' => false,
- 'steps' => 42123428,
- 'time' => 7191,
- 'width' => 166,
- 'height' => 21,
- 'value' => 45228,
-];
diff --git a/www/statics/euler/Euler_Problem-033.php b/www/statics/euler/Euler_Problem-033.php
deleted file mode 100644
index cd0d4c9..0000000
--- a/www/statics/euler/Euler_Problem-033.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 33,
- 'date' => '2014-09-22',
- 'title' => 'Digit canceling fractions',
- 'abbreviated' => false,
- 'steps' => 661502,
- 'time' => 109,
- 'width' => 67,
- 'height' => 18,
- 'value' => 100,
-];
diff --git a/www/statics/euler/Euler_Problem-034.php b/www/statics/euler/Euler_Problem-034.php
deleted file mode 100644
index fd7ee27..0000000
--- a/www/statics/euler/Euler_Problem-034.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 34,
- 'date' => '2014-09-23',
- 'title' => 'Digit factorials',
- 'abbreviated' => false,
- 'steps' => 493980359,
- 'time' => 80933,
- 'width' => 45,
- 'height' => 7,
- 'value' => 40730,
-];
diff --git a/www/statics/euler/Euler_Problem-035.php b/www/statics/euler/Euler_Problem-035.php
deleted file mode 100644
index 2f7bd02..0000000
--- a/www/statics/euler/Euler_Problem-035.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 35,
- 'date' => '2014-09-23',
- 'title' => 'Circular primes',
- 'abbreviated' => true,
- 'steps' => 176748467,
- 'time' => 27565,
- 'width' => 2000,
- 'height' => 516,
- 'value' => 55,
-];
diff --git a/www/statics/euler/Euler_Problem-036.php b/www/statics/euler/Euler_Problem-036.php
deleted file mode 100644
index 840ced9..0000000
--- a/www/statics/euler/Euler_Problem-036.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 36,
- 'date' => '2014-09-23',
- 'title' => 'Double-base palindromes',
- 'abbreviated' => false,
- 'steps' => 969574,
- 'time' => 172,
- 'width' => 78,
- 'height' => 8,
- 'value' => 872187,
-];
diff --git a/www/statics/euler/Euler_Problem-037.php b/www/statics/euler/Euler_Problem-037.php
deleted file mode 100644
index 65e8802..0000000
--- a/www/statics/euler/Euler_Problem-037.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 37,
- 'date' => '2014-09-24',
- 'title' => 'Truncatable primes',
- 'abbreviated' => true,
- 'steps' => 128154558,
- 'time' => 20717,
- 'width' => 2000,
- 'height' => 514,
- 'value' => 748317,
-];
diff --git a/www/statics/euler/Euler_Problem-038.php b/www/statics/euler/Euler_Problem-038.php
deleted file mode 100644
index c145c4a..0000000
--- a/www/statics/euler/Euler_Problem-038.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 38,
- 'date' => '2014-09-24',
- 'title' => 'Pandigital multiples',
- 'abbreviated' => false,
- 'steps' => 3567967,
- 'time' => 624,
- 'width' => 169,
- 'height' => 6,
- 'value' => 932718654,
-];
diff --git a/www/statics/euler/Euler_Problem-039.php b/www/statics/euler/Euler_Problem-039.php
deleted file mode 100644
index 7222e4b..0000000
--- a/www/statics/euler/Euler_Problem-039.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 39,
- 'date' => '2014-09-24',
- 'title' => 'Integer right triangles',
- 'abbreviated' => false,
- 'steps' => 3815878,
- 'time' => 827,
- 'width' => 72,
- 'height' => 6,
- 'value' => 840,
-];
diff --git a/www/statics/euler/Euler_Problem-040.php b/www/statics/euler/Euler_Problem-040.php
deleted file mode 100644
index 9e93540..0000000
--- a/www/statics/euler/Euler_Problem-040.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 40,
- 'date' => '2014-09-24',
- 'title' => 'Champernowne\'s constant',
- 'abbreviated' => false,
- 'steps' => 1486,
- 'time' => 16,
- 'width' => 69,
- 'height' => 7,
- 'value' => 210,
-];
diff --git a/www/statics/euler/Euler_Problem-041.php b/www/statics/euler/Euler_Problem-041.php
deleted file mode 100644
index d2af9fe..0000000
--- a/www/statics/euler/Euler_Problem-041.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 41,
- 'date' => '2014-10-12',
- 'title' => 'Pandigital prime',
- 'abbreviated' => false,
- 'steps' => 83726,
- 'time' => 31,
- 'width' => 40,
- 'height' => 17,
- 'value' => 7652413,
-];
diff --git a/www/statics/euler/Euler_Problem-042.php b/www/statics/euler/Euler_Problem-042.php
deleted file mode 100644
index 2da1091..0000000
--- a/www/statics/euler/Euler_Problem-042.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 42,
- 'date' => '2014-10-12',
- 'title' => 'Coded triangle numbers',
- 'abbreviated' => true,
- 'steps' => 526637,
- 'time' => 406,
- 'width' => 112,
- 'height' => 1788,
- 'value' => 162,
-];
diff --git a/www/statics/euler/Euler_Problem-043.php b/www/statics/euler/Euler_Problem-043.php
deleted file mode 100644
index 1d58e53..0000000
--- a/www/statics/euler/Euler_Problem-043.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 43,
- 'date' => '2014-10-14',
- 'title' => 'Sub-string divisibility',
- 'abbreviated' => false,
- 'steps' => 821317,
- 'time' => 140,
- 'width' => 68,
- 'height' => 23,
- 'value' => 16695334890,
-];
diff --git a/www/statics/euler/Euler_Problem-044.php b/www/statics/euler/Euler_Problem-044.php
deleted file mode 100644
index 2cac114..0000000
--- a/www/statics/euler/Euler_Problem-044.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 44,
- 'date' => '2014-12-10',
- 'title' => 'Pentagon numbers',
- 'abbreviated' => false,
- 'steps' => 1509045439,
- 'time' => 258993,
- 'width' => 60,
- 'height' => 11,
- 'value' => 5482660,
-];
diff --git a/www/statics/euler/Euler_Problem-045.php b/www/statics/euler/Euler_Problem-045.php
deleted file mode 100644
index c00044b..0000000
--- a/www/statics/euler/Euler_Problem-045.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 45,
- 'date' => '2014-12-11',
- 'title' => 'Triangular, pentagonal, and hexagonal',
- 'abbreviated' => false,
- 'steps' => 25312679,
- 'time' => 3494,
- 'width' => 48,
- 'height' => 6,
- 'value' => 1533776805,
-];
diff --git a/www/statics/euler/Euler_Problem-046.php b/www/statics/euler/Euler_Problem-046.php
deleted file mode 100644
index 1dcaeb9..0000000
--- a/www/statics/euler/Euler_Problem-046.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 46,
- 'date' => '2014-12-11',
- 'title' => 'Goldbach\'s other conjecture',
- 'abbreviated' => true,
- 'steps' => 77542913,
- 'time' => 13899,
- 'width' => 200,
- 'height' => 57,
- 'value' => 5777,
-];
diff --git a/www/statics/euler/Euler_Problem-047.php b/www/statics/euler/Euler_Problem-047.php
deleted file mode 100644
index f9208c3..0000000
--- a/www/statics/euler/Euler_Problem-047.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 47,
- 'date' => '2015-01-08',
- 'title' => 'Distinct primes factors',
- 'abbreviated' => true,
- 'steps' => 3227917351,
- 'time' => 537798,
- 'width' => 400,
- 'height' => 518,
- 'value' => 134043,
-];
diff --git a/www/statics/euler/Euler_Problem-048.php b/www/statics/euler/Euler_Problem-048.php
deleted file mode 100644
index b9818bb..0000000
--- a/www/statics/euler/Euler_Problem-048.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 48,
- 'date' => '2014-12-12',
- 'title' => 'Self powers',
- 'abbreviated' => false,
- 'steps' => 11530541,
- 'time' => 3728,
- 'width' => 37,
- 'height' => 3,
- 'value' => 9110846700,
-];
diff --git a/www/statics/euler/Euler_Problem-049.php b/www/statics/euler/Euler_Problem-049.php
deleted file mode 100644
index 87fddd0..0000000
--- a/www/statics/euler/Euler_Problem-049.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 49,
- 'date' => '2015-01-09',
- 'title' => 'Prime permutations',
- 'abbreviated' => false,
- 'steps' => 378809,
- 'time' => 124,
- 'width' => 66,
- 'height' => 8,
- 'value' => 296962999629,
-];
diff --git a/www/statics/euler/Euler_Problem-050.php b/www/statics/euler/Euler_Problem-050.php
deleted file mode 100644
index e852a79..0000000
--- a/www/statics/euler/Euler_Problem-050.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 50,
- 'date' => '2015-01-14',
- 'title' => 'Consecutive prime sum',
- 'abbreviated' => true,
- 'steps' => 180368553,
- 'time' => 30904,
- 'width' => 2000,
- 'height' => 512,
- 'value' => 997651,
-];
diff --git a/www/statics/euler/Euler_Problem-051.php b/www/statics/euler/Euler_Problem-051.php
deleted file mode 100644
index cc7c38b..0000000
--- a/www/statics/euler/Euler_Problem-051.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 51,
- 'date' => '2015-01-17',
- 'title' => 'Prime digit replacements',
- 'abbreviated' => false,
- 'steps' => 802550671,
- 'time' => 113896,
- 'width' => 78,
- 'height' => 20,
- 'value' => 121313,
-];
diff --git a/www/statics/euler/Euler_Problem-052.php b/www/statics/euler/Euler_Problem-052.php
deleted file mode 100644
index 1f6991c..0000000
--- a/www/statics/euler/Euler_Problem-052.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 52,
- 'date' => '2015-01-17',
- 'title' => 'Permuted multiples',
- 'abbreviated' => false,
- 'steps' => 18887060,
- 'time' => 2917,
- 'width' => 45,
- 'height' => 6,
- 'value' => 142857,
-];
diff --git a/www/statics/euler/Euler_Problem-053.php b/www/statics/euler/Euler_Problem-053.php
deleted file mode 100644
index 5ea6400..0000000
--- a/www/statics/euler/Euler_Problem-053.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 53,
- 'date' => '2015-01-22',
- 'title' => 'Combinatoric selections',
- 'abbreviated' => false,
- 'steps' => 372790,
- 'time' => 125,
- 'width' => 80,
- 'height' => 7,
- 'value' => 4075,
-];
diff --git a/www/statics/euler/Euler_Problem-054.php b/www/statics/euler/Euler_Problem-054.php
deleted file mode 100644
index 79feff4..0000000
--- a/www/statics/euler/Euler_Problem-054.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 54,
- 'date' => '2015-01-28',
- 'title' => 'Poker hands',
- 'abbreviated' => true,
- 'steps' => 5949695,
- 'time' => 2543,
- 'width' => 118,
- 'height' => 1009,
- 'value' => 376,
-];
diff --git a/www/statics/euler/Euler_Problem-055.php b/www/statics/euler/Euler_Problem-055.php
deleted file mode 100644
index ced0d47..0000000
--- a/www/statics/euler/Euler_Problem-055.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 55,
- 'date' => '2015-04-28',
- 'title' => 'Lychrel numbers',
- 'abbreviated' => false,
- 'steps' => 10470329,
- 'time' => 2215,
- 'width' => 56,
- 'height' => 5,
- 'value' => 249,
-];
diff --git a/www/statics/euler/Euler_Problem-056.php b/www/statics/euler/Euler_Problem-056.php
deleted file mode 100644
index d0700fb..0000000
--- a/www/statics/euler/Euler_Problem-056.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 56,
- 'date' => '2015-04-29',
- 'title' => 'Powerful digit sum',
- 'abbreviated' => false,
- 'steps' => 62461749,
- 'time' => 13915,
- 'width' => 75,
- 'height' => 11,
- 'value' => 972,
-];
diff --git a/www/statics/euler/Euler_Problem-057.php b/www/statics/euler/Euler_Problem-057.php
deleted file mode 100644
index b738203..0000000
--- a/www/statics/euler/Euler_Problem-057.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 57,
- 'date' => '2015-05-07',
- 'title' => 'Square root convergents',
- 'abbreviated' => false,
- 'steps' => 87464066,
- 'time' => 15023,
- 'width' => 80,
- 'height' => 54,
- 'value' => 153,
-];
diff --git a/www/statics/euler/Euler_Problem-058.php b/www/statics/euler/Euler_Problem-058.php
deleted file mode 100644
index cbfb134..0000000
--- a/www/statics/euler/Euler_Problem-058.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 58,
- 'date' => '2015-05-13',
- 'title' => 'Spiral primes',
- 'abbreviated' => false,
- 'steps' => 78283096,
- 'time' => 12199,
- 'width' => 50,
- 'height' => 17,
- 'value' => 26241,
-];
diff --git a/www/statics/euler/Euler_Problem-059.php b/www/statics/euler/Euler_Problem-059.php
deleted file mode 100644
index db0d906..0000000
--- a/www/statics/euler/Euler_Problem-059.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 59,
- 'date' => '2015-05-17',
- 'title' => 'XOR decryption',
- 'abbreviated' => true,
- 'steps' => 37085853,
- 'time' => 6302,
- 'width' => 273,
- 'height' => 128,
- 'value' => 107359,
-];
diff --git a/www/statics/euler/Euler_Problem-060.php b/www/statics/euler/Euler_Problem-060.php
deleted file mode 100644
index 4ca49e2..0000000
--- a/www/statics/euler/Euler_Problem-060.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 60,
- 'date' => '2015-06-06',
- 'title' => 'Prime pair sets',
- 'abbreviated' => true,
- 'steps' => 8609996835,
- 'time' => 2032350,
- 'width' => 3323,
- 'height' => 3360,
- 'value' => 26033,
-];
diff --git a/www/statics/euler/Euler_Problem-061.php b/www/statics/euler/Euler_Problem-061.php
deleted file mode 100644
index 3489871..0000000
--- a/www/statics/euler/Euler_Problem-061.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 61,
- 'date' => '2015-07-04',
- 'title' => 'Cyclical figurate numbers',
- 'abbreviated' => false,
- 'steps' => 50105245,
- 'time' => 14414,
- 'width' => 80,
- 'height' => 25,
- 'value' => 28684,
-];
diff --git a/www/statics/euler/Euler_Problem-062.php b/www/statics/euler/Euler_Problem-062.php
deleted file mode 100644
index edb0419..0000000
--- a/www/statics/euler/Euler_Problem-062.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 62,
- 'date' => '2015-07-07',
- 'title' => 'Cubic permutations',
- 'abbreviated' => true,
- 'steps' => 952323293,
- 'time' => 363264,
- 'width' => 505,
- 'height' => 58,
- 'value' => 127035954683,
-];
diff --git a/www/statics/euler/Euler_Problem-063.php b/www/statics/euler/Euler_Problem-063.php
deleted file mode 100644
index 191adc3..0000000
--- a/www/statics/euler/Euler_Problem-063.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 63,
- 'date' => '2015-07-08',
- 'title' => 'Powerful digit counts',
- 'abbreviated' => false,
- 'steps' => 8880369,
- 'time' => 2762,
- 'width' => 80,
- 'height' => 10,
- 'value' => 49,
-];
diff --git a/www/statics/euler/Euler_Problem-064.php b/www/statics/euler/Euler_Problem-064.php
deleted file mode 100644
index fa355ef..0000000
--- a/www/statics/euler/Euler_Problem-064.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 64,
- 'date' => '2015-07-03',
- 'title' => 'Odd period square roots',
- 'abbreviated' => false,
- 'steps' => 24936143,
- 'time' => 5804,
- 'width' => 51,
- 'height' => 9,
- 'value' => 1322,
-];
diff --git a/www/statics/euler/Euler_Problem-065.php b/www/statics/euler/Euler_Problem-065.php
deleted file mode 100644
index 97e2b5b..0000000
--- a/www/statics/euler/Euler_Problem-065.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 65,
- 'date' => '2015-07-08',
- 'title' => 'Convergents of e',
- 'abbreviated' => false,
- 'steps' => 477489,
- 'time' => 124,
- 'width' => 80,
- 'height' => 14,
- 'value' => 272,
-];
diff --git a/www/statics/euler/Euler_Problem-066.php b/www/statics/euler/Euler_Problem-066.php
deleted file mode 100644
index 45f07be..0000000
--- a/www/statics/euler/Euler_Problem-066.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 66,
- 'date' => '2015-07-14',
- 'title' => 'Diophantine equation',
- 'abbreviated' => false,
- 'steps' => 262481767,
- 'time' => 55831,
- 'width' => 80,
- 'height' => 25,
- 'value' => 661,
-];
diff --git a/www/statics/euler/Euler_Problem-067.php b/www/statics/euler/Euler_Problem-067.php
deleted file mode 100644
index ed3efab..0000000
--- a/www/statics/euler/Euler_Problem-067.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 67,
- 'date' => '2014-09-13',
- 'title' => 'Maximum path sum II',
- 'abbreviated' => true,
- 'steps' => 650537,
- 'time' => 266,
- 'width' => 299,
- 'height' => 101,
- 'value' => 7273,
-];
diff --git a/www/statics/euler/Euler_Problem-068.php b/www/statics/euler/Euler_Problem-068.php
deleted file mode 100644
index 0ef35c8..0000000
--- a/www/statics/euler/Euler_Problem-068.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 68,
- 'date' => '2015-07-16',
- 'title' => 'Magic 5-gon ring',
- 'abbreviated' => false,
- 'steps' => 304112,
- 'time' => 78,
- 'width' => 39,
- 'height' => 25,
- 'value' => 6531031914842725,
-];
diff --git a/www/statics/euler/Euler_Problem-069.php b/www/statics/euler/Euler_Problem-069.php
deleted file mode 100644
index 6069179..0000000
--- a/www/statics/euler/Euler_Problem-069.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 69,
- 'date' => '2015-07-20',
- 'title' => 'Totient maximum',
- 'abbreviated' => false,
- 'steps' => 35542,
- 'time' => 16,
- 'width' => 80,
- 'height' => 10,
- 'value' => 510510,
-];
diff --git a/www/statics/euler/Euler_Problem-070.php b/www/statics/euler/Euler_Problem-070.php
deleted file mode 100644
index dc6114d..0000000
--- a/www/statics/euler/Euler_Problem-070.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 70,
- 'date' => '2015-08-18',
- 'title' => 'Totient permutation',
- 'abbreviated' => false,
- 'steps' => 29380799,
- 'time' => 3713,
- 'width' => 150,
- 'height' => 47,
- 'value' => 8319823,
-];
diff --git a/www/statics/euler/Euler_Problem-071.php b/www/statics/euler/Euler_Problem-071.php
deleted file mode 100644
index e548af2..0000000
--- a/www/statics/euler/Euler_Problem-071.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 71,
- 'date' => '2015-08-19',
- 'title' => 'Ordered fractions',
- 'abbreviated' => false,
- 'steps' => 77428679,
- 'time' => 11981,
- 'width' => 73,
- 'height' => 8,
- 'value' => 428570,
-];
diff --git a/www/statics/euler/Euler_Problem-072.php b/www/statics/euler/Euler_Problem-072.php
deleted file mode 100644
index 2de4106..0000000
--- a/www/statics/euler/Euler_Problem-072.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 72,
- 'date' => '2015-08-21',
- 'title' => 'Counting fractions',
- 'abbreviated' => true,
- 'steps' => 339636085,
- 'time' => 50606,
- 'width' => 486,
- 'height' => 1047,
- 'value' => 303963552391,
-];
diff --git a/www/statics/euler/Euler_Problem-073.php b/www/statics/euler/Euler_Problem-073.php
deleted file mode 100644
index 891d61d..0000000
--- a/www/statics/euler/Euler_Problem-073.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 73,
- 'date' => '2015-08-21',
- 'title' => 'Counting fractions in a range',
- 'abbreviated' => true,
- 'steps' => 1281174401,
- 'time' => 202458,
- 'width' => 2000,
- 'height' => 12010,
- 'value' => 7295372,
-];
diff --git a/www/statics/euler/Euler_Problem-074.php b/www/statics/euler/Euler_Problem-074.php
deleted file mode 100644
index 0b5d6d8..0000000
--- a/www/statics/euler/Euler_Problem-074.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 74,
- 'date' => '2015-08-25',
- 'title' => 'Digit factorial chains',
- 'abbreviated' => true,
- 'steps' => 376912541,
- 'time' => 49187,
- 'width' => 1224,
- 'height' => 833,
- 'value' => 402,
-];
diff --git a/www/statics/euler/Euler_Problem-075.php b/www/statics/euler/Euler_Problem-075.php
deleted file mode 100644
index af30bcb..0000000
--- a/www/statics/euler/Euler_Problem-075.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 75,
- 'date' => '2015-08-26',
- 'title' => 'Singular integer right triangles',
- 'abbreviated' => true,
- 'steps' => 293080647,
- 'time' => 39951,
- 'width' => 1000,
- 'height' => 1515,
- 'value' => 161667,
-];
diff --git a/www/statics/euler/Euler_Problem-076.php b/www/statics/euler/Euler_Problem-076.php
deleted file mode 100644
index d2ba53b..0000000
--- a/www/statics/euler/Euler_Problem-076.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 76,
- 'date' => '2015-08-26',
- 'title' => 'Counting summations',
- 'abbreviated' => false,
- 'steps' => 296178,
- 'time' => 32,
- 'width' => 104,
- 'height' => 108,
- 'value' => 190569291,
-];
diff --git a/www/statics/euler/Euler_Problem-077.php b/www/statics/euler/Euler_Problem-077.php
deleted file mode 100644
index 2dbc604..0000000
--- a/www/statics/euler/Euler_Problem-077.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 77,
- 'date' => '2015-08-28',
- 'title' => 'Prime summations',
- 'abbreviated' => false,
- 'steps' => 312139,
- 'time' => 47,
- 'width' => 101,
- 'height' => 39,
- 'value' => 71,
-];
diff --git a/www/statics/euler/Euler_Problem-078.php b/www/statics/euler/Euler_Problem-078.php
deleted file mode 100644
index 6a33574..0000000
--- a/www/statics/euler/Euler_Problem-078.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 78,
- 'date' => '2015-09-08',
- 'title' => 'Coin partitions',
- 'abbreviated' => true,
- 'steps' => 1191633332,
- 'time' => 170946,
- 'width' => 251,
- 'height' => 256,
- 'value' => 55374,
-];
diff --git a/www/statics/euler/Euler_Problem-079.php b/www/statics/euler/Euler_Problem-079.php
deleted file mode 100644
index c0b84cb..0000000
--- a/www/statics/euler/Euler_Problem-079.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 79,
- 'date' => '2015-09-09',
- 'title' => 'Passcode derivation',
- 'abbreviated' => false,
- 'steps' => 12040,
- 'time' => 0,
- 'width' => 56,
- 'height' => 21,
- 'value' => 73162890,
-];
diff --git a/www/statics/euler/Euler_Problem-080.php b/www/statics/euler/Euler_Problem-080.php
deleted file mode 100644
index 49816e1..0000000
--- a/www/statics/euler/Euler_Problem-080.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 80,
- 'date' => '2015-09-11',
- 'title' => 'Square root digital expansion',
- 'abbreviated' => false,
- 'steps' => 540417723,
- 'time' => 116439,
- 'width' => 69,
- 'height' => 18,
- 'value' => 40886,
-];
diff --git a/www/statics/euler/Euler_Problem-081.php b/www/statics/euler/Euler_Problem-081.php
deleted file mode 100644
index f3cca39..0000000
--- a/www/statics/euler/Euler_Problem-081.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 81,
- 'date' => '2015-09-12',
- 'title' => 'Path sum: two ways',
- 'abbreviated' => true,
- 'steps' => 1697244,
- 'time' => 234,
- 'width' => 500,
- 'height' => 180,
- 'value' => 427337,
-];
diff --git a/www/statics/euler/Euler_Problem-082.php b/www/statics/euler/Euler_Problem-082.php
deleted file mode 100644
index f820061..0000000
--- a/www/statics/euler/Euler_Problem-082.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 82,
- 'date' => '2015-09-12',
- 'title' => 'Path sum: three ways',
- 'abbreviated' => true,
- 'steps' => 13777233,
- 'time' => 2106,
- 'width' => 500,
- 'height' => 180,
- 'value' => 260324,
-];
diff --git a/www/statics/euler/Euler_Problem-083.php b/www/statics/euler/Euler_Problem-083.php
deleted file mode 100644
index 6928d89..0000000
--- a/www/statics/euler/Euler_Problem-083.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 83,
- 'date' => '2015-09-12',
- 'title' => 'Path sum: four ways',
- 'abbreviated' => true,
- 'steps' => 11718762,
- 'time' => 1748,
- 'width' => 500,
- 'height' => 180,
- 'value' => 425185,
-];
diff --git a/www/statics/euler/Euler_Problem-084.php b/www/statics/euler/Euler_Problem-084.php
deleted file mode 100644
index 693fbf0..0000000
--- a/www/statics/euler/Euler_Problem-084.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 84,
- 'date' => '2015-09-16',
- 'title' => 'Monopoly odds',
- 'abbreviated' => false,
- 'steps' => 146519794,
- 'time' => 19203,
- 'width' => 77,
- 'height' => 20,
- 'value' => 101524,
-];
diff --git a/www/statics/euler/Euler_Problem-085.php b/www/statics/euler/Euler_Problem-085.php
deleted file mode 100644
index e348682..0000000
--- a/www/statics/euler/Euler_Problem-085.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 85,
- 'date' => '2015-10-03',
- 'title' => 'Counting rectangles',
- 'abbreviated' => false,
- 'steps' => 880151,
- 'time' => 109,
- 'width' => 35,
- 'height' => 8,
- 'value' => 2772,
-];
diff --git a/www/statics/euler/Euler_Problem-086.php b/www/statics/euler/Euler_Problem-086.php
deleted file mode 100644
index b05c67f..0000000
--- a/www/statics/euler/Euler_Problem-086.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 86,
- 'date' => '2015-10-30',
- 'title' => 'Cuboid route',
- 'abbreviated' => false,
- 'steps' => 599659030,
- 'time' => 91822,
- 'width' => 66,
- 'height' => 10,
- 'value' => 1818,
-];
diff --git a/www/statics/euler/Euler_Problem-087.php b/www/statics/euler/Euler_Problem-087.php
deleted file mode 100644
index 45a8a6f..0000000
--- a/www/statics/euler/Euler_Problem-087.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 87,
- 'date' => '2015-10-30',
- 'title' => 'Prime power triples',
- 'abbreviated' => true,
- 'steps' => 181436097,
- 'time' => 27067,
- 'width' => 1000,
- 'height' => 1018,
- 'value' => 1097343,
-];
diff --git a/www/statics/euler/Euler_Problem-088.php b/www/statics/euler/Euler_Problem-088.php
deleted file mode 100644
index 1b0eb9d..0000000
--- a/www/statics/euler/Euler_Problem-088.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 88,
- 'date' => '2015-12-18',
- 'title' => 'Product-sum numbers',
- 'abbreviated' => true,
- 'steps' => 141097978,
- 'time' => 23852,
- 'width' => 1024,
- 'height' => 50,
- 'value' => 7587457,
-];
diff --git a/www/statics/euler/Euler_Problem-089.php b/www/statics/euler/Euler_Problem-089.php
deleted file mode 100644
index 9d10a32..0000000
--- a/www/statics/euler/Euler_Problem-089.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 89,
- 'date' => '2015-12-25',
- 'title' => 'Roman numerals',
- 'abbreviated' => true,
- 'steps' => 569231,
- 'time' => 78,
- 'width' => 73,
- 'height' => 1009,
- 'value' => 743,
-];
diff --git a/www/statics/euler/Euler_Problem-090.php b/www/statics/euler/Euler_Problem-090.php
deleted file mode 100644
index fa8005d..0000000
--- a/www/statics/euler/Euler_Problem-090.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 90,
- 'date' => '2016-05-21',
- 'title' => 'Cube digit pairs',
- 'abbreviated' => false,
- 'steps' => 335326352,
- 'time' => 54366,
- 'width' => 80,
- 'height' => 45,
- 'value' => 1217,
-];
diff --git a/www/statics/euler/Euler_Problem-091.php b/www/statics/euler/Euler_Problem-091.php
deleted file mode 100644
index 4c20616..0000000
--- a/www/statics/euler/Euler_Problem-091.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 91,
- 'date' => '2016-05-26',
- 'title' => 'Right triangles with integer coordinates',
- 'abbreviated' => false,
- 'steps' => 3072923,
- 'time' => 343,
- 'width' => 36,
- 'height' => 5,
- 'value' => 14234,
-];
diff --git a/www/statics/euler/Euler_Problem-092.php b/www/statics/euler/Euler_Problem-092.php
deleted file mode 100644
index 5735852..0000000
--- a/www/statics/euler/Euler_Problem-092.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 92,
- 'date' => '2016-08-25',
- 'title' => 'Square digit chains',
- 'abbreviated' => false,
- 'steps' => 2959813630,
- 'time' => 379925,
- 'width' => 80,
- 'height' => 16,
- 'value' => 8581146,
-];
diff --git a/www/statics/euler/Euler_Problem-093.php b/www/statics/euler/Euler_Problem-093.php
deleted file mode 100644
index f5a200c..0000000
--- a/www/statics/euler/Euler_Problem-093.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 93,
- 'date' => '2016-08-26',
- 'title' => 'Arithmetic expressions',
- 'abbreviated' => false,
- 'steps' => 305514916,
- 'time' => 42167,
- 'width' => 111,
- 'height' => 211,
- 'value' => 1258,
-];
diff --git a/www/statics/euler/Euler_Problem-094.php b/www/statics/euler/Euler_Problem-094.php
deleted file mode 100644
index 4c913ad..0000000
--- a/www/statics/euler/Euler_Problem-094.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 94,
- 'date' => '2016-09-01',
- 'title' => 'Almost equilateral triangles',
- 'abbreviated' => false,
- 'steps' => 2009,
- 'time' => 0,
- 'width' => 40,
- 'height' => 5,
- 'value' => 518408346,
-];
diff --git a/www/statics/euler/Euler_Problem-095.php b/www/statics/euler/Euler_Problem-095.php
deleted file mode 100644
index 44692b4..0000000
--- a/www/statics/euler/Euler_Problem-095.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 95,
- 'date' => '2016-09-18',
- 'title' => 'Amicable chains',
- 'abbreviated' => true,
- 'steps' => 1053466251,
- 'time' => 242737,
- 'width' => 2017,
- 'height' => 1035,
- 'value' => 14316,
-];
diff --git a/www/statics/euler/Euler_Problem-096.php b/www/statics/euler/Euler_Problem-096.php
deleted file mode 100644
index cd6f270..0000000
--- a/www/statics/euler/Euler_Problem-096.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 96,
- 'date' => '2016-10-25',
- 'title' => 'Su Doku',
- 'abbreviated' => false,
- 'steps' => 583893708,
- 'time' => 90918,
- 'width' => 218,
- 'height' => 50,
- 'value' => 24702,
-];
diff --git a/www/statics/euler/Euler_Problem-097.php b/www/statics/euler/Euler_Problem-097.php
deleted file mode 100644
index fe075a4..0000000
--- a/www/statics/euler/Euler_Problem-097.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 97,
- 'date' => '2016-10-28',
- 'title' => 'Large non-Mersenne prime',
- 'abbreviated' => false,
- 'steps' => 164439636,
- 'time' => 21091,
- 'width' => 13,
- 'height' => 5,
- 'value' => 8739992577,
-];
diff --git a/www/statics/euler/Euler_Problem-098.php b/www/statics/euler/Euler_Problem-098.php
deleted file mode 100644
index 0efaa24..0000000
--- a/www/statics/euler/Euler_Problem-098.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 98,
- 'date' => '2016-12-11',
- 'title' => 'Anagramic squares',
- 'abbreviated' => true,
- 'steps' => 145592567,
- 'time' => 22714,
- 'width' => 258,
- 'height' => 199,
- 'value' => 18769,
-];
diff --git a/www/statics/euler/Euler_Problem-099.php b/www/statics/euler/Euler_Problem-099.php
deleted file mode 100644
index 39c2e61..0000000
--- a/www/statics/euler/Euler_Problem-099.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 99,
- 'date' => '2017-01-13',
- 'title' => 'Largest exponential',
- 'abbreviated' => true,
- 'steps' => 5072021,
- 'time' => 1107,
- 'width' => 63,
- 'height' => 1000,
- 'value' => 709,
-];
diff --git a/www/statics/euler/Euler_Problem-100.php b/www/statics/euler/Euler_Problem-100.php
deleted file mode 100644
index 7506de5..0000000
--- a/www/statics/euler/Euler_Problem-100.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 100,
- 'date' => '2017-05-03',
- 'title' => 'Arranged probability',
- 'abbreviated' => false,
- 'steps' => 1649,
- 'time' => 0,
- 'width' => 56,
- 'height' => 3,
- 'value' => 756872327473,
-];
diff --git a/www/statics/euler/Euler_Problem-101.php b/www/statics/euler/Euler_Problem-101.php
deleted file mode 100644
index fc5e8a3..0000000
--- a/www/statics/euler/Euler_Problem-101.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 101,
- 'date' => '2017-11-19',
- 'title' => 'Optimum polynomial',
- 'abbreviated' => false,
- 'steps' => 1825656,
- 'time' => 250,
- 'width' => 83,
- 'height' => 37,
- 'value' => 37076114526,
-];
diff --git a/www/statics/euler/Euler_Problem-102.php b/www/statics/euler/Euler_Problem-102.php
deleted file mode 100644
index 031417a..0000000
--- a/www/statics/euler/Euler_Problem-102.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 102,
- 'date' => '2017-11-20',
- 'title' => 'Triangle containment',
- 'abbreviated' => true,
- 'steps' => 1995449,
- 'time' => 281,
- 'width' => 80,
- 'height' => 1009,
- 'value' => 228,
-];
diff --git a/www/statics/euler/__all.php b/www/statics/euler/__all.php
new file mode 100644
index 0000000..5111f5f
--- /dev/null
+++ b/www/statics/euler/__all.php
@@ -0,0 +1,107 @@
+ 1, 'date' => '2014-09-11', 'title' => 'Multiples of 3 and 5', 'abbreviated' => false, 'steps' => 47624, 'time' => 62, 'width' => 30, 'height' => 5, 'value' => 233168 ],
+ [ 'number' => 2, 'date' => '2014-09-11', 'title' => 'Even Fibonacci numbers', 'abbreviated' => false, 'steps' => 1669, 'time' => 62, 'width' => 26, 'height' => 5, 'value' => 4613732 ],
+ [ 'number' => 3, 'date' => '2014-09-11', 'title' => 'Largest prime factor', 'abbreviated' => false, 'steps' => 31579516, 'time' => 9547, 'width' => 55, 'height' => 4, 'value' => 6857 ],
+ [ 'number' => 4, 'date' => '2014-09-11', 'title' => 'Largest palindrome product', 'abbreviated' => false, 'steps' => 230611114, 'time' => 77813, 'width' => 71, 'height' => 6, 'value' => 906609 ],
+ [ 'number' => 5, 'date' => '2014-09-11', 'title' => 'Smallest multiple', 'abbreviated' => false, 'steps' => 50166, 'time' => 47, 'width' => 73, 'height' => 6, 'value' => 232792560 ],
+ [ 'number' => 6, 'date' => '2014-09-11', 'title' => 'Sum square difference', 'abbreviated' => false, 'steps' => 18897151, 'time' => 7347, 'width' => 72, 'height' => 16, 'value' => 25164150 ],
+ [ 'number' => 7, 'date' => '2014-09-11', 'title' => '10001st prime', 'abbreviated' => true, 'steps' => 21915385, 'time' => 7628, 'width' => 1000, 'height' => 156, 'value' => 104743 ],
+ [ 'number' => 8, 'date' => '2014-09-11', 'title' => 'Largest product in a series', 'abbreviated' => false, 'steps' => 614295, 'time' => 234, 'width' => 116, 'height' => 29, 'value' => 23514624000 ],
+ [ 'number' => 9, 'date' => '2014-09-11', 'title' => 'Special Pythagorean triplet', 'abbreviated' => false, 'steps' => 1397212134, 'time' => 394277, 'width' => 79, 'height' => 7, 'value' => 31875000 ],
+ [ 'number' => 10, 'date' => '2014-09-11', 'title' => 'Summation of primes', 'abbreviated' => true, 'steps' => 416776174, 'time' => 67127, 'width' => 2000, 'height' => 1007, 'value' => 142913828922 ],
+ [ 'number' => 11, 'date' => '2014-09-11', 'title' => 'Largest product in a grid', 'abbreviated' => false, 'steps' => 323945, 'time' => 78, 'width' => 151, 'height' => 31, 'value' => 70600674 ],
+ [ 'number' => 12, 'date' => '2014-09-11', 'title' => 'Highly divisible triangular number', 'abbreviated' => true, 'steps' => 38855123, 'time' => 7566, 'width' => 1000, 'height' => 170, 'value' => 76576500 ],
+ [ 'number' => 13, 'date' => '2014-09-11', 'title' => 'Large sum', 'abbreviated' => true, 'steps' => 244792, 'time' => 78, 'width' => 59, 'height' => 113, 'value' => 5537376230 ],
+ [ 'number' => 14, 'date' => '2014-09-11', 'title' => 'Longest Collatz sequence', 'abbreviated' => false, 'steps' => 3877209672, 'time' => 717713, 'width' => 51, 'height' => 5, 'value' => 837799 ],
+ [ 'number' => 15, 'date' => '2014-09-11', 'title' => 'Lattice paths', 'abbreviated' => false, 'steps' => 61202, 'time' => 47, 'width' => 78, 'height' => 27, 'value' => 137846528820 ],
+ [ 'number' => 16, 'date' => '2014-09-11', 'title' => 'Power digit sum', 'abbreviated' => false, 'steps' => 27332672, 'time' => 4228, 'width' => 60, 'height' => 14, 'value' => 1366 ],
+ [ 'number' => 17, 'date' => '2014-09-12', 'title' => 'Number letter counts', 'abbreviated' => false, 'steps' => 179076, 'time' => 47, 'width' => 48, 'height' => 15, 'value' => 21124 ],
+ [ 'number' => 18, 'date' => '2014-09-13', 'title' => 'Maximum path sum I', 'abbreviated' => false, 'steps' => 15048, 'time' => 16, 'width' => 120, 'height' => 16, 'value' => 1074 ],
+ [ 'number' => 19, 'date' => '2014-09-14', 'title' => 'Counting Sundays', 'abbreviated' => false, 'steps' => 3197878, 'time' => 546, 'width' => 72, 'height' => 12, 'value' => 171 ],
+ [ 'number' => 20, 'date' => '2014-09-14', 'title' => 'Factorial digit sum', 'abbreviated' => false, 'steps' => 1546679, 'time' => 265, 'width' => 101, 'height' => 6, 'value' => 648 ],
+ [ 'number' => 21, 'date' => '2014-09-15', 'title' => 'Amicable numbers', 'abbreviated' => true, 'steps' => 601124986, 'time' => 102399, 'width' => 400, 'height' => 33, 'value' => 31626 ],
+ [ 'number' => 22, 'date' => '2014-09-16', 'title' => 'Names scores', 'abbreviated' => true, 'steps' => 4703607994, 'time' => 961793, 'width' => 109, 'height' => 5164, 'value' => 871198282 ],
+ [ 'number' => 23, 'date' => '2014-09-16', 'title' => 'Non-abundant sums', 'abbreviated' => true, 'steps' => 10667174483, 'time' => 1967688, 'width' => 400, 'height' => 88, 'value' => 4179871 ],
+ [ 'number' => 24, 'date' => '2014-09-16', 'title' => 'Lexicographic permutations', 'abbreviated' => false, 'steps' => 3499, 'time' => 31, 'width' => 61, 'height' => 8, 'value' => 2783915460 ],
+ [ 'number' => 25, 'date' => '2014-09-17', 'title' => '1000-digit Fibonacci number', 'abbreviated' => false, 'steps' => 745055403, 'time' => 116938, 'width' => 123, 'height' => 28, 'value' => 4782 ],
+ [ 'number' => 26, 'date' => '2014-09-17', 'title' => 'Reciprocal cycles', 'abbreviated' => false, 'steps' => 21266126, 'time' => 4477, 'width' => 100, 'height' => 16, 'value' => 983 ],
+ [ 'number' => 27, 'date' => '2014-09-21', 'title' => 'Quadratic primes', 'abbreviated' => true, 'steps' => 37842282, 'time' => 6240, 'width' => 600, 'height' => 162, 'value' => -59231 ],
+ [ 'number' => 28, 'date' => '2014-09-18', 'title' => 'Number spiral diagonals', 'abbreviated' => false, 'steps' => 28514, 'time' => 15, 'width' => 54, 'height' => 2, 'value' => 669171001 ],
+ [ 'number' => 29, 'date' => '2014-09-20', 'title' => 'Distinct powers', 'abbreviated' => true, 'steps' => 6439429168, 'time' => 1423681, 'width' => 248, 'height' => 59, 'value' => 9183 ],
+ [ 'number' => 30, 'date' => '2014-09-18', 'title' => 'Digit fifth powers', 'abbreviated' => false, 'steps' => 51019199, 'time' => 7332, 'width' => 59, 'height' => 8, 'value' => 443839 ],
+ [ 'number' => 31, 'date' => '2014-09-18', 'title' => 'Coin sums', 'abbreviated' => false, 'steps' => 310409597, 'time' => 47970, 'width' => 60, 'height' => 11, 'value' => 73682 ],
+ [ 'number' => 32, 'date' => '2014-09-22', 'title' => 'Pandigital products', 'abbreviated' => false, 'steps' => 42123428, 'time' => 7191, 'width' => 166, 'height' => 21, 'value' => 45228 ],
+ [ 'number' => 33, 'date' => '2014-09-22', 'title' => 'Digit canceling fractions', 'abbreviated' => false, 'steps' => 661502, 'time' => 109, 'width' => 67, 'height' => 18, 'value' => 100 ],
+ [ 'number' => 34, 'date' => '2014-09-23', 'title' => 'Digit factorials', 'abbreviated' => false, 'steps' => 493980359, 'time' => 80933, 'width' => 45, 'height' => 7, 'value' => 40730 ],
+ [ 'number' => 35, 'date' => '2014-09-23', 'title' => 'Circular primes', 'abbreviated' => true, 'steps' => 176748467, 'time' => 27565, 'width' => 2000, 'height' => 516, 'value' => 55 ],
+ [ 'number' => 36, 'date' => '2014-09-23', 'title' => 'Double-base palindromes', 'abbreviated' => false, 'steps' => 969574, 'time' => 172, 'width' => 78, 'height' => 8, 'value' => 872187 ],
+ [ 'number' => 37, 'date' => '2014-09-24', 'title' => 'Truncatable primes', 'abbreviated' => true, 'steps' => 128154558, 'time' => 20717, 'width' => 2000, 'height' => 514, 'value' => 748317 ],
+ [ 'number' => 38, 'date' => '2014-09-24', 'title' => 'Pandigital multiples', 'abbreviated' => false, 'steps' => 3567967, 'time' => 624, 'width' => 169, 'height' => 6, 'value' => 932718654 ],
+ [ 'number' => 39, 'date' => '2014-09-24', 'title' => 'Integer right triangles', 'abbreviated' => false, 'steps' => 3815878, 'time' => 827, 'width' => 72, 'height' => 6, 'value' => 840 ],
+ [ 'number' => 40, 'date' => '2014-09-24', 'title' => 'Champernowne\'s constant', 'abbreviated' => false, 'steps' => 1486, 'time' => 16, 'width' => 69, 'height' => 7, 'value' => 210 ],
+ [ 'number' => 41, 'date' => '2014-10-12', 'title' => 'Pandigital prime', 'abbreviated' => false, 'steps' => 83726, 'time' => 31, 'width' => 40, 'height' => 17, 'value' => 7652413 ],
+ [ 'number' => 42, 'date' => '2014-10-12', 'title' => 'Coded triangle numbers', 'abbreviated' => true, 'steps' => 526637, 'time' => 406, 'width' => 112, 'height' => 1788, 'value' => 162 ],
+ [ 'number' => 43, 'date' => '2014-10-14', 'title' => 'Sub-string divisibility', 'abbreviated' => false, 'steps' => 821317, 'time' => 140, 'width' => 68, 'height' => 23, 'value' => 16695334890 ],
+ [ 'number' => 44, 'date' => '2014-12-10', 'title' => 'Pentagon numbers', 'abbreviated' => false, 'steps' => 1509045439, 'time' => 258993, 'width' => 60, 'height' => 11, 'value' => 5482660 ],
+ [ 'number' => 45, 'date' => '2014-12-11', 'title' => 'Triangular, pentagonal, and hexagonal', 'abbreviated' => false, 'steps' => 25312679, 'time' => 3494, 'width' => 48, 'height' => 6, 'value' => 1533776805 ],
+ [ 'number' => 46, 'date' => '2014-12-11', 'title' => 'Goldbach\'s other conjecture', 'abbreviated' => true, 'steps' => 77542913, 'time' => 13899, 'width' => 200, 'height' => 57, 'value' => 5777 ],
+ [ 'number' => 47, 'date' => '2015-01-08', 'title' => 'Distinct primes factors', 'abbreviated' => true, 'steps' => 3227917351, 'time' => 537798, 'width' => 400, 'height' => 518, 'value' => 134043 ],
+ [ 'number' => 48, 'date' => '2014-12-12', 'title' => 'Self powers', 'abbreviated' => false, 'steps' => 11530541, 'time' => 3728, 'width' => 37, 'height' => 3, 'value' => 9110846700 ],
+ [ 'number' => 49, 'date' => '2015-01-09', 'title' => 'Prime permutations', 'abbreviated' => false, 'steps' => 378809, 'time' => 124, 'width' => 66, 'height' => 8, 'value' => 296962999629 ],
+ [ 'number' => 50, 'date' => '2015-01-14', 'title' => 'Consecutive prime sum', 'abbreviated' => true, 'steps' => 180368553, 'time' => 30904, 'width' => 2000, 'height' => 512, 'value' => 997651 ],
+ [ 'number' => 51, 'date' => '2015-01-17', 'title' => 'Prime digit replacements', 'abbreviated' => false, 'steps' => 802550671, 'time' => 113896, 'width' => 78, 'height' => 20, 'value' => 121313 ],
+ [ 'number' => 52, 'date' => '2015-01-17', 'title' => 'Permuted multiples', 'abbreviated' => false, 'steps' => 18887060, 'time' => 2917, 'width' => 45, 'height' => 6, 'value' => 142857 ],
+ [ 'number' => 53, 'date' => '2015-01-22', 'title' => 'Combinatoric selections', 'abbreviated' => false, 'steps' => 372790, 'time' => 125, 'width' => 80, 'height' => 7, 'value' => 4075 ],
+ [ 'number' => 54, 'date' => '2015-01-28', 'title' => 'Poker hands', 'abbreviated' => true, 'steps' => 5949695, 'time' => 2543, 'width' => 118, 'height' => 1009, 'value' => 376 ],
+ [ 'number' => 55, 'date' => '2015-04-28', 'title' => 'Lychrel numbers', 'abbreviated' => false, 'steps' => 10470329, 'time' => 2215, 'width' => 56, 'height' => 5, 'value' => 249 ],
+ [ 'number' => 56, 'date' => '2015-04-29', 'title' => 'Powerful digit sum', 'abbreviated' => false, 'steps' => 62461749, 'time' => 13915, 'width' => 75, 'height' => 11, 'value' => 972 ],
+ [ 'number' => 57, 'date' => '2015-05-07', 'title' => 'Square root convergents', 'abbreviated' => false, 'steps' => 87464066, 'time' => 15023, 'width' => 80, 'height' => 54, 'value' => 153 ],
+ [ 'number' => 58, 'date' => '2015-05-13', 'title' => 'Spiral primes', 'abbreviated' => false, 'steps' => 78283096, 'time' => 12199, 'width' => 50, 'height' => 17, 'value' => 26241 ],
+ [ 'number' => 59, 'date' => '2015-05-17', 'title' => 'XOR decryption', 'abbreviated' => true, 'steps' => 37085853, 'time' => 6302, 'width' => 273, 'height' => 128, 'value' => 107359 ],
+ [ 'number' => 60, 'date' => '2015-06-06', 'title' => 'Prime pair sets', 'abbreviated' => true, 'steps' => 8609996835, 'time' => 2032350, 'width' => 3323, 'height' => 3360, 'value' => 26033 ],
+ [ 'number' => 61, 'date' => '2015-07-04', 'title' => 'Cyclical figurate numbers', 'abbreviated' => false, 'steps' => 50105245, 'time' => 14414, 'width' => 80, 'height' => 25, 'value' => 28684 ],
+ [ 'number' => 62, 'date' => '2015-07-07', 'title' => 'Cubic permutations', 'abbreviated' => true, 'steps' => 952323293, 'time' => 363264, 'width' => 505, 'height' => 58, 'value' => 127035954683 ],
+ [ 'number' => 63, 'date' => '2015-07-08', 'title' => 'Powerful digit counts', 'abbreviated' => false, 'steps' => 8880369, 'time' => 2762, 'width' => 80, 'height' => 10, 'value' => 49 ],
+ [ 'number' => 64, 'date' => '2015-07-03', 'title' => 'Odd period square roots', 'abbreviated' => false, 'steps' => 24936143, 'time' => 5804, 'width' => 51, 'height' => 9, 'value' => 1322 ],
+ [ 'number' => 65, 'date' => '2015-07-08', 'title' => 'Convergents of e', 'abbreviated' => false, 'steps' => 477489, 'time' => 124, 'width' => 80, 'height' => 14, 'value' => 272 ],
+ [ 'number' => 66, 'date' => '2015-07-14', 'title' => 'Diophantine equation', 'abbreviated' => false, 'steps' => 262481767, 'time' => 55831, 'width' => 80, 'height' => 25, 'value' => 661 ],
+ [ 'number' => 67, 'date' => '2014-09-13', 'title' => 'Maximum path sum II', 'abbreviated' => true, 'steps' => 650537, 'time' => 266, 'width' => 299, 'height' => 101, 'value' => 7273 ],
+ [ 'number' => 68, 'date' => '2015-07-16', 'title' => 'Magic 5-gon ring', 'abbreviated' => false, 'steps' => 304112, 'time' => 78, 'width' => 39, 'height' => 25, 'value' => 6531031914842725 ],
+ [ 'number' => 69, 'date' => '2015-07-20', 'title' => 'Totient maximum', 'abbreviated' => false, 'steps' => 35542, 'time' => 16, 'width' => 80, 'height' => 10, 'value' => 510510 ],
+ [ 'number' => 70, 'date' => '2015-08-18', 'title' => 'Totient permutation', 'abbreviated' => false, 'steps' => 29380799, 'time' => 3713, 'width' => 150, 'height' => 47, 'value' => 8319823 ],
+ [ 'number' => 71, 'date' => '2015-08-19', 'title' => 'Ordered fractions', 'abbreviated' => false, 'steps' => 77428679, 'time' => 11981, 'width' => 73, 'height' => 8, 'value' => 428570 ],
+ [ 'number' => 72, 'date' => '2015-08-21', 'title' => 'Counting fractions', 'abbreviated' => true, 'steps' => 339636085, 'time' => 50606, 'width' => 486, 'height' => 1047, 'value' => 303963552391 ],
+ [ 'number' => 73, 'date' => '2015-08-21', 'title' => 'Counting fractions in a range', 'abbreviated' => true, 'steps' => 1281174401, 'time' => 202458, 'width' => 2000, 'height' => 12010, 'value' => 7295372 ],
+ [ 'number' => 74, 'date' => '2015-08-25', 'title' => 'Digit factorial chains', 'abbreviated' => true, 'steps' => 376912541, 'time' => 49187, 'width' => 1224, 'height' => 833, 'value' => 402 ],
+ [ 'number' => 75, 'date' => '2015-08-26', 'title' => 'Singular integer right triangles', 'abbreviated' => true, 'steps' => 293080647, 'time' => 39951, 'width' => 1000, 'height' => 1515, 'value' => 161667 ],
+ [ 'number' => 76, 'date' => '2015-08-26', 'title' => 'Counting summations', 'abbreviated' => false, 'steps' => 296178, 'time' => 32, 'width' => 104, 'height' => 108, 'value' => 190569291 ],
+ [ 'number' => 77, 'date' => '2015-08-28', 'title' => 'Prime summations', 'abbreviated' => false, 'steps' => 312139, 'time' => 47, 'width' => 101, 'height' => 39, 'value' => 71 ],
+ [ 'number' => 78, 'date' => '2015-09-08', 'title' => 'Coin partitions', 'abbreviated' => true, 'steps' => 1191633332, 'time' => 170946, 'width' => 251, 'height' => 256, 'value' => 55374 ],
+ [ 'number' => 79, 'date' => '2015-09-09', 'title' => 'Passcode derivation', 'abbreviated' => false, 'steps' => 12040, 'time' => 0, 'width' => 56, 'height' => 21, 'value' => 73162890 ],
+ [ 'number' => 80, 'date' => '2015-09-11', 'title' => 'Square root digital expansion', 'abbreviated' => false, 'steps' => 540417723, 'time' => 116439, 'width' => 69, 'height' => 18, 'value' => 40886 ],
+ [ 'number' => 81, 'date' => '2015-09-12', 'title' => 'Path sum: two ways', 'abbreviated' => true, 'steps' => 1697244, 'time' => 234, 'width' => 500, 'height' => 180, 'value' => 427337 ],
+ [ 'number' => 82, 'date' => '2015-09-12', 'title' => 'Path sum: three ways', 'abbreviated' => true, 'steps' => 13777233, 'time' => 2106, 'width' => 500, 'height' => 180, 'value' => 260324 ],
+ [ 'number' => 83, 'date' => '2015-09-12', 'title' => 'Path sum: four ways', 'abbreviated' => true, 'steps' => 11718762, 'time' => 1748, 'width' => 500, 'height' => 180, 'value' => 425185 ],
+ [ 'number' => 84, 'date' => '2015-09-16', 'title' => 'Monopoly odds', 'abbreviated' => false, 'steps' => 146519794, 'time' => 19203, 'width' => 77, 'height' => 20, 'value' => 101524 ],
+ [ 'number' => 85, 'date' => '2015-10-03', 'title' => 'Counting rectangles', 'abbreviated' => false, 'steps' => 880151, 'time' => 109, 'width' => 35, 'height' => 8, 'value' => 2772 ],
+ [ 'number' => 86, 'date' => '2015-10-30', 'title' => 'Cuboid route', 'abbreviated' => false, 'steps' => 599659030, 'time' => 91822, 'width' => 66, 'height' => 10, 'value' => 1818 ],
+ [ 'number' => 87, 'date' => '2015-10-30', 'title' => 'Prime power triples', 'abbreviated' => true, 'steps' => 181436097, 'time' => 27067, 'width' => 1000, 'height' => 1018, 'value' => 1097343 ],
+ [ 'number' => 88, 'date' => '2015-12-18', 'title' => 'Product-sum numbers', 'abbreviated' => true, 'steps' => 141097978, 'time' => 23852, 'width' => 1024, 'height' => 50, 'value' => 7587457 ],
+ [ 'number' => 89, 'date' => '2015-12-25', 'title' => 'Roman numerals', 'abbreviated' => true, 'steps' => 569231, 'time' => 78, 'width' => 73, 'height' => 1009, 'value' => 743 ],
+ [ 'number' => 90, 'date' => '2016-05-21', 'title' => 'Cube digit pairs', 'abbreviated' => false, 'steps' => 335326352, 'time' => 54366, 'width' => 80, 'height' => 45, 'value' => 1217 ],
+ [ 'number' => 91, 'date' => '2016-05-26', 'title' => 'Right triangles with integer coordinates', 'abbreviated' => false, 'steps' => 3072923, 'time' => 343, 'width' => 36, 'height' => 5, 'value' => 14234 ],
+ [ 'number' => 92, 'date' => '2016-08-25', 'title' => 'Square digit chains', 'abbreviated' => false, 'steps' => 2959813630, 'time' => 379925, 'width' => 80, 'height' => 16, 'value' => 8581146 ],
+ [ 'number' => 93, 'date' => '2016-08-26', 'title' => 'Arithmetic expressions', 'abbreviated' => false, 'steps' => 305514916, 'time' => 42167, 'width' => 111, 'height' => 211, 'value' => 1258 ],
+ [ 'number' => 94, 'date' => '2016-09-01', 'title' => 'Almost equilateral triangles', 'abbreviated' => false, 'steps' => 2009, 'time' => 0, 'width' => 40, 'height' => 5, 'value' => 518408346 ],
+ [ 'number' => 95, 'date' => '2016-09-18', 'title' => 'Amicable chains', 'abbreviated' => true, 'steps' => 1053466251, 'time' => 242737, 'width' => 2017, 'height' => 1035, 'value' => 14316 ],
+ [ 'number' => 96, 'date' => '2016-10-25', 'title' => 'Su Doku', 'abbreviated' => false, 'steps' => 583893708, 'time' => 90918, 'width' => 218, 'height' => 50, 'value' => 24702 ],
+ [ 'number' => 97, 'date' => '2016-10-28', 'title' => 'Large non-Mersenne prime', 'abbreviated' => false, 'steps' => 164439636, 'time' => 21091, 'width' => 13, 'height' => 5, 'value' => 8739992577 ],
+ [ 'number' => 98, 'date' => '2016-12-11', 'title' => 'Anagramic squares', 'abbreviated' => true, 'steps' => 145592567, 'time' => 22714, 'width' => 258, 'height' => 199, 'value' => 18769 ],
+ [ 'number' => 99, 'date' => '2017-01-13', 'title' => 'Largest exponential', 'abbreviated' => true, 'steps' => 5072021, 'time' => 1107, 'width' => 63, 'height' => 1000, 'value' => 709 ],
+ [ 'number' => 100, 'date' => '2017-05-03', 'title' => 'Arranged probability', 'abbreviated' => false, 'steps' => 1649, 'time' => 0, 'width' => 56, 'height' => 3, 'value' => 756872327473 ],
+ [ 'number' => 101, 'date' => '2017-11-19', 'title' => 'Optimum polynomial', 'abbreviated' => false, 'steps' => 1825656, 'time' => 250, 'width' => 83, 'height' => 37, 'value' => 37076114526 ],
+ [ 'number' => 102, 'date' => '2017-11-20', 'title' => 'Triangle containment', 'abbreviated' => true, 'steps' => 1995449, 'time' => 281, 'width' => 80, 'height' => 1009, 'value' => 228 ],
+ ];
diff --git a/www/statics/programs/All in One.php b/www/statics/programs/All in One.php
deleted file mode 100644
index a5a18ef..0000000
--- a/www/statics/programs/All in One.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'All in One',
- 'category' => 'Tool',
- 'stars' => 1,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'A little \"swiss army knife\" programm with over 100 different functionalities',
- 'add_date' => '2008-11-26',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/All in One_description.md'); },
- 'thumbnail_name' => 'All in One.png',
-];
diff --git a/www/statics/programs/Beepster.php b/www/statics/programs/Beepster.php
deleted file mode 100644
index aec3e9b..0000000
--- a/www/statics/programs/Beepster.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'Beepster',
- 'category' => 'Hoax',
- 'stars' => 0,
- 'ui_language' => 'English',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Annoy your teachers/freinds with a very high pitched sound, even without external" +
- " speakers.',
- 'add_date' => '2008-06-04',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Beepster_description.md'); },
- 'thumbnail_name' => 'Beepster.png',
-];
diff --git a/www/statics/programs/BefunUtils.php b/www/statics/programs/BefunUtils.php
deleted file mode 100644
index 086e257..0000000
--- a/www/statics/programs/BefunUtils.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'BefunUtils',
- 'category' => 'Compiler',
- 'stars' => 4,
- 'ui_language' => 'English',
- 'prog_language' => 'C#',
- 'short_description' => 'My selfmade Code-to-Befunge93 compiler, with a few little extras.',
- 'add_date' => '2014-08-04',
- 'urls' =>
- [
- 'github' => 'https://github.com/Mikescher/BefunUtils',
- 'wiki' => 'https://github.com/Mikescher/BefunUtils/wiki',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/BefunUtils_description.md'); },
- 'thumbnail_name' => 'BefunUtils.png',
-];
diff --git a/www/statics/programs/BefunZ.php b/www/statics/programs/BefunZ.php
deleted file mode 100644
index f53a870..0000000
--- a/www/statics/programs/BefunZ.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'BefunZ',
- 'category' => 'Interpreter',
- 'stars' => 3,
- 'ui_language' => 'English',
- 'prog_language' => 'C#',
- 'short_description' => 'A Befunge-93 Interpreter compatible with Befunge-98 dimensions.',
- 'add_date' => '2013-05-03',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/BefunZ_description.md'); },
- 'thumbnail_name' => 'BefunZ.png',
-];
diff --git a/www/statics/programs/Blitzer.php b/www/statics/programs/Blitzer.php
deleted file mode 100644
index 5e30a5e..0000000
--- a/www/statics/programs/Blitzer.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Blitzer',
- 'category' => 'Hoax',
- 'stars' => 0,
- 'ui_language' => 'English',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Hoax you teachers/friends with flashing lights on your monitor.',
- 'add_date' => '2008-05-05',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Blitzer_description.md'); },
- 'thumbnail_name' => 'Blitzer.png',
-];
diff --git a/www/statics/programs/Borderline Defense.php b/www/statics/programs/Borderline Defense.php
deleted file mode 100644
index f83304f..0000000
--- a/www/statics/programs/Borderline Defense.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'Borderline Defense',
- 'category' => 'Game',
- 'stars' => 4,
- 'ui_language' => 'English',
- 'prog_language' => 'Java',
- 'short_description' => 'A improved Space-Invaders clone - programmed from the Java-AG, Oken.',
- 'add_date' => '2012-05-24',
- 'urls' =>
- [
- 'download' => 'direkt',
- 'homepage' => 'http://borderlinedefense.99k.org/',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Borderline Defense_description.md'); },
- 'thumbnail_name' => 'Borderline Defense.png',
-];
diff --git a/www/statics/programs/Crystal Grid.php b/www/statics/programs/Crystal Grid.php
deleted file mode 100644
index 9a64784..0000000
--- a/www/statics/programs/Crystal Grid.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Crystal Grid',
- 'category' => 'Game',
- 'stars' => 4,
- 'ui_language' => 'English',
- 'prog_language' => 'Java',
- 'short_description' => 'A challenging, tactical mini-game in blueprint-style.',
- 'add_date' => '2013-01-03',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Crystal Grid_description.md'); },
- 'thumbnail_name' => 'Crystal Grid.png',
-];
diff --git a/www/statics/programs/Deal or no Deal.php b/www/statics/programs/Deal or no Deal.php
deleted file mode 100644
index 01bb5b0..0000000
--- a/www/statics/programs/Deal or no Deal.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Deal or no Deal',
- 'category' => 'Game',
- 'stars' => 0,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'A digital version of the same-named german tv-show game.',
- 'add_date' => '2008-10-08',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Deal or no Deal_description.md'); },
- 'thumbnail_name' => 'Deal or no Deal.png',
-];
diff --git a/www/statics/programs/Dynamic Link Fighters.php b/www/statics/programs/Dynamic Link Fighters.php
deleted file mode 100644
index baa3463..0000000
--- a/www/statics/programs/Dynamic Link Fighters.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Dynamic Link Fighters',
- 'category' => 'Game',
- 'stars' => 1,
- 'ui_language' => 'English|German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Program your own KI and let it fight against others in a brutal deathmatch.',
- 'add_date' => '2010-12-04',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Dynamic Link Fighters_description.md'); },
- 'thumbnail_name' => 'Dynamic Link Fighters.png',
-];
diff --git a/www/statics/programs/ExtendedGitGraph.php b/www/statics/programs/ExtendedGitGraph.php
deleted file mode 100644
index f697438..0000000
--- a/www/statics/programs/ExtendedGitGraph.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'ExtendedGitGraph',
- 'category' => 'Library',
- 'stars' => 2,
- 'ui_language' => 'English',
- 'prog_language' => 'PHP',
- 'short_description' => 'A simple php module to display a overview of you github commits',
- 'add_date' => '2014-06-08',
- 'urls' =>
- [
- 'download' => 'https://github.com/Mikescher/extendedGitGraph/',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/ExtendedGitGraph_description.md'); },
- 'thumbnail_name' => 'ExtendedGitGraph.png',
-];
diff --git a/www/statics/programs/Graveyard of Numbers.php b/www/statics/programs/Graveyard of Numbers.php
deleted file mode 100644
index 20de856..0000000
--- a/www/statics/programs/Graveyard of Numbers.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Graveyard of Numbers',
- 'category' => 'Tool',
- 'stars' => 0,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'A little tool to continuously rename files.',
- 'add_date' => '2008-10-01',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Graveyard of Numbers_description.md'); },
- 'thumbnail_name' => 'Graveyard of Numbers.png',
-];
diff --git a/www/statics/programs/H2O.php b/www/statics/programs/H2O.php
deleted file mode 100644
index cacaf24..0000000
--- a/www/statics/programs/H2O.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'H2O',
- 'category' => 'Game',
- 'stars' => 2,
- 'ui_language' => 'English',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Try creating the biggest chain reaction and see yourself climb up in the global leaderboard.',
- 'add_date' => '2009-01-24',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/H2O_description.md'); },
- 'thumbnail_name' => 'H2O.png',
-];
diff --git a/www/statics/programs/HexSolver.php b/www/statics/programs/HexSolver.php
deleted file mode 100644
index dcb47b4..0000000
--- a/www/statics/programs/HexSolver.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'HexSolver',
- 'category' => 'Tool',
- 'stars' => 5,
- 'ui_language' => 'English',
- 'prog_language' => 'C#',
- 'short_description' => 'An automatic parser and solver for Hexcells, Hexcells Plus and Hexcells Infinite.',
- 'add_date' => '2015-05-06',
- 'urls' =>
- [
- 'github' => 'https://github.com/Mikescher/HexSolver',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/HexSolver_description.md'); },
- 'thumbnail_name' => 'HexSolver.png',
-];
diff --git a/www/statics/programs/Infinity Tournament.php b/www/statics/programs/Infinity Tournament.php
deleted file mode 100644
index c620b01..0000000
--- a/www/statics/programs/Infinity Tournament.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Infinity Tournament',
- 'category' => 'Game',
- 'stars' => 4,
- 'ui_language' => 'English',
- 'prog_language' => 'Java',
- 'short_description' => 'A never ending Tower Defense where you fight against your own score.',
- 'add_date' => '2012-04-14',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Infinity Tournament_description.md'); },
- 'thumbnail_name' => 'Infinity Tournament.png',
-];
diff --git a/www/statics/programs/Keygen Dancer.php b/www/statics/programs/Keygen Dancer.php
deleted file mode 100644
index 1a58445..0000000
--- a/www/statics/programs/Keygen Dancer.php
+++ /dev/null
@@ -1,17 +0,0 @@
- 'Keygen Dancer',
- 'category' => 'Gadget',
- 'stars' => 2,
- 'ui_language' => 'English',
- 'prog_language' => 'Delphi',
- 'short_description' => '40 of the best keygen themes together with a funny little keygen dance animation.',
- 'add_date' => '2010-03-16',
- 'urls' =>
- [
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Keygen Dancer_description.md'); },
- 'thumbnail_name' => 'Keygen Dancer.png',
-];
diff --git a/www/statics/programs/LAN-Control.php b/www/statics/programs/LAN-Control.php
deleted file mode 100644
index 82bab26..0000000
--- a/www/statics/programs/LAN-Control.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'LAN-Control',
- 'category' => 'Network administration',
- 'stars' => 1,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Controll essential features of an other computer over the LAN',
- 'add_date' => '2011-07-05',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/LAN-Control_description.md'); },
- 'thumbnail_name' => 'LAN-Control.png',
-];
diff --git a/www/statics/programs/LightShow.php b/www/statics/programs/LightShow.php
deleted file mode 100644
index 00d8a1a..0000000
--- a/www/statics/programs/LightShow.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'LightShow',
- 'category' => 'Hoax',
- 'stars' => 0,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Turn you keyboard-LED\"s into a little lightshow',
- 'add_date' => '2008-10-12',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/LightShow_description.md'); },
- 'thumbnail_name' => 'LightShow.png',
-];
diff --git a/www/statics/programs/Logistixx.php b/www/statics/programs/Logistixx.php
deleted file mode 100644
index 5e53d23..0000000
--- a/www/statics/programs/Logistixx.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Logistixx',
- 'category' => 'Mathematics',
- 'stars' => 1,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Find the trick to escape the seemingly escape-proof maze.',
- 'add_date' => '2008-12-20',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Logistixx_description.md'); },
- 'thumbnail_name' => 'Logistixx.png',
-];
diff --git a/www/statics/programs/NedSchend.php b/www/statics/programs/NedSchend.php
deleted file mode 100644
index 085db77..0000000
--- a/www/statics/programs/NedSchend.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'NedSchend',
- 'category' => 'Hoax',
- 'stars' => 1,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Send anonymous messages over the Windows Messenger service to other pc\"s in your " +
- "LAN',
- 'add_date' => '2009-02-11',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/NedSchend_description.md'); },
- 'thumbnail_name' => 'NedSchend.png',
-];
diff --git a/www/statics/programs/Passpad.php b/www/statics/programs/Passpad.php
deleted file mode 100644
index adb8df1..0000000
--- a/www/statics/programs/Passpad.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'Passpad',
- 'category' => 'Tool',
- 'stars' => 3,
- 'ui_language' => 'English',
- 'prog_language' => 'C#',
- 'short_description' => 'A texteditor for encrypted textfiles (AES, Twofish, Blowfish, ...)',
- 'add_date' => '2015-11-26',
- 'urls' =>
- [
- 'download' => 'https://github.com/Mikescher/Passpad/releases',
- 'github' => 'https://github.com/Mikescher/Passpad',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Passpad_description.md'); },
- 'thumbnail_name' => 'Passpad.png',
-];
diff --git a/www/statics/programs/Serpilicum.php b/www/statics/programs/Serpilicum.php
deleted file mode 100644
index a180e91..0000000
--- a/www/statics/programs/Serpilicum.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'Serpilicum',
- 'category' => 'Game',
- 'stars' => 3,
- 'ui_language' => 'English',
- 'prog_language' => 'C++',
- 'short_description' => 'A crazy little Snake with an \"Console\" Style',
- 'add_date' => '2013-07-08',
- 'urls' =>
- [
- 'download' => 'direkt',
- 'github' => 'https://github.com/Mikescher/Serpilicum',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Serpilicum_description.md'); },
- 'thumbnail_name' => 'Serpilicum.png',
-];
diff --git a/www/statics/programs/SharkSim.php b/www/statics/programs/SharkSim.php
deleted file mode 100644
index 400f040..0000000
--- a/www/statics/programs/SharkSim.php
+++ /dev/null
@@ -1,17 +0,0 @@
- 'SharkSim',
- 'category' => 'Simulation',
- 'stars' => 3,
- 'ui_language' => 'English',
- 'prog_language' => 'C++',
- 'short_description' => 'A simple implementation of the Wa-Tor cellular automaton',
- 'add_date' => '2013-07-12',
- 'urls' =>
- [
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/SharkSim_description.md'); },
- 'thumbnail_name' => 'SharkSim.png',
-];
diff --git a/www/statics/programs/Sieb des Eratosthenes.php b/www/statics/programs/Sieb des Eratosthenes.php
deleted file mode 100644
index 5431734..0000000
--- a/www/statics/programs/Sieb des Eratosthenes.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Sieb des Eratosthenes',
- 'category' => 'Mathematics',
- 'stars' => 1,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Visualize the prime number calculation with the Sieve of Erastothenes algorithm.',
- 'add_date' => '2009-01-22',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Sieb des Eratosthenes_description.md'); },
- 'thumbnail_name' => 'Sieb des Eratosthenes.png',
-];
diff --git a/www/statics/programs/Smart Directory Lister.php b/www/statics/programs/Smart Directory Lister.php
deleted file mode 100644
index 30b6cfe..0000000
--- a/www/statics/programs/Smart Directory Lister.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Smart Directory Lister',
- 'category' => 'Tool',
- 'stars' => 2,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'List all files in a folder that match a specific pattern and export them in plaintext.',
- 'add_date' => '2010-01-12',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Smart Directory Lister_description.md'); },
- 'thumbnail_name' => 'Smart Directory Lister.png',
-];
diff --git a/www/statics/programs/SuperBitBros.php b/www/statics/programs/SuperBitBros.php
deleted file mode 100644
index 098d67f..0000000
--- a/www/statics/programs/SuperBitBros.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'SuperBitBros',
- 'category' => 'Game',
- 'stars' => 4,
- 'ui_language' => 'English',
- 'prog_language' => 'C#',
- 'short_description' => 'A clone of all original SuperMarioBros (NES) levels, with a few tweaks.',
- 'add_date' => '2013-10-17',
- 'urls' =>
- [
- 'download' => 'direkt',
- 'github' => 'https://github.com/Mikescher/SuperBitBros',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/SuperBitBros_description.md'); },
- 'thumbnail_name' => 'SuperBitBros.png',
-];
diff --git a/www/statics/programs/TicTacToe.php b/www/statics/programs/TicTacToe.php
deleted file mode 100644
index 4e1a257..0000000
--- a/www/statics/programs/TicTacToe.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'TicTacToe',
- 'category' => 'Game',
- 'stars' => 1,
- 'ui_language' => 'English',
- 'prog_language' => 'Delphi',
- 'short_description' => 'The classical Tic-Tac-Toe, complete with perfect KI and Sourcecode.',
- 'add_date' => '2011-01-19',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/TicTacToe_description.md'); },
- 'thumbnail_name' => 'TicTacToe.png',
-];
diff --git a/www/statics/programs/Ziegenproblem.php b/www/statics/programs/Ziegenproblem.php
deleted file mode 100644
index baa2448..0000000
--- a/www/statics/programs/Ziegenproblem.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'Ziegenproblem',
- 'category' => 'Mathematics',
- 'stars' => 0,
- 'ui_language' => 'German',
- 'prog_language' => 'Delphi',
- 'short_description' => 'Simulate the popular Monty Hall problem (ger: Ziegenproblem) with this program for yourself.',
- 'add_date' => '2008-04-10',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/Ziegenproblem_description.md'); },
- 'thumbnail_name' => 'Ziegenproblem.png',
-];
diff --git a/www/statics/programs/__all.php b/www/statics/programs/__all.php
new file mode 100644
index 0000000..02921ef
--- /dev/null
+++ b/www/statics/programs/__all.php
@@ -0,0 +1,553 @@
+ 'absCanvas',
+ 'category' => 'Engine',
+ 'stars' => 3,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Java',
+ 'short_description' => 'A powerful 2D Tiled-Game-Engine for java. Completely in canvas and with network support.',
+ 'add_date' => '2012-05-28',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/absCanvas_description.md'); },
+ 'thumbnail_name' => 'absCanvas.png',
+ ],
+
+
+ [
+ 'name' => 'All in One',
+ 'category' => 'Tool',
+ 'stars' => 1,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'A little \"swiss army knife\" programm with over 100 different functionalities',
+ 'add_date' => '2008-11-26',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/All in One_description.md'); },
+ 'thumbnail_name' => 'All in One.png',
+ ],
+
+
+ [
+ 'name' => 'Beepster',
+ 'category' => 'Hoax',
+ 'stars' => 0,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Annoy your teachers/freinds with a very high pitched sound, even without external speakers.',
+ 'add_date' => '2008-06-04',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Beepster_description.md'); },
+ 'thumbnail_name' => 'Beepster.png',
+ ],
+
+
+ [
+ 'name' => 'BefunUtils',
+ 'category' => 'Compiler',
+ 'stars' => 4,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C#',
+ 'short_description' => 'My selfmade Code-to-Befunge93 compiler, with a few little extras.',
+ 'add_date' => '2014-08-04',
+ 'urls' =>
+ [
+ 'github' => 'https://github.com/Mikescher/BefunUtils',
+ 'wiki' => 'https://github.com/Mikescher/BefunUtils/wiki',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/BefunUtils_description.md'); },
+ 'thumbnail_name' => 'BefunUtils.png',
+ ],
+
+
+ [
+ 'name' => 'BefunZ',
+ 'category' => 'Interpreter',
+ 'stars' => 3,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C#',
+ 'short_description' => 'A Befunge-93 Interpreter compatible with Befunge-98 dimensions.',
+ 'add_date' => '2013-05-03',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/BefunZ_description.md'); },
+ 'thumbnail_name' => 'BefunZ.png',
+ ],
+
+
+ [
+ 'name' => 'Blitzer',
+ 'category' => 'Hoax',
+ 'stars' => 0,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Hoax you teachers/friends with flashing lights on your monitor.',
+ 'add_date' => '2008-05-05',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Blitzer_description.md'); },
+ 'thumbnail_name' => 'Blitzer.png',
+ ],
+
+
+ [
+ 'name' => 'Borderline Defense',
+ 'category' => 'Game',
+ 'stars' => 4,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Java',
+ 'short_description' => 'A improved Space-Invaders clone - programmed from the Java-AG, Oken.',
+ 'add_date' => '2012-05-24',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ 'homepage' => 'http://borderlinedefense.99k.org/',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Borderline Defense_description.md'); },
+ 'thumbnail_name' => 'Borderline Defense.png',
+ ],
+
+
+ [
+ 'name' => 'Crystal Grid',
+ 'category' => 'Game',
+ 'stars' => 4,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Java',
+ 'short_description' => 'A challenging, tactical mini-game in blueprint-style.',
+ 'add_date' => '2013-01-03',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Crystal Grid_description.md'); },
+ 'thumbnail_name' => 'Crystal Grid.png',
+ ],
+
+
+ [
+ 'name' => 'Deal or no Deal',
+ 'category' => 'Game',
+ 'stars' => 0,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'A digital version of the same-named german tv-show game.',
+ 'add_date' => '2008-10-08',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Deal or no Deal_description.md'); },
+ 'thumbnail_name' => 'Deal or no Deal.png',
+ ],
+
+
+ [
+ 'name' => 'Dynamic Link Fighters',
+ 'category' => 'Game',
+ 'stars' => 1,
+ 'ui_language' => 'English|German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Program your own KI and let it fight against others in a brutal deathmatch.',
+ 'add_date' => '2010-12-04',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Dynamic Link Fighters_description.md'); },
+ 'thumbnail_name' => 'Dynamic Link Fighters.png',
+ ],
+
+
+ [
+ 'name' => 'exeExtract',
+ 'category' => 'Tool',
+ 'stars' => 0,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'A simple tool to copy all files of a specific extension from a folder.',
+ 'add_date' => '2008-03-26',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/exeExtract_description.md'); },
+ 'thumbnail_name' => 'exeExtract.png',
+ ],
+
+
+ [
+ 'name' => 'ExtendedGitGraph',
+ 'category' => 'Library',
+ 'stars' => 2,
+ 'ui_language' => 'English',
+ 'prog_language' => 'PHP',
+ 'short_description' => 'A simple php module to display a overview of you github commits',
+ 'add_date' => '2014-06-08',
+ 'urls' =>
+ [
+ 'download' => 'https://github.com/Mikescher/extendedGitGraph/',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/ExtendedGitGraph_description.md'); },
+ 'thumbnail_name' => 'ExtendedGitGraph.png',
+ ],
+
+
+ [
+ 'name' => 'Graveyard of Numbers',
+ 'category' => 'Tool',
+ 'stars' => 0,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'A little tool to continuously rename files.',
+ 'add_date' => '2008-10-01',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Graveyard of Numbers_description.md'); },
+ 'thumbnail_name' => 'Graveyard of Numbers.png',
+ ],
+
+
+ [
+ 'name' => 'H2O',
+ 'category' => 'Game',
+ 'stars' => 2,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Try creating the biggest chain reaction and see yourself climb up in the global leaderboard.',
+ 'add_date' => '2009-01-24',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/H2O_description.md'); },
+ 'thumbnail_name' => 'H2O.png',
+ ],
+
+
+ [
+ 'name' => 'HexSolver',
+ 'category' => 'Tool',
+ 'stars' => 5,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C#',
+ 'short_description' => 'An automatic parser and solver for Hexcells, Hexcells Plus and Hexcells Infinite.',
+ 'add_date' => '2015-05-06',
+ 'urls' =>
+ [
+ 'github' => 'https://github.com/Mikescher/HexSolver',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/HexSolver_description.md'); },
+ 'thumbnail_name' => 'HexSolver.png',
+ ],
+
+
+ [
+ 'name' => 'Infinity Tournament',
+ 'category' => 'Game',
+ 'stars' => 4,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Java',
+ 'short_description' => 'A never ending Tower Defense where you fight against your own score.',
+ 'add_date' => '2012-04-14',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Infinity Tournament_description.md'); },
+ 'thumbnail_name' => 'Infinity Tournament.png',
+ ],
+
+
+ [
+ 'name' => 'jCircuits',
+ 'category' => 'Simulation',
+ 'stars' => 4,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Java',
+ 'short_description' => 'A fully featured logical circuit simulator with many prebuild components',
+ 'add_date' => '2011-12-16',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ 'sourceforge' => 'http://sourceforge.net/projects/jcircuits/',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/jCircuits_description.md'); },
+ 'thumbnail_name' => 'jCircuits.png',
+ ],
+
+
+ [
+ 'name' => 'jClipCorn',
+ 'category' => 'Tool',
+ 'stars' => 4,
+ 'ui_language' => 'English|German',
+ 'prog_language' => 'Java',
+ 'short_description' => 'Organize your movies and series on an external hard drive.',
+ 'add_date' => '2012-10-28',
+ 'urls' =>
+ [
+ 'download' => 'https://github.com/Mikescher/jClipCorn/releases',
+ 'github' => 'https://github.com/Mikescher/jClipCorn/',
+ 'wiki' => 'https://github.com/Mikescher/jClipCorn/wiki',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/jClipCorn_description.md'); },
+ 'thumbnail_name' => 'jClipCorn.png',
+ ],
+
+
+ [
+ 'name' => 'jQCCounter',
+ 'category' => 'Tool',
+ 'stars' => 3,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Java',
+ 'short_description' => 'A little tool to find the \"line of codes\" of multiple projects',
+ 'add_date' => '2014-04-27',
+ 'urls' =>
+ [
+ 'github' => 'https://github.com/Mikescher/jQCCounter',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/jQCCounter_description.md'); },
+ 'thumbnail_name' => 'jQCCounter.png',
+ ],
+
+
+ [
+ 'name' => 'Keygen Dancer',
+ 'category' => 'Gadget',
+ 'stars' => 2,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Delphi',
+ 'short_description' => '40 of the best keygen themes together with a funny little keygen dance animation.',
+ 'add_date' => '2010-03-16',
+ 'urls' =>
+ [
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Keygen Dancer_description.md'); },
+ 'thumbnail_name' => 'Keygen Dancer.png',
+ ],
+
+
+ [
+ 'name' => 'LAN-Control',
+ 'category' => 'Network administration',
+ 'stars' => 1,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Controll essential features of an other computer over the LAN',
+ 'add_date' => '2011-07-05',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/LAN-Control_description.md'); },
+ 'thumbnail_name' => 'LAN-Control.png',
+ ],
+
+
+ [
+ 'name' => 'LightShow',
+ 'category' => 'Hoax',
+ 'stars' => 0,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Turn you keyboard-LED\"s into a little lightshow',
+ 'add_date' => '2008-10-12',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/LightShow_description.md'); },
+ 'thumbnail_name' => 'LightShow.png',
+ ],
+
+
+ [
+ 'name' => 'Logistixx',
+ 'category' => 'Mathematics',
+ 'stars' => 1,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Find the trick to escape the seemingly escape-proof maze.',
+ 'add_date' => '2008-12-20',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Logistixx_description.md'); },
+ 'thumbnail_name' => 'Logistixx.png',
+ ],
+
+
+ [
+ 'name' => 'NedSchend',
+ 'category' => 'Hoax',
+ 'stars' => 1,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Send anonymous messages over the Windows Messenger service to other pc\"s in your LAN',
+ 'add_date' => '2009-02-11',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/NedSchend_description.md'); },
+ 'thumbnail_name' => 'NedSchend.png',
+ ],
+
+
+ [
+ 'name' => 'Passpad',
+ 'category' => 'Tool',
+ 'stars' => 3,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C#',
+ 'short_description' => 'A texteditor for encrypted textfiles (AES, Twofish, Blowfish, ...)',
+ 'add_date' => '2015-11-26',
+ 'urls' =>
+ [
+ 'download' => 'https://github.com/Mikescher/Passpad/releases',
+ 'github' => 'https://github.com/Mikescher/Passpad',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Passpad_description.md'); },
+ 'thumbnail_name' => 'Passpad.png',
+ ],
+
+
+ [
+ 'name' => 'Serpilicum',
+ 'category' => 'Game',
+ 'stars' => 3,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C++',
+ 'short_description' => 'A crazy little Snake with an \"Console\" Style',
+ 'add_date' => '2013-07-08',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ 'github' => 'https://github.com/Mikescher/Serpilicum',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Serpilicum_description.md'); },
+ 'thumbnail_name' => 'Serpilicum.png',
+ ],
+
+
+ [
+ 'name' => 'SharkSim',
+ 'category' => 'Simulation',
+ 'stars' => 3,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C++',
+ 'short_description' => 'A simple implementation of the Wa-Tor cellular automaton',
+ 'add_date' => '2013-07-12',
+ 'urls' =>
+ [
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/SharkSim_description.md'); },
+ 'thumbnail_name' => 'SharkSim.png',
+ ],
+
+
+ [
+ 'name' => 'Sieb des Eratosthenes',
+ 'category' => 'Mathematics',
+ 'stars' => 1,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Visualize the prime number calculation with the Sieve of Erastothenes algorithm.',
+ 'add_date' => '2009-01-22',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Sieb des Eratosthenes_description.md'); },
+ 'thumbnail_name' => 'Sieb des Eratosthenes.png',
+ ],
+
+
+ [
+ 'name' => 'Smart Directory Lister',
+ 'category' => 'Tool',
+ 'stars' => 2,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'List all files in a folder that match a specific pattern and export them in plaintext.',
+ 'add_date' => '2010-01-12',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Smart Directory Lister_description.md'); },
+ 'thumbnail_name' => 'Smart Directory Lister.png',
+ ],
+
+
+ [
+ 'name' => 'SuperBitBros',
+ 'category' => 'Game',
+ 'stars' => 4,
+ 'ui_language' => 'English',
+ 'prog_language' => 'C#',
+ 'short_description' => 'A clone of all original SuperMarioBros (NES) levels, with a few tweaks.',
+ 'add_date' => '2013-10-17',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ 'github' => 'https://github.com/Mikescher/SuperBitBros',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/SuperBitBros_description.md'); },
+ 'thumbnail_name' => 'SuperBitBros.png',
+ ],
+
+
+ [
+ 'name' => 'TicTacToe',
+ 'category' => 'Game',
+ 'stars' => 1,
+ 'ui_language' => 'English',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'The classical Tic-Tac-Toe, complete with perfect KI and Sourcecode.',
+ 'add_date' => '2011-01-19',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/TicTacToe_description.md'); },
+ 'thumbnail_name' => 'TicTacToe.png',
+ ],
+
+
+ [
+ 'name' => 'Ziegenproblem',
+ 'category' => 'Mathematics',
+ 'stars' => 0,
+ 'ui_language' => 'German',
+ 'prog_language' => 'Delphi',
+ 'short_description' => 'Simulate the popular Monty Hall problem (ger: Ziegenproblem) with this program for yourself.',
+ 'add_date' => '2008-04-10',
+ 'urls' =>
+ [
+ 'download' => 'direkt',
+ ],
+ 'long_description' => function(){ return file_get_contents(__DIR__ . '/Ziegenproblem_description.md'); },
+ 'thumbnail_name' => 'Ziegenproblem.png',
+ ],
+];
\ No newline at end of file
diff --git a/www/statics/programs/absCanvas.php b/www/statics/programs/absCanvas.php
deleted file mode 100644
index 8b18509..0000000
--- a/www/statics/programs/absCanvas.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'absCanvas',
- 'category' => 'Engine',
- 'stars' => 3,
- 'ui_language' => 'English',
- 'prog_language' => 'Java',
- 'short_description' => 'A powerful 2D Tiled-Game-Engine for java. Completely in canvas and with network support.',
- 'add_date' => '2012-05-28',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/absCanvas_description.md'); },
- 'thumbnail_name' => 'absCanvas.png',
-];
diff --git a/www/statics/programs/exeExtract.php b/www/statics/programs/exeExtract.php
deleted file mode 100644
index 5615def..0000000
--- a/www/statics/programs/exeExtract.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'exeExtract',
- 'category' => 'Tool',
- 'stars' => 0,
- 'ui_language' => 'English',
- 'prog_language' => 'Delphi',
- 'short_description' => 'A simple tool to copy all files of a specific extension from a folder.',
- 'add_date' => '2008-03-26',
- 'urls' =>
- [
- 'download' => 'direkt',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/exeExtract_description.md'); },
- 'thumbnail_name' => 'exeExtract.png',
-];
diff --git a/www/statics/programs/jCircuits.php b/www/statics/programs/jCircuits.php
deleted file mode 100644
index 148888c..0000000
--- a/www/statics/programs/jCircuits.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'jCircuits',
- 'category' => 'Simulation',
- 'stars' => 4,
- 'ui_language' => 'English',
- 'prog_language' => 'Java',
- 'short_description' => 'A fully featured logical circuit simulator with many prebuild components',
- 'add_date' => '2011-12-16',
- 'urls' =>
- [
- 'download' => 'direkt',
- 'sourceforge' => 'http://sourceforge.net/projects/jcircuits/',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/jCircuits_description.md'); },
- 'thumbnail_name' => 'jCircuits.png',
-];
diff --git a/www/statics/programs/jClipCorn.php b/www/statics/programs/jClipCorn.php
deleted file mode 100644
index 9c61369..0000000
--- a/www/statics/programs/jClipCorn.php
+++ /dev/null
@@ -1,20 +0,0 @@
- 'jClipCorn',
- 'category' => 'Tool',
- 'stars' => 4,
- 'ui_language' => 'English|German',
- 'prog_language' => 'Java',
- 'short_description' => 'Organize your movies and series on an external hard drive.',
- 'add_date' => '2012-10-28',
- 'urls' =>
- [
- 'download' => 'https://github.com/Mikescher/jClipCorn/releases',
- 'github' => 'https://github.com/Mikescher/jClipCorn/',
- 'wiki' => 'https://github.com/Mikescher/jClipCorn/wiki',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/jClipCorn_description.md'); },
- 'thumbnail_name' => 'jClipCorn.png',
-];
diff --git a/www/statics/programs/jQCCounter.php b/www/statics/programs/jQCCounter.php
deleted file mode 100644
index 2de8c8e..0000000
--- a/www/statics/programs/jQCCounter.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'jQCCounter',
- 'category' => 'Tool',
- 'stars' => 3,
- 'ui_language' => 'English',
- 'prog_language' => 'Java',
- 'short_description' => 'A little tool to find the \"line of codes\" of multiple projects',
- 'add_date' => '2014-04-27',
- 'urls' =>
- [
- 'github' => 'https://github.com/Mikescher/jQCCounter',
- ],
- 'long_description' => function(){ return file_get_contents(__DIR__ . '/jQCCounter_description.md'); },
- 'thumbnail_name' => 'jQCCounter.png',
-];