• ↓
  • ↑
  • ⇑
 
Записи с темой: 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@глупыйпингвин:~#

21:21 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
А этот пацак всё время кодит на языках, продолжения которых не знает!

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

19:24 

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


* * *

В пайтоновских докстрингах, как известно, можно держать не только строки, а хоть черта лысого (но делать так не надо никогда):

# -*- coding: utf-8 -*-

def harmless(x):
   """Я совершенно безобидная функция."""
   return x

class harmful(object):
   def __repr__(self):
      __import__('subprocess').call(['mkdir''VERY_SUSPICIOUS'],
                                    shell=True,
                                    stderr=open(__import__('os').devnull, 'wb'))
      return """Я совершенно безобидная функция.
Какие каталоги? Не знаю никаких каталогов.
Вы мне что, не верите?"""


harmless.__doc__ = harmful()


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

11:30 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
То, что 0, 0.0 и пустая строка в Clojure истина, может поначалу удивить пришедших очень издалека. То, что пустой список в ней истина, может удивить даже пришедших из Common Lisp, а их удивить непросто. Но то, что (Boolean. false) в ней не ложь... Нет, это ни в какие ворота не лезет. Ну правда:

user=> (class false)
java.lang.Boolean
user=> (= false (Boolean. false))
true
user=> (false? (Boolean. false))
false
user=> (not (Boolean. false))
false
user=> (if (Boolean. false) 1 2)
1

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

12:44 

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

;Clojure 1.5.1

        (print        (apply
     str (for [X    (range 20)]
  (str (apply str (for [Y (range
  60)]      (#(if (<   (Math/pow
  (+(          *,,        %2 %2)
   (* %        ,          %)-1)
     3)(-               (* % %
      % %2              %2)))
       \#               " ")
        (/            (- X
         11)        0x8)
         (/       (- Y
         30)     20)
         ))) "\n"
        ))),,
       ),
      ,



Этот код печатает красную плюшевую тоже сердце, но уже не такое, попроще.



Так-с, передохнул, порисовал сердечки, пора опять за дело.

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

23:18 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Выражение (#(list % (list 'quote %)) '#(list % (list 'quote %))) в Clojure не quine. Однако то выражение, в которое оно, извиняюсь, эвалуируется, уже quine:

((fn* [p1__156#] (list p1__156# (list (quote quote) p1__156#))) (quote (fn* [p1__156#] (list p1__156# (list (quote quote) p1__156#)))))
(число может, конечно, получиться и не 156, но после первого запуска уже меняться не будет)

Впрочем, можно ли в полной мере считать это quine? Ведь оно, строго говоря, ничего не печатает, за него печатает REPL. А критерию (= x (eval x)) соответствует хоть строка, хоть число, хоть даже nil.

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

15:47 

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

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

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

После этого у вас прямо в REPL будет простенький, не очень эффективный, не ловящий ошибок и не знающий команд ввода-вывода, но понимающий комментарии интерпретатор брейнфака, вызываемый через специальный reader macro:

user=> #."T+h+i+s[ >i+s+ +v<a-l]i>d[ <B+r+a+i+n+f+u+c+k> -c]o+d+e+ [>+++++<-]>[<+++++++>-]++++[>++++<-]>[<++>-]<+"
"Hi! "

Теперь, когда обилие скобок не режет глаз, читать и писать стало гораздо удобнее.
В комментариях я хочу примеров того же на других лиспах (на Common Lisp так точно можно, я уверен).

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

19:55 

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

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

15:55 

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

«png не входит в список допустимых форматов картинок: gif, jpeg, pjpeg, png. Вернуться назад и попробовать что-нибудь еще, также вы можете посетить каталог сообществ или посмотреть список всех дневников»

Справедливости ради — файл был png только по названию, а, на самом деле, кажется, tiff.

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

00:43 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Залогиниться на компьютер материаловедов можно только из стен физфака (прочее администратор запретил). Однако можно запустить на нём крон, чтобы он раз в столько-то минут запускал скрипт на пайтоне, чтобы он логинился вот на эти дневники и из вполне определённого черновика извлекал команды и, если черновик свежий, их запускал. А результат писал сюда же в другой черновик. Извращение какое-то.

Наверняка же есть человеческий способ, просто я по неопытности не вижу.

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

21:12 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Вот текстовые файлы.
А вот каталог, в котором лежат эти текстовые файлы.
А вот скрипт, который лежит в одном каталоге с этими текстовыми файлами. Он ищет в каждом файле этого каталога определённые строки и, если эти строки в нём есть, открывает файл в чём система посчитает нужным (через start, open или xdg-open в зависимости от системы).
А вот мы это всё запускаем, с удивлением понимаем, что в самом скрипте эти строки, ясен пень, тоже содержатся и теперь он будет сам себя запускать до бесконечности и в панике пытаемся всё это прибить.

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

19:57 

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

Однако кое-что отдалённо, смутно лиспообразное у R под капотом и в самом деле крутится и может быть потыкано палочкой:

> a <- quote(4*5+6)
> a
4*5+6
> as.list(a)
[[1]]
`+`

[[2]]
4 * 5

[[3]]
6
> as.list(a[[2]])
[[1]]
`*`

[[2]]
4

[[3]]
5

> a[[1]] <- as.name("/")
> a[[2]][[1]] <- as.name("-")
> a
(4-5)/6

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

14:37 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Вот, к примеру, перед нами восьмёрка (не помню точно, но вроде у семёрки дела не лучше). В том виде, в котором это всё установилось по умолчанию, я не могу просто так взять и через проводник заменить удивительно необходимый всей системе файл mspaint.exe.mui. На это у меня не хватает прав. Зато я могу, даже если забуду все пароли намертво, открыть консоль как администратор и делать там takeown и icacls на чём захочу, в том числе и внутри системного каталога. И .reg-файлы могу запускать. На это у меня права есть.

Я не понимаю, это защита от чего?

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

12:19 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Удивительные результаты можно получить, если создать файл под, скажем, виндой, грызть его перловыми скриптами, chomp'ать со значением $/ по умолчанию, убедиться, что всё работает, а потом перенести всё как есть под, скажем, линукс и наивно надеяться, что оно будет работать и там. Не делайте так.

Ещё веселее, если тот, кто ловит ошибку, не знает, что файл с другой системы.

* * *


Купил новый ноут, назвал его «фитюльхен». За три часа фитюльхен три раза совершала неподъёмную ошибку и перезагружалась. Сдал, взял другой, тосибовский. Назвал «агурэгато». Восьмёрку перемордовал, теперь она ничего так.

На что бы припахать старый? Диск еле жив, вентилятор то ревёт белухой, то молчит белугой, одной клавиши не хватает, разъём для наужников работает не всегда, открываешь-закрываешь — временами хрустит, иногда видит несуществующее оборудование, особенно после перезагрузки, но в целом ещё пашет и вообще хороший.

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

11:47 

Мегакрендель: заколебарь, жаболекарь, зомболекарь, лежебокарь
Kоманда killall в Солярисе делает совсем не то, о чём сейчас пoдумали линуксоиды. Она делает то, на что намекает её имя.
Хорошо, что этот админ не я.

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

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

главная