LINUX.ORG.RU

Избранные сообщения feofan

Erlang-разработчик на удалёнку

Форум — Job

Давайте сразу на «ты». У нас в коллективе никто не выкает.

Мы — это игровой стартап:
http://g2case.com

Внезапно наш сайт написан на Erlang.

Подробности:

  • Yaws на бэкенде
  • React на фронтенде
  • MySQL основное хранилище данных
  • mysql-otp драйвер
  • Poolboy для организации пула соединений к БД
  • Mnesia для сессий
  • ETS для кэширования всякого разного
  • Rebar для сборки

В команду мы ищем человека, которого не напугать этими страшными словами.

Обязательно:

  • опыт программирования на любом языке
  • непустой GitHub/Bitbucket
  • знание Erlang (или возможность быстро его осилить)
  • знание SQL

Желательно:

  • знание JS (read/write)
  • знание Perl (read-only)
  • знание Steam API

Условия:

  • работа удалённая
  • оклад 200k
  • выплаты каждую неделю
  • молодое адекватное начальство

Расскажи немного о себе, похвастайся своими работами и отправь мне всё на evbogdanov@yahoo.com

 , , ,

evbogdanov
()

обработка естественных языков

Форум — Development

внезапно!

питон или ява? хочется конечно яву... какая либа круче всех?

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

ну например:

1. гражданин сидоров, проживающий по адресу, зарезал к чертям свою соседку по пьяне.

2. на улице произошло столкновение двух клевых автомобилей.

что мы тут видим? есть ФИО, есть адреса, есть преступление, как будто есть даже марки машин.

и вот имея ворох таких документов хочется узнать сколько клевых парней прешило негодных баб в прошлом месяце и сколько ухайдакали ведер на районе.

вариант относительно простой, но трудоемкой: нашлепать в рукопашную кучу файлов с метками и грубо говоря структурой документа. ну типа:

<fio regexp/> <address regexp/> <action regexp/>

<marker fio/>, <marker adderess>, <marker action>

проблема в том, что количество таких шаблонов будет расти и их будет просто до черта. считай на каждую новую «свободную» форму свой новый шаблон. одно уныние.

а хочется чего-то более машинленинговово, чтоб OpenNLP или NLTK какой. хочется больше эвристики. как это правильно нынче делается?

 , ,

Rastafarra
()

Функциональная парадигма

Форум — Development

Что-то в последнее время начали хайпить функциональное программирование. Мол, стиль со взглядом в будущее, распараллеливание, оптимизация, замена устаревшему ООП, который не способен идти в ногу с современными процессорами. Есть ли здесь люди, которые пишут на Haskell или тому подобных языках? Есть ли профит переходить на ФП? Или мультипарадигмость С++ и Java исправят ситуацию?

 , ,

Rot1
()

Алгоритм определения частей речи и стеммер для русского языка

Форум — Development

Посоветуйте сабж. Нужно определять, какой частью речи является слово в русском тексте и стеммить его (или, как вариант, лемматизировать до нормальной формы). Желательно, чтобы причастия и деепричастия нормализовались в ту же форму, что и глаголы (stem(стремиться) == stem(стремясь)). Ну и чтобы алгоритм определения части речи был без адских хаков, но давал приемлемую точность.

 , , ,

leakyleaf
()

А где нонче вешать вакансии про удалёнку?

Форум — Talks

Ну кроме местного job.

Зашел на HeadHunter - там теперь вакансии привязаны к городам. WTF? Каждый город выбирать ни каких денег не хватит. А мне кроме кроме часового пояса без разницы где люди находятся.

На сайты вроде суперджоба и т.п. кто-нибудь из чодких программистов ходит вообще?

 

Vit
()

Гномьи заклинания

Форум — Desktop

Я правильно понимаю, что заклинание gsettings set org.gnome.settings-daemon.plugins.keyboard active false с какой-то версии перестало работать? Какое теперь заклинание надо прочесть, чтобы отключить встроенную в Gnome 3 переключалку клавиатуры?

 , ,

Aceler
()

Релиз OpenMW 0.40.0

Новости — Игры
Группа Игры

Команда OpenMW с гордостью представляет выпуск версии 0.40.0!

OpenMW — это открытый движок для игры The Elder Scrolls 3: Morrowind. Для работы OpenMW необходимы ресурсы оригинальной игры.

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

( Список изменений )

>>> Подробности

 ,

crutch_master
()

STM32 + Emacs. Убираем костыли

Форум — Development

Доброго вечерка!

Ещё с давних пор я смирился с тем фактом, что хардварная разработка будет проходить на винде. Eagle и Keil не оставляли меня в покое.

Чуть более года назад я перешёл на kiCad, чем был чрезвычайно доволен! Просто невероятно крутая ЕДА и удобная. Теперь ещё меньше времени стал проводить в винде...

Но keil так и не хотел уходить. А на фоне эклипса (SW4STM32) keil выглядел прямо таки великолепно. И, к огромному сожалению, работать в своём емаксике было совсем не удобно - библиотеки HAL просто гигантские, а юзать Stm32CubeMX и переписывать Мэйкфайл после каждого действия было бы мазохизмом. Ещё одной проблемой была отладка и загрузка прошивок.

Но всё встало на свои места через некоторое время после поисков. Сначала нашёл опенсорсный st-link (на то время он был кривоват), а потом и скрипт для генерации мэйкфайла по проекту STM32CubeMX.

https://github.com/baoshi/CubeMX2Makefile

https://github.com/texane/stlink

Сделал тестовый проектик. И ОНО СКОМПИЛЛИРОВАЛОСЬ! Я был щастлев. Но прошивка на STM32F4xx не удалась =с Только сработало с STM32F103. Но всё-равно.

И вот через несколько месяцев у меня появилось время между проектами и я решил похимичить. Репозиторий ст-линк обновился - теперь всё дебагилось и шилось без проблем. С компиляцией проблем не было тоже(только пришлось добавить -с99 в генерацию мэйкфайла).

И решил я прицепить это к емаксу. И получилось отлично! Но не так идеально, как я хотел... время поджимало, поэтому вышли костыли.

Я использовал EDE проекты для автокомплита, компиляции и дебага. И в идеале хотел сделать для ЕДЕ тэмплейт, чтобы всё было автоматизировано, но пока есть только костыли.

Мне оч нравится lisp, но нет времени и задач для его изучения, поэтому код может быть ужасным. Но он работает ^^

Итак мой костыль для stm32 в емаксе: https://github.com/SL-RU/stm32-emacs

  1. нужно установить CEDET и https://github.com/texane/stlink
  2. клонируем https://github.com/SL-RU/stm32-emacs и делаем git submodule update --init
  3. в init.el
    (load-file (concat user-emacs-directory "/stm32/stm32.el"))
    (require 'stm32)
    ;;По желанию
    (stm32-load-all-projects)
    (global-semantic-idle-scheduler-mode 1)
    
  4. создаём проект в CubeMx и генерируем его для SW4STM32
  5. M-x stm32-new-project RET *select CubeMX project path*
  6. stm32-run-st-util для запуска st-util
  7. stm32-start-gdb для запуска gdb
  8. (gdb) load для загрузки прошивки
  9. stm32-generate-makefile для перерегенерации мэйкфайла и тд после изменений в кубМх и тд

И оно роботаит. О том как загружать прошивку стоит почитать в доках st-util.

Итак, что вы можете предложить, чтобы улучшить ето? Текущее состояние довольно юзабельно, но можно же сделать лучше, хех

 , ,

SL_RU
()

Principles of Reactive Programming

Форум — Development

С 4 ноября 2013 года на курсере начнется сабжевый курс, который продлится 7 недель (пруф).

Содержание курса:

  • Week 1: Review of Principles of Functional Programming: substitution model, for-expressions and how they relate to monads. Introduces a new implementation of for-expressions: random value generators. Shows how this can be used in randomized testing and gives an overview of ScalaCheck, a tool which implements this idea.
  • Week 2: Functional programming and mutable state. What makes an object mutable? How this impacts the substitution model. Extended example: Digital circuit simulation.
  • Week 3: Futures. Introduces futures as another monad, with for-expressions as concrete syntax. Shows how futures can be composed to avoid thread blocking. Discusses cross-thread error handling.
  • Week 4: Reactive stream processing. Generalizing futures to reactive computations over streams. Stream operators.
  • Week 5: Actors. Introduces the Actor Model, actors as encapsulated units of consistency, asynchronous message passing, discusses different message delivery semantics (at most once, at least once, exactly once) and eventual consistency.
  • Week 6: Supervision. Introduces reification of failure, hierarchical failure handling, the Error Kernel pattern, lifecycle monitoring, discusses transient and persistent state.
  • Week 7: Conversation Patterns. Discusses the management of conversational state between actors and patterns for flow control, routing of messages to pools of actors for resilience or load balancing, acknowledgement of reception to achieve reliable delivery.

Recommended Background:

You should have a background equivalent to someone who completed the course “Principles of Functional Programming”. We assume you know the fundamentals of functional programming and the Scala language.

 , ,

ymn
()

Gnome-shell не готов

Форум — Desktop

В Gnome-Shell можно настроить, чтобы приложение возникало на определенном рабочем столе, но указать можно только номер. Можно ли как-то сказать ему не только номер рабочего стола, но и номер монитора, если такой есть сейчас в системе?

Второй вопрос: можно ли хотя бы сказать, что приложение должно быть развенруто на полный экран?

 , ,

Shaman007
()

Эмуляция OpenGL 4.3 на карте которая может максимум 3.3

Форум — General

Можно ли как-то? У меня ATI 5470, драйверы mesa из Oibaf PPA.
Вообще любой способ подойдет, даже самый отбитый. Главное одно приложение запустить и все.

 , , ,

ozzee
()

Лучшая прога для создания скринкастов в Linux 2016

Форум — Desktop

Посоветуйте плиззз...

 ,

Windows
()

Помогите вспомнить книгу

Форум — Talks

Это был фантастический роман в нескольких книгах. Сюжет помню лишь кусками.

1. Есть главный герой (какой-то мужик), пришедший из другого мира и роман как раз про его похождения в этом мире (возможно у него есть магические способности).

2. Какие-то существа этого мира ведут войну с другими на выживание.

3. Есть говорящая птица (то ли тетерев, то ли глухарь). В конце книги вылупляется новая принцесса этих тетеревов и этот тетерев дает новое потомство птицам.

Это произведение входит в цикл произведений этого автора. Он вроде русский фантаст.

 ,

Zodd
()

RFC HOWTO: автологин в иксовую сессию с помощью systemd

Форум — General

Добрый вечер, господа. Это тред-howto о том, как сделать корректный автологин в иксы «на чистом systemd». В вики мне писать влом, да и никто её не читает, а тут и теги указать можно, и людей скастовать. Собственно, да: border-radius, ecko.

В чём вообще проблема? Проблема в том, что значительное количество людей делают это через банальнейшие костыли, настраивая автологин в текстовую консоль и запуская иксы из bashrc (или, чего хуже, из bash_profile). Это плохо по трём причинам:

  • не залогиниться в другую физическую консоль в текстовом режиме
  • оверхед на проделывание цепочки такого вида:
    systemd
    /bin/agetty
    /bin/login
    PAM
    /bin/bash
    ~/.bashrc
    /bin/startx
    
  • в конце концов, это само по себе костыль.

Я предлагаю написать getty-подобный юнит, который будет запускать иксы от фиксированного пользователя с фиксированным номером дисплея на произвольном VT. (Почему так много хардкода? Потому что systemd — не дисплейный менеджер.)

Это тоже неидеальное решение. Например, нафиг идёт мультисит и возникают гонки между запуском иксов и обнаружением видеоустройств. Но этими недостатками мы пренебрежём.

Параграф один. logind, autovt и getty-подобные юниты. Getty могут запускаться двумя способами.

  • Первый — по требованию, через logind. При переключении на ttyN logind запускает юнит autovt@ttyN.service, который засимлинкен на getty@.service. Эта логика работает для tty2-tty6.
  • Второй — статически. Юнит getty@tty1.service включен по умолчанию и втягивается через getty.target. Это даёт нам всегда запущенный getty на tty1.

Соответственно, допустим, у нас есть юнит xorg@.service, который запускает иксы на указанном VT.
Его нужно либо симлинкнуть под именем autovt@ttyN.service, переопределив шаблонный юнит (тогда при переключении на выбранный VT иксы будут запускаться вместо getty — первый способ), либо отключить getty@tty1.service и включить вместо него xorg@tty1.service (тогда мы вместо всегда запущенного getty будем иметь всегда запущенные иксы — второй способ).

Параграф два. Xorg вместо getty. Итак, имеем юнит для иксов, написанный по аналогии с getty@.service: /etc/systemd/system/xorg@.service.

User=<впишитеюзера>
PAMName=login

-- это аналог su.

Conflicts=getty@%i.service
After=getty@%i.service

-- это некоторая защита от одновременного запуска getty на том же терминале.

StandardOutput=tty
StandardInput=tty-fail

-- это указание systemd запускать иксы подсоединёнными напрямую к терминалу, а не к логгеру (нужно для того, чтобы иксы можно было запускать не от рута... ах да, работает только с 1.16 и выше).

ExecStart=/etc/systemd/scripts/startx -D :0

-- это мой велосипед вместо startx с нескучным синтаксисом и exec xinit в конце, что важнее.

Дело в том, что systemd из-за вероятного бага при остановке юнита отправляет SIGTERM/SIGKILL не всем процессам в дереве, начиная с startx, а только самому startx. А поскольку он написан на шелле, то он радостно игнорирует SIGTERM и ждёт завершения xinit, которому никакого сигнала не приходит. Следовательно, проблему решаем переписыванием startx так, чтобы он в конце не запускал xinit подпроцессом, а делал exec xinit, заменяя им собственный процесс. Тогда сигнал приходит xinit'у, а он его корректно ловит и убивает иксы.

Всё остальное скопипащено из getty@.service.

Да, дисплей захардкожен в :0. Пара слов о назначении VT: процесс startx получает номер VT в переменной $XDG_VTNR (её устанавливает pam_systemd), а из startx запускается /etc/X11/xinit/xserverrc, который об этой переменной знает и передаёт X-серверу параметр vt$XDG_VTNR.

Параграф три. Запускаем. Итак, помещаем юнит в /etc/systemd/system/xorg@.service, startx в /etc/systemd/scripts/startx (можно куда угодно) и делаем:

systemctl daemon-reload
systemctl disable getty@tty1
systemctl enable xorg@tty1

После этого можно ребутиться и надеяться, что запустится. Ах да, дисплейный менеджер тоже стоит отключить, потому что он запустит свой X-сервер и произойдёт адъ и израиль.

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

 , ,

intelfx
()

Отключение экрана

Форум — Desktop

Доброго времени суток, у меня в ядре стоит таймер 10 минут, после бездействия отключается экран. в системе все работает нормально, например mpv, но если я смотрю видео через firefox, то отключающийся экран начинает дико бесить. Подскажите, пожалуйста, как настроить firefox чтобы при просмотре видео экран не отключался. В системе все минималистично. 4.4.6-gentoo, awesome

 , ,

SmilePlz
()

Закос для любимой жены

Галерея — Скриншоты

Года полтора тому назад для любимой девушки, которая впоследствии стала моей женой, собрал live-usb дистрибутив на базе стабильного дебиана. Жена - кандидат филологических наук, ей нужна была работа с документами в более или менее привычном для неё окружении. Насобирал разных тем, многое дорабатывал напильником (например, иконки уровня сигнала для wicd, иконки раскладки). Поставил актуальный на тот момент wps office, добавил папку с виндовыми шрифтами, чтобы документы, созданные в винде, отображались корректно, ну и по мелочи - transmission, iceweasel, spacefm, epdfviever и какой-то gtk-комбайн для мультимедии. Всё вместе получилось около 640мб, умело работать с флешки, загружаться в оперативную память, сохранять дельту в persistent как шифрованный (cryptsetup), так и нет. Умело устанавливаться на винт или другую флешку в течении пары минут через dd if=.. of=.. прямо в процессе работы или отдельным скриптом. В общем, удобная штука была. :) Так как эта сборка произошла от моей, то в качестве атавизма там осталась куча полезных для меня утилит (nmap, tcpdump, iftop, ngrep, clonezilla, ansible, pssh и т.п..). Конечно, без косяков тоже не обошлось, куда уж без них, поэтому ни с кем особо не делился, а потом забросил.

Т.к. скриншоты выкладывал в вк, перезаливать куда-то ещё не вижу смысла.

Экран авторизации - http://cs627530.vk.me/v627530279/61f1/NdLiQxVImz4.jpg

Файловый менеджер - http://cs627530.vk.me/v627530279/6203/XVuyfmYkg04.jpg

Меню - http://cs622227.vk.me/v622227279/3ec62/t54dxubsoy0.jpg

Самописное диалоговое окно завершения работы - http://cs628319.vk.me/v628319279/7308/WR7qnvxnbgs.jpg

И то, ради чего всё это было нужно - офис - http://cs627530.vk.me/v627530279/61e8/1GXqbr8iwv8.jpg

>>> Просмотр (1034x798, 83 Kb)

 

corpse
()

Органичный зеленый

Галерея — Скриншоты

Тему organic-green запилил давно. Обычно у публики она вызывает изумление (иногда недоумение), но я сколько не пытался, перейти на что-то более общепринятое так и не смог (ни темные, ни светлые не подошли). Зеленое на зеленом почему-то меньше всего напрягает. Может на ЛОРе найдутся те кому это тоже понравится )).

Дистр Arch, stumpwm. Еще скрины с зеленью:

Шрифты в emacs и urxvt - Fira Mono Medium, в stumpwm - Terminus.

>>> Просмотр (1680x1050, 595 Kb)

 ,

Kostafey
()

Оградить steam от остальной системы

Форум — General

Хочу поставить генту.

Не хочу мультилиб.

Хочу стим.

Как сделать?

В идеале нужно сделать директорию newroot, например. Туда поставить pacman и выполнить pacman -S steam //чтоб он стим + зависимости подтянул, довольно удобный способ, ящитаю\\, но он ведь в корень насрёт, потому нужно сделать аналогично чруту, что бы pacman, да steam тоже, считали newroot своим рутом. Как сделать? Может есть способы легче? Или и вовсе чрут будет работать?

 

pshpshpsh
()

В Firefox начнётся постепенное включение многопроцессного режима

Новости — Mozilla
Группа Mozilla

Asa Dotzler объявил о том, что многопроцессный режим наконец-то отлажен, достаточно стабилен, производителен, и постепенно будет включён в релизных версиях браузера. К сожалению, не все разработчики популярных дополнений адаптировались к многопроцессности, поэтому первыми её получат лишь те пользователи, которые не устанавливают дополнения.

Начиная с выпуска Firefox 48, многопроцессный режим будет включён у 1% пользователей, не имеющих установленных дополнений. Если всё пройдёт без эксцессов, то уже в Firefox 49 многопроцессность получат все пользователи (всё при том же условии, что они не устанавливали дополнения).

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

В настоящий момент, обработка всех страниц и интерфейса браузера происходит на одном ядре процессора. Несмотря на то, что сетевые операции, декодирование изображений, видео и звука вынесены за пределы основного цикла, работа с DOM, выполнение скриптов и парсинг HTML остаются однопоточными.

Многопроцессный режим подразумевает вынос обработки контента в отдельный процесс, независимый от процесса, в котором осуществляет работа интерфейса браузера. В отличие от Chromium, где господствует философия «каждая вкладка в отдельном процессе», в Firefox все вкладки будут обрабатываться в одном процессе. Но, не исключено, что в будущем каждая вкладка получит свой собственный процесс.

>>> Подробности

 ,

MozillaFirefox
()

Социальная фантастика

Форум — Talks

Посоветуйте худлит на тему прогресса в социальной сфере. На тему технического прогресса много фантастики написано, а что насчет возможностей прогресса в плане общественных отношений? В большинстве фантастических произведений либо существующий строй переносится в будущее, либо мрачная антиутопия, либо (у отечественных авторов) вариация на тему коммунизма, либо же, если речь идет о инопланетянах, есть вариант а-ля насекомые, где 1 «королева», которая все решает, и толпы рабочих особей, которые полностью подконтрольны и не всегда даже разумны.

 

cvs-255
()