Initial Blog Commit

This commit is contained in:
Juan 2025-07-04 16:10:22 -04:00
commit 07775036ce
92 changed files with 4980 additions and 0 deletions

View file

@ -0,0 +1,675 @@
<!DOCTYPE html>
<html lang="en-us"><head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="Test for C
#define UNICODE
#include &lt;windows.h&gt;
int main(int argc, char **argv) {
int speed = 0, speed1 = 0, speed2 = 0; // 1-20
printf(&#34;Set Mouse Speed by Maverick\n&#34;);
SystemParametersInfo(SPI_GETMOUSESPEED, 0, &amp;speed, 0);
printf(&#34;Current speed: %2d\n&#34;, speed);
if (argc == 1) return 0;
if (argc &gt;= 2) sscanf(argv[1], &#34;%d&#34;, &amp;speed1);
if (argc &gt;= 3) sscanf(argv[2], &#34;%d&#34;, &amp;speed2);
if (argc == 2) // set speed to first value
speed = speed1;
else if (speed == speed1 || speed == speed2) // alternate
speed = speed1 &#43; speed2 - speed;
else
speed = speed1; // start with first value
SystemParametersInfo(SPI_SETMOUSESPEED, 0, speed, 0);
SystemParametersInfo(SPI_GETMOUSESPEED, 0, &amp;speed, 0);
printf(&#34;New speed: %2d\n&#34;, speed);
return 0;
}
Test for Java
import java.util.Map;
import java.util.TreeSet;
public class GetEnv {
/**
* let&#39;s test generics
* @param args the command line arguments
*/
public static void main(String[] args) {
// get a map of environment variables
Map&lt;String, String&gt; env = System.getenv();
// build a sorted set out of the keys and iterate
for(String k: new TreeSet&lt;String&gt;(env.keySet())) {
System.out.printf(&#34;%s = %s\n&#34;, k, env.get(k));
}
}
}
Test for Perl
#!perl -w
# Time-stamp: &lt;2002/04/06, 13:12:13 (EST), maverick, csvformat.pl&gt;
# Two pass CSV file to table formatter
$delim = $#ARGV &gt;= 1 ? $ARGV[1] : &#39;,&#39;;
print STDERR &#34;Split pattern: $delim\n&#34;;
# first pass
open F, &#34;&lt;$ARGV[0]&#34; or die;
while(&lt;F&gt;)
{
chomp;
$i = 0;
map { $max[$_-&gt;[1]] = $_-&gt;[0] if $_-&gt;[0] &gt; ($max[$_-&gt;[1]] || 0) }
(map {[length $_, $i&#43;&#43;]} split($delim));
}
close F;
print STDERR &#39;Field width: &#39;, join(&#39;, &#39;, @max), &#34;\n&#34;;
print STDERR join(&#39; &#39;, map {&#39;-&#39; x $_} @max);
# second pass
open F, &#34;&lt;$ARGV[0]&#34; or die;
while(&lt;F&gt;)
{
chomp;
$i = 0;
map { printf(&#34;%-$max[$_-&gt;[1]]s &#34;, $_-&gt;[0]) }
(map {[$_, $i&#43;&#43;]} split($delim));
print &#34;\n&#34;;
}
close F;
Test for Python
# test python (sample from offlineimap)
class ExitNotifyThread(Thread):
&#34;&#34;&#34;This class is designed to alert a &#34;monitor&#34; to the fact that a thread has
exited and to provide for the ability for it to find out why.&#34;&#34;&#34;
def run(self):
global exitthreads, profiledir
self.threadid = thread.get_ident()
try:
if not profiledir: # normal case
Thread.run(self)
else:
try:
import cProfile as profile
except ImportError:
import profile
prof = profile.Profile()
try:
prof = prof.runctx(&#34;Thread.run(self)&#34;, globals(), locals())
except SystemExit:
pass
prof.dump_stats( \
profiledir &#43; &#34;/&#34; &#43; str(self.threadid) &#43; &#34;_&#34; &#43; \
self.getName() &#43; &#34;.prof&#34;)
except:
self.setExitCause(&#39;EXCEPTION&#39;)
if sys:
self.setExitException(sys.exc_info()[1])
tb = traceback.format_exc()
self.setExitStackTrace(tb)
else:
self.setExitCause(&#39;NORMAL&#39;)
if not hasattr(self, &#39;exitmessage&#39;):
self.setExitMessage(None)
if exitthreads:
exitthreads.put(self, True)
def setExitCause(self, cause):
self.exitcause = cause
def getExitCause(self):
&#34;&#34;&#34;Returns the cause of the exit, one of:
&#39;EXCEPTION&#39; -- the thread aborted because of an exception
&#39;NORMAL&#39; -- normal termination.&#34;&#34;&#34;
return self.exitcause
def setExitException(self, exc):
self.exitexception = exc
def getExitException(self):
&#34;&#34;&#34;If getExitCause() is &#39;EXCEPTION&#39;, holds the value from
sys.exc_info()[1] for this exception.&#34;&#34;&#34;
return self.exitexception
def setExitStackTrace(self, st):
self.exitstacktrace = st
def getExitStackTrace(self):
&#34;&#34;&#34;If getExitCause() is &#39;EXCEPTION&#39;, returns a string representing
the stack trace for this exception.&#34;&#34;&#34;
return self.exitstacktrace
def setExitMessage(self, msg):
&#34;&#34;&#34;Sets the exit message to be fetched by a subsequent call to
getExitMessage. This message may be any object or type except
None.&#34;&#34;&#34;
self.exitmessage = msg
def getExitMessage(self):
&#34;&#34;&#34;For any exit cause, returns the message previously set by
a call to setExitMessage(), or None if there was no such message
set.&#34;&#34;&#34;
return self.exitmessage
Test for Bash
#!/bin/bash
cd $ROOT_DIR
DOT_FILES=&#34;lastpass weechat ssh Xauthority&#34;
for dotfile in $DOT_FILES; do conform_link &#34;$DATA_DIR/$dotfile&#34; &#34;.$dotfile&#34;; done
# TODO: refactor with suffix variables (or common cron values)
case &#34;$PLATFORM&#34; in
linux)
#conform_link &#34;$CONF_DIR/shell/zshenv&#34; &#34;.zshenv&#34;
crontab -l &gt; $ROOT_DIR/tmp/crontab-conflict-arch
cd $ROOT_DIR/$CONF_DIR/cron
if [[ &#34;$(diff ~/tmp/crontab-conflict-arch crontab-current-arch)&#34; == &#34;&#34;
]];
then # no difference with current backup
logger &#34;$LOG_PREFIX: crontab live settings match stored &#34;\
&#34;settings; no restore required&#34;
rm ~/tmp/crontab-conflict-arch
else # current crontab settings in file do not match live settings
crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch
logger &#34;$LOG_PREFIX: crontab stored settings conflict with &#34;\
&#34;live settings; stored settings restored. &#34;\
&#34;Previous settings recorded in ~/tmp/crontab-conflict-arch.&#34;
fi
;;
Test for Haskell
{-# LANGUAGE OverloadedStrings #-}
module Main where
--import Prelude hiding (id)
--import Control.Category (id)
import Control.Arrow ((&gt;&gt;&gt;), (***), arr)
import Control.Monad (forM_)
-- import Data.Monoid (mempty, mconcat)
-- import System.FilePath
import Hakyll
main :: IO ()
main = hakyll $ do
route &#34;css/*&#34; $ setExtension &#34;css&#34;
compile &#34;css/*&#34; $ byExtension (error &#34;Not a (S)CSS file&#34;)
[ (&#34;.css&#34;, compressCssCompiler)
, (&#34;.scss&#34;, sass)
]
route &#34;js/**&#34; idRoute
compile &#34;js/**&#34; copyFileCompiler
route &#34;img/*&#34; idRoute
compile &#34;img/*&#34; copyFileCompiler
compile &#34;templates/*&#34; templateCompiler
forM_ [&#34;test.md&#34;, &#34;index.md&#34;] $ \page -&gt; do
route page $ setExtension &#34;html&#34;
compile page $ pageCompiler
&gt;&gt;&gt; applyTemplateCompiler &#34;templates/default.html&#34;
&gt;&gt;&gt; relativizeUrlsCompiler
sass :: Compiler Resource String
sass = getResourceString &gt;&gt;&gt; unixFilter &#34;sass&#34; [&#34;-s&#34;, &#34;--scss&#34;]
&gt;&gt;&gt; arr compressCss
Test for PHP
&lt;?php
require_once($GLOBALS[&#39;g_campsiteDir&#39;]. &#34;/$ADMIN_DIR/country/common.php&#34;);
require_once($GLOBALS[&#39;g_campsiteDir&#39;]. &#34;/classes/SimplePager.php&#34;);
camp_load_translation_strings(&#34;api&#34;);
$f_country_language_selected = camp_session_get(&#39;f_language_selected&#39;, &#39;&#39;);
$f_country_offset = camp_session_get(&#39;f_country_offset&#39;, 0);
if (empty($f_country_language_selected)) {
$f_country_language_selected = null;
}
$ItemsPerPage = 20;
$languages = Language::GetLanguages(null, null, null, array(), array(), true);
$numCountries = Country::GetNumCountries($f_country_language_selected);
$pager = new SimplePager($numCountries, $ItemsPerPage, &#34;index.php?&#34;);
$crumbs = array();
$crumbs[] = array(getGS(&#34;Configure&#34;), &#34;&#34;);
$crumbs[] = array(getGS(&#34;Countries&#34;), &#34;&#34;);
echo camp_html_breadcrumbs($crumbs);
?&gt;
&lt;?php if ($g_user-&gt;hasPermission(&#34;ManageCountries&#34;)) { ?&gt;
&lt;table BORDER=&#34;0&#34; CELLSPACING=&#34;0&#34; CELLPADDING=&#34;1&#34;&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;add.php&#34;&gt;&lt;?php putGS(&#34;Add new&#34;); ?&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
Test for Javascript
import isTypedArray from &#39;lodash/isTypedArray&#39;;
import reverse from &#39;lodash/reverse&#39;;
import sortBy from &#39;lodash/sortBy&#39;;
import take from &#39;lodash/take&#39;;
import { food101Classes } from &#39;./food101&#39;;
export function food101topK(classProbabilities, k = 5) {
const probs = isTypedArray(classProbabilities)
? Array.prototype.slice.call(classProbabilities)
: classProbabilities;
const sorted = reverse(
sortBy(
probs.map((prob, index) =&gt; [ prob, index ]),
probIndex =&gt; probIndex[0]
)
);
const topK = take(sorted, k).map(probIndex =&gt; {
const iClass = food101Classes[probIndex[1]];
return {
id: probIndex[1],
name: iClass.replace(/_/, &#39; &#39;),
probability: probIndex[0]
};
});
return topK;
};
Test for HTML
&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD HTML 4.01 Transitional//EN&#34;&gt;
&lt;html&gt;&lt;head&gt;
&lt;title&gt;A Tiny Page&lt;/title&gt;
&lt;style type=&#34;text/css&#34;&gt;
&lt;!--
p { font-size:15pt; color:#000 }
--&gt;
&lt;/style&gt;&lt;/head&gt;&lt;!-- real comment --&gt;
&lt;body bgcolor=&#34;#FFFFFF&#34; text=&#34;#000000&#34; link=&#34;#0000CC&#34;&gt;
&lt;script language=&#34;javascript&#34; type=&#34;text/javascript&#34;&gt;
function changeHeight(h) {
var tds = document.getElementsByTagName(&#34;td&#34;);
for(var i = 0; i &lt; tds.length; i&#43;&#43;) {
tds[i].setAttribute(&#34;height&#34;, h &#43; &#34;px&#34;);
}}
&lt;/script&gt;
&lt;h1&gt;abc&lt;/h1&gt;
&lt;h2&gt;def&lt;/h2&gt;
&lt;p&gt;Testing page&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
Test for CSS
/*
Monokai style - ported by Luigi Maselli - http://grigio.org
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #272822; color: #ddd;
}
.hljs-tag,
.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-strong,
.hljs-name {
color: #f92672;
}
.hljs-code {
color: #66d9ef;
}
.hljs-class .hljs-title {
color: white;
}
">
<title>
Test Highlight
</title>
<link rel="shortcut icon" type="image/x-icon" href="/" />
<link rel="stylesheet" href="/css/main.900100e9dbee2d56c58fac8bb717037cae7e26a9c36c29d2ff587bdd65f0cbbe510b41d81a3bb234919cdfdc7550d786b2fab70c8fc507772d732fe097106d12.css" integrity="sha512-kAEA6dvuLVbFj6yLtxcDfK5&#43;JqnDbCnS/1h73WXwy75RC0HYGjuyNJGc39x1UNeGsvq3DI/FB3ctcy/glxBtEg==" />
</head>
<body a="auto">
<main class="page-content" aria-label="Content">
<div class="w">
<div class="post-meta">
<a href="/">..</a>
<p>
<time datetime="2022-08-26 22:29:10 &#43;0800 &#43;0800">
2022-08-26
</time>
</p>
</div>
<article>
<h1>Test Highlight</h1>
<h2 id="test-for-c">Test for C</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c" data-lang="c"><span style="display:flex;"><span><span style="color:#75715e">#define UNICODE
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">#include</span> <span style="color:#75715e">&lt;windows.h&gt;</span><span style="color:#75715e">
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">int</span> <span style="color:#a6e22e">main</span>(<span style="color:#66d9ef">int</span> argc, <span style="color:#66d9ef">char</span> <span style="color:#f92672">**</span>argv) {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">int</span> speed <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>, speed1 <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>, speed2 <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>; <span style="color:#75715e">// 1-20
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> <span style="color:#a6e22e">printf</span>(<span style="color:#e6db74">&#34;Set Mouse Speed by Maverick</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">SystemParametersInfo</span>(SPI_GETMOUSESPEED, <span style="color:#ae81ff">0</span>, <span style="color:#f92672">&amp;</span>speed, <span style="color:#ae81ff">0</span>);
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">printf</span>(<span style="color:#e6db74">&#34;Current speed: %2d</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>, speed);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> (argc <span style="color:#f92672">==</span> <span style="color:#ae81ff">1</span>) <span style="color:#66d9ef">return</span> <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> (argc <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">2</span>) <span style="color:#a6e22e">sscanf</span>(argv[<span style="color:#ae81ff">1</span>], <span style="color:#e6db74">&#34;%d&#34;</span>, <span style="color:#f92672">&amp;</span>speed1);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> (argc <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">3</span>) <span style="color:#a6e22e">sscanf</span>(argv[<span style="color:#ae81ff">2</span>], <span style="color:#e6db74">&#34;%d&#34;</span>, <span style="color:#f92672">&amp;</span>speed2);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> (argc <span style="color:#f92672">==</span> <span style="color:#ae81ff">2</span>) <span style="color:#75715e">// set speed to first value
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> speed <span style="color:#f92672">=</span> speed1;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span> <span style="color:#66d9ef">if</span> (speed <span style="color:#f92672">==</span> speed1 <span style="color:#f92672">||</span> speed <span style="color:#f92672">==</span> speed2) <span style="color:#75715e">// alternate
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> speed <span style="color:#f92672">=</span> speed1 <span style="color:#f92672">+</span> speed2 <span style="color:#f92672">-</span> speed;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>
</span></span><span style="display:flex;"><span> speed <span style="color:#f92672">=</span> speed1; <span style="color:#75715e">// start with first value
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">SystemParametersInfo</span>(SPI_SETMOUSESPEED, <span style="color:#ae81ff">0</span>, speed, <span style="color:#ae81ff">0</span>);
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">SystemParametersInfo</span>(SPI_GETMOUSESPEED, <span style="color:#ae81ff">0</span>, <span style="color:#f92672">&amp;</span>speed, <span style="color:#ae81ff">0</span>);
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">printf</span>(<span style="color:#e6db74">&#34;New speed: %2d</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>, speed);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><h2 id="test-for-java">Test for Java</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> java.util.Map;
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.util.TreeSet;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">GetEnv</span> {
</span></span><span style="display:flex;"><span> <span style="color:#75715e">/**
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"> * let&#39;s test generics
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"> * @param args the command line arguments
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"> */</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span>(String<span style="color:#f92672">[]</span> args) {
</span></span><span style="display:flex;"><span> <span style="color:#75715e">// get a map of environment variables</span>
</span></span><span style="display:flex;"><span> Map<span style="color:#f92672">&lt;</span>String, String<span style="color:#f92672">&gt;</span> env <span style="color:#f92672">=</span> System.<span style="color:#a6e22e">getenv</span>();
</span></span><span style="display:flex;"><span> <span style="color:#75715e">// build a sorted set out of the keys and iterate</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">for</span>(String k: <span style="color:#66d9ef">new</span> TreeSet<span style="color:#f92672">&lt;</span>String<span style="color:#f92672">&gt;</span>(env.<span style="color:#a6e22e">keySet</span>())) {
</span></span><span style="display:flex;"><span> System.<span style="color:#a6e22e">out</span>.<span style="color:#a6e22e">printf</span>(<span style="color:#e6db74">&#34;%s = %s\n&#34;</span>, k, env.<span style="color:#a6e22e">get</span>(k));
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><h2 id="test-for-perl">Test for Perl</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-perl" data-lang="perl"><span style="display:flex;"><span><span style="color:#75715e">#!perl -w</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Time-stamp: &lt;2002/04/06, 13:12:13 (EST), maverick, csvformat.pl&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Two pass CSV file to table formatter</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$delim <span style="color:#f92672">=</span> $#ARGV <span style="color:#f92672">&gt;=</span> <span style="color:#ae81ff">1</span> ? $ARGV[<span style="color:#ae81ff">1</span>] : <span style="color:#e6db74">&#39;,&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">print</span> STDERR <span style="color:#e6db74">&#34;Split pattern: $delim\n&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># first pass</span>
</span></span><span style="display:flex;"><span>open F, <span style="color:#e6db74">&#34;&lt;$ARGV[0]&#34;</span> <span style="color:#f92672">or</span> die;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">while</span>(<span style="color:#e6db74">&lt;F&gt;</span>)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span> chomp;
</span></span><span style="display:flex;"><span> $i <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span> map { $max[$_<span style="color:#f92672">-&gt;</span>[<span style="color:#ae81ff">1</span>]] <span style="color:#f92672">=</span> $_<span style="color:#f92672">-&gt;</span>[<span style="color:#ae81ff">0</span>] <span style="color:#66d9ef">if</span> $_<span style="color:#f92672">-&gt;</span>[<span style="color:#ae81ff">0</span>] <span style="color:#f92672">&gt;</span> ($max[$_<span style="color:#f92672">-&gt;</span>[<span style="color:#ae81ff">1</span>]] <span style="color:#f92672">||</span> <span style="color:#ae81ff">0</span>) }
</span></span><span style="display:flex;"><span> (map {[length $_, $i<span style="color:#f92672">++</span>]} split($delim));
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>close F;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">print</span> STDERR <span style="color:#e6db74">&#39;Field width: &#39;</span>, join(<span style="color:#e6db74">&#39;, &#39;</span>, @max), <span style="color:#e6db74">&#34;\n&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">print</span> STDERR join(<span style="color:#e6db74">&#39; &#39;</span>, map {<span style="color:#e6db74">&#39;-&#39;</span> x $_} @max);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># second pass</span>
</span></span><span style="display:flex;"><span>open F, <span style="color:#e6db74">&#34;&lt;$ARGV[0]&#34;</span> <span style="color:#f92672">or</span> die;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">while</span>(<span style="color:#e6db74">&lt;F&gt;</span>)
</span></span><span style="display:flex;"><span> {
</span></span><span style="display:flex;"><span> chomp;
</span></span><span style="display:flex;"><span> $i <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span> map { printf(<span style="color:#e6db74">&#34;%-$max[$_-&gt;[1]]s &#34;</span>, $_<span style="color:#f92672">-&gt;</span>[<span style="color:#ae81ff">0</span>]) }
</span></span><span style="display:flex;"><span> (map {[$_, $i<span style="color:#f92672">++</span>]} split($delim));
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">print</span> <span style="color:#e6db74">&#34;\n&#34;</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>close F;
</span></span></code></pre></div><h2 id="test-for-python">Test for Python</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># test python (sample from offlineimap)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">ExitNotifyThread</span>(Thread):
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;&#34;&#34;This class is designed to alert a &#34;monitor&#34; to the fact that a thread has
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> exited and to provide for the ability for it to find out why.&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">run</span>(self):
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">global</span> exitthreads, profiledir
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>threadid <span style="color:#f92672">=</span> thread<span style="color:#f92672">.</span>get_ident()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> profiledir: <span style="color:#75715e"># normal case</span>
</span></span><span style="display:flex;"><span> Thread<span style="color:#f92672">.</span>run(self)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">import</span> cProfile <span style="color:#66d9ef">as</span> profile
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ImportError</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">import</span> profile
</span></span><span style="display:flex;"><span> prof <span style="color:#f92672">=</span> profile<span style="color:#f92672">.</span>Profile()
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span> prof <span style="color:#f92672">=</span> prof<span style="color:#f92672">.</span>runctx(<span style="color:#e6db74">&#34;Thread.run(self)&#34;</span>, globals(), locals())
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">SystemExit</span>:
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">pass</span>
</span></span><span style="display:flex;"><span> prof<span style="color:#f92672">.</span>dump_stats( \
</span></span><span style="display:flex;"><span> profiledir <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;/&#34;</span> <span style="color:#f92672">+</span> str(self<span style="color:#f92672">.</span>threadid) <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;_&#34;</span> <span style="color:#f92672">+</span> \
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>getName() <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;.prof&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">except</span>:
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>setExitCause(<span style="color:#e6db74">&#39;EXCEPTION&#39;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> sys:
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>setExitException(sys<span style="color:#f92672">.</span>exc_info()[<span style="color:#ae81ff">1</span>])
</span></span><span style="display:flex;"><span> tb <span style="color:#f92672">=</span> traceback<span style="color:#f92672">.</span>format_exc()
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>setExitStackTrace(tb)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>setExitCause(<span style="color:#e6db74">&#39;NORMAL&#39;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> hasattr(self, <span style="color:#e6db74">&#39;exitmessage&#39;</span>):
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>setExitMessage(<span style="color:#66d9ef">None</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> exitthreads:
</span></span><span style="display:flex;"><span> exitthreads<span style="color:#f92672">.</span>put(self, <span style="color:#66d9ef">True</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">setExitCause</span>(self, cause):
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>exitcause <span style="color:#f92672">=</span> cause
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">getExitCause</span>(self):
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;&#34;&#34;Returns the cause of the exit, one of:
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> &#39;EXCEPTION&#39; -- the thread aborted because of an exception
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> &#39;NORMAL&#39; -- normal termination.&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> self<span style="color:#f92672">.</span>exitcause
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">setExitException</span>(self, exc):
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>exitexception <span style="color:#f92672">=</span> exc
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">getExitException</span>(self):
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;&#34;&#34;If getExitCause() is &#39;EXCEPTION&#39;, holds the value from
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> sys.exc_info()[1] for this exception.&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> self<span style="color:#f92672">.</span>exitexception
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">setExitStackTrace</span>(self, st):
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>exitstacktrace <span style="color:#f92672">=</span> st
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">getExitStackTrace</span>(self):
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;&#34;&#34;If getExitCause() is &#39;EXCEPTION&#39;, returns a string representing
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> the stack trace for this exception.&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> self<span style="color:#f92672">.</span>exitstacktrace
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">setExitMessage</span>(self, msg):
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;&#34;&#34;Sets the exit message to be fetched by a subsequent call to
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> getExitMessage. This message may be any object or type except
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> None.&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span> self<span style="color:#f92672">.</span>exitmessage <span style="color:#f92672">=</span> msg
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">getExitMessage</span>(self):
</span></span><span style="display:flex;"><span> <span style="color:#e6db74">&#34;&#34;&#34;For any exit cause, returns the message previously set by
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> a call to setExitMessage(), or None if there was no such message
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"> set.&#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> self<span style="color:#f92672">.</span>exitmessage
</span></span></code></pre></div><h2 id="test-for-bash">Test for Bash</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e">#!/bin/bash
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>cd $ROOT_DIR
</span></span><span style="display:flex;"><span>DOT_FILES<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;lastpass weechat ssh Xauthority&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> dotfile in $DOT_FILES; <span style="color:#66d9ef">do</span> conform_link <span style="color:#e6db74">&#34;</span>$DATA_DIR<span style="color:#e6db74">/</span>$dotfile<span style="color:#e6db74">&#34;</span> <span style="color:#e6db74">&#34;.</span>$dotfile<span style="color:#e6db74">&#34;</span>; <span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># TODO: refactor with suffix variables (or common cron values)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">case</span> <span style="color:#e6db74">&#34;</span>$PLATFORM<span style="color:#e6db74">&#34;</span> in
</span></span><span style="display:flex;"><span> linux<span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e">#conform_link &#34;$CONF_DIR/shell/zshenv&#34; &#34;.zshenv&#34;</span>
</span></span><span style="display:flex;"><span> crontab -l &gt; $ROOT_DIR/tmp/crontab-conflict-arch
</span></span><span style="display:flex;"><span> cd $ROOT_DIR/$CONF_DIR/cron
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> <span style="color:#e6db74">&#34;</span><span style="color:#66d9ef">$(</span>diff ~/tmp/crontab-conflict-arch crontab-current-arch<span style="color:#66d9ef">)</span><span style="color:#e6db74">&#34;</span> <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">]]</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">then</span> <span style="color:#75715e"># no difference with current backup</span>
</span></span><span style="display:flex;"><span> logger <span style="color:#e6db74">&#34;</span>$LOG_PREFIX<span style="color:#e6db74">: crontab live settings match stored &#34;</span><span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> <span style="color:#e6db74">&#34;settings; no restore required&#34;</span>
</span></span><span style="display:flex;"><span> rm ~/tmp/crontab-conflict-arch
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">else</span> <span style="color:#75715e"># current crontab settings in file do not match live settings</span>
</span></span><span style="display:flex;"><span> crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch
</span></span><span style="display:flex;"><span> logger <span style="color:#e6db74">&#34;</span>$LOG_PREFIX<span style="color:#e6db74">: crontab stored settings conflict with &#34;</span><span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> <span style="color:#e6db74">&#34;live settings; stored settings restored. &#34;</span><span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> <span style="color:#e6db74">&#34;Previous settings recorded in ~/tmp/crontab-conflict-arch.&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">fi</span>
</span></span><span style="display:flex;"><span> ;;
</span></span></code></pre></div><h2 id="test-for-haskell">Test for Haskell</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-haskell" data-lang="haskell"><span style="display:flex;"><span><span style="color:#75715e">{-# LANGUAGE OverloadedStrings #-}</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">module</span> Main <span style="color:#66d9ef">where</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">--import Prelude hiding (id)</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">--import Control.Category (id)</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> Control.Arrow ((<span style="color:#f92672">&gt;&gt;&gt;</span>), (<span style="color:#f92672">***</span>), <span style="color:#a6e22e">arr</span>)
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> Control.Monad (<span style="color:#a6e22e">forM_</span>)
</span></span><span style="display:flex;"><span><span style="color:#75715e">-- import Data.Monoid (mempty, mconcat)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">-- import System.FilePath</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> Hakyll
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">main</span> <span style="color:#f92672">::</span> <span style="color:#66d9ef">IO</span> ()
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">main</span> <span style="color:#f92672">=</span> hakyll <span style="color:#f92672">$</span> <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> route <span style="color:#e6db74">&#34;css/*&#34;</span> <span style="color:#f92672">$</span> setExtension <span style="color:#e6db74">&#34;css&#34;</span>
</span></span><span style="display:flex;"><span> compile <span style="color:#e6db74">&#34;css/*&#34;</span> <span style="color:#f92672">$</span> byExtension (<span style="color:#a6e22e">error</span> <span style="color:#e6db74">&#34;Not a (S)CSS file&#34;</span>)
</span></span><span style="display:flex;"><span> [ (<span style="color:#e6db74">&#34;.css&#34;</span>, compressCssCompiler)
</span></span><span style="display:flex;"><span> , (<span style="color:#e6db74">&#34;.scss&#34;</span>, sass)
</span></span><span style="display:flex;"><span> ]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> route <span style="color:#e6db74">&#34;js/**&#34;</span> idRoute
</span></span><span style="display:flex;"><span> compile <span style="color:#e6db74">&#34;js/**&#34;</span> copyFileCompiler
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> route <span style="color:#e6db74">&#34;img/*&#34;</span> idRoute
</span></span><span style="display:flex;"><span> compile <span style="color:#e6db74">&#34;img/*&#34;</span> copyFileCompiler
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> compile <span style="color:#e6db74">&#34;templates/*&#34;</span> templateCompiler
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> forM_ [<span style="color:#e6db74">&#34;test.md&#34;</span>, <span style="color:#e6db74">&#34;index.md&#34;</span>] <span style="color:#f92672">$</span> <span style="color:#a6e22e">\</span>page <span style="color:#f92672">-&gt;</span> <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span> route page <span style="color:#f92672">$</span> setExtension <span style="color:#e6db74">&#34;html&#34;</span>
</span></span><span style="display:flex;"><span> compile page <span style="color:#f92672">$</span> pageCompiler
</span></span><span style="display:flex;"><span> <span style="color:#f92672">&gt;&gt;&gt;</span> applyTemplateCompiler <span style="color:#e6db74">&#34;templates/default.html&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">&gt;&gt;&gt;</span> relativizeUrlsCompiler
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">sass</span> <span style="color:#f92672">::</span> <span style="color:#66d9ef">Compiler</span> <span style="color:#66d9ef">Resource</span> <span style="color:#66d9ef">String</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">sass</span> <span style="color:#f92672">=</span> getResourceString <span style="color:#f92672">&gt;&gt;&gt;</span> unixFilter <span style="color:#e6db74">&#34;sass&#34;</span> [<span style="color:#e6db74">&#34;-s&#34;</span>, <span style="color:#e6db74">&#34;--scss&#34;</span>]
</span></span><span style="display:flex;"><span> <span style="color:#f92672">&gt;&gt;&gt;</span> arr compressCss
</span></span></code></pre></div><h2 id="test-for-php">Test for PHP</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#f92672">&lt;?</span><span style="color:#a6e22e">php</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">require_once</span>($GLOBALS[<span style="color:#e6db74">&#39;g_campsiteDir&#39;</span>]<span style="color:#f92672">.</span> <span style="color:#e6db74">&#34;/</span><span style="color:#e6db74">$ADMIN_DIR</span><span style="color:#e6db74">/country/common.php&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">require_once</span>($GLOBALS[<span style="color:#e6db74">&#39;g_campsiteDir&#39;</span>]<span style="color:#f92672">.</span> <span style="color:#e6db74">&#34;/classes/SimplePager.php&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">camp_load_translation_strings</span>(<span style="color:#e6db74">&#34;api&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$f_country_language_selected <span style="color:#f92672">=</span> <span style="color:#a6e22e">camp_session_get</span>(<span style="color:#e6db74">&#39;f_language_selected&#39;</span>, <span style="color:#e6db74">&#39;&#39;</span>);
</span></span><span style="display:flex;"><span>$f_country_offset <span style="color:#f92672">=</span> <span style="color:#a6e22e">camp_session_get</span>(<span style="color:#e6db74">&#39;f_country_offset&#39;</span>, <span style="color:#ae81ff">0</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> (<span style="color:#66d9ef">empty</span>($f_country_language_selected)) {
</span></span><span style="display:flex;"><span> $f_country_language_selected <span style="color:#f92672">=</span> <span style="color:#66d9ef">null</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>$ItemsPerPage <span style="color:#f92672">=</span> <span style="color:#ae81ff">20</span>;
</span></span><span style="display:flex;"><span>$languages <span style="color:#f92672">=</span> <span style="color:#a6e22e">Language</span><span style="color:#f92672">::</span><span style="color:#a6e22e">GetLanguages</span>(<span style="color:#66d9ef">null</span>, <span style="color:#66d9ef">null</span>, <span style="color:#66d9ef">null</span>, <span style="color:#66d9ef">array</span>(), <span style="color:#66d9ef">array</span>(), <span style="color:#66d9ef">true</span>);
</span></span><span style="display:flex;"><span>$numCountries <span style="color:#f92672">=</span> <span style="color:#a6e22e">Country</span><span style="color:#f92672">::</span><span style="color:#a6e22e">GetNumCountries</span>($f_country_language_selected);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$pager <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">SimplePager</span>($numCountries, $ItemsPerPage, <span style="color:#e6db74">&#34;index.php?&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>$crumbs <span style="color:#f92672">=</span> <span style="color:#66d9ef">array</span>();
</span></span><span style="display:flex;"><span>$crumbs[] <span style="color:#f92672">=</span> <span style="color:#66d9ef">array</span>(<span style="color:#a6e22e">getGS</span>(<span style="color:#e6db74">&#34;Configure&#34;</span>), <span style="color:#e6db74">&#34;&#34;</span>);
</span></span><span style="display:flex;"><span>$crumbs[] <span style="color:#f92672">=</span> <span style="color:#66d9ef">array</span>(<span style="color:#a6e22e">getGS</span>(<span style="color:#e6db74">&#34;Countries&#34;</span>), <span style="color:#e6db74">&#34;&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">echo</span> <span style="color:#a6e22e">camp_html_breadcrumbs</span>($crumbs);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">?&gt;</span><span style="color:#960050;background-color:#1e0010">
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010">
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010">&lt;?php if ($g_user-&gt;hasPermission(&#34;ManageCountries&#34;)) { ?&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010">&lt;table BORDER=&#34;0&#34; CELLSPACING=&#34;0&#34; CELLPADDING=&#34;1&#34;&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010"> &lt;tr&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010"> &lt;td&gt;&lt;a href=&#34;add.php&#34;&gt;&lt;?php putGS(&#34;Add new&#34;); ?&gt;&lt;/a&gt;&lt;/td&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010"> &lt;/tr&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010">&lt;/table&gt;
</span></span></span></code></pre></div><h2 id="test-for-javascript">Test for Javascript</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-js" data-lang="js"><span style="display:flex;"><span><span style="color:#66d9ef">import</span> <span style="color:#a6e22e">isTypedArray</span> <span style="color:#a6e22e">from</span> <span style="color:#e6db74">&#39;lodash/isTypedArray&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> <span style="color:#a6e22e">reverse</span> <span style="color:#a6e22e">from</span> <span style="color:#e6db74">&#39;lodash/reverse&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> <span style="color:#a6e22e">sortBy</span> <span style="color:#a6e22e">from</span> <span style="color:#e6db74">&#39;lodash/sortBy&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> <span style="color:#a6e22e">take</span> <span style="color:#a6e22e">from</span> <span style="color:#e6db74">&#39;lodash/take&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">import</span> { <span style="color:#a6e22e">food101Classes</span> } <span style="color:#a6e22e">from</span> <span style="color:#e6db74">&#39;./food101&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">export</span> <span style="color:#66d9ef">function</span> <span style="color:#a6e22e">food101topK</span>(<span style="color:#a6e22e">classProbabilities</span>, <span style="color:#a6e22e">k</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">5</span>) {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">probs</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">isTypedArray</span>(<span style="color:#a6e22e">classProbabilities</span>)
</span></span><span style="display:flex;"><span> <span style="color:#f92672">?</span> Array.<span style="color:#a6e22e">prototype</span>.<span style="color:#a6e22e">slice</span>.<span style="color:#a6e22e">call</span>(<span style="color:#a6e22e">classProbabilities</span>)
</span></span><span style="display:flex;"><span> <span style="color:#f92672">:</span> <span style="color:#a6e22e">classProbabilities</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">sorted</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">reverse</span>(
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">sortBy</span>(
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">probs</span>.<span style="color:#a6e22e">map</span>((<span style="color:#a6e22e">prob</span>, <span style="color:#a6e22e">index</span>) =&gt; [ <span style="color:#a6e22e">prob</span>, <span style="color:#a6e22e">index</span> ]),
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">probIndex</span> =&gt; <span style="color:#a6e22e">probIndex</span>[<span style="color:#ae81ff">0</span>]
</span></span><span style="display:flex;"><span> )
</span></span><span style="display:flex;"><span> );
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">topK</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">take</span>(<span style="color:#a6e22e">sorted</span>, <span style="color:#a6e22e">k</span>).<span style="color:#a6e22e">map</span>(<span style="color:#a6e22e">probIndex</span> =&gt; {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">iClass</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">food101Classes</span>[<span style="color:#a6e22e">probIndex</span>[<span style="color:#ae81ff">1</span>]];
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> {
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">id</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">probIndex</span>[<span style="color:#ae81ff">1</span>],
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">name</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">iClass</span>.<span style="color:#a6e22e">replace</span>(<span style="color:#e6db74">/_/</span>, <span style="color:#e6db74">&#39; &#39;</span>),
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">probability</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">probIndex</span>[<span style="color:#ae81ff">0</span>]
</span></span><span style="display:flex;"><span> };
</span></span><span style="display:flex;"><span> });
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> <span style="color:#a6e22e">topK</span>;
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><h2 id="test-for-html">Test for HTML</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span><span style="color:#75715e">&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD HTML 4.01 Transitional//EN&#34;&gt;</span>
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">html</span>&gt;&lt;<span style="color:#f92672">head</span>&gt;
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">title</span>&gt;A Tiny Page&lt;/<span style="color:#f92672">title</span>&gt;
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">style</span> <span style="color:#a6e22e">type</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;text/css&#34;</span>&gt;
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;!</span><span style="color:#f92672">--</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">p</span> { <span style="color:#66d9ef">font-size</span>:<span style="color:#ae81ff">15</span><span style="color:#66d9ef">pt</span>; <span style="color:#66d9ef">color</span>:<span style="color:#ae81ff">#000</span> }
</span></span><span style="display:flex;"><span> <span style="color:#f92672">--</span><span style="color:#f92672">&gt;</span>
</span></span><span style="display:flex;"><span>&lt;/<span style="color:#f92672">style</span>&gt;&lt;/<span style="color:#f92672">head</span>&gt;<span style="color:#75715e">&lt;!-- real comment --&gt;</span>
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">body</span> <span style="color:#a6e22e">bgcolor</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;#FFFFFF&#34;</span> <span style="color:#a6e22e">text</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;#000000&#34;</span> <span style="color:#a6e22e">link</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;#0000CC&#34;</span>&gt;
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">script</span> <span style="color:#a6e22e">language</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;javascript&#34;</span> <span style="color:#a6e22e">type</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;text/javascript&#34;</span>&gt;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">function</span> <span style="color:#a6e22e">changeHeight</span>(<span style="color:#a6e22e">h</span>) {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">var</span> <span style="color:#a6e22e">tds</span> <span style="color:#f92672">=</span> document.<span style="color:#a6e22e">getElementsByTagName</span>(<span style="color:#e6db74">&#34;td&#34;</span>);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">for</span>(<span style="color:#66d9ef">var</span> <span style="color:#a6e22e">i</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>; <span style="color:#a6e22e">i</span> <span style="color:#f92672">&lt;</span> <span style="color:#a6e22e">tds</span>.<span style="color:#a6e22e">length</span>; <span style="color:#a6e22e">i</span><span style="color:#f92672">++</span>) {
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">tds</span>[<span style="color:#a6e22e">i</span>].<span style="color:#a6e22e">setAttribute</span>(<span style="color:#e6db74">&#34;height&#34;</span>, <span style="color:#a6e22e">h</span> <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;px&#34;</span>);
</span></span><span style="display:flex;"><span> }}
</span></span><span style="display:flex;"><span>&lt;/<span style="color:#f92672">script</span>&gt;
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">h1</span>&gt;abc&lt;/<span style="color:#f92672">h1</span>&gt;
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">h2</span>&gt;def&lt;/<span style="color:#f92672">h2</span>&gt;
</span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">p</span>&gt;Testing page&lt;/<span style="color:#f92672">p</span>&gt;
</span></span><span style="display:flex;"><span>&lt;/<span style="color:#f92672">body</span>&gt;&lt;/<span style="color:#f92672">html</span>&gt;
</span></span></code></pre></div><h2 id="test-for-css">Test for CSS</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-css" data-lang="css"><span style="display:flex;"><span><span style="color:#75715e">/*
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">Monokai style - ported by Luigi Maselli - http://grigio.org
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">*/</span>
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs</span> {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">display</span>: <span style="color:#66d9ef">block</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">overflow-x</span>: <span style="color:#66d9ef">auto</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">0.5</span><span style="color:#66d9ef">em</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">background</span>: <span style="color:#ae81ff">#272822</span>; <span style="color:#66d9ef">color</span>: <span style="color:#ae81ff">#ddd</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-tag</span><span style="color:#f92672">,</span>
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-keyword</span><span style="color:#f92672">,</span>
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-selector-tag</span><span style="color:#f92672">,</span>
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-literal</span><span style="color:#f92672">,</span>
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-strong</span><span style="color:#f92672">,</span>
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-name</span> {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">color</span>: <span style="color:#ae81ff">#f92672</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-code</span> {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">color</span>: <span style="color:#ae81ff">#66d9ef</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>.<span style="color:#a6e22e">hljs-class</span> .<span style="color:#a6e22e">hljs-title</span> {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">color</span>: <span style="color:#66d9ef">white</span>;
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div>
</article>
</div>
</main>
</body></html>