• Какой Todo/GTD сервис выбрать?

    Ernesto
    @Ernesto
    Junior
    Evernote + cистема Agile Result

    GTD vs Agile Results. Исправляем недочёты Дэвида Аллена
    Agile Results - новый подход к личной эффективност...
    Перевод книги Джей Ди Мейера — «30 дней достижения...

    Перешел с GTD и OmniFocus'а на эту систему.
    Дэвид Аллен научил нас обрабатывать списки задач, но забыл рассказать, зачем всё это нужно. Серьезное упущение, с учетом того, что эффективность всегда должна лидировать в этом тандеме. Сначала нужно убедиться, что ты занимаешься тем, чем должен, а уже потом искать наилучший способ это выполнить.


    Прототип системы в Evernote
    Ответ написан
    1 комментарий
  • Фрилансеры, какие способы продвижения себя вы используете?

    5angel
    @5angel
    Фронтенд-лид
    Основной способ продвижения себя – это создание репутации, повышение узнаваемости собственной персоны в профессиональных кругах.

    Добиваться этого можно разными способами. Самый очевидный вариант – хорошо выполнять свою работу, зарабатывать рейтинг и отзывы на разнообразных фриланс-биржах. Помимо того, что вас будут находить в основном каталоге, ваши бывшие клиенты будут в том числе рекомендовать ваши услуги своим знакомым, это и есть так называемое «сарафанное радио».

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

    Ведение блога и написание статей об интересующей вас сфере также помогает представить себя в качестве профессионала своего дела, что, опять же, повышает доверие к вам и вашему труду.
    Ответ написан
    Комментировать
  • Как прокачаться и научиться языку программирования\аналитики R?

    @volokhonsky
    Не знаю, насколько уж я монстр вот этого всего, но расскажу, как у меня что-то получилось.
    Сперва, лет пять, наверное, назад, я попробовал запустить R и что-то сделать, но у меня так и не получилось открыть файл. Года через полтора к нам на психфак СПбГУ приезжал один товарищ из какого-то американского вуза и собирался учить нас статистике, используемой в клинической психологии. Однако, большую часть занятия мы учились открывать файл в R, что очень помогло мне в дальнейшем.
    В 2012 году я уже кое-что мог делать в R, но чувствовал себя крайне неуверенно и делал всё очень, очень медленно. После того, как я уволился из СПбГУ (всё-таки вести блог "Новости СПбГУ" было слишком рискованным предприятием) у меня уже не было академической лицензии на SPSS, и я полностью перешёл на R и занялся выполнением коммерческих заказов.
    В одном из них мне надо было быстро подготовить штук пятнадцать отчётов по одинаковым геомаркетинговым исследованиям разных точек Подмосковья. И я нанял коллегу, который был в R прокачан куда больше меня. По моему заказу, он написал скрипт, который автоматически открывал все xls файлы в папке, обрабатывал их и складывал нарисованные в ggplot картинки в новые папочки.
    В своей последующей работе я ещё около полутора лет пользовался фрагментами этого кода. Наконец, в июле 2014 года я устроился работать исследователем в компанию Wargaming, рассчитывая, что регулярная, ежедневная практика позволит мне существенно укрепить мои навыки. Всё-таки, работать постоянно - это не то же самое, что на 3-4 дня в месяц включаться в проект. И не прогадал в том плане, что мне больше не надо заглядывать в справочник по функциям, чтобы решать рядовые задачи.

    Очень рекомендую в первую очередь заняться не освоением каких-то суперсложных модных методов обработки данных, а добиться полного и чёткого понимания команд "шейпинга" данных. Вот эти вот все aggregate, cast, melt, rbind.fill, apply, lapply, recode, merge... Потому что пока этого понимания нет, при работе с любыми другими методами 70-90% времени уходит на то, чтобы понять, как подготовить данные того вида, которые нужны.

    Увы, решение устроиться на работу привело меня к полной невозможности повышать свою квалификацию на курсере и т.п., потому что времени на такое просто нет в принципе. Разве что если как-то так спланировать и отпуск или новогодние каникулы на сие потратить.
    Ответ написан
    3 комментария
  • Изучение Java: мотивация, перспективы, краткий план?

    @Lici
    Извините, но посмотрите правде в глаза - вы ничего не умеете в этой жизни делать, кроме абстрактной, бесцельной и бесполезной учебы. Два высших образования и годы еще какого-то бесполезного чтения и просмотров чего-то якобы развивающего и полезного. Вы еще небось отличник. Лучше бы вы саус парк смотрели и брейкин бэд, но в остальное время действовали как мужчина - ставили себе задачу и методично ее решали. Не смотрели говнокурсы, а брали задание и кровь из носу выполняли его. А сейчас вам делать просто нечего, пишете тут многабукавы.

    Пока не измените вообще методологический подход к своей жизни - у вас все и будет так-же.
    Ответ написан
    12 комментариев
  • Python: как читать непрерывный вывод?

    Nirail
    @Nirail
    Дайте мне повод и я во все решу
    Можно как-то так:
    Windows:
    pipe.py:
    import sys
    while True:
    	line = sys.stdin.readline()
    	print(len(line))

    вызов:
    ping 8.8.8.8 -t | pipe.py
    Для Linux аналогично.
    Ответ написан
    Комментировать
  • Как присоединиться к команде на Kaggle?

    dbihbka
    @dbihbka
    Судя по описанию у тебя достаточно теоретических знаний для участия в kaggle, поэтому стоило бы начать даже в одиночку, т.к. по мне ML понимается больше в практике. А уже на kaggle заведешь знакомых и объединившись получишь хорошую команду. ( Говорят в kaggle есть такая практика, что лидеры объединяют свои решения в ансамбль, чтобы получить лучший результат и тем самым выигрывают, возможно и команды так создают.) Если решишься участвовать один, но есть опасение с не пониманием, как нужно подходить к задаче, то советую почитать статьи:
    blog.graphlab.com/using-gradient-boosted-trees-to-...
    machinelearningmastery.com/master-kaggle-by-compet...

    Если в дальнейшем есть желание работать именно в аналитике хочу предложить прочесть эту статью
    jvns.ca/blog/2014/06/19/machine-learning-isnt-kagg...
    Могу сказать, что (сам я уже больше года работаю аналитиком и применяю машинное обучение) абсолютно согласен с тем, что описано в статье.
    Ответ написан
    1 комментарий
  • С чего начать изучение робототехники?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Я так понимаю с операционками, хакерством и всевозможными ЯП Вы уже закончили? )
    toster.ru/user/evgeniy8705/questions
    Ответ написан
    3 комментария
  • Есть ли какое-то интернет-общество людей занимающихся машинным обучением?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    "Тайное" сообщество любителей пораспозновать бесплатно без СМС.

    Неужто так сложно вопспользоваться гуглом?
    Ответ написан
    Комментировать
  • Каков план личностного развития C++ программиста с нуля?

    @Lol4t0
    Мой ответ касается практической части, про книжки смотрите другие ответы.
    Для того, чтобы действительно разобраться в языке, нужно писать на нем. Причем писать такой код, который поток кто-то проверит, укажет на недостатки, подскажет, как сделать лучше.

    Для этого вам можно или найти какой-нибудь курс, или поучаствовать в opensource проекте с code review, причем довести свои патчи до merge в master. С этим, правда, бывают сложности, если вы совсем начинающий, потому что никому от вас толку не будет.
    Тут есть еще один вариант, про который почему-то никто никогда не упоминает. Отвечать на вопросы. Вот так вот как вы сейчас задаете вопросы, только отвечать. Конечно, вам не пойдет ванильный тостер без дизлайков, с малым количеством вопросов и специфическим русскоязычным сообществом. Вам нужно на StackOverflow. Просто смотреть подряд вопросы, пытаться решать, постить ответы, сравнивать с теми ответами, которые пишут другие люди и делать выводы. Если вы будете писать ерунду, вас там поправят, опять же. Я в свое время довольно много таким образом узнал где-то за полгода.
    Ответ написан
    1 комментарий
  • Как востановить файлы конфигурации vim в ubuntu?

    qmax
    @qmax
    программер
    Опция dpkg --force-confmiss

    dpkg -i --force-confmiss $package_deb
    или
    apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" $package_name
    Ответ написан
    1 комментарий
  • Какая строка соответствует регулярному выражению?

    @RokkerRuslan
    Вам сюда freelansim.ru/tasks/new, лабы тут не делают.
    Ответ написан
    Комментировать
  • Как в PyCharm добавить интерпретатор ipython?

    couatl
    @couatl
    ipython - не интерпретатор, а интерактивная оболочка над ним.
    Им нельзя заменить python
    И да - он удобен для графиков и вообще это часть SciPy. Посмотрите так же в сторону ipython notebook.
    Ответ написан
    Комментировать
  • Какой самый простой Web-framework на GO?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    Самый простой идёт в стандартной библиотеке.
    golang.org/pkg/net/http
    Ответ написан
    Комментировать
  • Как программировать игры?

    @lookid
    Стоп-стоп-стоп! Давайте попорядку. А то сейчас начнется.
    Ваш вопрос не корректный. Вы задаете его так, как будто наигрались в Батлфилд 3 и хотите сделать такую же игру.
    1) Идете сюда en.wikipedia.org/wiki/Game_programmer Видите, что разных направлений разработки довольно много.
    2) Берете Mathematics for 3D Game Programming and Computer Graphics, Third Edition и 3D Math Primer for Graphics and Game Development, 2nd Edition. Если вам что-то не понятно, то ищите другеи способы вспоминания 1-2 курса универа: линейную алгебру, основы матана и прочие матрицы.
    3) Все игры уже лет 10 строятся на том, что основной единицей геимплея является RigidBody (абсолютное твердое тело). Идете сюда www.cs.cmu.edu/~baraff/pbm/pbm.html Качаете, читаете. Дальше качаете исходники какого-нибудь Box2D. https://code.google.com/p/box2d/downloads/list и www.bulletphysics.com/ftp/pub/test/physics/papers/...
    4) Ну и нетленка blog.gamedeff.com/?p=64
    Ответ написан
    Комментировать
  • Есть массив треугольников, заданных координатами вершин. Как определить номера треугольников, подобных первому?

    1. Проверять подобие по соотношениям периметра и площади -- недостаточно. Контрпример есть в комментарии @tsarevfs, теоретическое обоснование -- в комментарии @jcmvbkbc.

    2. Если треугольники заданы координатами вершин -- проще всего проверять третий признак подобия (все три стороны одного треугольника пропорциональны сторонам другого).

    3. Если координаты вершин -- небольшие целые числа, то лучше проверять пропорциональность не самих сторон, а их квадратов, причем проверять не отношения сторон, а произведения "крест-накрест".
    Чтобы сравнивать только потенциально соответственные стороны -- сортировать длины сторон (на самом деле квадраты длин) в каждом треугольнике по возрастанию.

    Например, вот так можно модифицировать исходный код:
    # квадрат расстояния между двумя точками
    def length2(a, b):
        return (a[0] - b[0])**2 + (a[1] - b[1])**2
    
    # подобны ли 2 треугольника, заданные отсортированными массивами длин сторон
    def is_sim(sample, triangle):
        if sample[0] * triangle[1] != sample[1] * triangle[0]:
            return False
        elif sample[0] * triangle[2] != sample[2] * triangle[0]:
            return False
        elif sample[1] * triangle[2] != sample[2] * triangle[1]:
            return False
        else:
            return True
    
    # преобразование массивов координат в массивы длин сторон
    def make_triangles(v):
        triangles = []
        for i in v:
            a2 = length2(i[0], i[1])
            b2 = length2(i[0], i[2])
            c2 = length2(i[1], i[2])
            triangle = [a2, b2, c2]
            triangle.sort()
            triangles.append(triangle)
        return triangles
    
    # основной код
    triangles = make_triangles(v)
    
    for i in range(1, len(triangles) ):
        if is_sim(triangles[0], triangles[i]):
            print "found similar trinangle: %s" % v[i]


    Если координаты могут быть большими и/или вещественными, то лучше вернуться к длинам и отношениям, но при сравнении в фунции is_sim полагаться не на точное равенство, а с допуском ("с эпсилонами", см. комментарии @bluesky и @tsarevfs)

    И на всякий случай: в комментариях были сомнения про зеркально-симметричные треугольники. Так вот, зеркальное отражение подобно исходному треугольнику, и порядок обхода сторон для сравнения роли не играет.
    Ответ написан
    Комментировать
  • Как можно оптимизировать скрипт Python?

    SolidlSnake
    @SolidlSnake
    Ваш дружелюбный сосед
    Согласен, явно пришли из языка аля C\C++. :)

    Цикл for можно (и нужно) использовать для обхода строк файлов:
    # Нихт-нихт, не делайте так
    f = open("bar.txt")
    s = list(f1.readlines())
    for i in  s:
       print i
    
    # Я, я, зис ис гуд
    f = open("foo.txt")
    for l in f:
        print s


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

    Вообще, для красоты кода почитайте восьмой PEP (eng/rus), замечательная штука. :)
    Ответ написан
    2 комментария
  • В чем проблема с использованием алгоритма Брезенхэма?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А в Octave рисуются отдельные точки или линии между точками? Ваша реализация алгоритма, для отрезка (0, 0) - (2,3) выводит:
    2 3
    0 0
    1 1
    1 2

    То есть, если задана отрисовка отрезков, то сначала отрезок (2, 3) - (0, 0), затем (0, 0) - (1, 1) и т.д.
    Для нормального вывода перенесите в конец программы строку
    print ("%d %d" %(x2, y2))
    Ответ написан
    5 комментариев
  • Шифрование. Надеяться ли на то, что алгоритм никому не известен?

    Защищенность информации должна основываться только на знании ключа и не зависеть от того, известен алгоритм или нет (Принцип Керкгоффса, XIX век).
    Ответ написан
    Комментировать
  • С чего начать изучение программирования?

    Поздравляем вы сто тысячный пользователь который задал этот вопрос. Вам полагается ПРИЗ!

    2027969
    Ответ написан
    3 комментария