LINUX.ORG.RU

Сообщения wingear

 

Алгоритм пересечения отрезка с выпуклым многоугольником. Не понимаю

http://www.intuit.ru/department/graphics/graphalg/class/free/5/3.html

http://www.intuit.ru/department/graphics/graphalg/class/free/5/05_07.gif

«В каждом из этих вариантов для нахождения пересечения отрезка с окном необходимо уметь определять принадлежность точки выпуклому многоугольнику. Из рис. 5.7 видно, что если для любой точки g, принадлежащей многоугольнику (или его границе), и произвольной точки ребра f построить вектор m=g-f, то выполняется условие m.n>=0, поскольку угол между векторами не может превышать 90°. Таким образом, если данное условие выполняется для всех ребер многоугольника, то точка является внутренней.»

Я начертил многоугольник, поставил произвольную точку внутри него, вторую - на ребре. Кроме этих четырех координат, ничего нет. Как построить вектора g и f, которые можно друг из друга вычесть? Или каждую точку нужно рассматривать как радиус-вектор? Я попробовал так, но угол a получился острым. Скорее всего, подразумевалось что-то другое:(

http://tinypic.com/view.php?pic=2cz7t02&s=7

wingear
()

awesome & suspend2ram

Поставил сабж, не знаю, как наладить спящий режим - от пользователя доступна только команда suspend, при выполнении которой ничего не происходит, от рута есть еще s2ram, s2disk и s2both. При попытке выполнения сообщает, что система не опознана, выводит данные по изготовителю и модели ноута. При этом в кедах все работало, но я попытался размаскировать 4.6 и всё сломал, пока восстанавливаю и заодно пытаюсь приспособить этот wm для нормальной жизни. Всегда думал, что в кедах используется фронтэнд к консольной команде, а они, похоже, что-то с нуля написали свое

wingear
()

Кажется, что-то не так с размаскировкой kde-4.6

Autounmask`ом размаскировал kde-meta-4.6(оверлей kde стоит). Кажется, autounmask криво отследил зависимости, т.к. при каждой попытке эмерджнуть @kde-4.6 выползало новое нехватающее. Для автоматизации процесса написал скрипт

#!/bin/bash
while true;
do
    autounmask $(emerge @kde-4.6|grep -m1 -o -e "^\-\ .*::"|sed s/:://|sed s/'- '//)
done
Правда, после того, как к autounmask перестали поступать аргументы, emerge выдал кучу blocked packages. Правда, с --nodeps запустилось и упало на первом же пакете - kate. Сейчас пробую отдельно его ставить. Это у всех такие траблы и стоит подождать или я что-то не подключил?

wingear
()

Все наборы из n элементов по k

Прислали тестовое задание, второй день не могу сообразить, что не так делаю. Нужно выбрать все сочетания не повторяющихся элементов по k из n. Но выбрать - второе дело, с этим уже ясно, как. Я не могу перебрать все варианты с повторениями.

Возьмем конкретные k=3 и n=5. Сначала создаю массив, где будет храниться текущая комбинация, заполняю его первыми элементами большого массива - в нашем случае это будет (1,1,1). Потом в цикле прохожу по большому массиву, на каждом шаге прохожу по малому - присваиваю очередному его элементу значение текущего элемента большого массива. Полученную комбинацию отправляю на хранение в итоговый двумерный массив, из которого потом буду выбирать подходящие комбинации:

vector <int> curr_comb;
    for(int i=0;i<grouping;i++)
        curr_comb.push_back(parsed_numbers[0]);
    for(int i=0;i<grouping;i++)
    {
        for(int j=0;j<len;j++)
        {
            curr_comb[i]=parsed_numbers[j];
            vector <int> *pcurr = &curr_comb;
//            if(!repeated(pcurr))
                combinations.push_back(curr_comb);
        }
    }
//grouping - кол-во элементов в группе
//parsed_numbers - массив элементов, len - его длина
В результате закономерно получаются такие наборы: 111 211 311 411 511 521 531 541 551 552 553 554 555

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

wingear
()

[вероятно, баян] Не работает sendmail

Простая форма:

<?
$fs = '19';
$content = 'contacts2';
$level = '1';
$lvl1 = 'contacts2';
include('../inc/kcaptcha/kcaptcha.php');
session_start();
if(count($_POST)>0){
	if(isset($_SESSION['captcha_keystring']) && ($_SESSION['captcha_keystring'] == $_POST['captcha']) && isset($_POST['nm']) && isset($_POST['email']) && preg_match('/.*@.*[.].*/',$_POST['email'])>0 && isset($_POST['comment'])){
		$address='gruz103@gmail.com';
$eol='\r\n';
$headers = "From: ".$_POST['email'].$eol."X-Mailer: PHP v".phpversion().$eol;
		  if(mail($address,"От ".$_POST['nm'],$_POST['comment'],$headers)) {
header('Refresh: 3; URL=.');
		$fs='18';
} else {
		header('Refresh: 3; URL=.');
		$fs='17';
	}
}
}
$lvl2 = '';
$lvl3 = '';
$lvl4 = '';
include("../inc/index.php");
?>

Сама функция mail возвращает true. При этом ничего не доходит. Пока стоял sendmail, форма отправлялась очень медленно. Сейчас поставил esmtp, стало быстро, но по прежнему безрезультатно. 25 порт сейчас закрыт, потому что, как я понял, esmtp не работает в виде демона. Когда стоял sendmail, порт был открыт. Может, дело в провайдере или gmail`e?

wingear
()

Какая из субличностей правильная?

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

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

Точка зрения номер раз: я на самом деле не хочу этим заниматься, а хочу, чтобы другие (в интернете) видели, что я живу не просто так. № 2: стадия отлынивания - происки того, что в текущих условиях целесообразно назначить дьяволом и давить, насколько возможно. Результат оправдывает это. В связи с этим возникают следующие вопросы:

1)что такое лень и существует ли она реально?

2)сабж

Линукс при том, что книжка по технологии, которая в нем применяется

wingear
()

kopete & jingle

Поддержка сабжа включена, но нигде не нашел вменяемого руководства, как использовать. Или в версии 1.0.80 это еще невозможно?

wingear
()

KDE не играет audiocd

В амароке на диске отображаются папки cda, mp3, flac, ogg и другие. При попытке что-либо воспроизвести ничего не происходит. kscd валится с ошибкой «CDROMREADRAW: Неправильный дескриптор файла». Гугл сказал, что дело м.б. в файле «/etc/udev/rules.d/70-persistent-cd.rules». Он заполняется утилитой /lib64/udev/write_cd_rules. Пытался отредактировать вручную, но он переписывается при рестарте udev. Сначала утилита ругалась на необозначенный DEVPATH, потом - на то, что обозначенное устройство не является читалкой дисков.

fog harinezumi # /lib64/udev/write_cd_rules 
Missing $DEVPATH.
fog harinezumi # export DEVPATH="/dev/cdrom1"
fog harinezumi # /lib64/udev/write_cd_rules 
/dev/cdrom1 is not a CD reader.
После ручной правки конфига udev и его рестарта, /dev/cdrom превратился в cdrom1. Хотя сейчас привел все к первоначальному виду, cdrom не возвращается. Сделал его пока симлинком на cdrom1. В чем м.б. причина такого?

wingear
()

asus f83v bluetooth

Не работает сабж. Т.е. вообще не определяется. Ставил по http://www.gentoo.org/doc/en/bluetooth-guide.xml

fog linux # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 064e:a116 Suyin Corp. 
fog linux # hcidump 
HCI sniffer - Bluetooth packet analyzer ver 1.42
Can't open device: No such device

В ядре все отмечено, как в руководстве. Похоже, этого драйвера в принципе не существует. Если так, кому, кроме асуса, об этом сообщить?

wingear
()

fsf == обширные, но неглубокие знания?

Не знаю, насколько я прав, но мне кажется, что opensource способствует накоплению знаний обо всем, но понемногу и препятствует специализации. При подходе коммерческого ПО человек является экспертом в узкой области, за это ему платят деньги, а программы для автоматизации того, в чем он разбирается плохо, можно купить.

При подходе fsf человек может, конечно, заказать платную техподдержку, но большая часть линуксоидов, которых я видел, читает маны иил в крайнем случае зовет знакомых. Если человек что-то начнет разрабатывать just for fun, это явно будет не комбайн со ста функциями, а утилита для четко обозначенной задачи. И пользователи такой утилиты тоже будут предпочитать сервисным центрам самостоятельное обслуживание своего ПО.

Чтобы написать что-то с нуля, нужно знать много смежных областей. но можно не быть эспертом ни в одной из них. В целом это ведет к ухудшению качества и конечному коллапсу из-за отсутствия финансирования(бизнесу нужны комбайны, а их хорошо пишут корпорации, а не энтузиасты; продавать ПО с открытыми исходниками десктопным юзерам не получится). Если бы не поддержка корпораций, было бы интересно посмотреть на развитие линукса.

Хотя, возможно, я просто нахватался по верхам и переношу это на окружающее.

wingear
()

Выбор ноутбука

Основное, для чего берется - blender и gimp. Что лучше(производитель, модель, видеокарта) в плане одновременной поддержки linux и 3d? Процессор лучше intel, т.к. есть более далекие планы по установке хакинтоша

wingear
()

Не открывается порт

Настраиваю ejabberd в локалке(пытаюсь).

nmap -sT -O nst22

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-15 09:57 MSK
Interesting ports on Nst22.SKLAD (192.168.0.22):
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3306/tcp open  mysql
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=5.00%D=11/15%OT=22%CT=1%CU=41433%PV=Y%DS=0%G=Y%TM=4CE0D9EC%P=i686
OS:-pc-linux-gnu)SEQ(SP=CB%GCD=1%ISR=CF%TI=Z%CI=Z%II=I%TS=8)OPS(O1=M400CST1
OS:1NW6%O2=M400CST11NW6%O3=M400CNNT11NW6%O4=M400CST11NW6%O5=M400CST11NW6%O6
OS:=M400CST11)WIN(W1=8000%W2=8000%W3=8000%W4=8000%W5=8000%W6=8000)ECN(R=Y%D
OS:F=Y%T=40%W=8018%O=M400CNNSNW6%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=
OS:0%Q=)T2(R=N)T3(R=Y%DF=Y%T=40%W=8000%S=O%A=S+%F=AS%O=M400CST11NW6%RD=0%Q=
OS:)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=
OS:S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF
OS:=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=
OS:G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)

Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.97 seconds

Попробовал открыть и на lo, и на eth0(+5280 и еще несколько), но ничего не происходит:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 5222 -j ACCEPT
С чем это м.б. связано?

wingear
()

все есть каталог?

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

wingear
()

xorg 1.9 + virtual resolution

сначала на временно данном мне eee pc 701 была убунта, теперь снес, ставлю gentoo, но проблема по-прежнему актуальна: не найдя привычного xorg.conf, я его создал, прописал секции device, monitor, режим и пункт virtual, как это требовалось для 1.7 - в результате на экране вообще перестало что-либо отображаться, только иногда становилась доступной консоль. Пришлось его удалить. Кажется, нужно что-то добавить в /etc/X11/xorg.conf.d/

никому не приходилось настраивать виртуальное разрешение на новых иксах?

wingear
()

[ЖЖ][выбор пути] тема диссертации

Завтра будет 2 месяца, как я в Москве. При этом числюсь дома в очной аспирантуре. Приезжал на последний отчет, где показал правдоподобную презентацию и соврал, что есть черновик 1 главы. В основном уехал сюда от папы, постоянно по поводу и без капающего на мозги. Аспирантура тоже была его идеей - я хотел в армию после вуза. С теми фирмами, которые пригласили на собеседование, не получилось, а денег не оставалось, поэтому устроился «админом»-эникейщиком(сейчас им самбу под дебианом настраивал, а в основном верстаю местный сайт и заправляю принтеры) за 25к. До того, как почему-то поступил на инженера по инф.технологиям, рисовал и лепил. Сейчас это почти на нуле, но есть надежда заняться комп.графикой и объединить то, что знаю. Правда, для этого нужно однозначно бросать аспирантуру. Никто из тех, кого спрашивал, не высказывался в пользу этого варианта. Из-за чего не хочется бросать: не хочу разочаровывать научника и выслушивать очередные речи папы и деда про то, что я неудачник. Еще есть вариант, что я все-таки стану программистом, а не быдлокодером, и смогу реализовать расписанную схему:

есть мгновенная распознавалка лиц, которая подсоединяется, например, к социальной сети - пользователь загружает фотографию, она преобразуется во внутренний формат фоторобота(битовая карта признаков опр.лица), быстро сравнивается с остальными фотороботами в базе и модуль распознавания выводит ассоциированные с ними фотографии; и есть клиент на openCL для множества машин, который использует простаивающие большую часть времени ресурсы видеокарты, чтобы в фоновом режиме заполнять базу новыми соответствиями лиц и фотографий. При этом сейчас я не знаю ни openGL, ни openCL, ни основных алгоритмов распознавания лиц. Прошел год. Может, хоть вы скажете, что это не нужно?

 

wingear
()

Как запустить team viewer из гнома?

Сейчас звонил папа из другого города, не может в убунте открыть cdrom. Хотел зайти через team viewer, но он не запущен(каюсь, забыл его автостарт прописать). Папа в обращении с компьютером понимает чуть менее, чем ничего. Учиться не пытается, но грузит, что я его должен был научить, прежде чем уезжать, но разговор не об этом. У кого установлен гном, скажите, в каком меню прописывается team viewer(у меня здесь только винда и голая консоль)? Я думал, приложения->Интернет, оказывается, не там

wingear
()

Qt.Drag&Drop. Снова

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

Что однозначно требуется: есть область рисования и дерево с текстовыми элементами. При перетаскивании элементов на область рисования там должны отрисовываться определенные фигуры в зависимости от id элемента. Что желательно - окно д.б. реализовано в виде класса, потомками которого являются область рисования(может, её нужно не через QGraphicsView делать?) и QTreeWidget(это окно потом вызывать из другого места). В демках drag&drop все по-отдельности и перетаскивание идет только между одинаковыми элементами.

wingear
()

user-script для обхода away.php

var jQueryScriptOutputted = false;
function initJQuery() {

   //if the jQuery object isn't available
   if (typeof(jQuery) == 'undefined') {


       if (! jQueryScriptOutputted) {
           //only output the script once..
           jQueryScriptOutputted = true;
           document.write("<script type=\"text/javascript\"
src=\"http://code.jquery.com/jquery-latest.min.js\"></script>");
       }
       setTimeout("initJQuery()", 50);
   } else {

       $(function() {
       $('a').each(
function(i)
{
 var str = $(this).attr('href');
 var rx = /.*vkontakte\.ru\/away.php\?to=(.*)/;
 var res = rx.exec(str);
 if(res!=null){
   var str2 = res[1];
   var rx2 = /http%3A%2F%2F(.*)/;
   var r2 = rx2.exec(str2);
   if(r2!=null){
     $(this).attr('href', "http://" + r2[1]);
   } else {
     $(this).attr('href', "http://" + str2);
   }
  }
});
       });
   }

}

initJQuery();

Попробовал написать удаляльщик ссылок away.php вконтакте, чтобы подгружать его greasemonkey. На локалхосте работает, во вконтакте - нет. Интересно, у них там защита, или всё-таки у меня кривые руки?

wingear
()

Не собирается krusader под оффтопик

Так вышло, что теперь много времени нужно проводить в windows XP, Total Commander нельзя, а free убог. Поставил dev-пакеты kde-base, minGW и cmake, скомпилил последний Qt, отдельно automoc. С последним творится что-то непонятное: cmake не может его найти даже при явно прописанных путях:

Found Qt-Version 4.7.0 (using C:/Qt/4.7.0/bin/qmake.exe)
CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:70 (MESSAGE):
  Did not find automoc4 (part of kdesupport).  Searched for
  Automoc4Config.cmake in using suffixes automoc4 lib/automoc4
  lib64/automoc4.  (missing: AUTOMOC4_EXECUTABLE)
Call Stack (most recent call first):
  C:/KDE4/share/apps/cmake/modules/FindAutomoc4.cmake:56 (find_package_handle_standard_args)
  C:/KDE4/share/apps/cmake/modules/FindKDE4Internal.cmake:350 (find_package)
  C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindKDE4.cmake:95 (FIND_PACKAGE)
  CMakeLists.txt:10 (find_package)

На форуме qt в аналогичной ситуации, но при сборке KDE 4.1 сказали, что это кривой cmake. М.б. оно все же как-то лечится?

wingear
()

Бинарный вариант gentoo

Почему бы не сделать систему, позволяющую превратить gentoo в дистрибутив, где гораздо реже придется что-либо собирать:

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

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

Правда, есть смутное ощущение, что это не нужно. М.б. кто-нибудь знает, почему?

wingear
()

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