Command line

  • POSIX (XCU "Shell & Utilities"): vi(1), awk(1), make(1), bc(1), sed(1), grep(1), sort(1), uniq(1), tee(1), wc(1), etc.
  • GNU Screen (useful to echo exec screen -xR >>~/.profile on a remote host)
  • Git: git-grep(1), git-stash(1), git-bisect(1), etc.
  • Ledger (useful for optimizing both finances and time)
  • Taskwarrior (TODO manager, highly recommended)
  • drive (one of CLIs for Google Drive)
  • Jekyll (generates static websites from markdown)

Web

Chrome OS

  • Google Keep (quite convenient for grocery lists)
  • Google Drive (directly accessible in Chrome OS' Files)
  • Secure Shell (the main SSH client for Chrome OS, supports SFTP in Files and SSH bookmarks, type ssh name@example.com in the address field)
  • Wolfram Alpha (type = universe age in planck times in the address field)

Disclaimer: I'm celebrating five years as a Chromebook user.



Один из вариантов того, как можно читать классическую монографию по λ-исчислению [1]:

параграф 2.1;
упр. 2.4.1 (i)-(iii), 2.4.2-2.4.13;
упр. 2.4.15 (только в оригинале [2]);
параграф 2.2;
упр. 2.4.14;

параграфы 3.1-3.3;
упр. 3.5.1 (v), 3.5.1 (i), 3.5.6 (i), 3.5.2, 3.5.3, 3.5.11;
параграфы 13.1-13.2 до приложения 13.2.3 включительно;

часть II (главы 6-10);

параграф 4.1;
упр. 4.3.2, 4.3.4;
главы 15 и 16.

В каком-то приближении именно этот материал изложен чрезвычайно кратко в [3] (по-русски).

[1] Х. Барендрегт. Ламбда-исчисление, его синтаксис и семантика. Москва, 1985.
[2] H. P. Barendregt. The Lambda Calculus, Its Syntax and Semantics. North-Holland, 1984.
[3] A. Salikhmetov. Lambda Calculus Synopsis. arXiv:1304.0558, 2013.

Disaster

Jul. 25th, 2013 01:25 pm
http://ivan-gandhi.livejournal.com/2404418.html?thread=32857666

Her Diary

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.

His Diary

My code is broken, can't figure out why.
http://www.cims.nyu.edu/~eve2/predprey.pdf

Prime number selection of cycles in a predator-prey model
Eric Goles, Oliver Schulz, Mario Markus

The fact that some species of cicadas appear every 7, 13, or 17 years and that these periods are prime numbers has been regarded as a coincidence. We found a simple evolutionary predator-prey model that yields prime-periodic preys having cycles predominantly around the observed values. An evolutionary game on a spatial array leads to travelling waves reminiscent of those observed in excitable systems. The model marks an encounter of two seemingly unrelated disciplines: biology and number theory. A restriction to the latter, provides an evolutionary generator of arbitrarily large prime numbers.

Via [livejournal.com profile] udod's post and Wikipedia.
http://www.halla-aho.com/scripta/husbyn_herattamia_ajatuksia.html

Одна проблема, которую я неоднократно объяснял как властям Хельсинки, так и государственным чиновникам, состоит в том, что критерии и способы измерения "успешности интеграции" являются совершенно ошибочными. По мнению помощника мэра Ритвы Вильянен, отвечающей за иммиграцию, доказательством успеха мер по интеграции является то, что в городе имеется отвечающий за эти вопросы чиновник. Иначе говоря, успешность интеграции измеряется тем, сколько к ней приложено усилий и сколько на неё потрачено денег.

Второй способ измерения интеграции - это опросы самих иммигрантов, обычно из Сомали, насколько им уютно в Финляндии. Можно, таким образом, сказать, что "интеграция" отождествляется с "чувствовать себя как дома". Это проблемная характеристика, как продемонстрировала ниже жительница Мальмё Фатима.

Здесь всё так же, как в Ираке или другой арабской стране. Мне очень уютно в Мальмё.

Об иммиграции и интеграции часто говорят как о двустороннем процессе. Жаль, что на деле получается односторонний процесс, так как учитывается лишь точка зрения самих иммигрантов, а не коренного населения и общества в целом. В первую очередь иммигрантов следовало бы разделить с целью изучения на группы, так как не все из них вообще требуют специальных усилий или поддержки интеграции. Например то, что у всех выходцев из Непала, живущих в Финляндии, есть ресторан непальской кухни, не доказывает успеха интеграционного процесса, так как у этих непальцев были бы эти рестораны, даже если бы мы вообще не занимались вопросами интеграции.

Успех процесса интеграции необходимо оценивать с помощью объективных и измеряемых критериев, таких как степень зависимости от социальной поддержки, процента безработицы, и относительного уровня преступности. Если эти параметры выглядят каждый год одинаково плохо, необходимо сделать вывод, что интеграция не работает, сколько бы денег мы на это ни потратили, и как бы уютно ни было Фатиме.
Andrej Bauer
University of Ljubljana, Slovenia; Member, School of Mathematics
March 18, 2013 - 2:00pm

Discussions about constructive mathematics are usually derailed by philosophical opinions and meta-mathematics. But how does it actually feel to do constructive mathematics? A famous mathematician wrote that "taking the principle of excluded middle from the mathematician would be the same, say, as proscribing the telescope to the astronomer or to the boxer the use of his fists." Was he right? In this talk we shall visit the astounding worlds of constructive mathematics. As tourists from the classical world we will at first be shocked by the bizarre and unfamiliar phenomena, but hopefully also left curious about the new possibilities and dimensions of mathematics that the classical dogma declares heretical or even non-existent.

http://video.ias.edu/members/1213/0318-AndrejBauer
На ShareLaTeX теперь доступно краткое изложение λ-исчисления:

https://www.sharelatex.com/project/5154436b3d6929174048f846

Данный текст представляет собой чрезвычайно сжатый конспект классической монографии по λ-исчислению (Х. Барендрегт, «Ламбда-исчисление. Его синтаксис и семантика», перевод с английского Г. Е. Минца под редакцией А. С. Кузичева, Москва, «Мир», 1985).

Он может оказаться интересен всем тем, кто планировал взяться за систематическое изучение данной темы, уже в общих чертах ознакомившись с ней, но откладывал из-за сложной структуры основной монографии, определения и основные результаты в которой довольно разрозненны. Здесь мы попытаемся сделать изложение, напротив, абсолютно линейным, и, конечно, несравнимо более коротким, избегая лишних определений и примеров, а сосредоточившись на необходимых терминологии, обозначениях и утверждениях, которые, в свою очередь, изложены близко к оригинальному тексту.

Мы начнем от определения системы λβη, то есть классического бестипового экстенсионального λ-исчисления. Затем перейдем к комбинаторной логике, теореме о неподвижной точке и синтаксическому сахару. Наконец, заключительная часть конспекта — построение топологии на выражениях этой системы, призванной объяснить кажущееся противоречие: отображения множества выражений в себя содержатся в самом этом множестве при его счетности. На самом же деле, множество наделяется надлежащей топологией, в которой выражения представляют собой непрерывные отображения.

Кстати, сервис ShareLaTeX оказался чрезвычайно удобным. Горячо рекомендую его для хранения математических текстов и, в том числе совместного, их редактирования. Собираюсь использовать его для перевода седьмой главы о системах взаимодействия прекрасного учебника по моделям вычислений. Скорее всего, перевод будет доступен по следующему адресу:

https://www.sharelatex.com/project/515429c83d69291740451afe
Всячески рекомендую всем замечательный учебник Maribel Fernandez под названием "Models of Computation: An Introduction to Computability Theory". С одной стороны, он написан сжато и по существу, но при этом простым языком, содержит упражнения и покрывает современный материал.

Учебник начинается с введения в классическую теории вычислимости: машины Тьюринга и лямбда-исчисление. Затем следует подробное описание систем взаимодействия, включая полезную нотацию Lafont. Наконец, дается обзор некоторых зарождающихся направлений.



A Concise Introduction to Computation Models and Computability Theory provides an introduction to the essential concepts in computability, using several models of computation, from the standard Turing Machines and Recursive Functions, to the modern computation models inspired by quantum physics. An in-depth analysis of the basic concepts underlying each model of computation is provided. Divided into two parts, the first highlights the traditional computation models used in the first studies on computability:

- Automata and Turing Machines;
- Recursive functions and the Lambda-Calculus;
- Logic-based computation models.

The second part covers object-oriented and interaction-based models. There is also a chapter on concurrency, and a final chapter on emergent computation models inspired by quantum mechanics. At the end of each chapter there is a discussion on the use of computation models in the design of programming languages.

http://www.amazon.co.uk/dp/1848824335
http://www.knosof.co.uk/poschk.html

Applications POSIX.1 conformance testing

Derek Jones
derek@knosof.co.uk
Knowledge Software Ltd
Farnborough, Hants
UK


ABSTRACT

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.

© Copyright 1992,95. Knowledge Software Ltd. All rights reserved;

Presented at the EurOpen & USENIX Spring 1992 Workshop/Conference
Только что понял, что именно мне напоминает схема вычисления с четырьмя списками L, A, D, R и алгоритмом сортировки "мусора" aord. Она во многом похожа на механизм транскрипции в биологии (процесс синтеза РНК с использованием ДНК в качестве матрицы).

В связи с этим становится яснее, почему системы взаимодействия часто связывают с формальной биологией и взаимодействием белков. В частности, Maribel Fernandez, автор и соавтор чуть менее, чем всех статей по системам взаимодействия, последние годы говорит о связи данной темы с молекулярной биологией, а также о системах перезаписи портов, при которой меняются связи, но не ноды. Последнее, в свою очередь, также близко к нашим конструкциям, в которых не используется никакой аллокатор памяти, а лишь производится перестановка указателей.

Произведя нехитрый поиск, я немедленно натолкнулся на книгу Maribel Fernandez под названием "Models of Computation: An Introduction to Computability Theory" и теперь жду не дождусь заполучить ее в руки:



http://www.amazon.co.uk/dp/1848824335

P. S. Получил, наконец-то. Оказалось неплохим вводным учебником по CS в его современном виде.
A two-week trip by car from Nordic to Benelux through the impossible bridge and unlimited autobahns, then back home*.



*Stupid me, to believe there's civilized world any farther. Free advice: turn around when possible.
Про ЖЖ:

— Так… Товарищи! У нас сегодня диспут! На любую тему. Столкновение разных мнений. Утверждение! Возражение! Вот вы, гражданин из первого ряда… Идите сюда! Подойдите! О чем вы хотели бы поспорить?
— Я?
— Да, вы. Именно вы! Я вчера с вами говорил. Вы были таким темпераментным, запальчивым. Вот теперь здесь, на сцене, попробуйте отстоять свое мнение. Покажите, как это делается! Итак, что вам не понравилось?
— Где?
— Вчера. Вам что-то не понравилось. Вы спросили.
— Мне все понравилось. Я еще вчера говорил, что мне все понравилось.
— Ну, это не разговор. Вот, к примеру, мне не нравится ваш галстук!
— Мне тоже! (Сорвал, выбросил.) Тряпье!
— Ну, постойте… Вы не понимаете. Это диспут. А диспут — разговор, где сталкиваются разные мнения. То есть если я «за», вы должны быть «против». У нас должен быть спор, понимаете? Я считаю, что в семье должен быть один ребенок. А вы возражайте!
— А я считаю, что и одного много.
— Нет, вы возражайте!
— Я возражаю!
— А вы возражайте.
— Я возражаю!
— Вот. (После паузы.) Вот. Почему вы возражаете?
— Я возражаю.
— Почему?
— Я возражаю.
— Нет, но почему?
— Я возражаю.
— Это хорошо. Но почему вы возражаете?
— Я возражаю.
— Нет. Вы так просто не возражайте. Вы должны говорить — два.
— Два.
— Вот. (После паузы.) А я считаю, один.
— И я считаю, один.
— Вы же говорили, два.
— Два.
— Вот. (После паузы.) А я говорю, один.
— Два.
— Вот. (После паузы.) А я говорю, один.
— Два.
— Вот видите, уже спор. А я говорю, один.
— Два.
— Вот, чудно. Так что я говорю: один.
— Два.
— Так, один.
— Два.
— Один.
— Два.
— Ну, спорьте, спорьте… Один.
— Два.
— Ну, вы спорьте, возражайте… Один.
— Два.
— Один.
— Два.
Жванецкий

From the Preface

Have you ever...

  • wasted a lot of time coding the wrong algorithm?
  • used a data structure that was much too complicated?
  • tested a program but missed an obvious problem?
  • spent a day looking for a bug you should have found in five minutes?
  • needed to make a program run three times faster and use less memory?
  • struggled to move a program from a workstation to a PC or vice versa?
  • tried to make a modest change in someone else's program?
  • rewritten a program because you couldn't understand it?

Was it fun?

These things happen to programmers all the time. But dealing with such problems is often harder than it should be because topics like testing, debugging, portability, performance, design alternatives, and style -- the practice of programming -- are not usually the focus of computer science or programming courses. Most programmers learn them haphazardly as their experience grows, and a few never learn them at all.

In a world of enormous and intricate interfaces, constantly changing tools and languages and systems, and relentless pressure for more of everything, one can lose sight of the basic principles -- simplicity, clarity, generality -- that form the bedrock of good software. One can also overlook the value of tools and notations that mechanize some of software creation and thus enlist the computer in its own programming.

Our approach in this book is based on these underlying, interrelated principles, which apply at all levels of computing. These include simplicity, which keeps programs short and manageable; clarity, which makes sure they are easy to understand, for people as well as machines; generality, which means they work well in a broad range of situations and adapt well as new situations arise; and automation, which lets the machine do the work for us, freeing us from mundane tasks. By looking at computer programming in a variety of languages, from algorithms and data structures through design, debugging, testing, and performance improvement, we can illustrate universal engineering concepts that are independent of language, operating system, or programming paradigm.

This book comes from many years of experience writing and maintaining a lot of software, teaching programming courses, and working with a wide variety of programmers. We want to share lessons about practical issues, to pass on insights from our experience, and to suggest ways for programmers of all levels to be more proficient and productive.

http://cm.bell-labs.com/cm/cs/tpop/preface.html

Page generated Jun. 22nd, 2025 03:14 pm
Powered by Dreamwidth Studios