Задать вопрос
  • Системное программирование, какой язык программирования выбрать?

    @raiboon
    Ну стоп, системное программирование и "утилитки для себя" разные понятия. Системное - это С и С++ - низкоуровневые штуки.
    Для утилиток, в последнее время, стал популярным Го. Весная классика - питон. В мастдайке бывает пишут небольшие скрипты на c#.
    Ответ написан
    Комментировать
  • Почему все новые устройства такие медленные?

    Jump
    @Jump
    Системный администратор со стажем.
    Раньше был минимум нужного функционала написанного на ЯП низкого уровня и прилично вылизанного.
    Сейчас топовые смартфоны морально устаревают за год.
    Поэтому производители не могут позволить себе терять время, разрабатывая на ЯП низкого уровня и вылизывая код.
    В основном приоритете время разработки, а не время выполнения!
    Если производитель будет вылизывать и оптимизировать свой код, он просто вылетит с рынка.
    К тому же сейчас кроме кода от производителя, на него устанавливаются сторонние программы, а это вообще тихий ужас.
    Большинство приложений с андроид маркета написано людьми которые с трудом представляют что такое алгоритмы и с чем их едят. Какая там оптимизация? Любой студент берет готовый фреймворк, рисует пару кнопок, пишет десяток строчек кода и в маркет.
    Ответ написан
    5 комментариев
  • Почему все новые устройства такие медленные?

    @onepavel
    Консультация и разработка мобильных приложений
    Раньше писали нативные приложения, не было виртуальных машин, фреймворков, DI и рефлексии в целом, не было 100500 сервисов проверяющих фейсбуки и твиттеры. У меня был палм от сони, черно-белый экран и никакой анимации. Ну и конечно качество кода упало.
    Ответ написан
    Комментировать
  • Как найти известный маркер на изображении?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Я для поиска таких маркеров (правда, без внешнего полукольца) начинаю с того, что для каждой точки строю "окружность" с центром в этой точке, состоящую из 20 точек (радиус может варьироваться) и проверяю, насколько она симметрична. Если средний квадрат разностей яркостей симметричных точек заметно меньше дисперсии, то это кандидат на маркер. Потом проверяю на подобие (беру окружность вдвое меньшего радиуса). Если оба критерия прошли - идёт проверка уже по площадям (опять же, проверяется симметрия, самоподобие и однородность белого и чёрного). Границы приходится распознавать только для определения центра с субпиксельной точностью (достигается точность 1/10 пикселя).
    К сожалению, процесс довольно медленный. Особенно, если заранее размер маркера неизвестен, и приходится проверять разные масштабы.
    Про яркостную границу можно предложить прогнать алгоритм, основанный на выделении границ, для нескольких порогов яркости. Какой-нибудь да сработает. Но как описать и быстро распознать ситуацию "при сканировании пройден центр маркера", я ещё не придумал.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Если эти вопросы не касаются вашей половой жизни, а относятся к работе, то стоит на них отвечать.
    Разжевывая все, что бы клиенту было понятно. Или говорить так, что бы клиент интуитивно понимал, что вы правы и так надо.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    newross
    @newross
    Product owner
    Отвечать на эти вопросы, если это занимает немного времени.
    Хуже когда клиент не задает вопросов. Скорее всего он начнет задавать их после окончания работы и перед оплатой.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    podust
    @podust
    Вести повременную тарификацию работы и общения с клиентом. Если клиенту это не понравится и он отпадет — тогда и к лучшему, ибо себе дороже тратить свое время (которое, как известно, = деньги).
    Ответ написан
    2 комментария
  • Оптимальный набор алгоритмов в задаче по Computer Vision?

    tsarevfs
    @tsarevfs
    C++ developer
    А может проще будет печатать qr код? Там и надёжность лучше будет. И библиотеки готовые найти можно.
    Ответ написан
    2 комментария
  • Как собрать дистрибутив на базе Debian?

    Spetros
    @Spetros
    IT-шник
    Желательно понимание английского языка.
    https://wiki.debian.org/DebianCustomCD
    Но если искать информацию в интернете не умеете, то никак.
    Ответ написан
    1 комментарий
  • Какие разделы математики актуальны в сфере нейронных сетей и ИИ?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Никакие и все.

    Немного лирики. Дело в том, что нейронные сети штука очень непонятная. Она неплохо классифицирует, вроде бы умеет учиться. Но вот принимать решения она почти не умеет. То есть, в каком-то смысле она принимает решения, во время классификации, соотнося образ к паттерну, однако на деле всё как-то печальнее. А ещё она совершенно не умеет выполнять алгоритмы в классическом смысле слова. Ну и получается, что вся суть нейронной сети, всё, что она будет делать определяется её параметрами и входными данными. Вроде бы и похоже на алгоритм, но алгоритм можно определить 1) без входных параметров (классический), 2) не параметрами, а набором действий. Нейронная сеть более... Аналоговая.
    Отсюда мы подходим к тому, что нам обязательно нужен будет дифференциальный и функциональный аппараты. К сожалению, современные компьютеры не способны адекватно работать с бесконечно малым и большим, поэтому нам обязательно потребуются методы приближения: это и сами вычислительные методы, и некоторые методы оптимизации (они и по другим причинам потребуются). Да и совсем не лишними будут теория чисел, статистика, мат.логика и определённо более общие теории вероятностей и случайных процессов.

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

    Но стоит понимать, что все эти разделы очень тесно переплетены. Не получиться поднять какую-то одну часть отдельно от другой. Всё взаимосвязано. Вообще, очень рекомендую khan academy - наикрутейшая штука. По всей видимости, есть всё, что я здесь описал.

    Нажал ctrl+enter рановато...
    Как можно заметить, в общем-то нужна вся математика. Если какой-то раздел не указан, то он скорее всего будет затронут в других разделах.

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

    Так что, если не желаете продвигать науку вперёд, очень советую бросить это дело. Можете построить пару простейших перцептронов, однако на большее советую не рассчитывать. Сыровато.
    Ответ написан
    8 комментариев
  • Как оптимально хранить в бинарном файле сортированные целые числа?

    maaGames
    @maaGames
    Погроммирую программы
    Сперва хотел рассказать про хранение WAV файлов в формате PCM, но передумал. Вы собираетесь экономить на печеньках - не правильный подход.
    Предлагаю оптимальный вариант + его модификацию.
    1. Раз данные пишутся и читаются последовательно, то вам Бог велел использовать потоковое сжатие (это если файл в оперативную память весь не влезает, иначе тупо зиповать можно было бы). Не зная языка программирования не могу подсказать библиотеку. На C++ можно декорировать файловый поток архиватором, чтобы на лету данные паковать. Самому архиватор писать не стоит, лучше поищи готовую реализацию.
    2. Так как числа упорядочены, то вы правильно предложили хранить разницу между соседними числами, это обеспечит очень много повторяющихся величин, которые должны отлично сжаться любым архиватором.

    Как правило архиваторы считают контрольную сумму кодируемых данных, поэтому дополнительной проверки не должно потребоваться. Если при закачки на/из облака данные повредятся, то при распаковке это должно будет выясниться.
    Ответ написан
  • Как сделать чтоб при команде cp file file показывался прогрусбар?

    @Eddy_Em
    По-моему, приятней и удобней использовать mc.
    Ответ написан
    Комментировать
  • Как сделать чтоб при команде cp file file показывался прогрусбар?

    @throughtheether
    human after all
    Попробуйте pv.
    Ответ написан
    Комментировать
  • Можно обучить нейронную сеть монтажу видео?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я сильно сомневаюсь что тут нужна нейронная сеть...

    www.disneyresearch.com/wp-content/uploads/Project_...
    Ответ написан
    2 комментария
  • Практичное использование orm. Где? Модель? Контроллер?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    В парадигме MVC работа с данными ведется в модели.
    Я бы описал MVC это как небольшую фирму в которой есть С - секретарша, которая принимает заказ и передает его M - боссу, он в свою очередь говорит V - художнику что и как нарисовать. Полученный шедевр V передает С, которая отдает его клиенту.

    "Студентов и школьников прошу продолжить играть в Dota и не отвлекаться на мой вопрос."
    Яркий пример предвзятого отношения от которого стоит избавляться..
    Ответ написан
    10 комментариев
  • В каких сферах программирования активно используется математика?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Навскидку:
    1) обработка изображений, компьютерная графика и зрение - геометрия и алгебра
    2) поиск - теория графов
    3) искусственный интеллект - матстатистика, тервер, теория игр
    4) моделирование, робототехника - вот здесь как раз матан, численные методы, теория управления

    И зря вы так о матане, просто пока еще не дошли до логического применения этого предмета. Венцом его использования считается теория управления, которая в свою очередь применима к программированию сложных механических контроллеров (турбины аэс, генераторы тэц)
    Ответ написан
    2 комментария
  • В каких сферах программирования активно используется математика?

    newross
    @newross
    Product owner
    Кто сказал что в программировании матан редко применяется? Если продвинуться чуть дальше сайтов-визиток, то без матана будет тяжко.
    Любая цифровая обработка сигналов полна адового матана. При разработке систем высокочастотного трейдинга и систем финансового анализа очень много математики и экономики. Системы мониторинга Глонасс/GPS для разработки дополнительных фич тоже требуют некислых знаний матана и геометрии.
    В общем, проще выбрать интересующую область и искать себе применение в ней.
    Ответ написан
    1 комментарий
  • Почему формат .7z стал популярным?

    IlyaEvseev
    @IlyaEvseev
    Opensource geek
    Попробуйте взять интервью непосредственно у sourceforge.net/u/ipavlov/profile
    Всем будет интересно.
    Ответ написан
    Комментировать
  • Что сделать с текстами 372-х тысяч песен?

    Killy
    @Killy
    В структуре таблицы «wc_lyricsnet_songs» не понял, где собственно сами тексты песен. Но видимо, они есть, иначе не интересно.

    Сначала можно разобраться, что же, собственно, в этих данных содержится, и какие метрики от этих данных можно вычислять:

    Исполнитель:
    Данные:
    — Название исполнителя
    Метрики:
    — Число зарегистрированных альбомов
    — Число зарегистрированных песен
    — Средние/максимальные/etc значения метрик альбомов и песен исполнителя

    Альбом:
    Данные:
    — Название альбома
    — Год выпуска альбома
    Метрики:
    — Число песен в альбоме
    — Длинна названия альбома
    — Количество слов в названии альбома
    — Год выпуска альбома
    — Средние/максимальные/etc значения метрик песен в альбоме

    Песня:
    Данные:
    — Название
    — Текст
    Метрики:
    — Длина названия песни
    — Количество слов в названии песни
    — Длинна текста
    — Число слов в тексте
    — Число уникальных слов в тексте
    — Среднее число повторений слов в тексте

    Потом подумать, что из всего этого можно извлечь:
    а)
    Для всей базы или для выборок по метрикам посчитать частотные словари по текстовым данным. Выявить популярные шаблоны в названиях {исполнителей/альбомов/песен} — сделать свой генератор названий.
    б)
    Искать экстремальные значения метрик (не забывая про нормирование).
    Например, самые многословные исполнители. Или авторы самых ёмких текстов.
    в)
    Нарисовать сетку «метрика х метрика». Посмотреть, получается ли что-нибудь интересное на пересечениях.
    Например, [Год выпуска альбома] x [Число уникальных слов в тексте]. За каждый год (выборка по метрике 1) берём среднее значение метрики 2, делим на общее число зарегистрированных песен за этот год (размер выборки). Строим график и проверяем, становятся ли тексты в среднем более примитивными.
    г)
    Частотные словари для выборок. Нарисовать сетку «метрика х данные». Посмотреть, получается ли что-нибудь интересное на пересечениях. Посчитать частотные словари по данным из выборок на основе метрики. Сравнить результаты и найти отклонения.
    Например, [Год выпуска альбома] х [Название песни]. Удастся ли так проследить за музыкальной модой?

    При использовании внешних данных (частотный словарь английского языка, lastfm и т.д.) можно ещё всяких метрик напридумывать. Не всегда тривиальных, правда. Но более перспективных. Например:
    — «Простота текста» — насколько он состоит из частых или, наоборот, редких слов. Это круче, чем число уникальных слов в тексте.
    — Отношение исполнителя к тому или иному муз. направлению(жанру). Имея статистические данные по ярким представителям жанра можно попробовать сделать свою распознавалку жанра для произвольных текстов, например.

    Идея, надеюсь, понятна. Можно продолжить мозговой штурм и эксперименты, чтобы придумать новые и комбинированные метрики, найти откуда извлечь дополнительные данные и т.д…
    Ответ написан
    Комментировать
  • Конвертировать svm-изображение (StarView Metafile) в png?

    virtustilus
    @virtustilus Автор вопроса
    Нашел решение.
    Оказывается есть статья на хабре про конвертацию скриптом python через установленный openoffice: http://habrahabr.ru/post/97637/
    Сразу до конца не дочитал в результате чего имел кучу вопросов, как все-таки запустить под OSX данный скрипт.
    В итоге приведу небольшое решение проблем, может кому поможет.
    Скачиваем отсюда файл DocumentConverter.py.

    В итоге получаются следующие ошибки в порядке их исправления:
    ImportError: No module named uno.
    /Applications/LibreOffice.app/Contents/MacOS/pyuno.so: mach-o, but wrong architecture
    ERROR! Binary URP bridge disposed during call

    Ошибка в связи с неверными путями, теперь создаем скрипт convert.sh для его запуска:
    #!/bin/bash
    
    
    export PATH=/Applications/LibreOffice.app/Contents/MacOS:$PATH
    
    export URE_BOOTSTRAP=vnd.sun.star.pathname:/Applications/LibreOffice.app/Contents/MacOS/fundamentalrc
    export UNO_PATH=/Applications/LibreOffice.app/Contents/MacOS
    export LD_LIBRARY_PATH=/Applications/LibreOffice.app/Contents/MacOS:/Applications/LibreOffice.app/Contents/ure-link/lib/
    export PYTHONPATH=/Applications/LibreOffice.app/Contents/MacOS:$PYTHONPATH
    PYTHON="/Applications/LibreOffice.app/Contents/MacOS/OOoPython.framework/Versions/Current/bin/python"
    
    OFFICE="/Applications/LibreOffice.app/Contents/MacOS/soffice"
    
    
    $OFFICE --norestore --nofirststartwizard --nologo --headless "--accept=socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" &
    
    sleep 5s
    
    $PYTHON DocumentConverter.py $1 $2
    


    Теперь можно конвертировать, просто написав ./convert.sh file1.odt file2.html

    Картинки svm будут лежать рядом в формате gif.
    Но я пошел дальше и дочитал статью на хабре до конца, где говорилось про другую скрипт-обертку unoconv. Скачиваем исходники отсюда http://dag.wieers.com/home-made/unoconv/#download, в них python-скрипт unoconv.
    Теперь можно конвертировать даже просто картинки svm командой
    unoconv -f png mypath/*.svm
    
    Ответ написан
    Комментировать