LINUX.ORG.RU

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

Как писать на C в 2016 году

Форум — Development

Интересная статейка: https://matt.sh/howto-c

PS: царя скастуйте кто-нибудь, пусть выскажет своё икспертное мнение.

 

Oxdeadbeef
()

Редиректы при логине в интернет-банке

Форум — Security

При логине во многих (всех?) интернет-банках происходит серия редиректов на разные адреса. Зачем так сделано и что при этом происходит на стороне банка?

 

getup
()

Mac или Samsung

Форум — General

Никогда не юзал мак, но в последнее время на конференциях очень много с маками. Вопрос простой - может я отстал от жизни и стоит купить Мак? Я пользую линух уже лет 20 и он меня полностью устраивает. В маке собственно unix. Последний ноут самсунг х22 уже 8 лет работает без нареканий, сейчас стоит mint mate. В маке меня поразил экран ретина, а все остальное железо не так чтоб уж ах. Комп нужен для физики математики (mathematica, latex + музыка и видео), экран для моего зрения оч хорош. Вопрос к тем, что использовал мак - стоит ли брать? Может взять самсунг с ретиной и поставить линух?

 

rustamych
()

Уязвимость в GRUB2

Новости — Безопасность
Группа Безопасность

Стало известно о критической уязвимости CVE-2015-8370, благодаря которой стало возможном обойти блокировку загрузки с паролем и получить полный доступ к консоли GRUB2.

Проблема актуальна для всех выпусков GRUB с декабря 2009 и до современных версий, в том числе находящихся в разработке. На текущий момент доступен патч, также появились обновления пакетов для Ubuntu, Debian, Fedora, CentOS, RHEL и ALT Linux.

Суть уязвимости заключается в том, что злоумышленник, имеющий доступ к локальному компьютеру, может инициировать целочисленнлое переполнение и получение доступа к консоли GRUB2 путём нажатия кнопки Backspace 28 раз в поле имени пользователя или пароля.

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

 ,

Haloperidol
()

2nd factor auth for ssh

Форум — Admin

Всем привет.

Хочу приделать многофакторную авторизацию для ssh. Кто-нить уже пробовал? Какие сервисы использовались? Какие подводные камни были?

 ,

true_admin
()

Собственный командный интерпретатор

Форум — Development

В программе нужно реализовать собственный командный интерпретатор (как в GNU ftp). Посмотрел маны по readline и argp. Непонятно вот что: readline выдает строку (char *), которую ввел пользовать, а argp принимает (int argc, char **argv). Вопрос в том, есть ли библиотека для парсинга строки в аргументы.

 

GSA
()

Как сделать кнопку опций наверху?

Форум — Development

Доброго времени суток! Собственно, сабж..

Как сделать эту самую кнопку сверху (ну та, которая обычно обозначается на Андроиде с тремя горизонтальными полосками, при нажатии на нее обычно Popup(?)Menu вылазит с опциями разного рода) вместе с заголовком приложения стандартными средствами QT?

Мне на ум приходит только идея в лоб: создать QLabel, QButton, настроить выравнивание и растяжение через политики, но в Android Studio, помнится, есть уже готовый компонент под это дело. А в QT есть?

 ,

aido
()

Ветер крепчает

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

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

( Подробности под катом )

>>> Все скриншоты

>>> Просмотр без искажений ЛОРа и в нормальном качестве

 , , ,

sudopacman
()

Библиотека логгирования для C++

Форум — Development

Ищу библиотеку логгирования для C++.

Чего хочется:

  • Компактного и красивого логгирования вроде
    LOG(warn) << "This code sucks!"
    
    //в принципе, можно сделать свой макрос
  • Опциональная поддержка синтаксиса printf.
  • Ротация лог-файлов по размеру и/или по количеству.
  • Одновременный вывод в файл и в stdout.
  • Потокобезопасность.

Я уже смотрел на:

  • Boost.Log - синтаксис настройки сложный и неприятный, но это полбеды. Вторая проблема - это boost::shared_ptr, я пишу на C++14 и у меня уже есть std::shared_ptr и прочие, но буст упорно хочет только собственные поинтеры. Фу.
  • Easylogging++ https://github.com/easylogging/easyloggingpp Либа почти прекрасна, кроме того, что она - это единственный хэдер размером в 7 тыс строк! Разобраться в этой каше сложно. А ещё и тащить за собой надо, и обновлять вовремя. Отдельные динамические библиотеки поприятнее будут с точки зрения сопровождения.
  • log4cxx, log4c, log4cplus - пытаются сделать одну и ту же вещь, но как-то топорно, и умеют немногое.
  • log4cpp - это ужасно:
    root << log4cpp::Priority::ERROR << "Streamed root error";
    

И ещё вагон и маленькая тележка других либ, которые используются в полтора проекта.

Что делать?

 ,

Chaser_Andrey
()

Приложение LOR для Android

Форум — Mobile

В этой теме буду сообщать о прогрессе разработки мобильного приложения.

Репозиторий на Github

Последний залитый debug APK (если ссылка битая - собирайте из исходников)

Благодарю за материальную поддержку najlus, NeverLoved

 ,

mcgeek
()

Проблема повторного соеденения клиента к серверу через сокет (C++)

Форум — Development

Есть вот такое клиенто-серверное приложение. Первый запуск клиент-сервер работает нормально, но после того как серевер вырубается и запускается новый, клиент уже не хочет к нему коннектится.Преподователь подсказал использовать «SO_REUSEADDR» перед биндом. Но мне это не помоголо, либо же я не правильно его использую. Завтра дедлайн, помогите пожалуйста разобраться).

Сервер

#include <iostream>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
#include <math.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
using namespace std;


long double fact(int n)
{
	if (n<0)
		return 0;
	if (n == 0)
		return 1;
	else
		return n*fact(n - 1);
}

double frenel1(double x)
{	double eps=0.0001;
	double an = x*x*x / 3; double sum = an;
	int i = 1;
	while (fabs(an)>eps)
	{
		an = pow(-1, i)*pow(x, 4 * i + 3) / ((4 * i + 3)*fact(2 * i + 1));
		sum += an;
		i++;
	}
	return sum;
}


double frenel2(double x)
{	double eps=0.0001;
	double an = x; double sum = an;
	int i = 1;
	while (fabs(an)>eps)
	{
		an = pow(-1, i)*pow(x, 4 * i + 1) / ((4*i + 1)*fact(2*i));
		sum += an;
		i++;
	}
	return sum;
}


int main(int argc, char* argv[])
{
	double x,r1,r2;
	int sock, listener,test=1;
    struct sockaddr_in addr;
    listener = socket(AF_INET, SOCK_STREAM, 0);
    addr.sin_family = AF_INET;
    addr.sin_port = htons(9535);
    addr.sin_addr.s_addr = htonl(INADDR_ANY);
    setsockopt(listener,AF_INET,SO_REUSEADDR,&test,sizeof(int));
    bind(listener, (struct sockaddr *)&addr, sizeof(addr));
    listen(listener, 1);
    while(1)
    {
        sock = accept(listener, NULL, NULL);
        recv(sock, &x, sizeof(double), 0);
        if (x==-1){  shutdown(sock,1); break; };
        r1 = frenel1(x);
	r2 = frenel2(x);
        send(sock, &r1, sizeof(double), 0);
	send(sock, &r2,sizeof(double),0);
	close(sock);
    }
    
    return 0;
}


Клиент
#include <cmath>
#include <iostream>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
#include <math.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>


using namespace std;

int main(int argc, char* argv[])
{
	if ((argc>1)&&(strcmp(argv[1],"--help")==0)) 
	{
	 cout<<"Integrali Frenelya\n";
	 cout<<"Ostanovka servera -e.\n";
	 return 0;
	}
	
	int sock;
    struct sockaddr_in addr;
    sock = socket(AF_INET, SOCK_STREAM, 0);
    addr.sin_family = AF_INET;
    addr.sin_port = htons(9535);
    addr.sin_addr.s_addr =htonl(INADDR_LOOPBACK);
    if (connect(sock, (struct sockaddr*)&addr, sizeof(addr))<0) {cout<<"Error connect\n"; return 0;}
       
   
	double x;
	double r1,r2;
	if ((argc>1)&&(strcmp(argv[1],"-e")==0)) { x=-1; }
	else
	{
	 cout<<"X= ";
	 cin>>x;
	}
	send(sock,&x,sizeof(double),0);
	if(x==-1){
	    shutdown(sock,0);
	}
	else
		{
		recv(sock, &r1, sizeof(double), 0);
		recv(sock,&r2,sizeof(double), 0);
		cout<<"S("<<x<<") == "<<r1<<endl;
		cout << "R("<<x<<")=="<<r2<<endl;
	}
	close(sock);
    return 0;
}

 , , ,

Semaphore11
()

Не загружающийся линукс на Allwinner A13

Форум — Mobile

Есть дешёвый китайский планшет на Allwinner A13 с навернувшимся после обновления арчем (ну, или с попыткой установки Tizen).

Логов systemd нету, консоли с каким-нибудь текстом ошибки на экране нету (только Tux в углу светится и ничего не происходит), файловая система на запись недоступна, могу лишь написать скрипт вместо /sbin/init и, например, cat /dev/urandom > /dev/fb0 написать (клавиатура есть, но шелл запустить тоже не получается). В результате не могу понять, почему не грузится.

Научите плз лечить такое или пните в соответствующую матчасть, а то планшет после моих кривых рук регулярно так :c

 ,

andreymal
()

Работа с фотографиями в Linux

Форум — Multimedia

Color management:

  • colord — создание, установка и использование по назначению цветовых профилей. GNOME Color Manager и colord-kde — графические приложения для работы с colord в GNOME и KDE, соответственно
  • ArgyllCMS — CMS, необходимая для профилирования вашего фотоаппарата, монитора, сканера и принтера

Обработка, конвертация и управление коллекцией RAW-изображений

  • Darktable — наиболее динамично развивающийся, многофункциональный конвертер/каталогизатор
  • RawTherapee — другой отличный конвертер и каталогизатор в одном лице
  • Rawstudio — ещё один, похоже, приостановил развитие
  • Photivo — конвертер, но не каталогизатор с весьма немалым выбором доступных инструментов, по словам разработчиков, нацеленный на опытных фотографов
  • UFRaw — минималистичный RAW-процессор, для предпочитающих обрабатывать фотографии уже в графическом редакторе
  • digiKam — внезапно, тоже имеет базовый функционал RAW-конвертации
  • А если вы настолько просветлённый фотограф, что обрабатываете свои фотографии сидя в консоли, для вас есть dcraw, код которого используется в куче коммерческих и некоммерческих конвертеров

Графические редакторы

  • GIMP — просто без комментариев
  • Krita — больше подойдёт художнику, чем фотографу. Тем не менее, есть поканальные кривые, Lab, CMYK, маски, корректирующие слои и другие, греющие душу, возможности
  • AzPainter — редактор полноцветных изображений, с расширенным функционалом для редактирования фотографий (RGBA, 16bit), имеет некоторую поддержку *.PSD
  • Для просветлённых фотографов из предыдущего раздела подойдёт консольный пакет ImageMagick — на пару с dcraw позволит завалить мир шедеврами не загружая иксы

Управление фотоаппаратом с компьютера

  • gPhoto2 — библиотека, которая поддерживает 1800 камер, возможно и вашу
  • Entangle — позволяет управлять всеми настройками камеры и снимать непосредственно с компьютера

Focus stacking, склейка панорам и снимков с большим динамическим диапазоном (HDR)

  • Hugin — мощный инструмент для склейки панорам из нескольких снимков
  • krpano — создаёт интерактивные виртуальные туры в формате HTML5 и Flash-приложений (Проприетарен)
  • Kolor Autopano Giga — мультиплатформенный коммерческий пакет, предназначенный для склейки панорам и создания на их основе виртуальных туров
  • Luminance HDR — генерирует HDR-фоторафию из нескольких, различно экспонированных, снимков
  • MacroFusion — простая графическая надстройка над Enfuse, позволяющая, в том числе склеивать снимки, сделанные с брекетингом по фокусу, для получения большей ГРИП, например при макросъёмке

Time-lapse

  • Kdenlive — видеоредактор, умеющий склеивать последовательно снятые фотографии в видеоролик
  • ffmpeg или его форк libav — тот случай, когда работа с изображением из консоли будет вполне оправданна. Наборы библиотек и программ для работы с видео, в данном случае — для создания видеоролика из нескольких фотографий
  • slowmoVideo — программа, замедляющая получившийся видеоролик и делающая его более плавным

Астрофото

  • SIRIL — свободный обработчик астрофотографий, предназначенный, в основном, для астрономов-любителей

Работа с онлайн фото-стоками

  • Xpiks — приложение для атрибутированния и загрузки изображений на стоки для стоковых иллюстраторов и фотографов

 , , ,

ist76
()

Раздача велосипедов - 2: тонкий клиент

Форум — Admin

https://github.com/selivan/thinclient

Набор для построения Ubuntu/Debian-based тонкого клиента, который не монтирует корневую ФС по NFS/iSCSI/SMB/..., а работает целиком из памяти.

Плюсы по сравнению с традиционным( https://help.ubuntu.com/community/DisklessUbuntuHowto ) подходм:

* не нагружает сервер
* спокойно переживает даунтайм сервера

Плюсы по ставнению с thinstation и прочими wtware:

* это честная Ubuntu/Debian, куда можно поставить всё что угодно: софт для работы с камерой, браузер, яву, хоть ioquake и tuxrace

Полезности

* умеет overlays, то есть сверху корневой ФС можно примонтировать сколько угодно архивов. Таким образом можно распространять дополнительный софт/конфги для определённых рабочих станций, не переделывая основной образ
* умеет монтировать домашний каталог по NFS, пользователь может вносить постоянные изменения. Небезопасно, но в некоторых случаях приемлимо.

Изначально делался efim-ом( https://github.com/efim-a-efim, на ЛОРе присутствует мало и только в анонимном виде ), потом сильно допиливался мной.

Надеюсь, кому-нибудь пригодится

 ,

selivan
()

Используют ли в вашей команде GPG-подписи коммитов

Голосования — Голосования
  1. Зачем это нужно? 369 (47%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Нет, не подписывают 284 (36%)

    ******************************************************************************************************************************************************************************************************************************************************

  3. Да, у нас все подписывают коммиты 95 (12%)

    **********************************************************************************

  4. Нет, но я пользуюсь 34 (4%)

    *****************************

Всего голосов: 782

deterok
()

ищу бесплатную программу учёта товара на складе

Форум — Desktop

желательно кроссплатформенную и из офф.репы дебиана. спасибы.

 

darkenshvein
()

KiCAD теперь поддерживает трассировку скоростных печатных плат

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

Сегодня была анонсирована поддержка трассировки дифференциальных пар и выравнивания длин трасс для EDA KiCAD.

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

И хотя прямо сейчас использовать это довольно трудно из-за сырости и ограниченности, потенциально эти функции открывают возможность трассировки в KiCAD серьезных высокоскоростных проектов на базе таких технологий, как PCI-Express, DDR2-3, Gigabit Ethernet и пр.

Видео с демонстрацией работы

>>> Скачать исходный код

 

Puzan
()

Анонсирован Nuntius, транслятор уведомлений из Android в GNOME

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

Паоло Борелли анонсировал новый проект Nuntius, решающий задачу вывода уведомлений с устройства на базе Android на экран десктопа с GNOME.

В состав проекта входят два компонента: апп для Android (v4.3+) и приложение для GNOME.

Данные передаются по Bluetooth. В дальнейшем ожидается появление возможности отвечать на сообщения с десктопа.

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

 ,

AP
()

ВНЕЗАПНО git git

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

На картинке облегченный вариант, что бы вошло на экран. Вот когда мержится ветка с длительной историей (~100 мержей), вот это потрясение.

 

FriendshipIsMagic
()

PolarSSL стал частью ARM

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

На сайте проекта PolarSSL (в рамках которого развивается свободная библиотека c реализацией SSL/TLS и различных криптографических алгоритмов) появилось объявление о переходе проекта под крыло корпорации ARM (одного из крупнейших разработчиков и лицензиаров архитектуры 32-разрядных и 64-разрядных RISC-процессоров).

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

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

 ,

anonymous
()