<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2013-01-03:1881992</id>
  <title>Anton Salikhmetov</title>
  <subtitle>Anton Salikhmetov</subtitle>
  <author>
    <name>Anton Salikhmetov</name>
  </author>
  <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom"/>
  <updated>2017-06-03T06:43:03Z</updated>
  <dw:journal username="codedot" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:178694</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/178694.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=178694"/>
    <title>Useful Software</title>
    <published>2017-06-02T09:27:00Z</published>
    <updated>2017-06-03T06:43:03Z</updated>
    <category term="howtos"/>
    <category term="personal"/>
    <category term="computers"/>
    <category term="programming"/>
    <category term="favorites"/>
    <dw:security>public</dw:security>
    <dw:reply-count>2</dw:reply-count>
    <content type="html">&lt;p&gt;&lt;b&gt;Command line&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/"&gt;POSIX&lt;/a&gt; (XCU "Shell &amp; Utilities"): &lt;code&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html"&gt;vi&lt;/a&gt;(1)&lt;/code&gt;, &lt;code&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html"&gt;awk&lt;/a&gt;(1)&lt;/code&gt;, &lt;code&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html"&gt;make&lt;/a&gt;(1)&lt;/code&gt;, &lt;code&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html"&gt;bc&lt;/a&gt;(1)&lt;/code&gt;, &lt;code&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html"&gt;sed&lt;/a&gt;(1)&lt;/code&gt;, &lt;code&gt;grep(1)&lt;/code&gt;, &lt;code&gt;sort(1)&lt;/code&gt;, &lt;code&gt;uniq(1)&lt;/code&gt;, &lt;code&gt;tee(1)&lt;/code&gt;, &lt;code&gt;wc(1)&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gnu.org/software/screen/"&gt;GNU Screen&lt;/a&gt; (useful to &lt;code&gt;echo exec screen -xR &amp;gt;&amp;gt;~/.profile&lt;/code&gt; on a remote host)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/"&gt;Git&lt;/a&gt;: &lt;code&gt;git-grep(1)&lt;/code&gt;, &lt;code&gt;git-stash(1)&lt;/code&gt;, &lt;code&gt;git-bisect(1)&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ledger-cli.org/"&gt;Ledger&lt;/a&gt; (useful for optimizing both finances and &lt;a href="https://codedot.dreamwidth.org/178514.html"&gt;time&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://taskwarrior.org/"&gt;Taskwarrior&lt;/a&gt; (TODO manager, highly recommended)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/odeke-em/drive"&gt;drive&lt;/a&gt; (one of CLIs for Google Drive)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jekyllrb.com/"&gt;Jekyll&lt;/a&gt; (generates static websites from markdown)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Web&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://musescore.org/"&gt;MuseScore&lt;/a&gt; (large sheet music library)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://app.flowkey.com/"&gt;flowkey&lt;/a&gt; (supports WebMIDI)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://feedly.com/"&gt;Feedly&lt;/a&gt; (RSS reader)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.plex.tv/"&gt;Plex&lt;/a&gt; (media server)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ovh.com/us/vps/vps-ssd.xml"&gt;OVH VPS SSD&lt;/a&gt; (affordable VPS)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://letsencrypt.org/"&gt;Let's Encrypt&lt;/a&gt; (automated free SSL certificates)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Chrome OS&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://keep.google.com/"&gt;Google Keep&lt;/a&gt; (quite convenient for grocery lists)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/"&gt;Google Drive&lt;/a&gt; (directly accessible in Chrome OS' Files)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo"&gt;Secure Shell&lt;/a&gt; (the main SSH client for Chrome OS, supports SFTP in Files and SSH bookmarks, type &lt;code&gt;ssh name@example.com&lt;/code&gt; in the address field)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/wolframalpha-official/icncamkooinmbehmkeilcccmoljfkdhp"&gt;Wolfram Alpha&lt;/a&gt; (type &lt;code&gt;= universe age in planck times&lt;/code&gt; in the address field)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;i&gt;Disclaimer: I'm celebrating five years as a Chromebook user.&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=178694" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:176609</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/176609.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=176609"/>
    <title>POSIX.1-2016</title>
    <published>2016-09-30T15:13:50Z</published>
    <updated>2016-09-30T15:13:50Z</updated>
    <category term="programming"/>
    <category term="computers"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/"&gt;http://pubs.opengroup.org/onlinepubs/9699919799/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Только что опубликовали IEEE 1003.1-2008+TC1+TC2.&lt;br /&gt;&lt;br /&gt;В список участников TC2 мое имя попало в связи с багами 735-737 против TC1:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://codedot.dreamwidth.org/166992.html"&gt;https://codedot.dreamwidth.org/166992.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Теперь грамматика языка Shell не содержит shift/reduce-конфликтов (можно засунуть ее в yacc(1) и убедиться, раньше было пять конфликтов), лишена двух лишних правил, а также корректно описывает произвольное количество команд в скриптах.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=176609" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:168278</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/168278.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=168278"/>
    <title>Распределенные сети взаимодействия</title>
    <published>2014-02-08T09:50:40Z</published>
    <updated>2014-02-08T11:03:12Z</updated>
    <category term="computers"/>
    <category term="lambda calculus"/>
    <category term="talks"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Так называемые &lt;a href="http://codedot.dreamwidth.org/165547.html"&gt;жесткие комбинаторы&lt;/a&gt; принадлежат более узкому классу graph relabeling systems, чем graph rewriting systems, к которым относятся сети взаимодействия в общем случае. По научным меркам, они введены буквально вчера - в нулевых. По их поводу написано полторы статьи, а наивная реализация в современных FPGA/ASIC и для жестких комбинаторов не очень многообещающая, так как агенты одновременно служат и для вычисления и для хранения данных, что слишком затратно для FPGA/ASIC, где суммарный объем памяти регистров всегда на порядок, если не на два, меньше доступной на той же доске встроенной RAM. У последнего неизбежно оказывается бутылочное горлышко.&lt;br /&gt;&lt;br /&gt;В определенной перспективе жесткие сети взаимодействия - логичное продолжение развития процессоров. Но на данном этапе этот подход кажется слишком далеким от практики, - возможно, им потребуется еще несколько лет побыть в академических кругах. Впрочем, коммерческие компании типа ARM и сами &lt;a href="http://iqmagazineonline.com/IQ/IQ17/LowRes.pdfs/Pgs20-24_IQ17.pdf"&gt;метят в ту же сторону&lt;/a&gt;. К сожалению, пока это только пресс-релизы и провалившиеся проекты, тем не менее, ключевые слова правильные - "clockless computation".&lt;br /&gt;&lt;br /&gt;С точки зрения исследований, сети взаимодействия - гораздо более зрелое направление. Первые работы в эту стороны были в конце 80-ых, а первая система взаимодействия (Lamping) решала задачу оптимальной по Levy редукции, даже не называясь собственно системой взаимодействия (Lafont формализовал и обобщил такие системы уже пост-фактум). По данной теме доступны сотни статей, учебник (см. &lt;a href="https://www.sharelatex.com/project/515429c83d69291740451afe"&gt;черновой перевод&lt;/a&gt; на русский язык соответствующей главы), монография, а также десятки различных программных реализаций, хотя большинство из них представляет собой лишь приложения к публикациям.&lt;br /&gt;&lt;br /&gt;В отличие от жестких комбинаторов, сети взаимодействия в чистом виде неприменимы для архитектуры процессоров из-за необходимой перезаписи графов. Однако, возможен совсем другой подход.&lt;br /&gt;&lt;br /&gt;Интернет позволяет передавать петабайты данных одновременно по тысячам разных каналов, когда как ни один из существующих суперкомпьютеров не может в одиночку добиться той же суммарной скорости в RAM. Можно посмотреть на интернет как на распределенную RAM. В связи с этим интересно было бы рассмотреть произвольные вычисления с использованием этой памяти.&lt;br /&gt;&lt;br /&gt;Если пойти этим путем, естественным образом возникает проблема синхронизации. В случае BOINC она решается наличием серверов, проверяющих корректность работы. В случае Bitcoin проверка работы тривиальна и не отнимает у всех нод никакого существенного времени ценой дублирования десятков гигабайт информации на всех нодах. Заметим, что в обоих упомянутых случаях работа заранее выбрана так, что ее можно легко проверить, а также строго выполняется единая последовательность событий.&lt;br /&gt;&lt;br /&gt;Если же мы хотели бы иметь децентрализованную вычислительную сеть для произвольной работы без требования единого timeline, то неизбежно возникают проблемы локальности и конфлюэнтости. К счастью, системы взаимодействия как раз и обладают последними двумя свойствами, давая возможность продолжать вычисления оптимальным образом без необходимости немедленной синхронизации.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=168278" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:166992</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/166992.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=166992"/>
    <title>Aardvark 735-737 Accepted (As Marked)</title>
    <published>2013-08-30T05:33:49Z</published>
    <updated>2013-08-30T11:17:19Z</updated>
    <category term="computers"/>
    <category term="programming"/>
    <category term="talks"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;i&gt;What's your status?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Issue &lt;a href="http://codedot.dreamwidth.org/166192.html"&gt;735&lt;/a&gt; Resolved and &lt;b&gt;Accepted&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Issue &lt;a href="http://codedot.dreamwidth.org/166612.html"&gt;736&lt;/a&gt; Needs an Interpretation and &lt;b&gt;Accepted&lt;/b&gt; as Marked by Don Cragun:&lt;br /&gt;&lt;pre&gt;Interpretation response
------------------------
The standard is unclear on this issue, and no conformance
distinction can be made between alternative implementations
based on this.  This is being referred to the sponsor.

Rationale:
-------------
The following changes make the grammar and text reflect existing
practice.

Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
On page 2350, lines 74801-74808, change

%start  complete_command
%%
complete_command : list separator
                 | list
                 ;

to:

%start program
%%
program          : linebreak complete_commands linebreak
                 | linebreak
                 ;
complete_commands: complete_commands newline_list complete_command
                 |                                complete_command
                 ;
complete_command : list separator_op
                 | list
                 ;

Cross-volume change to XRAT...

At page 3700 line 126612 section C.2.10 delete:

The start symbol of the grammar (complete_command) represents
either input from the command line or a shell script.  It is
repeatedly applied by the interpreter to its input and represents
a single "chunk" of that input as seen by the interpreter.&lt;/pre&gt;&lt;br /&gt;Issue &lt;a href="http://codedot.dreamwidth.org/166707.html"&gt;737&lt;/a&gt; Resolved and &lt;b&gt;Accepted&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=166992" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:166707</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/166707.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=166707"/>
    <title>Aardvark 737: two of Shell Grammar Rules unnecessary</title>
    <published>2013-08-17T12:01:02Z</published>
    <updated>2013-08-17T18:02:04Z</updated>
    <category term="talks"/>
    <category term="computers"/>
    <category term="programming"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://austingroupbugs.net/view.php?id=737"&gt;http://austingroupbugs.net/view.php?id=737&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02"&gt;Shell Grammar Rules&lt;/a&gt; for &lt;code&gt;compound_list&lt;/code&gt; duplicate the definition of &lt;code&gt;linebreak&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;linebreak        : newline_list
                 | /* empty */
                 ;&lt;/pre&gt;which results in four grammar rules for &lt;code&gt;compound_list&lt;/code&gt; instead of two.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Desired Action&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On page 2350, lines 74834-74838, change&lt;br /&gt;&lt;pre&gt;compound_list    :              term
                 | newline_list term
                 |              term separator
                 | newline_list term separator
                 ;&lt;/pre&gt;to&lt;br /&gt;&lt;pre&gt;compound_list    : linebreak term
                 | linebreak term separator
                 ;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=166707" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:166612</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/166612.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=166612"/>
    <title>Aardvark 736: grammatically accept zero or more Shell commands</title>
    <published>2013-08-17T10:01:32Z</published>
    <updated>2013-08-18T10:17:20Z</updated>
    <category term="computers"/>
    <category term="programming"/>
    <category term="talks"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://austingroupbugs.net/view.php?id=736"&gt;http://austingroupbugs.net/view.php?id=736&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An empty Shell program and a program consisting of two or more commands separated with &lt;code&gt;NEWLINE&lt;/code&gt; tokens are valid Shell scripts. However, &lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02"&gt;Shell Grammar Rules&lt;/a&gt; only accept exactly one single command which results in a syntax error against zero commands and two or more commands separated with &lt;code&gt;NEWLINE&lt;/code&gt; tokens.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Desired Action&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On page 2350, lines 74801-74808, change&lt;br /&gt;&lt;pre&gt;%start  complete_command
%%
complete_command : list separator
                 | list
                 ;&lt;/pre&gt;to&lt;br /&gt;&lt;pre&gt;%start script
%%
script           : commands linebreak
                 | /* empty */
                 ;
commands         : commands newline_list complete_command
                 |                       complete_command
                 ;
complete_command : list separator_op
                 | list
                 ;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=166612" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:166192</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/166192.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=166192"/>
    <title>Aardvark 735: 5 shift/reduce conflicts in Shell Grammar Rules</title>
    <published>2013-08-15T14:19:28Z</published>
    <updated>2013-08-15T14:19:28Z</updated>
    <category term="talks"/>
    <category term="computers"/>
    <category term="programming"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://austingroupbugs.net/view.php?id=735"&gt;http://austingroupbugs.net/view.php?id=735&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When processed by &lt;code&gt;yacc(1)&lt;/code&gt;, &lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02"&gt;Shell Grammar Rules&lt;/a&gt; result in 5 shift/reduce conflicts. These conflicts are all caused by unnecessary &lt;code&gt;linebreak&lt;/code&gt; non-terminals in &lt;code&gt;case_item_ns&lt;/code&gt; rule after &lt;code&gt;compound_list&lt;/code&gt; non-terminals. The &lt;code&gt;linebreak&lt;/code&gt; non-terminal are indeed unnecessary because &lt;code&gt;compound_list&lt;/code&gt; rule&lt;br /&gt;&lt;pre&gt;compound_list    :              term
                 | newline_list term
                 |              term separator
                 | newline_list term separator
                 ;&lt;/pre&gt;where&lt;br /&gt;&lt;pre&gt;separator        : separator_op linebreak
                 | newline_list
                 ;&lt;/pre&gt;itself embeds &lt;code&gt;linebreak&lt;/code&gt; definition&lt;br /&gt;&lt;pre&gt;linebreak        : newline_list
                 | /* empty */
                 ;&lt;/pre&gt;Without the trailing &lt;code&gt;linebreak&lt;/code&gt; non-terminals following &lt;code&gt;compound_list&lt;/code&gt;, &lt;code&gt;yacc(1)&lt;/code&gt; produces no shift/reduce conflicts.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Desired Action&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On page 2351, lines 74863-74866, change&lt;br /&gt;&lt;pre&gt;case_item_ns     :     pattern ')'               linebreak
                 |     pattern ')' compound_list linebreak
                 | '(' pattern ')'               linebreak
                 | '(' pattern ')' compound_list linebreak
                 ;&lt;/pre&gt;to&lt;br /&gt;&lt;pre&gt;case_item_ns     :     pattern ')' linebreak
                 |     pattern ')' compound_list
                 | '(' pattern ')' linebreak
                 | '(' pattern ')' compound_list
                 ;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=166192" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:166068</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/166068.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=166068"/>
    <title>Disaster</title>
    <published>2013-07-25T10:31:52Z</published>
    <updated>2013-07-25T12:38:53Z</updated>
    <category term="humour"/>
    <category term="computers"/>
    <category term="favorites"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://ivan-gandhi.livejournal.com/2404418.html?thread=32857666"&gt;http://ivan-gandhi.livejournal.com/2404418.html?thread=32857666&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Her Diary&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Tonight, I thought my husband was acting weird. We had made plans to meet at a nice restaurant for dinner. I was shopping with my friends all day long, so I thought he was upset at the fact that I was a bit late, but he made no comment on it. Conversation wasn't flowing, so I suggested that we go somewhere quiet so we could talk. He agreed, but he didn't say much. I asked him what was wrong. He said, "Nothing." I asked him if it was my fault that he was upset. He said he wasn't upset, that it had nothing to do with me, and not to worry about it. On the way home, I told him that I loved him. He smiled slightly, and kept driving. I can't explain his behavior. I don't know why he didn't say, "I love you, too." When we got home, I felt as if I had lost him completely, as if he wanted nothing to do with me anymore. He just sat there quietly, and watched TV. He continued to seem distant and absent. Finally, with silence all around us, I decided to go to bed. About 15 minutes later, he came to bed. But I still felt that he was distracted, and his thoughts were somewhere else. He fell asleep - I cried. I don't know what to do. I'm almost sure that his thoughts are with someone else. My life is a disaster.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;His Diary&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My code is broken, can't figure out why.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=166068" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:165547</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/165547.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=165547"/>
    <title>Universal Hard Interaction for Clockless Computation</title>
    <published>2013-07-10T13:34:35Z</published>
    <updated>2013-07-10T14:00:54Z</updated>
    <category term="computers"/>
    <category term="lambda calculus"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://iospress.metapress.com/content/l5r8t7n6755286h1/"&gt;http://iospress.metapress.com/content/l5r8t7n6755286h1/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Universal Hard Interaction for Clockless Computation&lt;/b&gt;&lt;br /&gt;Dem Glücklichen schlägt keine Stunde!&lt;br /&gt;&lt;i&gt;Sylvain Lippi&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We give a self-contained presentation of Hard Interaction, a rewriting system on fixed graphs. We discuss the universality of natural subclasses of hard systems and highlight the main ideas that lead to a universal system with 7 rules called Hard Combinators.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Keywords: hard interaction nets, abstract machine, asynchronous computation, digital circuits, graph relabeling.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=165547" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:163733</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/163733.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=163733"/>
    <title>Chromebook in Gigantti</title>
    <published>2013-06-26T11:43:10Z</published>
    <updated>2017-04-26T10:38:17Z</updated>
    <category term="personal"/>
    <category term="favorites"/>
    <category term="computers"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://www.gigantti.fi/"&gt;&lt;img src="https://pbs.twimg.com/media/BNruqU3CcAAPptV.png" border="0" alt=""&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=163733" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:162528</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/162528.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=162528"/>
    <title>Мой второй кот на Verilog</title>
    <published>2013-06-13T10:23:39Z</published>
    <updated>2013-06-18T11:16:21Z</updated>
    <category term="lambda calculus"/>
    <category term="elementary mathematics"/>
    <category term="programming"/>
    <category term="computers"/>
    <category term="ideas"/>
    <dw:security>public</dw:security>
    <dw:reply-count>7</dw:reply-count>
    <content type="html">&lt;div style="background: #ffffff; overflow:auto;width:auto;color:black;background:white;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"&gt;&lt;pre style="margin: 0; line-height: 125%"&gt;&lt;span style="color: #008000; font-weight: bold"&gt;module&lt;/span&gt; brain (clk, sensor, effect);
	&lt;span style="color: #008000; font-weight: bold"&gt;parameter&lt;/span&gt; nbit &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;12&lt;/span&gt;;
	&lt;span style="color: #008000; font-weight: bold"&gt;parameter&lt;/span&gt; size &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;2&lt;/span&gt; &lt;span style="color: #303030"&gt;**&lt;/span&gt; nbit;
 
	&lt;span style="color: #008000; font-weight: bold"&gt;input&lt;/span&gt; clk;
	&lt;span style="color: #008000; font-weight: bold"&gt;input&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] sensor;
	&lt;span style="color: #008000; font-weight: bold"&gt;output&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] effect;
 
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; sig [&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;size &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;];
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; trace [&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;size &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;];
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; [nbit &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] ram [&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;size &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;];
 
	&lt;span style="color: #008000; font-weight: bold"&gt;assign&lt;/span&gt; effect[&lt;span style="color: #005080; font-weight: bold"&gt;3&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] &lt;span style="color: #303030"&gt;=&lt;/span&gt; {sig[&lt;span style="color: #005080; font-weight: bold"&gt;3&lt;/span&gt;], sig[&lt;span style="color: #005080; font-weight: bold"&gt;2&lt;/span&gt;], sig[&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;], sig[&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;]};
	&lt;span style="color: #008000; font-weight: bold"&gt;assign&lt;/span&gt; effect[&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;4&lt;/span&gt;] &lt;span style="color: #303030"&gt;=&lt;/span&gt; {sig[&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;], sig[&lt;span style="color: #005080; font-weight: bold"&gt;6&lt;/span&gt;], sig[&lt;span style="color: #005080; font-weight: bold"&gt;5&lt;/span&gt;], sig[&lt;span style="color: #005080; font-weight: bold"&gt;4&lt;/span&gt;]};
 
	&lt;span style="color: #008000; font-weight: bold"&gt;integer&lt;/span&gt; i;
 
	&lt;span style="color: #008000; font-weight: bold"&gt;initial&lt;/span&gt; &lt;span style="color: #008000; font-weight: bold"&gt;for&lt;/span&gt; (i &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;; i &lt;span style="color: #303030"&gt;&amp;lt;&lt;/span&gt; size; i &lt;span style="color: #303030"&gt;=&lt;/span&gt; i &lt;span style="color: #303030"&gt;+&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;) &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
		trace[i] &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
		sig[i] &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
		ram[i] &lt;span style="color: #303030"&gt;=&lt;/span&gt; i;
	&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
 
	&lt;span style="color: #008000; font-weight: bold"&gt;always&lt;/span&gt; @(&lt;span style="color: #008000; font-weight: bold"&gt;posedge&lt;/span&gt; clk) &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
		&lt;span style="color: #008000; font-weight: bold"&gt;for&lt;/span&gt; (i &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;; i &lt;span style="color: #303030"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;8&lt;/span&gt;; i &lt;span style="color: #303030"&gt;=&lt;/span&gt; i &lt;span style="color: #303030"&gt;+&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;)
			sig[ram[i]] &lt;span style="color: #303030"&gt;&amp;lt;=&lt;/span&gt; sensor[i];
 
		&lt;span style="color: #008000; font-weight: bold"&gt;for&lt;/span&gt; (i &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;; i &lt;span style="color: #303030"&gt;&amp;lt;&lt;/span&gt; size; i &lt;span style="color: #303030"&gt;=&lt;/span&gt; i &lt;span style="color: #303030"&gt;+&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;) &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
			&lt;span style="color: #008000; font-weight: bold"&gt;case&lt;/span&gt; ({trace[i], sig[ram[i]]})
			&lt;span style="color: #005080; font-weight: bold"&gt;2&amp;#39;b00&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; ram[i] &lt;span style="color: #303030"&gt;&amp;lt;=&lt;/span&gt; ram[i] &lt;span style="color: #303030"&gt;+&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;;
			&lt;span style="color: #005080; font-weight: bold"&gt;2&amp;#39;b01&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; sig[i] &lt;span style="color: #303030"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;;
			&lt;span style="color: #005080; font-weight: bold"&gt;2&amp;#39;b10&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; sig[i] &lt;span style="color: #303030"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
			&lt;span style="color: #005080; font-weight: bold"&gt;2&amp;#39;b11&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; ram[i] &lt;span style="color: #303030"&gt;&amp;lt;=&lt;/span&gt; ram[i] &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;;
			&lt;span style="color: #008000; font-weight: bold"&gt;endcase&lt;/span&gt;
 
			trace[i] &lt;span style="color: #303030"&gt;&amp;lt;=&lt;/span&gt; sig[ram[i]];
		&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
	&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
&lt;span style="color: #008000; font-weight: bold"&gt;endmodule&lt;/span&gt;
 
&lt;span style="color: #003060; font-weight: bold"&gt;`ifdef&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;SIM&lt;/span&gt;
&lt;span style="color: #008000; font-weight: bold"&gt;module&lt;/span&gt; sim;
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; clk &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] key;
	&lt;span style="color: #303090; font-weight: bold"&gt;wire&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] led;
 
	brain core(clk, key, led);
 
	&lt;span style="color: #008000; font-weight: bold"&gt;integer&lt;/span&gt; c;
 
	&lt;span style="color: #008000; font-weight: bold"&gt;always&lt;/span&gt; &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
		c &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #F00000; background-color: #F0A0A0"&gt;$&lt;/span&gt;fgetc(&lt;span style="color: #005080; font-weight: bold"&gt;32&amp;#39;h8000&lt;/span&gt;_0000);
		&lt;span style="color: #008000; font-weight: bold"&gt;if&lt;/span&gt; (&lt;span style="color: #303030"&gt;-&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt; &lt;span style="color: #303030"&gt;==&lt;/span&gt; c)
			&lt;span style="color: #007020"&gt;$finish&lt;/span&gt;;
 
		key &lt;span style="color: #303030"&gt;=&lt;/span&gt; c[&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;];
		#&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt; clk &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #303030"&gt;~&lt;/span&gt;clk;
		#&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt; clk &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #303030"&gt;~&lt;/span&gt;clk;
		&lt;span style="color: #F00000; background-color: #F0A0A0"&gt;$&lt;/span&gt;displayb(led);
	&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
&lt;span style="color: #008000; font-weight: bold"&gt;endmodule&lt;/span&gt;
&lt;span style="color: #003060; font-weight: bold"&gt;`endif&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=162528" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:162238</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/162238.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=162238"/>
    <title>Мой первый кот на Verilog</title>
    <published>2013-06-10T15:41:10Z</published>
    <updated>2013-06-10T21:11:42Z</updated>
    <category term="elementary mathematics"/>
    <category term="programming"/>
    <category term="computers"/>
    <category term="lambda calculus"/>
    <dw:security>public</dw:security>
    <dw:reply-count>2</dw:reply-count>
    <content type="html">&lt;div style="background: #ffffff; overflow:auto;width:auto;color:black;background:white;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"&gt;&lt;pre style="margin: 0; line-height: 125%"&gt;&lt;span style="color: #507090"&gt;`define OPZ 4&amp;#39;b1111&lt;/span&gt;
&lt;span style="color: #507090"&gt;`define OPA 4&amp;#39;b0001&lt;/span&gt;
&lt;span style="color: #507090"&gt;`define OPL 4&amp;#39;b0010&lt;/span&gt;
&lt;span style="color: #507090"&gt;`define OPN 4&amp;#39;b0100&lt;/span&gt;
&lt;span style="color: #507090"&gt;`define OPS 4&amp;#39;b1000&lt;/span&gt;

&lt;span style="color: #507090"&gt;`define BIT 15&lt;/span&gt;
&lt;span style="color: #507090"&gt;`define SIZE (2 ** `BIT)&lt;/span&gt;

&lt;span style="color: #008000; font-weight: bold"&gt;module&lt;/span&gt; ram0 (clk, op, led);
	&lt;span style="color: #008000; font-weight: bold"&gt;input&lt;/span&gt; clk;
	&lt;span style="color: #008000; font-weight: bold"&gt;input&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;3&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] op;
	&lt;span style="color: #008000; font-weight: bold"&gt;output&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] led;

	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; [&lt;span style="color: #003060; font-weight: bold"&gt;`BIT&lt;/span&gt; &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] ram [&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #003060; font-weight: bold"&gt;`SIZE&lt;/span&gt; &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;];
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; [&lt;span style="color: #003060; font-weight: bold"&gt;`BIT&lt;/span&gt; &lt;span style="color: #303030"&gt;-&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] n, z;

	&lt;span style="color: #008000; font-weight: bold"&gt;assign&lt;/span&gt; led &lt;span style="color: #303030"&gt;=&lt;/span&gt; z[&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;];

	&lt;span style="color: #008000; font-weight: bold"&gt;always&lt;/span&gt; @(&lt;span style="color: #008000; font-weight: bold"&gt;posedge&lt;/span&gt; clk) &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
		&lt;span style="color: #008000; font-weight: bold"&gt;case&lt;/span&gt; (op)
		&lt;span style="color: #003060; font-weight: bold"&gt;`OPZ&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; z &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
		&lt;span style="color: #003060; font-weight: bold"&gt;`OPA&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; z &lt;span style="color: #303030"&gt;=&lt;/span&gt; z &lt;span style="color: #303030"&gt;+&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;;
		&lt;span style="color: #003060; font-weight: bold"&gt;`OPL&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; z &lt;span style="color: #303030"&gt;=&lt;/span&gt; ram[z];
		&lt;span style="color: #003060; font-weight: bold"&gt;`OPN&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; n &lt;span style="color: #303030"&gt;=&lt;/span&gt; z;
		&lt;span style="color: #003060; font-weight: bold"&gt;`OPS&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; ram[n] &lt;span style="color: #303030"&gt;=&lt;/span&gt; z;
		&lt;span style="color: #008000; font-weight: bold"&gt;endcase&lt;/span&gt;
	&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
&lt;span style="color: #008000; font-weight: bold"&gt;endmodule&lt;/span&gt;

&lt;span style="color: #003060; font-weight: bold"&gt;`ifdef&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;SIM&lt;/span&gt;
&lt;span style="color: #008000; font-weight: bold"&gt;module&lt;/span&gt; sim;
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; clk &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
	&lt;span style="color: #303090; font-weight: bold"&gt;reg&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;3&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] op;
	&lt;span style="color: #303090; font-weight: bold"&gt;wire&lt;/span&gt; [&lt;span style="color: #005080; font-weight: bold"&gt;7&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;] led;

	ram0 core(clk, op, led);

	&lt;span style="color: #008000; font-weight: bold"&gt;integer&lt;/span&gt; ch;

	&lt;span style="color: #008000; font-weight: bold"&gt;always&lt;/span&gt; &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
		ch &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #F00000; background-color: #F0A0A0"&gt;$&lt;/span&gt;fgetc(&lt;span style="color: #005080; font-weight: bold"&gt;32&amp;#39;h8000&lt;/span&gt;_0000);
		&lt;span style="color: #008000; font-weight: bold"&gt;case&lt;/span&gt; (ch)
		&lt;span style="background-color: #fff0f0"&gt;&amp;quot;z&amp;quot;&lt;/span&gt;, &lt;span style="background-color: #fff0f0"&gt;&amp;quot;Z&amp;quot;&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; op &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;`OPZ&lt;/span&gt;;
		&lt;span style="background-color: #fff0f0"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;, &lt;span style="background-color: #fff0f0"&gt;&amp;quot;A&amp;quot;&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; op &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;`OPA&lt;/span&gt;;
		&lt;span style="background-color: #fff0f0"&gt;&amp;quot;l&amp;quot;&lt;/span&gt;, &lt;span style="background-color: #fff0f0"&gt;&amp;quot;L&amp;quot;&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; op &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;`OPL&lt;/span&gt;;
		&lt;span style="background-color: #fff0f0"&gt;&amp;quot;n&amp;quot;&lt;/span&gt;, &lt;span style="background-color: #fff0f0"&gt;&amp;quot;N&amp;quot;&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; op &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;`OPN&lt;/span&gt;;
		&lt;span style="background-color: #fff0f0"&gt;&amp;quot;s&amp;quot;&lt;/span&gt;, &lt;span style="background-color: #fff0f0"&gt;&amp;quot;S&amp;quot;&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; op &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #003060; font-weight: bold"&gt;`OPS&lt;/span&gt;;
		&lt;span style="color: #303030"&gt;-&lt;/span&gt;&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; &lt;span style="color: #007020"&gt;$finish&lt;/span&gt;;
		&lt;span style="color: #008000; font-weight: bold"&gt;default&lt;/span&gt;&lt;span style="color: #303030"&gt;:&lt;/span&gt; op &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #005080; font-weight: bold"&gt;0&lt;/span&gt;;
		&lt;span style="color: #008000; font-weight: bold"&gt;endcase&lt;/span&gt;

		&lt;span style="color: #008000; font-weight: bold"&gt;if&lt;/span&gt; (op) &lt;span style="color: #008000; font-weight: bold"&gt;begin&lt;/span&gt;
			#&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt; clk &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #303030"&gt;~&lt;/span&gt;clk;
			#&lt;span style="color: #005080; font-weight: bold"&gt;1&lt;/span&gt; clk &lt;span style="color: #303030"&gt;=&lt;/span&gt; &lt;span style="color: #303030"&gt;~&lt;/span&gt;clk;
			&lt;span style="color: #F00000; background-color: #F0A0A0"&gt;$&lt;/span&gt;displayb(led);
		&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
	&lt;span style="color: #008000; font-weight: bold"&gt;end&lt;/span&gt;
&lt;span style="color: #008000; font-weight: bold"&gt;endmodule&lt;/span&gt;
&lt;span style="color: #003060; font-weight: bold"&gt;`endif&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=162238" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:161576</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/161576.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=161576"/>
    <title>Tor-подобная килобитная RAM0</title>
    <published>2013-05-29T13:05:08Z</published>
    <updated>2013-05-30T17:39:11Z</updated>
    <category term="ideas"/>
    <category term="elementary mathematics"/>
    <category term="computers"/>
    <category term="lambda calculus"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Килобит можно передать одним сообщением по SMS.&lt;br /&gt;&lt;br /&gt;При этом его достаточно, чтобы адресовать любую точку пространства-времени с точностью до &lt;a href="http://codedot.dreamwidth.org/150758.html"&gt;планковских единиц измерения&lt;/a&gt; на протяжении 10&lt;sup&gt;27&lt;/sup&gt; лет, что в 10&lt;sup&gt;17&lt;/sup&gt; раз больше, чем уже прошло после момента Большого взрыва. Для сравнения, полкилобита адресуют около ста микросекунд. Для данной оценки использовался гиперобъем гиперконуса, который примерно равен гиперобъему гиперкуба со стороной, равной высоте этого гиперконуса.&lt;br /&gt;&lt;br /&gt;Таким образом, килобитных адресов хватает на любую мыслимую на сегодняшний день научную фантастику: с невероятным запасом покрываются нужды однозначной адресации для реализованных и доведенных до совершенства квантового компьютера, телепортации, машины времени и кротовых нор вместе взятых.&lt;br /&gt;&lt;br /&gt;Теперь предположим, что у нас есть хэш-функция F, похожая на &lt;a href="https://ru.wikipedia.org/wiki/SHA-2"&gt;SHA-2&lt;/a&gt;, но с размером хэша и размером блока ровно в один килобит (вместо обычных 256 бит и 512-битных блоков), и способ адресации, подобный &lt;a href="http://en.wikipedia.org/wiki/.onion"&gt;.onion-доменам для анонимных сервисов в сети Tor&lt;/a&gt;, причем каждый сервис хранит ровно одну килобитную ячейку памяти.&lt;br /&gt;&lt;br /&gt;Интересно было бы рассмотреть распределенную &lt;a href="http://codedot.dreamwidth.org/160095.html"&gt;RAM0&lt;/a&gt;-подобную вычислительную сеть с семантикой команд, измененной следующим образом (предполагается отсутствие коллизиций на килобитных блоках):&lt;br /&gt;&lt;br /&gt;&lt;div style="background: #ffffff; overflow:auto;width:auto;color:black;background:white;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"&gt;&lt;pre style="margin: 0; line-height: 125%"&gt;&lt;span style="color: #507090"&gt;#define A	z = F(z)&lt;/span&gt;
&lt;span style="color: #507090"&gt;#define L	z = recvkbit(z)&lt;/span&gt;
&lt;span style="color: #507090"&gt;#define N	n = z&lt;/span&gt;
&lt;span style="color: #507090"&gt;#define S	sendkbit(n, z)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=161576" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:159011</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/159011.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=159011"/>
    <title>Hidden SSH</title>
    <published>2013-05-03T17:41:04Z</published>
    <updated>2013-05-03T17:41:04Z</updated>
    <category term="computers"/>
    <category term="howtos"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"&gt;&lt;pre style="margin: 0; line-height: 125%"&gt;&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; apt-get install tor
&lt;span style="color: #808080"&gt;Reading package lists... Done&lt;/span&gt;
&lt;span style="color: #808080"&gt;Building dependency tree       &lt;/span&gt;
&lt;span style="color: #808080"&gt;Reading state information... Done&lt;/span&gt;
&lt;span style="color: #808080"&gt;[...]&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; grep &lt;span style="background-color: #fff0f0"&gt;&amp;#39;^Hidden&amp;#39;&lt;/span&gt; /etc/tor/torrc
&lt;span style="color: #808080"&gt;HiddenServiceDir /var/lib/tor/honey/&lt;/span&gt;
&lt;span style="color: #808080"&gt;HiddenServicePort 22 127.0.0.1:22&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; /etc/init.d/tor restart
&lt;span style="color: #808080"&gt;Stopping tor daemon: tor.&lt;/span&gt;
&lt;span style="color: #808080"&gt;Raising maximum number of filedescriptors (ulimit -n) to 8192.&lt;/span&gt;
&lt;span style="color: #808080"&gt;Starting tor daemon: tor...&lt;/span&gt;
&lt;span style="color: #808080"&gt;[...]&lt;/span&gt;
&lt;span style="color: #808080"&gt;May 03 20:08:30.201 [notice] Opening Socks listener on 127.0.0.1:9050&lt;/span&gt;
&lt;span style="color: #808080"&gt;done.&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; torsocks ssh &lt;span style="background-color: #fff0f0"&gt;`&lt;/span&gt;cat /var/lib/tor/honey/hostname&lt;span style="background-color: #fff0f0"&gt;`&lt;/span&gt;
&lt;span style="color: #808080"&gt;root@ohdzjoric6qwtr2c.onion&amp;#39;s password: &lt;/span&gt;
&lt;span style="color: #808080"&gt;Linux debian 2.6.32-5-amd64 #1 SMP Mon Feb 25 00:26:11 UTC 2013 x86_64&lt;/span&gt;

&lt;span style="color: #808080"&gt;The programs included with the Debian GNU/Linux system are free software;&lt;/span&gt;
&lt;span style="color: #808080"&gt;the exact distribution terms for each program are described in the&lt;/span&gt;
&lt;span style="color: #808080"&gt;individual files in /usr/share/doc/*/copyright.&lt;/span&gt;

&lt;span style="color: #808080"&gt;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;/span&gt;
&lt;span style="color: #808080"&gt;permitted by applicable law.&lt;/span&gt;
&lt;span style="color: #808080"&gt;Last login: Fri May  3 20:10:22 2013 from localhost&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; dd &lt;span style="color: #008000; font-weight: bold"&gt;if&lt;/span&gt;&lt;span style="color: #303030"&gt;=&lt;/span&gt;/dev/urandom &lt;span style="color: #906030"&gt;of&lt;/span&gt;&lt;span style="color: #303030"&gt;=&lt;/span&gt;data &lt;span style="color: #906030"&gt;count&lt;/span&gt;&lt;span style="color: #303030"&gt;=&lt;/span&gt;1k
&lt;span style="color: #808080"&gt;1024+0 records in&lt;/span&gt;
&lt;span style="color: #808080"&gt;1024+0 records out&lt;/span&gt;
&lt;span style="color: #808080"&gt;524288 bytes (524 kB) copied, 0.081219 s, 6.5 MB/s&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; md5sum data
&lt;span style="color: #808080"&gt;81d52fca4cfe42dca24659850139672a  data&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; &lt;span style="color: #007020"&gt;logout&lt;/span&gt; &lt;span style="color: #808080"&gt;# latency about 1-2 sec.&lt;/span&gt;
&lt;span style="color: #808080"&gt;Connection to ohdzjoric6qwtr2c.onion closed.&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; torsocks scp &lt;span style="background-color: #fff0f0"&gt;`&lt;/span&gt;cat /var/lib/tor/honey/hostname&lt;span style="background-color: #fff0f0"&gt;`&lt;/span&gt;:data copy
&lt;span style="color: #808080"&gt;root@ohdzjoric6qwtr2c.onion&amp;#39;s password: &lt;/span&gt;
&lt;span style="color: #808080"&gt;data                                          100%  512KB  28.4KB/s   00:18    &lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; md5sum copy
&lt;span style="color: #808080"&gt;81d52fca4cfe42dca24659850139672a  copy&lt;/span&gt;
&lt;span style="color: #c65d09; font-weight: bold"&gt;root@debian:~#&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=159011" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:158088</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/158088.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=158088"/>
    <title>Irreversibility and heat generation in the computing process</title>
    <published>2013-04-16T21:56:55Z</published>
    <updated>2013-04-16T22:13:23Z</updated>
    <category term="computers"/>
    <category term="lambda calculus"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;b&gt;IBM Journal of Research and Development, vol. 5, pp. 183-191 (1961)&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Rolf Landauer&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It is argued that computing machines inevitably involve devices which perform logical functions that do not have a single-valued inverse. This logical irreversibility is associated with physical irreversibility and requires a minimal heat generation, per machine cycle, typically of the order of kT for each irreversible function. This dissipation serves the purpose of standardizing signals and making them independent of their exact logical history. Two simple, but representative, models of bistable devices are subjected to a more detailed analysis of switching kinetics to yield the relationship between speed and energy dissipation, and to estimate the effects of errors induced by thermal fluctuations.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://folk.uio.no/feder/Fys3130/Entropy/Landauer1961.pdf"&gt;http://folk.uio.no/feder/Fys3130/Entropy/Landauer1961.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See also discussion of &lt;a href="http://en.wikipedia.org/wiki/Landauer%27s_principle"&gt;Landauer's principle&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=158088" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:150921</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/150921.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=150921"/>
    <title>Turing-complete x86 MMU Page Fault Handling</title>
    <published>2013-02-22T21:30:55Z</published>
    <updated>2013-02-22T22:09:02Z</updated>
    <category term="memories"/>
    <category term="computers"/>
    <category term="elementary mathematics"/>
    <category term="lambda calculus"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;span style='white-space: nowrap;'&gt;&lt;a href='http://kolbusa.livejournal.com/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/external/lj-userinfo.gif' alt='[livejournal.com profile] ' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' width='17' height='17'/&gt;&lt;/a&gt;&lt;a href='http://kolbusa.livejournal.com/'&gt;&lt;b&gt;kolbusa&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; @ 2013-02-22 18:43:00:&lt;br /&gt;&lt;br /&gt;x86 MMU fault handling is Turing complete:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.ycombinator.com/item?id=5261598"&gt;http://news.ycombinator.com/item?id=5261598&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/Y1ypnYIyzKk" frameborder="0" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=Y1ypnYIyzKk"&gt;http://www.youtube.com/watch?v=Y1ypnYIyzKk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=150921" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:150758</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/150758.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=150758"/>
    <title>Планковское машинное слово</title>
    <published>2013-02-19T03:25:53Z</published>
    <updated>2013-05-30T17:41:24Z</updated>
    <category term="elementary mathematics"/>
    <category term="computers"/>
    <category term="ideas"/>
    <category term="humour"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Знаете ли вы, что 256 бит достаточно, чтобы хранить свыше 10&lt;sup&gt;16&lt;/sup&gt; возрастов Вселенной в планковских единицах измерения времени? Это наименьшая степень двойки, дающая достаточно места, чтобы хранить возраст, диаметр и массу Вселенной в планковских единицах измерения:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Planck_units"&gt;http://en.wikipedia.org/wiki/Planck_units&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Предлагаю отныне не мелочиться, а выбрать машинное слово размером в 32 байта раз и навсегда.&lt;br /&gt;&lt;br /&gt;Тип &lt;code&gt;uint256_t&lt;/code&gt; - наше &lt;i&gt;все&lt;/i&gt;! В прямом смысле этого слова.&lt;br /&gt;&lt;br /&gt;&lt;div style="background: #ffffff; overflow:auto;width:auto;color:black;background:white;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"&gt;&lt;pre style="margin: 0; line-height: 125%"&gt;&lt;span style="color: #507090"&gt;#include &amp;lt;inttypes.h&amp;gt;&lt;/span&gt;
&lt;span style="color: #507090"&gt;#include &amp;lt;stdint.h&amp;gt;&lt;/span&gt;
&lt;span style="color: #507090"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style="color: #507090"&gt;#include &amp;lt;time.h&amp;gt;&lt;/span&gt;

main()
{
        uint256_t age &lt;span style="color: #303030"&gt;=&lt;/span&gt; getage();

        printf(&lt;span style="background-color: #fff0f0"&gt;&amp;quot;Happy %&amp;quot;&lt;/span&gt; PRIu256 &lt;span style="background-color: #fff0f0"&gt;&amp;quot; Planck times!&lt;/span&gt;&lt;span style="color: #606060; font-weight: bold; background-color: #fff0f0"&gt;\n&lt;/span&gt;&lt;span style="background-color: #fff0f0"&gt;&amp;quot;&lt;/span&gt;, age);

        &lt;span style="color: #008000; font-weight: bold"&gt;return&lt;/span&gt; &lt;span style="color: #0000D0; font-weight: bold"&gt;0&lt;/span&gt;;
}
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=150758" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:149719</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/149719.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=149719"/>
    <title>Applications Conformance Testing</title>
    <published>2013-01-17T17:36:16Z</published>
    <updated>2013-01-17T17:38:23Z</updated>
    <category term="computers"/>
    <category term="favorites"/>
    <category term="programming"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;a href="http://www.knosof.co.uk/poschk.html"&gt;http://www.knosof.co.uk/poschk.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Applications POSIX.1 conformance testing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Derek Jones&lt;br /&gt;derek@knosof.co.uk&lt;br /&gt;Knowledge Software Ltd&lt;br /&gt;Farnborough, Hants&lt;br /&gt;UK&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;ABSTRACT&lt;br /&gt;&lt;br /&gt;The Standards for POSIX and C were designed to enable the portability of applications across platforms. A lot of work has gone into checking compilers and environments for conformance to these Standards, but almost nothing has been done to check applications conformance. The incorrect assumption being made that the development compiler will warn about any construct that needs looking at. This paper discusses a tool that checks applications software for conformance to these Standards at compile, link and runtime as well as the library interface. Any application that can pass through this checker without producing any warnings is a conforming POSIX program and a strictly conforming C program.&lt;br /&gt;&lt;br /&gt;© Copyright 1992,95. Knowledge Software Ltd. All rights reserved;&lt;br /&gt;&lt;br /&gt;Presented at the EurOpen &amp; USENIX Spring 1992 Workshop/Conference&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=149719" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2013-01-03:1881992:147962</id>
    <link rel="alternate" type="text/html" href="https://codedot.dreamwidth.org/147962.html"/>
    <link rel="self" type="text/xml" href="https://codedot.dreamwidth.org/data/atom/?itemid=147962"/>
    <title>Emacs</title>
    <published>2013-01-06T23:09:56Z</published>
    <updated>2013-01-06T23:09:56Z</updated>
    <category term="lambda calculus"/>
    <category term="computers"/>
    <category term="talks"/>
    <dw:security>public</dw:security>
    <dw:reply-count>2</dw:reply-count>
    <content type="html">&lt;i&gt;IEEE 1003.1-2008, C.4.3 &lt;a href="http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_chap04.html#tag_23_04_03"&gt;Exclusion of Utilities&lt;/a&gt;&lt;/i&gt;:&lt;br /&gt;&lt;br /&gt;emacs&lt;br /&gt;&lt;br /&gt;The community of emacs editing enthusiasts was adamant that the full emacs editor not be included in the base documents because they were concerned that an attempt to standardize this very powerful environment would encourage vendors to ship versions conforming strictly to the standard, but lacking the extensibility required by the community. The author of the original emacs program also expressed his desire to omit the program. Furthermore, there were a number of historical UNIX systems that did not include emacs, or included it without supporting it, but there were very few that did not include and support vi.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=codedot&amp;ditemid=147962" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
