LINUX.ORG.RU

Сообщения Kilte

 

Python 2.8

Неофициальная версия питона с бэкпортированными фичами из тройки.

https://github.com/naftaliharris/python2.8

https://www.reddit.com/r/Python/comments/5hidpv/python28_fork_of_python_27_wi...

https://www.reddit.com/r/Python/comments/5hjk29/why_python28/

 , ,

Kilte ()

Доброго времени суток

Почему многих коробит с этой фразы? Ведь если написать доброе утро, добрый день и т.д., а у собеседника или группы собеседников в момент прочтения не то время суток, то подобные фразы, будут неуместны. Дискасс.

 

Kilte ()

Debian исполнилось 23 года

https://bits.debian.org/2016/08/debian-turns-23.html

С днём рождения, Debian!

 

Kilte ()

Netplan или новая сетевая конфигурация в Ubuntu

http://phoronix.com/scan.php?page=news_item&px=Ubuntu-Netplan-YAML-Network

With netplan there are central /etc/netplan/*.yaml network config files for *all* Ubuntu — Snappy, Server, Client, MaaS, cloud-init. All installers only generate such a file, no /etc/network/interfaces any more.
This then gives us the flexibility to dynamically select or switch between different backends — for example, there is demand for moving away from ifupdown towards networkd, and some environments might prefer NetworkManager for everything.
netplan translates the YAML config to the backend specific configuration formats on boot, but all these are only written to /run — i. e. they are ephemeral and not considered primary configuration files in /etc.

 

Kilte ()

Вернуть Gravatar

Как после того, как я загрузил другую аватарку вернуть gravatar обратно? Что-то ничего такого не нашёл.

 

Kilte ()

PHP Sucks

!Ъ: https://evertpot.com/PHP-Sucks/

Ъ: Активный участник PHP-сообщества не выдержал давления и решил перейти на другой язык из-за плохой репутации PHP.

 

Kilte ()

Crystal 0.18.0

Состоялся релиз языка программирования Crystal 0.18.0.

( Подробности )

Подробности

Перемещено tailgunner из opensource

 ,

Kilte ()

GitHub: RIP streaks

https://twitter.com/github/status/733384332174348288 https://news.ycombinator.com/item?id=11733157

На гитхабе добавили возможность включить данные по приватным репозиториям в график активности и вместе с этим убрали кол-во дней (longest streak, current streak). Хипстеры негодуют.

 , ,

Kilte ()

Шок! Гентушники хотят отправить пхпшников в прошлый век!

!Ъ: http://www.garfieldtech.com/blog/composer-distribution-mental-model

Ъ: PHP-проекты, которые перешли на Composer больше не могут быть упакованы в Gentoo. Гентушники негодуют, а пхпшники против того, чтобы принять их «хорошие» решения проблемы.

 , ,

Kilte ()

Поругайте код (Rust Edition)

Не так давно решил взяться за Rust, и на новогодних праздниках запилил библиотеку для работы с APEv2 тегами. Хотел сразу создать подобный тред, но почему-то передумал. Не помню уже почему. В последнее время треды с просьбой покритиковать код стали появляться как грибы после дождя, и я всё-таки передумал обратно :3. Собственно вот линк.

 

Kilte ()

Разработка Python переносится на GitHub

!Ъ: http://www.opennet.ru/opennews/art.shtml?num=43619

Ъ: Разработчики языка программирования Python приняли решение заменить Mercurial на Git и перейти на использование GitHub в качестве основной площадки для разработки CPython. Изменения коснутся только репозиториев с кодом и системы рецензирования. Отслеживание ошибок и Wiki останутся без изменений.

 , , ,

Kilte ()

Отдам в умелые руки

UPD: Не актуально

 ,

Kilte ()

Mercurial: index 00changelog.i is corrupted!

При попытке закоммитить изменения через tortoisehg сработал pyflakes хук, который не дал мне этого сделать. При повторной попытке получил вот такую вот шляпу и теперь ничего не работает:

$ hg st
abort: index 00changelog.i is corrupted!
$ hg log 
abort: index 00changelog.i is corrupted!
$ hg verify
abort: index 00changelog.i is corrupted!
$ hg diff
abort: index 00changelog.i is corrupted!

Вменяемого ответа так и не удалось нагуглить, потому пишу сюда.

Изменения судя по всему все на месте, потому можно было бы заново склонировать репозиторий, перезаписать файлы и закоммитить снова. Но не могу быть до конца уверенным, что всё на месте. Может есть какой-то более кошерный способ решить эту проблему?

 

Kilte ()

golang: HTTP; Массивы

Собственно, как с этим работать?

url.Values{
    "a[0]":[]string{"Aborted"}, 
    "a[1]":[]string{"Aborted"}, 
    "b[0]":[]string{"The Purity Of Perversion"}, 
    "b[1]":[]string{"The Purity Of Perversion"}, 
    "t[0]":[]string{"Act Of Supremacy"}, 
    "t[1]":[]string{"The Lament Configuration"}, 
    "l[0]":[]string{"163"}, 
    "l[1]":[]string{"288"}, 
    "i[0]":[]string{"1443312816"}, 
    "i[1]":[]string{"1443313660"}, 
    "m[0]":[]string{""}, 
    "m[1]":[]string{""}, 
    "o[1]":[]string{"P"}, 
    "o[0]":[]string{"P"}, 
    "n[0]":[]string{"02"}, 
    "n[1]":[]string{"03"}
    "r[0]":[]string{""},  
    "r[1]":[]string{""}, 
    "s":[]string{"61aad7f97b2785bacd5d0d595e336e33"}, 
}
Нет, конечно я могу накостылять кое-что, что позволит получить данные в нормальном виде типа "a": []string{"A1", "A2"}, но разве этого не должно быть из коробки? Спрашивается, зачем тогда используются массивы, если в любом случае там оказывается один элемент.

 

Kilte ()

«Альтернатива» Last.FM

Я не смог смириться с тем, что Last.FM окончательно скатился, например скробблинг из deadbeef уже которую неделю не работает и похоже не собирается. А пофапать на статистику хочется. Короче говоря, я запилил себе свой скробблер.

Исходники: https://github.com/Kilte/scrobbler Скробблер в действии: http://scrobbler.leichnam.rip/

Пока реализована только старая версия API, потому совместимо далеко не со всеми плеерами/плагинами. Если вдруг перекачусь на другой плеер, где используется новое, то реализую и его.

Надеюсь, что кому-нибудь тоже будет полезно.

 , , ,

Kilte ()

Last.FM всё?

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

В связи с этим вопрос: Есть ли вменяемые альтернативы? Куда вообще все бегут с него?

 ,

Kilte ()

Музыкальный мейнстрим

Как среднестатистический лоровец относится к мейнстриму? При поиске чего-то нового, обращаете ли вы внимание на популярность исполнителя? И если да, то чем популярнее, тем лучше или наоборот? Почему?

А узнав, что некогда любимая группа стала популярна среди широких масс, вы перестанете её слушать? В чём причина такого решения?

Линукс тут при том, что чем меньше популярность, тем больше адепт мнит себя элитой.

 , ,

Kilte ()

Last.fm готовят новую версию

http://beta.last.fm/

Для тех, кто по каким-то причинам не может/не хочет логиниться: http://i.imgur.com/y2v9QC0.jpg

 

Kilte ()

Сборка фронтенда: доведение до идеала

По итогам прошлого треда я остановился на assetic.
Со временем мне надоело заниматься, как правильно заметили, луддизмом и в итоге был выбран gulp, а вместо bowerphp оригинальная реализация bower.
В целом всё устраивает, но есть некоторые моменты, в которых не всё так гладко, как хотелось бы.
Сейчас типичный проект имеет следующую структуру:

frontend/
├── node_modules/
├── public/
├── source/
├── vendor/ (вместо bower_components)
├── .bowerrc
├── bower.json
├── gulpfile.js
├── package.json
├── settings.default.json
└── settings.user.json

Всё, что лежит в public — генерируется автоматически.
Обычно это index.html, app.js, style.css и директория templates с ангуляровскими шаблонами.
Затем на public натравливается nginx и всё работает.
Минус данного подхода в том, что если нужны какие-либо иконки шрифты и прочее, то их приходится копировать из vendor.
Можно и не копировать, а сделать директорию публичной, но это не очень красиво.

Все стили и скрипты собираются в один файл следующим образом:

gulp.task('css', function () {
    gulp.src([
        'source/**/*.css',
        'vendor/primer-css/css/primer.css',
        'vendor/angular-ui-notification/dist/angular-ui-notification.min.css',
        'vendor/ngDialog/css/ngDialog.css',
        'vendor/ngDialog/css/ngDialog-theme-default.css'
    ]).pipe(
        concat('style.css')
    ).pipe(
        autoprefixer()
    ).pipe(gulp.dest('public'));
});
gulp.task('js', function () {
    gulp.src([
        'vendor/angular/angular.js',
        'vendor/angular-route/angular-route.js',
        'vendor/ngDialog/js/ngDialog.js',
        'vendor/angular-ui-notification/dist/angular-ui-notification.min.js',
        'source/**/*.js'
    ]).pipe(ngAnnotate({
        add: true,
        single_quotes: true
    })).pipe(
        concat('app.js')
    ).pipe(gulp.dest('public'));
});
gulp.task('minify', function () {
    gulp.src('public/app.js').pipe(uglify()).pipe(gulp.dest('public'));
    gulp.src('public/style.css').pipe(minifycss()).pipe(gulp.dest('public'));
    buildIndex();
});

В идеале хотелось бы иметь возможность просто указать vendor/**/*.js и vendor/**/*.css
Но так как туда попадает всякий хлам из репозитория, то это невозможно. Есть ли какие-то сдвиги в эту сторону?
В php например догадались заюзать .gitattributes.

В случае с css бывает и так, что в пакете оказываются только исходники в less или sass и минимизированные файлы.
Если я не использую ни то ни другое, то ради зависимостей устанавливать less и sass нет никакого желания.
Приходится указывать минифицированные файлы и в итоге они пропускаются через минификатор по второму кругу.

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

 , ,

Kilte ()

JSON-RPC бэкэнд на Scala

Посматриваю на Scala. И чтобы познакомиться поближе, решил написать SPA на AngularJS с JSON-RPC бэкэндом на этом замечательном языке. Так уж сложилось, что я REST'у предпочитаю JSON-RPC. Не спрашивайте почему.

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

 

Kilte ()

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