Fork me on GitHub
#clojure-russia
<
2016-04-28
>
kharus02:04:50

Мы юзаем liberator.

kharus02:04:03

Мне не нравится.

maxim05:04:32

Интересно, а почему до сих пор в clojure community нет аналога http://ruby-toolbox.com или http://npmjs.com? С различной статистикой, метриками, информацией, ссылками и т.д, чтобы новички не испытывали проблем с поиском библиотек. Знаю про clojure-toolbox и awesomu-clojure, но, к сожалению, это просто списки ссылок.

niwinz05:04:01

😞 we are too busy doing other cool stuff </joke> xD

kharus05:04:50

А мы уже всё наваяли на либераторе. Переписывать вряд ли будем.

seryh05:04:11

есть идеи как можно попроще и покрасивее с clj-time округять дату-время до десятков минут в большую сторону например "2016-04-28T05:41:34.443Z" -> "2016-04-28T05:50:00.000Z" ?

dottedmag06:04:10

@seryh: Я обычно беру время в юникстайм с дробью и манипулирую им, как числом. Но это не с clj-time.

dottedmag06:04:19

И работает только с UTC.

seryh07:04:55

вот такая вот штука получилась

(defn round-time-up
  "import [org.apache.commons.lang.time DateUtils]
          [java.util Calendar]"
  []
  (let [now (c/to-date (l/local-now))
        fixed (DateUtils/truncate now Calendar/SECOND)
        unround-min (.getMinutes fixed)
        mod (mod unround-min 10)
        round (DateUtils/addMinutes fixed (- 10 mod))
        fixed-round (DateUtils/truncate round Calendar/MINUTE)]
    fixed-round))

niquola07:04:56

Запуллреквеси

dottedmag08:04:22

https://clojurians.slack.com/archives/clojure-russia/p1461656470001111 -- перевод челленджа тут: https://habrahabr.ru/company/hola/blog/282624/ и полезные комментарии.

az12:04:04

@dottedmag: как я понял весь словарь всё равно использовать не получится

az12:04:20

жми не жми - всё равно в 64кб не уместить

az12:04:55

так в чём подвох?

dottedmag12:04:37

@az: В том, что выиграет та задача, которая сможет в 64кб уложить как можно больше информации о содержимом словаря, и за счёт этого чаще других будет правильно угадывать.

dottedmag12:04:07

Кстати, очень интересно смотреть на реакцию людей. Практически все сначала говорят "да фигня", потом "это невозможно решить", и только потом говорят "аааа, интересно" и начинают думать.

az12:04:59

ну я тупо скачал словарь, ужал максимально, получил несколько мегабайт - ну пиздец, подумал я

dottedmag12:04:18

Очень удачно размер 64кб оказался выбран, предыдущее значение 256кб давало надежду на то, что как-то получится упихать словарь целиком.

dottedmag12:04:40

А теперь уже видно, что победитель получит результат между 70% и 90%, а не 95% и 99%, как могло бы быть.

az12:04:07

если я не совсем в танке, то это нужен какой-то алгоритм, который ты сначало обучаешь на ограниченном кол-ве памяти на локальном компе, сжимаешь/компилишь его “опыт” в жс, ну отправляешь им

az12:04:35

ну молишься чтобы данные, на которых ты учил прогу, подошли

dottedmag12:04:59

Генератор тестовых данных публичен.

dottedmag12:04:21

Секретный только seed, с помощью которого будут браться конкретные пакеты тестов.

az12:04:37

за 3к как-то невыгодно, если нет готового решения

az12:04:45

толи дело 25к за бота simple_smile

dottedmag12:04:09

Если бы я не был связан с холой, то просто так бы для интереса поучаствовал.

dottedmag12:04:26

А то неинтересно — я же вижу всю внутреннюю переписку про это.

dottedmag12:04:43

Задача в этот раз крайне интересная получилась.

dottedmag12:04:52

Предыдущие challenge'и был унылыми.

az12:04:59

какой

az12:04:02

в 2 словах

az12:04:21

всё на жс, они наркоманы там

andmed12:04:28

ну уверен что 100 %то но вот может помочь целый курс по строкам есть время подготовиться http://cs224d.stanford.edu/syllabus.html

dottedmag12:04:32

Контора на жс, челледжи тоже на жс

az12:04:33

@andmed а это разве к nlp какое-то отношение имеет?

dottedmag12:04:48

Предыдущие челленджи были про ускорение кода, а этот про то, чтобы придумать правильный алгоритм.

dottedmag12:04:15

@az: Можно и так решать, если удастся натренированную нейросеть уложить в 64k

dottedmag12:04:42

На хабре в камментах ещё несколько подходов обсуждают.

dottedmag12:04:26

@az: В словаре же не случайные наборы строк, а английский.

dottedmag12:04:32

Этим можно и нужно пользоваться.

leov12:04:35

всем привет. а можно очень нубский вопрос? я в ринг-хендлере в :body возвращаю мапу она приезжает как строка векторох размером 2, причём внутри массива нет это поведение не изменилось, когда я добавил wrap-transit-response, на удивление

leov12:04:45

я уверен что что-то делаю не так, но что simple_smile

leov13:04:45

{:a 2 :b 3} -> "[:a 2][:b 3]"

fxposter13:04:05

по задаче @dottedmag - или найдется человек (или несколько), которые все же смогут упаковать эти 6мб в 64к без потерь, или ИМХО, все решат параметры (и комбинации) bloom-фильтров или чего-то подобного

fxposter13:04:22

ИМХО, задача “пожать до минимального размера, так чтобы можно было 100% ответить - да или нет” тоже была бы очень крутой

dottedmag13:04:59

Но это совсем другая задача.

fxposter13:04:15

но не менее интересная, ИМХО

dottedmag13:04:21

Та, что есть - на алгоритмы "вообще", а на минимум размера - только на компрессию.

andfadeev13:04:46

@leov https://github.com/ring-clojure/ring/wiki/Concepts :body A representation of the response body, if a response body is appropriate for the response's status code. The body can be one of four types: String The body is sent directly to the client. ISeq Each element of the seq is sent to the client as a string. File The contents of the referenced file is sent to the client. InputStream The contents of the stream is sent to the client. When the stream is exhausted, the stream is closed.

andfadeev13:04:18

мапа это сиквенс ключ значений

az13:04:13

> мапа это сиквенс ключ значений сначала прочёл мама Оо

fxposter13:04:48

мама это сиквенс, папа это мап

leov14:04:29

гм. а чем модно тестировать ринг-хендлеры? если подать в них запрос-ответ - они отдают обратно мапу, а не строку simple_smile

abtv15:04:06

Парни, а есть тут те, у кого отключена подсветка кода? Уже несколько недель так работаю, привык. Навигация по коду работает как обычно. Сижу в Idea с IdeaVim плагином.

leov15:04:55

я включил радужные скобки, и собственный фирменный рецепт: топлевел пара скобок чорная на чорном чорном фоне

rm16:04:22

abtv: есть я

rm16:04:30

больше года, полет нормальный

agi_underground16:04:54

привет, можете подсказать как мне конвертировать строку с относительным путем к файлу конвертануть в Path который принимает java.nio.file.Paths ? вроде работает вот таким вот боком, но там указывал абсолютный путь: (java.nio.file.Paths/get galleries (into-array ["user" "clojure-projects" "future-test" "image.jpg"]))

agi_underground16:04:30

этот путь я потом скармливаю java.nio.file.Files/deleteIfExists

agi_underground17:04:03

Всё, нашел : юзаем http://clojure.java.io/delete-file . Извиняюсь если что, я пока новичок в clojure

artemyarulin18:04:07

@abtv: Уже 2 недели с хаскелем играюсь, начал без подсветки - а потом уже и забыл. Теперь отключаю везде, хз почему - аргументировать не смогу simple_smile

abtv19:04:11

@rm @artemyarulin а какого цвета фон и текст у вас?

abtv19:04:52

У меня на сером фоне, от белого глаза устают

kronos_vano20:04:36

ну и шрифт

agi_underground20:04:23

после установки terminus я зыбыл о других шрифтах навсегда

artemyarulin20:04:31

хотя вроде как зеленый на черном самый удобный. Нео типа)

bezrukov20:04:02

да-да, товарищи, расскажите, кто какой смысл в это вкладывает?

bezrukov20:04:10

я про отключение подсветки кода, конечно)

artemyarulin20:04:27

только хардкор, джуниоры смотрят как на мастера йоду (сеньоры смотрят как на дебила :D)

linuccio20:04:23

Добрый вечер simple_smile http://cljsfiddle.com — интересно собираются ли развивать

misha21:04:18

use grayscale найс вообще

abtv22:04:46

@misha: интересно) ты реально так работаешь?

misha23:04:13

нет конечно, но сейчас я на invert colors