Pull to refresh

Comments 76

UFO just landed and posted this here
Извиняюсь за оффтоп. Никто не знает, почему
yes 'c=(╱ ╲);printf ${c[RANDOM%2]}'|bash
нормально работает, а
yes 'c=(1 2);printf ${c[RANDOM%2]}'|bash
Вешает GNOME Terminal намертво(версия 2.30.2)?
У меня всё нормально и в guake, и в gnome-terminal 3.6
Гм…
1) только при скроле мышью, при простой прокрутке такого не возникает. И в фулскрине заметнее.
2) несколько преувеличил. Он «отвисает» через некоторое время. И в более новых версиях(только 3.4 смотрел), проблема менее заметна.
Что-то не могу подобрать подходящего шрифта под windows — без слешей повёрнутых на 45 градусов получается некрасиво :)
А в fb2/epub где-нибудь есть? PDF всё же не самый удобоваримый формат.
А конвертеры ныне не модны или под запретом? Сам пользуюсь одним «комбайном» для конвертации в epub. Писать название не буду (не сочли бы за рекламу), но напоминает оно птичку маленькую.
Сконвертированное из PDF и изначально бывшее в правильном формате — всё же несколько разные вещи, не находите?
Согласен. Но опять таки, если PDF правильно подготовлен, то с конвертацией особых проблем не возникнет.
Что плохого в том, чтобы посоветовать другим бесплатную кросплатформенную программу, которая вам понравилась?
Я тоже пользовался Calibre и считаю, что об этом можно и нужно говорить открыто.
X… У…
Хорошо, что третью букву не может нарисовать.
Для тех, у кого только cmd под рукой:
@echo off
:1
set /a a=%random% %% 2
if %a%==0 set /p "t=/"<nul & goto 1
if %a%==1 set /p "t=\"<nul & goto 1
Только тут генератор псевдослучайных чисел какой-то неинтересный: очень много квадратиков, и вообще повторяющихся последовательностей.
Да, косяк. Вот получше:
@echo off
set /a x=123456789+%random%
set /a y=362436069+%random%
set /a z=521288629+%random%
:1
set /a "x ^= x << 16"
set /a "x ^= x >> 5"
set /a "x ^= x << 1"
set /a "t = x"
set /a "x = y"
set /a "y = z"
set /a "z = t ^ x ^ y"
set /a "a = z & 1"
if %a%==0 set /p "t=/"<nul & goto 1
if %a%==1 set /p "t=\"<nul & goto 1

хороший генератор с периодом 2^96-1
А все потому что нужно брать не младший бит случайного числа, а старший.
Меряемся, у кого короче )

@echo off & setlocal enabledelayedexpansion 
:a
set c=/\ &for /f %%i in ('set /a %random% %% 2') do echo|set /p=!c:~%%i,1!&goto a

добился однострочника, запускаемого из командной строки (без bat-файла):

cmd /v:on/q/c for /l %j in (0,0,1)do if !random! LSS 16384 (<nul set/p=/)else (<nul set/p=\)
Как вспомню историю про
$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see
сразу отпадает охотя что-то куда-то копировать и запускать…
У Васика операторы не заканчивались ";" Двоеточия достаточно.
это чтобы перевода строки не было
Моя скромная поделка jsfiddle.net/SyfMU/
Ткните носом, как можно сделать код красивее, т.к. на js пишу крайне редко.
В одну строчку:
for (var i=1; i<=640; i++) document.write((parseInt(0.5+Math.random())?"/":"\\")+(i%40?"":"\n"));
for(var i=640,m=Math; i-->0;) document.write((m.floor(0.5+m.random())?"/":"\\")+(i%40?"":"\n"));
нет все же это короче
for(var i=640; i-->0;) document.write((parseInt(0.5+Math.random())?"/":"\\")+(i%40?"":"\n"));
Так еще короче работает из консоли хрома
for(var i=640; i-->0;) document.write("╱╲"[parseInt(0.5+Math.random())]+(i%40?"":"<br>"));
Тяжело остановиться
for(var i=640; i-->0;) document.write("╱╲"[(0.5+Math.random())^1]+(i%40?"":"<br>"));

Пока не понял почему, но работает.
Понял — битовые операции округляют операнды.
for(var i=640; i-->0;) document.write("╱╲"[(Math.random()*2)^0]+(i%40?"":"<br>"));
Я тоже пробовал делать просто текстом, но из-за шрифтов оно выглядит некрасиво. Пришлось делать в виде изображения.

Исходник (PHP + Gd)
Скриншот
Да, кстати, вместо слешей лучше использовать символы диагоналей U+2571 и U+2572, как тут.

Сравните:
/\/\/\/\
\/\/\/\/
vs
╱╲╱╲╱╲╱╲
╲╱╲╱╲╱╲╱
Действительно, разница разительная. Спасибо.
Можно использовать другие символы:
╱╲
ностальгия: только сейчас, глядя на видео, вспомнил как успокаивает мигающий курсор — прям как собачка, виляющая хвостом… нынешние компы какие-то высокомерные — а этот ждет команды, тут же исполняет, виляет хвостиком в ожидании следующей команды… эх, старею… :-)
Знаете, у меня по-прежнему курсор мигает каждый день. Постоянно.
цените это… возможно, в этом есть свой элемент счастья )
UFO just landed and posted this here
На Commodore конечно более таинственно выглядит, даже не сразу понял, как это получается :)
Какой github, только тетрадка книжка, только хардкор!!!

Вот что странно — операторы уже не все помню (пришлось воспользоваться мануалом), а где какой символ на клавиатуре расположен — пальцы помнят.
А результат совсем не такой впечатляющий, как на C64.
На какой клавиатуре, JCUKEN — как на MSX?
Нет, «обычная» QWERTY, а под символами я имел в виду * ( ) +:; и т.д., набираемые с модификатором Symbol Shift.
Лучше заменить PRINT на RANDOMIZE USR, так будет прикольнее :-)
Я когда недавно решил побаловаться спектрумовским бейсиком удивился, что пальцы помнят не только символы, но вообще все операторы. Стоит подумать про оператор и я уже знаю на какой клавише и в каком регистре он находится…
Басик… Почти 20 лет прошло с тех пор, как я впервые набрал GOTO:))
15 лет прошло с тех пор, как я впервые отказался от оператора goto :)
Cколько лет пройдет до того момента, когда от goto откажутся компиляторы? :)
Поглядите код ядра Линукс, вы очень сильно удивитесь…
Я про ассемблерные jump-ы, безусловные переходы, что есть тот же самый goto по сути. Неужто в линуксе обошлись без него? Тогда очень сильно удивлюсь.
Простите, вы написали именно про goto, в ядре линукса именно этот оператор используется невероятно часто. А тут вы внезапно ассемблер вспомнили.

В ассемблере таки да, одни джампы. При чём условные, безусловные. Но при чём здесь ассемблер?
Извиняюсь, не так понял. Значит таки есть там goto. Как я ответил ниже habrahabr.ru/post/161035/#comment_5529703 это всего лишь подколка в сторону ненавистников goto.
Хорошо: мир, дружба, жвачка!
В DCPU-16, насколько я помню, без него обошлись, оставили MOV IP, адрес. Но вообще, от IP пора отказываться. Слишком неэффективная штука.
В пользу чего можно отказаться от IP?
Чего-нибудь вроде FPGA. Или нейронных сетей. У нас в мозгах никакого IP нет.
Фундаментальный вопрос — без бутылки не разобраться
UFO just landed and posted this here
Это я так хитро поддел ненавистников goto. Как не абстрагируйся, все равно код сведется к простым машинным командам, где без него никак.
UFO just landed and posted this here
Поиск скрытого смысла и скрытых аналогий — важнейшая часть обработки информации. Без неё не только ничего нового не создашь, но и ничего полезного не извлечешь.
Не «if else», а «if goto»! Иногда даже goto не пишут, просто if условие метка (или if число три метки, как в Фортране).
Достаточно запретить все языки, кроме Brainfuck — в нём goto не предусмотрен. Для особо сопротивляющихся можно оставить интерпретаторы алгоритмов Маркова.
«Дайте гимн Советского Союза на Си++!» ©
Мне больше пример на руби понравился:

ruby -e 'print ["\u2571","\u2572"].sample while sleep 0.001'
Раз пошла такая пьянка, то вот вам код на Пайтоне:
import random; while 1: print random.choice(u'╱╲'),
Тогда уж
import random; while 1: print(random.choice('╱╲'), end='')
Да кому он нужен ваш третий Пайтон? :)
Мне почему-то третий питон больше нравится. print как функция больше привлекают. Ну и еще нормальная поддержка unicode )). Так что готов поспорить, что третий заменит второго.
danial72, вы приняли шутку слишком всерьез
Просто я не умею смешно шутить в ответ на шутку
Пару месяцев назад делал штуку по похожему алгоритму: explored.tk/experiments/swoop/

В каждом тайле 2 диагональных линии, "//" либо "\\". Получается красивее.

Я, конечно, понимаю, что уже семь лет прошло, но такую мёртвую ссылку я ещё не видел :)

Да уж, look how they massacred my boy! Подозреваю, что там было такое, либо такое. Надеюсь эти ссылки подольше поживут.
list.forEach(item => {
    item.daysWithoutLove += 1;
    item.dumbLuck = Math.random();
});

По-моему, это само по себе шикарно.

Sign up to leave a comment.

Articles