LINUX.ORG.RU

Сообщения unlog1c

 

Ищем Software Engineer с функциональным уклоном

Форум — Job

Привет! Мы компания Grammarly, которая помогает миллионам людей во всем мире лучше писать на английском. Наша команда состоит из прикладных лингвистов, исследователей и программистов. Сейчас мы ищем всестороннего Шиву-программиста-полиглота, который «и приложение на скаку похачит, и на горящий сервер по SSH зайдет». Работы будет навалом: писать высоконагруженные сервисы на самых разных языках, мейнтейнить их, связывать их в системы, создавать погары, чинить погары, писать пост-мортемы, сотрудничать с лингвистами и исследователями.

Требования к соискателю:

  • Хорошее знание Java или Python (core library языка + работа с сетью. Знание сторонних фреймворков не обязательно).
  • Некоторый опыт в функциональном программировании и желание заниматься им (что-нибудь из Common Lisp, Clojure, Haskell, Elm).
  • Умение правильно применять алгоритмы и структуры данных.
  • Познания и готовность к frontend-разработке (например, прикрутить морду к внутреннему сервису).
  • Хорошее владение английским (у нас есть еще один офис в Сан-Франциско, поэтому все письменное общение на английском + иногда нужно общаться вживую).
  • Будет плюсом опыт обработки больших данных (всякие Хадупы) или девопса.

Полное описание вакансии: https://www.grammarly.com/jobs/engineering/software-engineer?gh_jid=456904

Отправить свое резюме можно там же по ссылке, либо пишите мне на почту если есть дополнительные вопросы (адрес в профиле).

 ,

unlog1c
()

Awesome с двумя мониторами

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

Из коробки Awesome неплохо поддерживает многодисплейную конфигурацию. Чего мне не хватало, так это удобства работы в случае когда мониторы часто отключаешь, подключаешь новые и т.д. За последних два дня я основательно перелопатил свой конфиг и реализовал поддержку таких действий с помощью нескольких модулей.

  • модуль rulez является динамической оберткой вокруг awful.rules. Позволяет не редактируя конфиг «прибивать» приложения к определенным тегам путем нажатия Mod+Q. Меня всегда напрягало вручную вписывать правила чтобы клиенты автоматически перемещались на свои теги, теперь делать это стало значительно удобнее.
  • модуль vista позволяет задавать правила для дисплеев, наподобие тех же awful.rules. Например, я иногда подключаю к ноуту вертикальный или неширокоформатный мониторы, поэтому создал правило: если ratio дисплея (width ÷ height) меньше 1.25, то рисовать панель сверху а не справа. Vista также имеет концепцию «первичного» и «вторичного» монитора, которые тоже можно определить правилами. В дальнейшем роль монитора можно использовать в rulez, например назначить Transmission на шестой тег вторичного дисплея. Если в текущий момент дисплей только один, то primary = secondary = 1, и все продолжает нормально работать.
  • Переписанные topjets теперь используют разделение view и model. Таким образом, можно создать сколько угодно виджетов для множества дисплеев, но логика и получение данных будут выполняться единожды.
  • Модуль layout является тонкой оберткой вокруг wibox.layout.*, позволяющий задавать конфигурацию виджетов в более декларативном стиле, а-ля DOM или Android XML.

Как обычно, все конфиги находятся в https://github.com/alexander-yakushev/awesomerc. Теоретически можно использовать as-is, должно заработать сразу. Нужны установленные иконки awoken.

>>> Просмотр (1366x1792, 1925 Kb)

 ,

unlog1c
()

Индикатор батареи устройств

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

В общем, у меня уже пару лет как созревала идея — отображать состояние батареи телефона на десктопе. Обычно приходишь домой, бросишь телефон как попало, а она разряжается. Планшетку так тем более могу пару дней в руки не брать.

Так бы оно и оставалось, если бы Аппле недавно сами не сделали такую фичу. Подумав «чем же я хуже?» я сел пилить. Хорошо, что девайсы все рутованые, поэтому поддерживают ADB по Wi-Fi (а сеть на них постоянно включена всё равно). Достаточно дергать нужные файлы в /sys/class.. через adb shell.

Результат на скриншоте. Когда заряд любого из устройств ниже 10%, появляется сообщение справа вверху. Окно справа внизу вылазит когда навести на иконку батареи.

Остальное с прошлого раза особо не менялось.

>>> Просмотр (1366x768, 1435 Kb)

 

unlog1c
()

persp-mode.el - как пользоваться?

Форум — Development

Установил, попробовал создать группу по C-x x s - плевалось ошибкой что где-то что-то не hash-table-p (конкретно в persp-add-new), потом когда начал ковыряться в коде - вроде прошло, стало работать. Перспектива переключается, в модлайне меняется имя, но буферы все остаются. Я предполагал, что новая перспектива будет чистой от буферов.

Короче, хотелось бы иметь какой-то простой пример workflow с использованием этой штуки. Спасибо.

cast Bad_ptr.

 

unlog1c
()

Ubuntu One все

Форум — Talks

Только что пришло письмо от Ubuntu One. Вкратце «блаблабла, закрываемся, звиняйте что не справились».

Были ли активные пользователи среди лоровцев или всем ненужно?

 

unlog1c
()

TeX linter внутри Emacs

Форум — Development

Увидел сегодня такую штуку внутри vim. Вим на ходу проверяет текущий tex-файл внешним линтером (chktex или lacheck), подсвечивает ошибки, еще и в модлайне показывает первую из них. Хочу такое же в Эмакс, какой самый простой способ такое сделать? С ходу не нагуглил.

 ,

unlog1c
()

Допилил unitybar

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

Именно так в итоге я назвал свой гибрид тасклиста с тэглистом. Интересующимся копаться до просветления, конкретно в файлах topjets/unitybar.lua и statusbar.lua. Эксперимент лично для меня оказался удачным, привык очень быстро; теперь экономится чуть места по вертикали, и еще удобно сразу видеть что на каком теге запущено.

Также благодарность TODD за предоставленный им настольный виджет для плеера. Я пока прилепил его к своему локальному awesompd, но когда дотестирую - отправлю в апстрим.

Скриншот с окнами (постановочный, окна обычно во весь экран).

>>> Просмотр (1366x768, 1283 Kb)

 , vertical

unlog1c
()

Google (Apache) Wave - кто использовал и какие альтернативы?

Форум — General

Предыстория: год назад работал в конторе, где почта была основным средством коммуникации. Я вообще всеми руками за почту, и за почтовые группы в частности; но там все было на Fwd, CC и гиперквоунтинге - спустя десяток сообщений читать это совершенно невозможно.

Где-то в то же время я вспомнил про такой сгнивший сервис, как Google Wave. Скомпилировал текущую версию, которую сейчас поддерживает Апач, закинул на сервер и погонял пару дней - и впечатления были достаточно положительные. Да, оно работает только под хромом, долго грузится и половина виджетов/апплетов дохлые, но сама идея хороша и серьезно опередила свое время.

Понятное дело, что Вейв утрачен безвозвратно, но использовали ли бы вы нечто похожее, если бы его написали заново, с приличной архитектурой и наделали нормальных интерактивных виджетов? Что из существующих решений, по вашему мнению, лучше всего подходит для смешанного коллаборейшена (работа+пустостреп)?

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

  • Интерактивный контент в чате (e.g. совместная доска для блоксхем/диаграм, голосовалка куда пойти на обед)
  • Самохостинг
  • История по запросу (при входе в комнату человеку доступна вся история, скажем, за месяц)

Что можно использовать из существующего:

  • Скайп
  • Мейлгруппы
  • Старомодные Basecamp и иже с ними
  • Новомодные Trello и иже с ними
  • Ваши варианты?

 , ,

unlog1c
()

Awesome с вертикальной панелью

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

Еще с оффтопиковых времен предпочитаю вертикальный таскбар. С awesome я надолго вернулся обратно к горизонтальной панели, но сейчас решил попробовать так. Чтобы сэкономить место по вертикали (которого немного), появилась идея перенести процессор в память тасклист в теглист. Результат на скриншоте (отскейленый т.к. превышал 1.4 мб).

Поначалу было непривычно, но спустя неделю освоился.

Все остальное не изменилось с прошлого раза, только поубирал барахло с рабочего стола.

Скрин с активным окном: http://i.imgur.com/b5Y9JEz.png

>>> Просмотр (1100x619, 1225 Kb)

 

unlog1c
()

Что-то не то со скрытием сообщений

Форум — Linux-org-ru

При «Скрыть игнорируемые» теряются не только треды комментариев с участием анонимных и пользователей в игноре, но и комментарии случайных пользователей. Консистентно скрываются комментарии Eddy_Em, порой почему-то youghurt. Я что-то упускаю?

 maybe bug

unlog1c
()

Тачпад только для скроллинга

Форум — Linux-hardware

Итак, имеется Thinkpad X220 уже больше года, полет нормальный, все устраивает. Трекпоинтом я чрезвычайно доволен, очень удобная штука, кроме одного - скроллинга. Кто не в курсе, скроллинг реализован путем зажатия большим пальцем средней кнопки над тачпадом, и непосредственного воздействия на трекпоинт. Меня напрягает, что заняты два пальца, кроме того чтобы дотянутся большим пальцем до средней кнопки, руку приходится смещать. Наконец, при длительном использовании (часто случается при браузинге) рука устает.

Здесь я с ностальгией припоминаю как удобно скролилось на моем старом Асусе (на многих ноутах было так) - за скроллинг отвечала правый край тачпада, и скроллить большим пальцем (тоже чуть отводя руку, правда) было чрезвычайно удобно. Но ведь здесь у меня тоже есть тачпад (который мне совершенно ни к чему, по правде говоря он выключен в биосе).

Собственно, вопрос: можно ли путем махинаций с Иксами или чем-угодно другим заставить тачпад работать только на скроллинг (без каких-либо модификаторов, нажатий, мультитачей етс.) и никак не прикасаться к указателю?

 ,

unlog1c
()

Awesome Serenity с пояснениями

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

После достаточно функциональных тем я решил немного дауншифтнутся и привести свой Awesome к стабильному минимально-отваливающемуся состоянию. То, что получилось, вы видите на скриншоте. Скриншотов с окнами нету, у меня и окон особо то не бывает. Вот вам скрин с эмаксом.

  • Почистил десктоп, на нем остались только календарь и процессы. Календарь тоже планирую перенести на naughty, а процессы пусть будут, удобно их оттуда убивать.
  • Разнообразия ради, обоина каждые 30 минут загружается рандомная с 4walled.cc (модуль picturesque) . Включен SFW режим. Не все гладко, попадается откровенное барахло; также на светлых обоях не видно десктопных виджетов, но мне лень это чинить. Зато есть элемент неожиданности когда открываешь пустой тег.
  • Все длительные запросы идут через asyncshell, благодаря этому нету никаких подвисаний при запросе Awesome чего-угодно с интернета.
  • Модуль dict позволяет выделить мышью любое английское слово, нажать Modkey-= и получить пояснение. Скриншот. Я использую dict.org в качестве источника, но он плоховат; если можете посоветовать онлайн-словарь с простой апишкой (и чтобы возвращался прямо текст, а не жисон какой-то) - буду благодарен.
  • Модуль iconic позволяет искать иконки для текущей icon_theme в /usr/share/icons. Этим пользуется большинство виджетов моего текущего конфига.
  • Для трея у меня есть minitray, который вызывается комбинацией клавиш и прячется ей же. Освобождает место на таскбаре (трей нужен редко).
  • Модуль quake есть аналогом guake, но средствами awesome. В качестве терминала использую табулированный urxvt.
  • Модуль scheduler объединяет повторяющиеся с определенным интервалом ивенты вместе, что уменьшает количество пробуждений CPU, которые делает awesome. Им пользуются практически все мои виджеты. Так же удобно посмотреть таблицу ивентов, выполнив «log.n(scheduler.dump_events())» в Modkey-X. Скриншот
  • Номера тегов без «ублюдочных квадратиков» (cast neocrust). Если на теге нету приложений, шрифт номера меняется на темный.
  • Интересные виджеты справа сверху:
    • awesompd
    • Погода, иконка отображает погодные условия. При наведении показывает прогноз. Если Clear, то показывает днем солнце и ночью месяц, т.к. шарит время суток через lustrous.
    • Загрузка CPU, четырехпозиционная иконка. Также температура процессора.
    • Занятость оперативки. Использовал иконки записи диска, т.к. ничего лучше не нашел.
    • Громкость, четырехпозиционная, при изменении громкости с клавиатуры/скроллинге по иконке показывает сообщение.
    • Батарея, много состояний, при наведении показывает остаточное время (или время до зарядки). Скриншот.

В итоге получилось кое-что напоминающее дефолтную панель Юнити или Гном3, чего я в принципе и добивался.

Ну и собственно сам конфиг. Я сильно не мудрил и закоммитил все из ~/.config/awesome, поэтому теоретически оно должно завестись без шаманства.

>>> Просмотр (1366x768, 1035 Kb)

 

unlog1c
()

Восстановить прогресбары при перегрузке Activity

Форум — Development

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

Внезапно во время работы AsyncTask'а пользователь переворачивает девайс и, соответственно, Activity пересоздается. AsyncTask продолжает работать, а вот прогрессбаров уже нету. Как обойти? Знаю, что для 3.0 есть некие Loaders, но решение нужно универсальное. Или таки вручную расставлять какие-то флаги в стиле «AsyncTask работает» и проверять в Activity.onCreate()?

 

unlog1c
()

Глава Valve хочет поддерживать Linux, так как Windows 8 — катастрофа

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

На вчерашнем игровом событии в Сиетле, CEO Valve Гейб Ньюэлл сообщил, что одна из причин, которая задерживает Linux в распространении на десктопах — это поддержка видеоигр.

«Большой проблемой, которая тормозит распространение Линукса, являются игры. Люди не понимают насколько важны игры для покупателей», — говорит Ньюэлл. «Мы хотим, чтобы 2500 игр для Steam можно было как можно проще запустить на Linux. Это запасная стратегия. Я думаю, что Windows 8 — это катастрофа для всех в мире PC. Я считаю, что мы потеряем несколько передовых ОЕМ-дистрибюторов, которые покинут рынок. Я думаю, многие люди потеряют свою прибыль. Если всё это окажется правдой, тогда будет хорошо иметь альтернативу.»

Раньше в этом году Brad Wardell, CEO компании Stardock (прим. — разработчик Sins of Solar Empire, Galactic Civilizations) написал статью для Kotaku о проблемах Windows 8. Варделл называет новую операционную систему «кошмаром в использовании». Если другие разработчики для PC испытывают те же ощущения, возможно они охотно последуют за Ньюэлом.

>>> Источник

 ,

unlog1c
()

Глава Valve хочет поддерживать Линукс, так как Windows 8 - катастрофа

Форум — Games

На вчерашнем игровом событии в Сиетле, CEO Valve Гейб Нюэл сообщил, что одна из причин, которая задерживает Linux - это поддержка видеоигр.

«Большой проблемой, которая задерживает Линукс, являются игры. Люди не понимают насколько игры важны для покупателей», - говорит Нюэл. «Мы хотим, чтобы 2500 игр для Steam было как можно проще запустить на Linux. Это запасная стратегия. Я думаю, что Windows 8 - это катастрофа для всех в мире PC. Я считаю, что мы потеряем несколько передовых ОЕМ-дистрибюторов, которые покинут рынок. Я думаю, многие люди потеряют свою прибыль. И если всё это окажется правдой, то тогда будет хорошо иметь альтернативу.»

Раньше в этом году Brad Wardell, CEO компании Stardock (прим. - разработчик Sins of Solar Empire, Galactic Civilizations) написал статью для Kotaku о проблемах Windows 8. Ворделл называет новую операционную систему «кошмаром в использовании». Если другие разработчики для PC испытывают те же ощущения, возможно они охотно последуют за Ньюэлом.

Источник - kotaku

 ,

unlog1c
()

Still pimping awesome

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

С прошлого раза изменилось немного. Проще по пунктам:

  • дневной/ночной режимы. По известному алгоритму высчитываю для текущего дня и заданых координат время восхода/заката, и в это время тема меняется. Меняются также gtk темы. Единственное, что не осилил - чтобы переключались темы огнелиса, ну тут уже хз что делать. Скрин ночного режима: http://i.imgur.com/za9sR.png
  • календарь (который парсит org-mode файлы) теперь интегрирован с Google Calendar. Пока только в одну сторону - события подкачиваются с гугла и преобразовываются в org.
  • с щелчком по виджету процессов открывается меню, с которого процессы можно убивать. Удобно наказывать зарвавшийся plugin-container.
  • треугольные часы для ночной темы. На**я? Не знаю.

Положения виджетов не особо хорошо подогнаны, все еще экспериментирую с обоями. С шрифтами тоже, надо наверное пересадить логи на моноширинный шрифт (правда тогда мало текста помещается).

ШГ и «двое часов» можно не писать, и так осведомлен.

>>> Просмотр (1280x800, 629 Kb)

 

unlog1c
()

Pimp my awesome

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

Решил показать то недоразумение, которое выполняет у меня роль рабочего стола. Итак, lo and behold. На скрине Arch Linux, последний собранный из репозитория awesome, cairo-compmgr. Всё на экране сделано через Awesome, никаких коньков.

Еще скрины:
[2] http://i.imgur.com/O9KTh.png
[3] http://i.imgur.com/J2HsF.png
[4] http://i.imgur.com/F1xfm.jpg - на десерт

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

Скрин 1
По центру обычные отрисованные cairo часы, под ними погода. Можно задать одно напоминание, и оно отобразится на часах голубой стрелкой, а так же в тексте под ними (и высветится сообщением, когда придет время).
Справа сверху календарь и agenda, составленная по org-mode файлу. Об этом я уже когда-то писал, но на всякий ссылка: http://awesome.naquadah.org/wiki/Orglendar_widget
Слева внизу виджет для просмотра логов. Между логами можна переключаться, а также скроллить текущий. Сделано через inotify и dbus.
Справа внизу простой виджет для просмотра наиболее ресурсопоглощающих процессов. Переключается между CPU и RAM.

Скрин 2
Строка сверху (под статусной панелью) - аналог dmenu для awesome. Парсит /usr/share/applications/ на предмет *.desktop файлов, раскидывает их по категориям и выводит в виде строки. Естественно, можно перемещаться между пунктами стрелками, заходить внутрь категории и набирать текст для фильтрации видимых приложений.
Линк: http://awesome.naquadah.org/wiki/Menubar

Скрин 3
Поскольку мне не удалось отложить из завтраков денег на SublimeText, пришлось учить Emacs новым трюкам.[/sarcasm] Нет, серьезно, за это кто-то платит деньги?
В правом верхнем углу оповещение от Awesompd, который дорос до версии 1.1. Из новых фич: обложки теперь показываются и для локальных треков (раньше было только для Jamendo-стримов), можно из меню открыть в браузере страницу исполнителя текущей песни на Jamendo, появилась поддержка клавиатурных хоткеев.
Линк: http://awesome.naquadah.org/wiki/Awesompd_widget

Скрин 4
Lightdm и unity-greeter, обернутые в скрипт, который при каждом запуске ставит фоном случайное изображение из папки.

>>> Просмотр (1280x800, 1085 Kb)

 , ,

unlog1c
()

Зарелизил awesompd 1.0

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

Итак, финальная версия моего mpd-виджета для Awesome. Релиз может порадовать awesome-пользователей «почти-полноценным» Jamendo-клиентом:
- можно искать музыку по исполнителю, альбому или тегу
- можно слушать Jamendo Top 100 по различному рейтингу
- добавляет в MPD как стримы с сайта Jamendo, виджет автоматически преобразовует ссылки на стримы на нормальные названия
- позволяет выбирать между двумя форматами: MP3 и Ogg Vorbis
- отображает обложку альбома для стримов с Jamendo

Работает это всё не в пример шустрее того же Rhythmbox - тут не происходит никакой подгрузки всего списка, всё делается на лету.
Помимо Jamendo-фич, конечно, awesompd является удобным виджетом для mpd - позволяет управлять плейбеком, изменять громкость, загружать плейлисты, переключаться между mpd-серверами.
Всё написано под версию awesome v.3.4.5, но должно работать и на более свежих версиях (подтверждали, что работает).
Если кого интересует, больше информации (а также инструкцию по установке) можно найти здесь: https://awesome.naquadah.org/wiki/Awesompd_widget

На скриншоте виджет вывел notification в правом верхнем углу. В Зефире открыто контекстное меню виджета.

>>> Просмотр (1280x800, 329 Kb)

 ,

unlog1c
()

Красн^WСероглазый awesome

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

Идея темы взята отсюда - https://awesome.naquadah.org/wiki/Nice_and_Clean_Theme . Правда автор использовал коньки, я в свою очередь переписал всю десктопную инфу на awesome'вские виджеты. Зачем? В первую очередь, для интерактивности. Если торкнуть по виджету CPU - откроется htop. Если нажать по погоде - в браузере откроется гисметео. При скроллинге по календарю меняются месяцы.

Отвечу сразу на обычный вопрос: да, двое часов, и два источника загрузки CPU/памяти. На те, что в статусбаре, смотрю, когда рабочего стола не видно. На другие - когда компьютер простивает.

Из интересных фич:

1) Иконки быстрого запуского в статусбаре - https://awesome.naquadah.org/wiki/Quick_launch_bar_widget . Не особо пользуюсь, но когда-то написал и теперь жалко убирать.

2) Эти иконки, а так же иконки приложений на ходу grayscale'ятся - чтобы поддерживать целостность темы.

3) TODO-лист делается из org-файлов. По им же выделяются дни в календаре. Подробнее тут - https://awesome.naquadah.org/wiki/Orglendar_widget .

>>> Просмотр (1280x1600, 1048 Kb)

 

unlog1c
()

Аскетичный awesome

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

На первой части десктоп, на втором - собственно, процесс работы. Работаю так уже полгода, пока не испытывал никаких неудобств.

Система Debian + чистый awesome, без никакого DE.

Conky

Обоина динамическая, xplanet со скриптом для декорации xplanetFX.

>>> Просмотр (1280x1600, 882 Kb)

 ,

unlog1c
()

RSS подписка на новые темы