Search
Write a publication
Pull to refresh
92
0
Сергей @SkyManPHP

User

Send message

50 цитат о программировании всех времён

Reading time6 min
Views164K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →

VLC Media Player 1.1.6 увидел свет

Reading time1 min
Views745
Два месяца спустя после выхода предыдущей версии VLC 1.1.5 и после ее более, чем 58-милионного скачивания состоялся минорный релиз отличного кроссплатформенного свободного мультимедиаплеера VLC 1.1.6.

Для начала хотелось бы ознакомить с маленькими нововведениями и важными исправлениями, касающихся так же и безопасности (в частности, переполнение буфера в демультиплексоре Real). Итак, что же нового в версии 1.1.6:
список багфиксов и PPA под катом

Эволюция Python-программиста

Reading time3 min
Views2.9K

Начинающий


  1. def factorial(x):
  2.     if x == 0:
  3.         return 1
  4.     else:
  5.         return x * factorial(x - 1)
  6. print factorial(6)


Программирующий уже год (Ранее изучавший Pascal)


  1. def factorial(x):
  2.     result = 1
  3.     i = 2
  4.     while i <= x:
  5.         result = result * i
  6.         i = i + 1
  7.     return result
  8. print factorial(6)

Читать дальше →

Что стоит за номером «кредитки»

Reading time1 min
Views9.4K
Прежде всего о терминологии. То, что в России часто называют кредиткой — является банковской (чаще всего) платёжной картой. Карты выпускать может не только банк. Карты могут быть не только кредитные. Вобщем, теорию вы и сами сможете найти.

А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):

Читать дальше →

Выпуск Wine 1.3.11

Reading time1 min
Views616
Wine — это свободное программное обеспечение, позволяющее пользователям UNIX-подобных систем исполнять приложения Microsoft Windows.
Что нового в версии Wine 1.3.11:
  • для перевода используются теперь PO-файлы
  • некоторые улучшения в обработке JavaScript
  • некоторые исправления отладчика Wine
  • обновления перевода
  • другие различные исправления (см. ниже).

Читать дальше →

Определение местоположения по mac адресу роутера

Reading time1 min
Views171K
image

1. Узнаем MAC–адрес WiFi роутера, через который вы выходите в интернет. (Через веб–интерфейс, дать arp–запрос «arp -a», посмотреть на обратной стороне девайса.)

2. Заходим по адресу samy.pl/mapxss

3. Вбиваем в текстовое поле MAC–адрес и жмем «Search MAC».

Как это работает?
Читать дальше →

Мошенничество с использованием пластиковых карт

Reading time3 min
Views504K
Ещё один сценарий мошенничества с использованием пластиковых банковских карт. Наиболее уязвимы карты Сбербанка, пригодные для платежей в интернете — начиная от Visa Classic и MasterCard Standard. Владельцы «зарплатных» Maestro и прочих Momentum данному приёму не подвержены.
Читать дальше →

Еще один вид СМС-мошенничества — доведение до белого каления

Reading time1 min
Views1.9K
Всплыл сегодня еще один вид смс мошенничества, основанный на социальной инженерии

Ситуация развивается по следующему сценарию:
— с некоего номера (не короткого, простого сотового номера, в случае о котором я веду речь — "+7 916 100 09 73") начинают приходить СМС;
— СМС с одним и тем-же текстом — конкретно «значение датчика объёма больше нормы». Вроде безобидный текст, наводящий на мысль что кто-то где-то ошибся и вбил номер жертвы в какой-то системе уведомления;
— Но! СМС приходит день, два, три каждые минут 10-15, что с вероятностью 100% доводит владельца телефона до белого каления

Что сделает владелец телефона в данной ситуации? Позвонит по обратному номеру или отправит туда СМС с текстом «сколько можно!», верно? Думаю да. Так вот либо после звонка на этот номер (на том конце — тишина), либо после смски в его сторону (безответной, естественно) итог — минус 500 рублей на счету!

UPD: значит так, ситуация разъяснилась, я сейчас наверно соберу всю плохую карму с форума но все же наберусь смелости сказать как есть:
Читать дальше →

Визуализация работы веб-сервера Apache — logstalgia

Reading time1 min
Views15K
image

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

Linux против Windows в школьном образовании

Reading time1 min
Views5.5K

Кстати, этот «лучший преподаватель», заявляет, что Linux не пойдет на оборудовании.
На видео видно, что школьники работают на iMac'ах. На которые установлена Windows.
Какая проблема в инсталляции Linux на iMac и почему там не оставили оригинальную MacOS — вопрос остается открытым.

Google запустил русскоязычный голосовой поиск

Reading time1 min
Views30K
Сегодня компания Google анонсировала запуск русскоязычного голосового поиска.
Поиск доступен во всех основных сервисах: основной поиск, поиск организаций, поиск картинок.
Система распознает слитную русскую речь.



«Какова длина трансиба».
Пробуем. Оставляем отзывы.

PS. Скоро Google обещает корректную работу с акцентами, а пока… — «eleven»

Восстанавливаем флешки

Reading time4 min
Views902K
Хотя со временем флешки становятся все дешевле и объемнее это не значит, что при любом сбое ее можно выбросить и приобрести другую. Хотя многие именно так и делают, даже на задумываясь о том, что ситуацию еще можно спасти. В свое время мы тряслись за каждую флоппи-дискету, почему же не поковыряться и с флешкой, чтобы дать ей вторую или даже не третью жизнь. Думаю, у многих в столе рядом с компьютером найдется какая-нибудь «мертвая» флешка-брелок, которую выбросить жалко из-за того, что она красивая или, хотя бы потому, что какое-то время назад она была полезна. Конечно, иногда флешки «умирают» раз и навсегда, но зачастую они находятся в состоянии «клинической смерти», а как известно, такое состояние обратимо.

image
Читать дальше →

Спать мало, но правильно?

Reading time7 min
Views904K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →

Скан-код: Ремаппинг клавиш на клавиатуре

Reading time3 min
Views110K

Предыстория


Всю свою жизнь был фанатом бесшумных, тонких, и красивых клавиатур и к моему удивлению обнаружил что таковых не так уж и много, из доступных в свободной продаже, — их единицы. Пришлось пользоваться «Genius SlimStar Pro», и все равно она меня угнетала, как и мысль о том, что я никогда не найду клавиатуру которая бы удовлетворяла меня на все 100%. Я такую нашел и по рекомендации товарища Boomburum, приобрел "Illuminated Keyboard", которая стала достойной подругой моей "MX Revolution", и я окончательно порвал отношения с Genius, а последние рассказы о поддержке пользователей со стороны Logitech, убедили меня, что вложенные (не малые деньги) себя оправдают за 3 гарантийных года.
image
Но есть небольшая беда в клавиатурах этой компании, — "Не стандартные, не удобные, или не нужные расположения некоторых кнопок". В случае с Illuminated, это две одинаковые кнопки "\", левая из которых пошла в ущерб клавише «LShift», Кстати на картинке вы можете заметить что раньше эти клавиатуры имели стандартный размер «LShift». Под катом, я расскажу как вернуть «стандартную длину» этой кнопки, так как в слепой печати и в силу привычки, я нажимаю именно / вместо шифта. А заодно расскажу как без дополнительного установленного ПО, на примере, вы сможете менять назначения любых клавиш ваших клавиатур (в том числе и функциональных/медийных) при помощи Реестра и Скан-кода клавиш.
Читать дальше →

IT-Украина: Осторожно, двери закрываются!

Reading time2 min
Views2.6K
Действующая власть планирует с нового года поставить вне закона фриланс в Украине, сделать рынок аутсорсинга неконкурентоспособным, и заодно поставить жирный крест на всяких там интернет-стартапах. С помощью проекта Налогового Кодекса, который задумано ввести в действие уже с января следующего года.

Планируется вывести из упрощенного режима налогообложения очень широкий список видов деятельности, в частности:
  • деятельность в сети интернет
  • внешнеэкономическую деятельность
  • рекламную деятельность
Читать дальше →

Как не надо покупать на Ebay

Reading time6 min
Views212K
В связи с обещанием открыть полноценный русскоязычный сайт EBay на хабре появились хорошие посты о том, как покупать надо, например:

Советы из личного опыта от olyapka,
Как правильно покупать от darbin.

У людей был удачный опыт покупок, и они им делятся. Я делюсь своим негативным опытом, чтобы другие пользователи поняли: сложного в покупках ничего нет, но лишняя осторожность все-таки не повредит. Всегда ведь лучше учиться на чужих ошибках, а не на своих!
Семь ошибок по порядку

Мой удобный дом

Reading time14 min
Views309K
Относительно недавно здесь был текст про домашнюю автоматику, а в комментариях один товарищ высказал идею, о которой я тоже думаю очень-очень давно. Суть в том, что автоматика должна работать так, чтобы этого, по возможности, вообще не было заметно.

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →

Пишем, собираем и запускаем HelloWorld для Android в блокноте

Reading time10 min
Views131K


Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →

Отказываемся от коллбэков: Генераторы в ECMAScript 6

Reading time6 min
Views34K
Я постоянно слышу людей, ноющих об асинхронных коллбэках в JavaScript. Держать в голове порядок исполнения в этом языке немного трудно (это тот случай, который называют «Callback Hell» или «The Pyramid of Doom»), если до этого ты имел дело с синхронным программированием. Моим обычным ответом было «тебе придется как-то с этим обходиться». В конце концов, ожидаем ли мы, что все языки программирования будут выглядеть и ощущаться одинаково? Конечно нет.

Все поменял недавний обзор черновика ECMAScript 6, в котором описываются генераторы — возможность языка, которая целиком изменит наш способ написания и серверного, и клиентского JavaScript. С помощью генераторов мы можем превратить вложенные коллбэки в похожий на синхронный код без блокирования нашей единственной event loop.
Например, этот код:
    setTimeout(function(){
        _get("/something.ajax?greeting", function(err, greeting) {
            if (err) { console.log(err); throw err; }
            _get("/else.ajax?who&greeting="+greeting, function(err, who) {
                if (err) { console.log(err); throw err; }
                console.log(greeting+" "+who);
            });
        });
    }, 1000);

может быть написан так:
    sync(function* (resume) {
        try (e) {
            yield setTimeout(resume, 1000);
            var greeting = yield _get('/something.ajax?greeting', resume)
            var who = yield _get('/else.ajax?who&greeting=' + greeting, resume)
            console.log(greeting + ' ' + who)
        }
        catch (e) {
            console.log(e);
            throw e;  
        } 
    });

Интересно, не правда ли? Централизованная обработка исключений и понятный порядок исполнения.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Registered
Activity