LINUX.ORG.RU

Сообщения cab

 

Синдром Эллочки-людоедки и lisp

В целом, мне нравится lisp - импонирует сама концепция lisp-a, я без особых проблем читаю s-выражения, нравиться его поддержка в emacs. И я использую emacs lisp как язык для всякой мелочевки.
С другой стороны простота концепции, когда первый аргумент s-выражения - функция, а остальные єлементы - параметры, имеет свой неприятный побочный эффект: огромное, неструктурированное пространство имен. Примерно за это я не люблю python - надо помнить кучу тонких особенностей и фич языка. А в lisp надо помнить кучу нужных функций. В книжке Грема их приблизительно 1000. В противопложность java - минимум ключевых слов, а вся функциональность вынесена в методы, которые выясняются по автодополнению и доктипу.
Второй нюанс, ХЗ, может зависит от конкретной реализации. Все функции из заргуженных пакетов валятся в одно пространство имен. Т.е. если Васян по глупости или злому умыслу перепишет стандартный car можно поиметь проблем, особенно если такой car подгружаю в составе какой-то библиотеки. Хотелось бы импорта a-la python import my-package as mp с последующим доступом типа (mp.foo).
Собственно, вопрос. Как борются с этими проблемами местные лисперы. Особенно с первой. Лично я запомнил около полусотни функций, примерно из списка снипеттов, к части прибавляю p и автоматом получаю знание новых. Может есть компактный список must know функций как перечень самых популярных коменд для emacs?
Вторая проблема больше для собственного кругозора, я сомневаюсь, что буду в большой команде использовать lisp, та и не годиться он для этого.

С пакетами вопрос решился. А с насышенным и неструктурированным пространством имен или с кратким справочником на манер такого - нет.

 

cab
()

А как вы используете emacs?

К этому вот
На сегодня emacs использовать с нуля как текстовый редактор не самое лучшее занятие - слишком высока кривая обучения и настройки, а список режимов, где emacs конкурентноспособен не так уж высок. Лучше VS Code, благо у MS он получился очень и очень.
Лично я использую emacs как усилитель Unix Way: из коробки lisp c IDE, eshell, который объеденяет s-выражения с системным shell-ом, куча удобных фич как из коробки, так и из репозитория. Все это вполне годно к разработке всяких прототипов, генерации и анализа данных и т.п. Раньше для этих целей я использовал python и интегрированный в emacs ipython.
А как используют emacs ЛОР-овцы?

 ,

cab
()

В чем можно сделать такое видео?

Пример https://www.youtube.com/watch?v=nnnW0nehPEA
Не обязательно под Linux, можно для mac или офтопик. Программу желательно попроще, т.к. соответствующего опыта нет.

 ,

cab
()

i3 и отображение текущей раскладки

Имеется i3 для которого переключение языка настроено вот таким образом:

exec_always setxkbmap -model pc105 -rules evdev -layout us,ua,ru -option grp:shift_caps_switch,terminate:ctrl_alt_bksp,grp_led:scroll,compose:ralt
и имеется свой i3status, который проверяет язык ввода по scroll led-у и отображает его в строке статуса:
i3status --config ~/.i3/i3status.conf | while :
do
    read line
    LG=$(setxkbmap -query | awk '/layout/{print $2}') 
    case "$(xset -q|grep LED| awk '{ print $10 }')" in
        "00000000") LG="US" ;;
        "00001004") LG="UA" ;;
    esac
    echo "LG: $LG | $line" || exit 1
done

Какие идеи есть насчет проверить вводимый язык? vertexua, у тебя нормально отображалась раскладка. Как делал?

 ,

cab
()

Brent < 50. Его высочество перевыполнил обязательство

Недавно на заседании клуба миллиардеров ОАЭ в Дубаи, сын эмира Дубаи Хамдан бин Мухаммед бин Рашид Аль Мактум взял для себя обязательство снизить цену на Дубайскую нефть на этой торговой неделе до 51$ за баррель, в связи со снижением спроса на нефть, но с увеличением её добычи в соседних странах. Вчера он перевыполнил свое обещание снизив цену меньше 50$.

https://pbs.twimg.com/media/B669YtVIYAAXCD-.jpg

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

PS. Тут все следят за WTI и Brent, но есть еще канадская нефть, которую в Штаты продают, больше 3 миллионов бочек в день.
Western Canadian Select, цена $34.34 за бочку. Так что есть еще куда стремиться.

 

cab
()

Умер последний шифровальщик навахо

The last of the original 29 Navajo Code Talkers of World War II has died. Chester Nez, died this morning of kidney failure at the age of 93.

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

PS. Линукс тут при том, что он был, можно сказать, коллегой самого Тьюринга.

 

cab
()

JavaFX для динамически-создаваемого интерфейса

Есть задумка переделать гуй к одной программе. Набор виджетов там будет меняться в зависимости от входных данных. Кроме того, там будет довольно навороченная таблица.
Вопросы:
1) Насколько я знаю, JavaFX хороша своим декларативным описанием. Если строить гуи в стиле swing - вручную компановать виджеты и т.д. будет ли серьезный профит в скорости разработки и простоте сопровождения от JavaFX?
2) Насколько JavaFX прожорливее swing?
3) Насколько хороша JavaFX в плане локализации в случае декларативного описания?

 , ,

cab
()

Украина, мобильный интернет

Пользуюсь сейчас Киевстаровским мобильным интернетом и очень недоволен скоростью (в среднем до 10 килобит) и качеством связи. Какие ощущения от других опсосов? Желательно ощущения от тех, кто работает по GPRS

cab
()

Named branches и bookmarks, в чем разница

В hg есть несколько способов делать ветки. Первый hg clone, с ним вопросов не возникает. А вот named branches и bookmarks вызывают такие вопросы:

  • в чем их главные идеологические отличия? Как по мне то, что они дают пользователю примерно одинаково: работа над проектом ведется в одном каталоге; переключение осуществляется одинаково hg update my_bookmark; слияние с другой веткой тоже hg merge other_branch.
  • отличий я увидел два: что named branch хранит метаинформацию и tip ветви default не совпадает с «головой» (head) этой же ветви. Не понятно, что это дает и чем грозит.
  • В каких случаях лучше использовать named branches и bookmarks

 

cab
()

firefox, не видно аватарок лоровцев

Собственно сабж, аватарок в комментах не видно. фокса 23.01 на бубунте 12.04

 ,

cab
()

Гугль убивцо интернетов?

Статья в Wired. Для Ъ - Гугл скупил кучу проложенного, но неиспользуемого оптоволокна в США. Теперь начал предлагать услуги интернет-провайдинга. Однако их лицензинное соглашение запрещает подключать к гугловскому бродбэнду «servers of any kind». Даже sshd на домашней машине является нарушением этого соглашения.
Собственно, гугль достаточно мощен чтобы задемпинговать или заинтересовать других провайдеров. Итак, ваши мнения?

 , ,

cab
()

Беспилотник под управлением компьютера сел на авианосец.

 , military,

cab
()

Великие люди

Тут список из 1500 великих людей раскопали и предлагают назвать первых трех, о которых не знают. Лично я сломался на:
Энгр, Жан Огюст Доминик
Картье, Жак
Аврелий Августин

А кого не знают ЛОР-овцы?

А линукс тут при том, что в список не вошли ни Чарльз Беббидж, ни Алан Тьюринг, ни Ричард Столлман. Даже Солнцеликий в список не попал. Такие дела. Впрочем, Стив Джобс и Билл Гейтс туда тоже не попали.

cab
()

JTable как лучше организовать обработку перемещения по ячейкам

Есть JTable с данными. Пользователь, при помощи клавиатуры и мыши может перемещаться по ячейкам таблицы. Мне надо перехватить событие перемещения. Как это лучше сделать: перехватывать щелчки мыши и нажатия клавиш или JTable уже содержит какой-то листенер?

 ,

cab
()

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

Итак, есть Epson 2190, печатающий на рулонах А3. Под виндой печатал без нареканий, под Linux после печати каждой страницы проматывает еще столько же. Используемый драйвер Epson Dot Matrix Foomatic/epsonc. Есть и драйвер не Foomatic, не проматывающий страницу, но он печатает намного страшней Foomatic-а.
Проблема №2. Виндовый драйвер умеет разрешение печати 120х144 и 240х144, а все линуксовые 120х72. Все, что выше - глючит. Есть ли простые способы сделать хотя-бы 120х144?

cab
()

Кори Доктороу: Грядущая война против универсальных компьютеров

Перевод статьи писателя Кори Доктороу, посвящённой проблеме регуляции компьютеров и интернета.

«То, как ведутся копирайтные войны, намекает на грядущую войну, которая будет объявлена универсальным компьютерам.»

via

 

cab
()

частичное чтение .properties

Столкнулся с тем, что такой код на java читает выборочно читает данные из .properties

import java.util.Locale;
import java.util.ResourceBundle;

class InternationalisationTest{
  public static void main(String[] args){
    Locale locale = new Locale("", "");
    ResourceBundle rb = ResourceBundle.getBundle("translate1", locale);

    System.out.println(rb.getString("deliverynote")); //отрабатывает нормально
    System.out.println(rb.getBundle("shippingdate"));//а тут валится
  }
}
Код нормально компилируется, но в рантайме получаем такое:
Delivery note 
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name shippingdate, locale ru_UA
	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1539)
	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1278)
	at java.util.ResourceBundle.getBundle(ResourceBundle.java:733)
	at InternationalisationTest.main(InternationalisationTest.java:15)
Сам .proprties-файл:
#Test international resource
deliverynote = Delivery note 
shippingdate = Shipping date
numberofplaces = Number of places
supplier = Supplier
address = Address 
usreou = USREOU
В чем может быть дело?

 

cab
()

наиболее кошерная интернационализация для java

Какой способ интернационализации для java самый кошерный? Возможен ли вариант использования gettext?

 

cab
()

wvdial и Ubuntu 12.04

После апгрейда убунты с 10.04 на 12.04 возникла проблема с CDMA-модемом: wvdial дозванивается, получает ip, но при попытке использования интернета получается облом - даже пинги никуда не ходят. Конфигурационные файлы не менялись.
В тоже время через network manager все работает. У кого какие идеи?

 ,

cab
()

Открыл тут для себя книжку Грабина

По наводке kouzdra прочитал «Оружие победы» Грабина. Похоже, лучшая книга за год. Немного процитирую других, кто также открыл ее для себя:

По идее, книга представляет собой воспоминания руководителя артиллерийского КБ Василия Грабина об опыте разработки орудий в 30-х - 40-х годах прошлого века. На самом же деле, это сжатый ознакомительный курс по Project Management. Я работаю в компании, занимающейся совершенно другими вопросами (САПР для микроэлектронной промышленности), да еще и не отечественной, но вижу, что проблемы не изменились.

  • Необходимость не просто выполнения КД на продукт с учетом производственных возможностей.
  • Необходимость совершенствования технологии производства не только для удешевления продукции или повышения объема выхода, но и для высвобождения ресурсов. Сюда же повышение технологичности продукта.
  • Необходимость постоянного ведения перспективных разработок и собственного анализа возможных требований на продукт.
  • Необходимость раннего прототипирования и тестирования.
  • Упомянуты даже мелочи, вроде аггрегирования (недавно злобно хихикал, увидев, как устроен современный Lexus - как будто время вспять обернулось, куча ненужных связей, из-за чего очень трудно обслуживать).
    Не изменились проблемы, но не ушла и инертность руководства, непонимание необходимости их решать в обязательном порядке. Все те же грабли, хотя решения известны.


Надо сказать, что по ходу чтения у меня постоянно возникали аллюзии на известные в программировании практики типа DSL или UNIX WAY.
Отдельно доставляет, когда Грабин, как руководитель не раз ложил на мнение руководства, доводя ситуацию, когда его идеи и их реализации никому не были нужны - ни военным, ни производственникам, а его орудия успешно громили противника, официально даже не будучи принятыми на вооружение и запущенными в производство.
ЗЫ: кому интересно, можно пообсуждать у меня в ЖЖ (см. профиль)

cab
()

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