Pull to refresh
106
0
Kalan @Kalan

User

Send message

Ноутбук, тебе жарко?

Reading time4 min
Views10K
Рынок мобильные компьютеров не стоит на месте – размеры все уменьшаются, производительность все увеличивается, а деньги из карманов пользователей все выкачиваются. Все логично, поэтому надо принять это за должное. Сегодня хотелось бы рассказать про девайс, который способен отвести тепло от любого ноутбука, даже самого горячего.

image

Подобные девайсы стали делать многие производители. Стало интересно, попробовал ;)
Читать дальше →
Total votes 87: ↑68 and ↓19+49
Comments104

(Python) Парочка полезных декораторов

Reading time3 min
Views999
import should
  
@should.give((5,2),7)
@should.give(("aa","bbb"),"aabbb")
@should.give(([1],[2,3]), [1,2,3])
@should.give((1,1),1) # test
def add(a,b):
  return a+b
  
@should.throw((1,0), Exception)
@should.throw((5,0), ZeroDivisionError)
@should.throw((5,0), TypeError) # test
@should.throw((5,1), TypeError) # test
def div(a,b):
  return a/b



>pythonw -u "should.py"
[!] add(1, 1) should give 1, but got 2.
[!] div(5, 1) should raise TypeError, but raised nothing.
[!] div(5, 0) should raise TypeError, but raised ZeroDivisionError.
>Exit code: 0


Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments15

Наушники которые вас чувствуют. Sony Ericsson MH907

Reading time1 min
Views4K
image

Sony Ericson представила модель наушников которые, как утверждают эксперты, станут стандартом наушников в будущем.
image

под катом немножко текста и психоделическое видео от Sony Ericsson
Total votes 67: ↑51 and ↓16+35
Comments123

Создаём свой персональный OpenID

Reading time2 min
Views2.3K
В последнее время стало популярным использование OpenID. Это удобно, быстро и по-современному.
OpenID — это открытая децентрализованная система единого входа, которая позволяет использовать один логин и пароль на большом количестве сайтов. На сайтах, поддерживающих OpenID, пользователям не приходится регистрироваться и помнить данные для каждого сайта. Вместо этого им достаточно быть зарегистрированными на сайте «провайдера идентификации» OpenID (предоставляющего идентификатор). Так как технология OpenID децентрализованная, то любой сайт может использовать программное обеспечение OpenID в качестве средства входа; OpenID решает проблему не полагаясь на централизованный сайт для подтверждения подлинности пользователя. (Wikipedia)

Лично для меня некоторое время создавало трудность запомнить строку ainu.myopenid.com. Со временем я, конечно, её запомнил, но теперь везде вместо ainu.myopenid.com пишу ramainen.ru (моя страничка, её то я запомнил), и сервисы меня прекрасно понимают. Конечно, я не стал OpenID провайдером, но вспоминание и ввод моего OpenID стал гораздо проще.
как такое сделать?
Total votes 61: ↑44 and ↓17+27
Comments51

В избранном появляются дубли

Reading time1 min
Views435
В хабрахабре есть баг: создание дублей в избранном.
Есть два способа его повторить:
1) если быстро кликать на иконке «добавить в избранное», то в определенный момент браузер пошлет 2 ajax запроса на добавление в избранное;
2) открыть 2 одинаковые страницы и нажать на иконке «добавить в избранное» одной и тойже статьи в обоих окнах.

Решение:
1) на стороне клиента:
добавить задержку (setTimeOut()) в js на отправку 500 миллисекунд будет достаточно;
2) на стороне сервера:
в серверном скрипте проверять на наличие избранной статьи у пользователя.

При удалении из избранного лучше удалять все записи, сейчас удаляется какая то одна, т.к. должна быть связь один-к-одному, одна статья — одно избранное.
Total votes 19: ↑13 and ↓6+7
Comments4

Делаем сами простые часы за выходные

Reading time7 min
Views60K
Статья о том, как за выходные с нуля сделать простые электронные часы с использованием микроконтроллера. Показана только основа часов, количество программных и аппаратных фич ограничивается только вашей фантазией).

Читать дальше →
Total votes 159: ↑147 and ↓12+135
Comments80

Гуглякартим по умному

Reading time9 min
Views10K
В последнее время модно стало использовать гуглякарту.
Гугля карту суда, гугля карту туда.
И главное не забыть отобразить свои объектики на карте.
Но, почему-то, подавлявшее число сервисов используют неправильную реализацию процесса передачи маркеров с сервера на клиент.
Точнее они не правильно формируют запросы.
А если выразиться еще более точнее — они это делают
не-по-умному
Total votes 79: ↑63 and ↓16+47
Comments29

Не спать!

Reading time1 min
Views1.5K
TechCrunch пишет о популярном в Кремниевой Долине среди предпринимателей лекарстве, которое позволяет долго не спать и эффективно работать. МинОбороны тестировало его на пилотах вертолетов и те могли не спать 88 часов.

В «Founders At Work» Макс Левчин из PayPal рассказывает, что перед подписанием соглашения с их первым венчурным инвестором на 4 млн.дол. у них (как обычно) не работала система, поэтому он вообще не спал 5 (!) дней, все фиксил. А после подписания соглашения (в кафе Бакс) упал лицом в омлет и проспал до закрытия.

При этом считать, что всех этих людей гонят вперед деньги — очень большая ошибка. Их гонят вперед амбиции, упрямство, настойчивость, желание доказать, но не деньги.
Total votes 55: ↑50 and ↓5+45
Comments102

Поиск — это просто

Reading time3 min
Views3.6K
Google, конечно, ищет хорошо, но корпоративные ресурсы вывешивать на открытый доступ нельзя, покупать google-mini с его ограничениями тоже не вариант. А поиск по базе внушительных размеров(4 гигабайта текстов, по которым и необходим поиск) надо. А если добаить к поиску по тексту еще и поиск по каким-то параметрам, то тут и google-mini не поможет и совсем страшно становится.

Но не стоит паниковать! На помощь нам приходит Sphinx — поисковый движок с открытым исходным кодом, который можно прикрутить практически к чему угодно не прилагая особых усилий

Читать дальше →
Total votes 93: ↑90 and ↓3+87
Comments124

Вредные советы: как писать в техподдержку

Reading time1 min
Views2.1K
Сообщая об ошибке
Помните, что в техподдержке
Все сотрудники владеют
Телепатией на «пять»
Им подробности ошибки
Знать не надо совершенно
Пусть там сами угадают
Что у вас произошло
Читать дальше →
Total votes 130: ↑115 and ↓15+100
Comments76

Фотошопим на PHP

Reading time2 min
Views4K
Уменьшаем изображение разными библиотеками и сравниваем результат Для многих задач автоматической обработки фотографий не подходит качество и функционал библиотеки GD. Поскольку возможности обратиться к Photoshop из PHP или Perl пока не существует, решаем проблему с помощью ImageMagick.

Речь пойдет о PHP инрефейсе к ImageMagick MagickWand, который в репозитарии Fedora называется php-magickwand. Хочу обратить Ваше внимание, что MagickWand API отличается от классического ImageMagick тем что позволяет работать как с элементами растровой графики, так и с элементами векторной графики.

Для php есть еще одна реализация интерфейса к ImageMagick, которая называется IMagick, но функционал этой библиотеки, на мой взгляд, уступет MagickWand.


В первой статье рассмотрим на примерах несколько типичных задач по обработке изображений и сравним результаты с php-gd.



Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments31

Проснуться правильно

Reading time1 min
Views30K
Замечали ли вы, что иногда, поспав всего 5-6 часов, можно проснуться бодрым и отдохнувшим, а порой встаешь после здорового восьмичасового сна — и как будто выжатый лимон? А причина такого парадокса — в фазах сна: то, в какой фазе мы находились в момент пробуждения, и определяет наше состояние с утра.

Ведь, как известно, сон — циклический процесс, состоящий из 2 основных фаз: быстрого сна и медленного сна. В течение каждого такого цикла мы испытываем различные уровни готовности проснуться. Лучше всего просыпаться в стадии быстрого сна — той, в течении которой мы видим сны.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments180

Один крутой Gist: whiteboardCleaner

Reading time1 min
Views30K
Доброго времени суток уважаемые хабравчане. На просторах интернета мне повстречался один миниатюрный и очень интересный Bash скрипт. С помощью ImageMagick он потрясающим образом обрабатывает фотографии белой учебной доски, очищая «содержимое» от всего лишнего:

#!/bin/bash
convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2


До:


image

После:


image
Читать дальше →
Total votes 137: ↑122 and ↓15+107
Comments42

Опыт обучения школьников программированию

Reading time13 min
Views145K
Примерно полтора года назад компания, в которой я работал, приняла решение начать образовательный проект: готовить будущих программистов со студенческой и даже школьной скамьи. Решение было вызвано как нехваткой квалифицированных программистов в нашем регионе, так и тем, что приходящих выпускников приходится очень многому доучивать – получаемое в вузе образование не полностью отвечает современным реалиям индустрии разработки ПО. Проект взаимовыгодный как для студентов, которые получают возможность познакомиться с промышленным программированием на практике, так и для компании, которая получит через несколько лет квалифицированных специалистов.

Но еще интереснее оказалась часть проекта, ориентированная на работу со школьниками. Я принимаю непосредственное участие именно в этой части, поэтому хочу рассказать о ней.
Читать дальше
Total votes 106: ↑99 and ↓7+92
Comments164

Вы опасно некомпетентны в криптографии

Reading time7 min
Views141K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

Читать дальше →
Total votes 181: ↑168 and ↓13+155
Comments143

Управление картинками и другим бинарным содержимым вашего веб-проекта

Reading time4 min
Views12K
image
Мы, в компании XIAG, в разных проектах постоянно решаем одну и ту же задачу: как хранить и показывать бинарные пользовательские данные. Это могут быть логотипы компаний, PDF файлы с описанием вакансий или приветственное видео. Причем это содержание нужно показывать на страницах сайта самым разнообразным способом: лого должно быть нужного размера, PDF — в виде маленькой превью-картинки, а из видео нужно показать пару стоп-кадров.

Уверен, такая задача знакома всем веб-разработчикам. В этой статье мы хотим поделиться нашим решением проблемы, опубликованным под открытой лицензией на ГитХабе.

Познакомьтесь с веб-сервисом Barberry (https://github.com/Magomogo/Barberry), который мы успешно используем уже около года. Суть сервиса в том, что он хранит оригиналы загруженных документов и способен по-разному отдавать их, конвертируя на лету.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments33

Весёлые (сосисочные) рефакторинги

Reading time2 min
Views72K


Привет, %habrausername%. Я хочу сыграть с тобой в игру.

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

От предыдущего разработчика осталась кучка кода и домашние тапочки. Ты осторожно кладёшь тапочки в мусорную корзину и начинаешь рефакторинг.

Этот код ужасен. Во-первых, нет никого, кто мог бы сказать, зачем этот код писался. Во-вторых, нет никакой документации. Нет даже комментариев, не говоря уже о юнит-тестах. В-третьих, код не структурирован, а имена классов и методов ни о чём не говорят. И, наконец, работать это должно начать не сегодня, и даже не вчера, а внезапно.
Ну как, %habrausername%, пробежал холодок по спине?
Читать дальше →
Total votes 159: ↑144 and ↓15+129
Comments174

Построение системы оптического распознавания структурной информации на примере Imago OCR

Reading time19 min
Views37K
В настоящей заметке я расскажу о том, как можно построить систему оптического распознавания структурной информации, опираясь на алгоритмы, применяющиеся в обработке изображений и их реализации в рамках библиотеки OpenCV. За описанием системы стоит активно развивающийся open source проект Imago OCR, который может быть непосредственно полезен в распознавании химических структур, однако в заметке я не буду говорить о химии, а затрону более общие вопросы, решение которых поможет в распознавании структурированной информации различного рода, например таблицы или графики.
Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments5

История одной компьютерной войны

Reading time4 min
Views51K
Данная заметка — сокращенный пересказ почти 10-летнего эпоса о находчивости и предательстве, изобретательности и хитрости, происходящих от человеческой лени. Началось все с того, что на неком айтишном факультете некого университета запустили для контроля знаний учащихся по одному из семестровых курсов систему дистанционного обучения. Дальнейшая борьба представляла из собой пошаговую стратегию с фазами в семестр, причем со стороны студентов каждый раз были новые люди со свежими идеями.

Читать дальше →
Total votes 197: ↑184 and ↓13+171
Comments123

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity