• ↓
  • ↑
  • ⇑
 
Записи с темой: root@глупыйпингвин:~# (список заголовков)
18:49 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Ради борьбы со стереотипами: почитайте про Грейс Хоппер — автора самого первого компилятора и не только. Расскажите тем, кто ещё не знает.

@темы: root@глупыйпингвин:~#

15:16 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Продолжаю воспринимать любую болезнь, которой удалось меня завалить и нарушить мои планы и планы всех, с кем мои планы были связаны, чуть ли не как личное оскорбление.

* * *


Новое начальство дало мне доступ в репозиторий и разрешение делать там всё, что посчитаю нужным, объяснило задачу и дедлайн и отпустило. В коде комментарии вида "# all sysem informations for the programm are here" и "# TODO: wo taucht dieser Plot auf?". Папка man пустая. Зато есть файлы aaa.r и zzz.r.

* * *


Комната была рядом с лётным полем, на котором торчал какой-то забытый самолёт. Башня с полувыломанными ножк полувыбитыми стёклами. Хорошо было изнутри смотреть, как буря деревья мотает.

Ещё неподалёку была улица Milchstraße, что значит — Млечный путь.

* * *


Самые интересные места в городе видно издали по малахитово-зелёным старым крышам. Что это, кстати? Карбонат меди?

* * *


ещё фотографии

* * *


P.S.: Мимими.

@темы: там леший бродит, по всей Германии wetter, мамонты и кузнечики, root@глупыйпингвин:~#

02:04 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Самый простой способ вогнать Common Lisp в бесконечный цикл — это, как ни странно, написать в интерпретаторе (loop).

Там, внутри, оно превращается в (BLOCK NIL (TAGBODY #:LOOP-3091 (GO #:LOOP-3091))), название метки может варьироваться.

@темы: root@глупыйпингвин:~#

03:26 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Из пайтона довольно легко потрогать тикль:

>>> from tkinter import Tcl #во втором пайтоне Tkinter, прочее точно так же
>>> tcl = Tcl()
>>> tcl.eval("set a ret; set b urn; $a$b schtschekotno!")
'schtschekotno!'

Не так удобно, но тоже можно потрогать из пайтона кложуровский nrepl (для этого надо pip install nrepl-python-client):

>>> import nrepl
>>> c = nrepl.connect("nrepl://localhost:60838") #или какой там у вас порт
>>> c.write({'op': 'eval', 'code': '(doto (java.util.ArrayList.) (.add (-> 4 (+ 2) (* 7))))'})
>>> c.read()
{'session': '3e671746-bbee-426d-a6a4-578d963be88c', 'ns': 'user', 'value': '[42]'}
>>> c.read()
{'session': '3e671746-bbee-426d-a6a4-578d963be88c', 'status': ['done']}

@темы: root@глупыйпингвин:~#

19:04 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
18:12 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Продолжаем рубрику «как не надо на пайтоне, или Zweckentfremdung».

о присваивании внутри выражения

В следующем выпуске: рекурсия в лямбдах и отступы мышиным хвостиком, как у Кэрролла.

@темы: root@глупыйпингвин:~#

08:53 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Сейчас вы услышите трагическую и поучительную историю о мальчике Бобби, который поленился запускать большую тяжёлую Visual Studio ради мааааахонького файлика на F# и пытался скомпилировать этот файлик из консоли. Он получал странные и незнакомые ошибки на ровном месте, вроде expected class or object definition. Он недоумевал — какие, к бесу, объекты? А потом оказалось, что он всё это время вызывал не тот fsc, который в %ProgramFiles(x86)%\Microsoft SDKs\F# и так далее, а тот, который в читать дальше.

@темы: root@глупыйпингвин:~#

05:39 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
В пайтоне синтаксис для аннотаций типов можно использовать так:

@regexCheck('n', 'return')
def binaryPol(n: '[01]+$') -> '[zj][zerojdn ]+[on]$':
   n = re.sub('0', 'zero ', n)
   n = re.sub('1', 'jeden ', n)
   return n.strip()

Теперь binaryPol('10011') вернёт 'jeden zero zero jeden jeden', но binaryPol('10012') выкинет TypeError: [01]+$ can't match 10012.

сам декоратор

Домашнее задание: объясните, почему так делать лучше не надо.

@темы: root@глупыйпингвин:~#

21:34 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь

Вопрос: Встречался ли вам по работе хоть раз логарифм по золотому сечению?
1. А как же  6  (9.68%)
2. Нет, только натуральный  3  (4.84%)
3. Нет, только двоичный и десятичный  3  (4.84%)
4. Разные бывали, но по золотому сечению ни разу  12  (19.35%)
5. Вообще никакие и никогда  38  (61.29%)
Всего: 62

@темы: root@глупыйпингвин:~#

16:32 

Потому что гладиолус

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Рассмотрим фразу из реального разговора:

«В хаскеле [1] == 1 выдаёт ошибку, потому что (==[1]) :: (Eq a, Num a) => [a] -> Bool»

Является ли она грамматически корректным предложением на русском языке? Если нет, то почему?

А само по себе «(==[1]) :: (Eq a, Num a) => [a] -> Bool»?

А само по себе «char (*(*x())[])()»?

@темы: root@глупыйпингвин:~#, превед, языковед

08:43 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Случайный факт о коммон лиспе. На нём можно (пожалуйста, не надо) писать вот так:

(TAGBODY
10   (SETF A 0 B 1)
20   (PRINT B)
30   (SETF B (+ A B) A (- B A))
40   (WHEN (< A 100) (GO 20)))

Другой случайный факт о коммон лиспе. Команда (format t "~@{(~(~a~)_~:*~a)~%~:*(~a_~:*~(~a~))~%~:*~}" "O") будет перемигиваться с вами вечно. Если хотите, чтобы не вечно, добавьте перед @ какое-нибудь натуральное число, например, 700.

@темы: root@глупыйпингвин:~#

20:08 

Picolisp quine

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Квайн на пиколиспе: ('((X) (list X (lit X))) ''((X) (list X (lit X))))

Чуть более длинная версия: ('((X) (list X (cons 'quote X))) ''((X) (list X (cons 'quote X))))

Почему это работает:
'a в пиколиспе значит не (quote a), как в более привычных лиспах, но (quote . a), это раз.
Для описания анонимных функций используется quote, а не lambda, это два.

@темы: root@глупыйпингвин:~#

18:17 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Для тех, кто что-то слышал про полноту по Тьюрингу, но хочет немного конкретики.

Ныряем в яму с битумом и там барахтаемся

@темы: root@глупыйпингвин:~#

23:45 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Был на сходке местных питонщиков. Видел там такое:

@do
def p():
    yield char("[")
    d = yield digit
    ds = yield many(skip(",").andThen(digit))
    yield char("]")
    yield ret(d + ds)

Причём запись с декоратором do является лишь сахарком для записи с лямбдами и оператором >>.

Знающие хаскель и видевшие парсек да оценят.

* * *


— Как lift по-русски?
— Фабрика прокси-класса!


Не уверен, что правильно, но как минимум забавно.

@темы: root@глупыйпингвин:~#

14:34 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Зазырил picolisp.

На первой минуте я обнаружил, что nil не равно NIL, но оба определены. Кстати, (cons nil NIL) выдаёт (915296208). Я знаю, почему так, но вам не скажу, чтобы не нарушать общей загадочности.

На третьей понял, что mapcon ведёт себя совсем как в коммон лиспе (в частности, при неудачном использовании тоже создаёт закольцованный список и вешает интерпретатор).

На пятой — что всерьёз использую слово cadadr.

На седьмой я попробовал повторить в нём одно упражнение из sicp, и интерпретатор вывалился со стектрейсом и STATUS_ACCESS_VIOLATION. Документация говорит, что так и надо: нефиг вызывать нефункции.

Во всём остальном он очень, очень интересный. Посмотрите и впечатлитесь.

@темы: root@глупыйпингвин:~#

05:29 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Плохо кодить ночью вместо сна. Нашёл в багтрекере строчку: поискать все целочисленные /2 и заменить на >> 1 для читаемости.

@темы: root@глупыйпингвин:~#

01:05 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
— Однопроходный компилятор — это как утконос или ехидна, только компилятор.

@темы: root@глупыйпингвин:~#

21:17 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Я думал, mipmap — это из того же разряда, что flip-flop, диссонансная рифма или как оно там называется. А на самом деле это MIP map от латинского multum in parvō.

* * *


Вот так начнёшь кодить на экшнскрипте по принципу «я джаваскрипт знаю, ну что там такого может быть непохожего». А через три месяца выныриваешь из AGALовских ассемблерных вставок, из ушей у тебя вытекают div ft0, v0, fc0, в волосах застрял tex ft1, v0, fs0, фыркаешь, отряхиваешься и думаешь о жизни.

@темы: root@глупыйпингвин:~#, превед, языковед

04:26 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Почему я не нашёл в учебнике ничего про Delay slots? А потому что они в нём называются Verzögerungszeitschlitze.

@темы: root@глупыйпингвин:~#

01:19 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Задачки с regex.alf.nu несложные, но прилипчивые.

@темы: root@глупыйпингвин:~#

Эх, разум, да ещё разум

главная