Home
golang
golang@conference.jabber.ru
Воскресенье, 17 апреля 2016< ^ >
Deirz установил(а) тему: Go Programming Language.
|| Изучаем: https://gobyexample.com/
|| Тур: http://tour.golang.org/
|| Как писать код: http://golang.org/doc/code.html
|| Как писать эффективный код: http://golang.org/doc/effective_go.html
|| FAQ: http://golang.org/doc/faq
|| 99% ответов о языке Go тут: http://golang.org/ref/spec
|| Сторонние либы: http://godoc.org/ https://github.com/avelino/awesome-go
|| Логи: http://chatlogs.jabber.ru/golang@conference.jabber.ru/
|| This chatroom does not adhere to any codes of conduct, be they implied or explicitly stated by someone. Your feelings can and WILL be hurt without a warning.
Конфигурация комнаты
Участники комнаты

GMT+3
[00:03:11] plumbum вышел(а) из комнаты
[00:21:52] kpmý вышел(а) из комнаты
[00:28:29] begemot_sun вышел(а) из комнаты: Replaced by new connection
[00:28:33] begemot_sun вошёл(а) в комнату
[00:35:50] ermine вышел(а) из комнаты
[00:46:11] begemot_sun вышел(а) из комнаты
[01:01:30] kms вышел(а) из комнаты
[01:09:16] krab вышел(а) из комнаты: Left Vacuum-IM
[01:40:19] mantyr@jabberon.ru вышел(а) из комнаты
[01:44:02] mantyr@jabberon.ru вошёл(а) в комнату
[02:15:32] avz вошёл(а) в комнату
[02:32:53] avz вышел(а) из комнаты
[03:16:03] avz вошёл(а) в комнату
[03:32:51] avz вышел(а) из комнаты
[05:17:22] avz вошёл(а) в комнату
[05:26:42] <mantyr@jabberon.ru> Вопрос - что есть для сжатия png без потерь?:) А то вот тут на тостере человек заявляет что 1920х1080 изображения пожал до 150кб через tinypng и вспоминая последний проект с фотками - захотелось таких же размеров:) Естественно вопрос по golang библиотекам…
[05:27:31] Kittycat вышел(а) из комнаты
[05:28:28] <mantyr@jabberon.ru> Для примера, 1000x657 1.973MB
[05:35:07] avz вышел(а) из комнаты
[05:53:52] <mantyr@jabberon.ru> Ага, в png.Encoder.SompressionLevel надо присвоить png.BestCompression и посмотреть на сколько ужмётся файлик:)
[05:54:12] <mantyr@jabberon.ru> *  png.Encoder.CompressionLevel
[05:57:28] <mantyr@jabberon.ru> Ещё надо сравнить с jpeg без потерь… действительно, зачем для фотографий png использовать когда важно место...
[06:18:25] avz вошёл(а) в комнату
[06:35:07] avz вышел(а) из комнаты
[07:18:59] avz вошёл(а) в комнату
[07:36:46] avz вышел(а) из комнаты
[08:20:04] avz вошёл(а) в комнату
[08:30:40] ascrazy@jabber.ru вышел(а) из комнаты
[08:36:43] avz вышел(а) из комнаты
[09:12:50] Deirz вышел(а) из комнаты
[09:20:40] avz вошёл(а) в комнату
[09:30:16] plumbum вошёл(а) в комнату
[09:37:44] avz вышел(а) из комнаты
[09:49:10] ascrazy@jabber.ru вошёл(а) в комнату
[09:55:56] ermine вошёл(а) в комнату
[09:56:31] postman вошёл(а) в комнату
[09:57:07] <postman> Deirz: кстати, ты уже заполнил http://colinm.org/language_checklist.html ?
[09:58:32] <postman> на "The following philosophical objections apply" всегда проигрываю.
[09:59:59] avz вошёл(а) в комнату
[10:21:59] <ascrazy@jabber.ru> postman: а нахуй оно нужно?
[10:25:19] begemot_sun вошёл(а) в комнату
[10:31:02] <mantyr@jabberon.ru> Особо впечатлительным не смотреть:) https://www.youtube.com/watch?v=5JMInXAtnQg
[10:41:13] <ascrazy@jabber.ru> баянише
[10:52:09] ascrazy@jabber.ru вышел(а) из комнаты
[10:53:52] ascrazy@jabber.ru вошёл(а) в комнату
[10:59:17] ascrazy@jabber.ru вышел(а) из комнаты
[10:59:50] ascrazy@jabber.ru вошёл(а) в комнату
[11:01:16] ascrazy@jabber.ru вышел(а) из комнаты
[11:01:48] Darth Лис вошёл(а) в комнату
[11:07:04] <Darth Лис> бодрячком, пацанчики
[11:14:06] ascrazy@jabber.ru вошёл(а) в комнату
[11:23:40] Darth Лис вышел(а) из комнаты
[11:53:02] mantyr@jabberon.ru вышел(а) из комнаты
[12:07:12] Kittycat вошёл(а) в комнату
[12:11:37] ascrazy@jabber.ru вышел(а) из комнаты
[12:23:56] ascrazy@jabber.ru вошёл(а) в комнату
[12:25:18] ascrazy@jabber.ru вышел(а) из комнаты
[12:54:05] kpmý вошёл(а) в комнату
[12:57:04] kms вошёл(а) в комнату
[13:01:00] azovcvb вошёл(а) в комнату
[13:04:14] <kpmý> надо на русский язык перевести
[13:04:20] <kpmý> чеклист
[13:15:50] ascrazy@jabber.ru вошёл(а) в комнату
[13:19:01] <ascrazy@jabber.ru> kpmý: но зачем?
[13:21:55] <kpmý> прост
[13:31:51] Darth Лис вошёл(а) в комнату
[13:32:02] Darth Лис вышел(а) из комнаты
[13:37:05] ascrazy@jabber.ru вышел(а) из комнаты
[13:54:41] kms вышел(а) из комнаты
[14:00:24] ascrazy@jabber.ru вошёл(а) в комнату
[14:04:23] Deirz вошёл(а) в комнату
[14:06:52] avz вышел(а) из комнаты
[14:12:39] kpmý вышел(а) из комнаты
[14:12:39] <Deirz> > You have reinvented PHP better, but that's still no justification
[14:13:43] <Deirz> > You have some interesting ideas, but this won't fly.
опасаюсь этого
[14:17:33] <postman> че эт ты проскипал самое интересное.
[14:18:07] <postman> например [ ] Compilers do not work that way и [ ] Shift-reduce conflicts in parsing seem to be resolved using rand()
[14:18:26] <postman> что происходит из твоего ответа на вопрос о грамматике.
[14:18:46] <Deirz> я поискал в интернете и shift-reduce - это видимо проблема yacc
[14:18:59] <Deirz> и честного парсера на грамматиках
[14:19:08] <Deirz> а не recursive decent парсера :^)
[14:19:10] <postman> это проблема любого LR-парсера.
[14:19:25] <postman> recursive descent уебищнее и слабее.
[14:19:48] <postman> удачи в преобразовании грамматики в праворекурсивную форму.
[14:20:11] <postman> (сказал бы я, если бы уже не сделали готовых библиотек)
[14:22:41] <Deirz> бтв план у меня такой - сделать супербазовый язычок, парсер и интерпретатор к нему, оттранслировать его в го, написать апи на го для этого сгенерированного парсера/интерпретатора. Потом уже впиливать потихоньку умные штуки, читать умные книжки, переделывать из говнопалковой реализации на нормальную
[14:23:09] <postman> запахло илюшей.
[14:23:14] <Deirz> поэтому многие пункты из чеклиста пока не очень применимы
[14:23:19] <postman> зачем тебе goвно?
[14:23:41] <postman> лучше уж в жвм-байткод тогда :^)
[14:23:49] <Deirz> го я знаю, а жвм - нет
[14:24:15] <Deirz> и плюсы не знаю :^(
[14:24:56] kms вошёл(а) в комнату
[14:25:16] <postman> а зачем тебе кресты?
[14:26:38] <Deirz> крестоёбам наверно пригодится язык, который умеет работать с плюсовыми объектами, использовать стл коллекции итд
[14:27:12] <Deirz> кажется, остальные встраиваемые языки предоставляют си апи
[14:29:18] <Deirz> и используют свои собственные сишные структуры данных
[14:29:25] <postman> ну.
[14:29:29] <postman> а кресты зачем?
[14:33:16] <Deirz> в каком смысле "зачем"?
[14:34:19] <postman> зачем тебе знать кресты?
[14:34:37] kpmý вошёл(а) в комнату
[14:35:52] <kpmý> если у тебя простой парсер то ты не нужен)
[14:36:32] <Deirz> чёт делать транслятор в плюсы не зная плюсов видится плохой затеей
[14:43:26] <kpmý> плюсы это вообще плохая затея)
[14:44:05] <kpmý> лучше уж в js
[14:44:57] <kpmý> пытался тут установить wasm расширение для ноды, так эта шняга сначала потрбовала питон
[14:45:09] <kpmý> потом поставил ей питон, она потребовала msbuild
[14:45:30] <kpmý> короче в итоге установил полный бандл писуал студии
[14:45:40] <kpmý> а оказалось что в проекте ошибки компиляции
[14:45:44] <kpmý> ебаный насос
[14:49:40] <kpmý> а всё потому что сделали плагин на плюсоебанине
[15:02:48] <postman> на майкрософтоебанине.
[15:09:06] <kpmý> ну лан, хуй с ней, с нодой
[15:09:19] <kpmý> скочал себе интерпретатор wasm на камле
[15:09:33] <Deirz> вот так сразу надо
[15:09:47] <kpmý> да, скомпилировался под цигвином норм вроде
[15:10:05] <postman> перед использованием программ на окамле нужно обязательно помолиться джейн стрит.
[15:10:22] <postman> и потом совершать такой же намаз через каждые пять часов использования.
[15:10:53] <kpmý> а я аметист
[15:11:53] <Deirz> винда свободна от джейнстрит окамля
[15:11:59] <Deirz> т.к. core на винде не работает
[15:13:56] <postman> на винде ислам^W .NET.
[15:14:09] <postman> там только F# и леночка.
[15:33:21] krab вошёл(а) в комнату
[15:56:25] Magiq вошёл(а) в комнату
[16:02:33] Magiq вышел(а) из комнаты
[16:02:38] Magiq вошёл(а) в комнату
[16:18:56] Magiq вышел(а) из комнаты
[16:31:28] ascrazy@jabber.ru вышел(а) из комнаты
[16:38:09] ascrazy@jabber.ru вошёл(а) в комнату
[16:38:34] <kpmý> https://gist.github.com/kpmy/d8bf0c8766d20d6d7e7635ae34393d2b
[16:39:01] <kpmý> $ wasm test0.wasm -t
-- Loading (test0.wasm)...
-- Parsing...
-- Desugaring...
-- Running...
-- Checking...
-- Initializing...
1 : i64
[16:39:22] <kpmý> работает, блядь
[16:40:27] <ascrazy@jabber.ru> шта это?
[16:40:45] <ascrazy@jabber.ru> kpmý: Пётр?
[16:40:52] <ascrazy@jabber.ru> почему трактор не заводишь?
[16:41:03] <postman> невыездной небось)))0000
[16:41:15] <postman> а куда трактор, в беларашку?))))0000)))
[16:41:27] <kpmý> ascrazy@jabber.ru: это webassembly
[16:41:35] <kpmý> зачем мне трактор, у меня поезда
[16:41:57] <ascrazy@jabber.ru> kpmý: а почему там лисп какой-то?
[16:42:14] <kpmý> ну это типа AST, хранится в s-expr
[16:42:17] <ascrazy@jabber.ru> веб-ассембли должен же в каком-то анально-бинарном формате быть
[16:42:38] <kpmý> да, в бинарном формате тоже хранится ast
[16:42:45] <kpmý> это как json и bson
[16:42:51] <kpmý> две стороны одной еболы
[16:42:53] <ascrazy@jabber.ru> это типа есть какие-то официальные тулы которые этот ast из s-expr читают?
[16:42:58] <ascrazy@jabber.ru> или это твои костыли?
[16:43:11] <kpmý> официальный интерпретатор на камле
[16:43:25] <kpmý> https://github.com/WebAssembly/spec/tree/master/ml-proto
[16:43:44] <kpmý> типа, референс для всех остальных более крутых рантаймов
[16:44:22] <kpmý> ну и короче если ты понимаешь и можешь генерить s-expr то и бинарный формат тоже получится
[16:44:55] <kpmý> короче я подумал, что надо чо-нибудь замутить с этим wasm на пщ, а то скучно жить
[16:45:47] <kpmý> плюс у них почти вся хрень написана на плюсах. это охуенно, конечно, но для простых парней нужно попроще.
[16:45:49] <ascrazy@jabber.ru> лучше возьми нормальный язык
[16:45:52] <ascrazy@jabber.ru> нахуй пщ
[16:46:02] <ascrazy@jabber.ru> джавку ту же
[16:46:16] <kpmý> дык уже есть готовое на окамле, Deirz говорит что ocaml норм язык)
[16:46:36] <kpmý> на джавке я только работаю)
[16:46:37] <ascrazy@jabber.ru> Deirz говорит что и пщ нормальный
[16:46:44] <ascrazy@jabber.ru> так что я бы ему не верил
[16:55:26] <kpmý> кстати, Deirz, вот пацаны сделали фактически всё что тебе нужно в окамле от компилятора интерпретатора
[16:59:04] ascrazy@jabber.ru вышел(а) из комнаты
[17:01:23] <postman> пишете конпелятор говна в васм?
[17:01:27] <postman> меня позовите.
[17:01:44] <kpmý> nop nop nop
[17:02:10] <kpmý> но ведь компелятор говна довольно сложный
[17:02:20] <kpmý> плюс васм пока однопоточный
[17:02:35] <kpmý> и я даже ещё не знаю, где его запускать
[17:02:37] ascrazy@jabber.ru вошёл(а) в комнату
[17:02:55] <postman> от конпелятора можно взять только парсер в АСТ и тайпчекер, а там самим допердолить.
[17:03:47] ascrazy@jabber.ru вышел(а) из комнаты
[17:03:50] <postman> по поводу однопоточности - можно рантайм написать на васме.
[17:04:14] <postman> заметь, goвно тоже по дефолту выполнялось в один поток до 1.5.
[17:04:20] ascrazy@jabber.ru вошёл(а) в комнату
[17:04:24] <postman> (пользовательские горутины)
[17:04:42] <kpmý> кажется чуваки из gopherjs уже занимаются этим http://www.gopherjs.org/blog/2015/09/28/surprises-in-gopherjs-performance/
[17:04:52] krab вышел(а) из комнаты: Left Vacuum-IM
[17:05:02] <kpmý> в самом внизу поста
[17:05:18] krab вошёл(а) в комнату
[17:05:20] <kpmý> в целом понятно, что рантайм пщ можно перехуячить для wasm
[17:09:08] ascrazy@jabber.ru вышел(а) из комнаты
[17:22:36] kpmý вышел(а) из комнаты: Replaced by new connection
[17:22:36] kpmý вошёл(а) в комнату
[17:39:47] <kpmý> какая-то магия, в пщ есть sexpr парсеры, а вот генераторов нет нихуя
[17:42:11] <postman> а там долго генерировать, лол?
[17:42:53] <kpmý> ну хочется красиво, с минимальной защитой от кривых данных
[17:43:25] <postman> в смысле?
[17:44:01] <kpmý> ну например ограничить символы, допустимые в идентификаторе
[17:46:00] <postman> какие, скобки и пробел? Ну охуеть теперь.
[17:49:09] <kpmý> ну тип
[18:07:54] mantyr@jabberon.ru вошёл(а) в комнату
[18:08:00] begemot_sun вышел(а) из комнаты
[18:08:03] begemot_sun вошёл(а) в комнату
[18:12:58] ascrazy@jabber.ru вошёл(а) в комнату
[18:23:21] krab вышел(а) из комнаты: Left Vacuum-IM
[18:25:27] krab вошёл(а) в комнату
[18:35:10] ascrazy@jabber.ru вышел(а) из комнаты
[18:35:15] ascrazy@jabber.ru вошёл(а) в комнату
[18:55:21] avz вошёл(а) в комнату
[18:55:33] ascrazy@jabber.ru вышел(а) из комнаты
[18:57:17] ascrazy@jabber.ru вошёл(а) в комнату
[19:00:45] krab вышел(а) из комнаты: Left Vacuum-IM
[19:01:54] ascrazy@jabber.ru вышел(а) из комнаты
[19:03:51] krab вошёл(а) в комнату
[19:04:24] ascrazy@jabber.ru вошёл(а) в комнату
[19:49:13] <postman> читаю примеры Babel по ES2015.
[19:49:17] <postman> ебать они понапиздили.
[19:49:42] <postman> генераторы и async-синтаксис из пиздона, метатаблицы из луа, пиздец.
[19:50:41] <postman> лол, эти метатаблицы нельзя транспилировать в ES5, вот так атсос.
[19:50:53] <kpmý> прогресс развитие javascript
[19:54:34] <postman> > Symbols enable access control for object state. Symbols allow properties to be keyed by either string (as in ES5) or symbol. Symbols are a new primitive type. Optional name parameter used in debugging - but is not part of identity. Symbols are unique (like gensym), but not private since they are exposed via reflection features like Object.getOwnPropertySymbols.
[19:54:46] <postman> блядь, это вообще откуда, из лиспа или раби?
[19:58:35] <kpmý> типа без доступа к символу хуй поменяешь значение проперти объекта?
[19:59:44] <postman> да, а символ уникальный и доступен только внутри модуля, где объявлен.
[20:01:21] <postman> > Calls in tail-position are guaranteed to not grow the stack unboundedly. Makes recursive algorithms safe in the face of unbounded inputs.
> Temporarily Removed in Babel 6
> Only explicit self referencing tail recursion was supported due to the complexity and performance impact of supporting tail calls globally. Removed due to other bugs and will be re-implemented.
Представляю, как порвались пердаки схемкоебов. Схемка в браузере, брендан всех наебал, бгггггг.
[20:05:43] <kpmý> короче придумал себе занятие, буду описывать ast для webassembly и генерить из него валидный sexpr
[20:06:48] <kpmý> сканнер полупарсер у меня уже есть, думаю скоро wasm станет популярен и я буду делать миниязычки с готовым жирным рантаймом от гугла
[20:07:18] 5UN5H1N3 вышел(а) из комнаты
[20:07:51] <kpmý> govnocode once, run nowhere
[20:10:58] <postman> описывать в каком виде?
[20:11:53] <kpmý> в виде структур и интерфейсов пщ
[20:14:01] <postman> нахуя?
[20:14:41] <kpmý> хз, чтобы удобно было формировать ast
[20:16:47] <kpmý> ну, мне так удобнее, то есть
[20:19:49] <postman> https://web.archive.org/web/20150606043140/http://wiki.ecmascript.org/doku.php?id=strawman:do_expressions
[20:19:58] <postman> отберите у рубипидоров клавиатуру.
[20:27:26] <kpmý> отакуют statements
[20:27:57] <postman> блядь, как же противно читать блоги жс-пидоров.
[20:28:04] <postman> омерзительно написаны.
[20:28:19] <postman> раньше я не понимал ненависти к фронтендерам, но теперь всецело поддерживаю.
[20:45:50] ascrazy@jabber.ru вышел(а) из комнаты
[20:45:54] ascrazy@jabber.ru вошёл(а) в комнату
[20:50:28] avz вышел(а) из комнаты
[21:04:38] avz вошёл(а) в комнату
[21:37:46] avz вышел(а) из комнаты
[21:46:11] <kpmý> зачем в описании ( func <name>? <type>? <param>* <result>? <local>* <expr>* ) указывается type, если это не результат функции (который указывается в result)
[21:47:23] <kpmý> документация конечно нихуя не полная
[21:48:58] <kpmý> наверное это для связывания типа и метода
[21:52:09] ftrvxmtrx вошёл(а) в комнату
[22:00:37] avz вошёл(а) в комнату
[22:10:32] <kpmý> нет, я не прав
[22:10:47] <kpmý> это тип func
[22:11:12] <kpmý> короче это тип-функция
[22:15:08] <kms> без дефиса
[23:15:33] ermine вышел(а) из комнаты
[23:53:33] Magiq вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!