В пятницу, 16 ноября на сайте Republican Study Committee — организации, объединяющей более 170 членов палаты представителей США от республиканской партии, появился интереснейший документ. Под этим 9-страничным докладом не постеснялись бы подписаться многие активисты пиратских партий по всему миру. Не прошло и суток, как этот доклад убрали с сайта под предлогом того, что он не прошёл всех согласований и вообще не соответствует стандартам RSC. Что же было в этом, столь поспешно спрятанном документе?
Viacheslav Lotsmanov @unclechu
Haskell enthusiast
Офис компании Boomburum
19 мин
411KОсторожно, трафик! Но можно хотя бы посмотреть картинки )
Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
+512
The Scene — настоящий андеграунд Интернета
8 мин
33KВсе мы привыкли считать, что в Интернете найти можно все. «Где бы почитать новости? — Зайди на lenta.ru», «Где достать программу для распознавания текста? — А-а, тебе нужен Finereader, слей из инета», «Где бы достать свежий фильм? — Зарегистрируйся в торрентах и качай». Пребывая в гуще сети никто из нас уже не задумывается над тем, откуда все это берется. В самом деле, почему свежевышедшая игра уже доступна в интернете и работает без установочного диска, хотя разработчики защитили свой продукт последней версией StarForce? Каким образом на горбушке продают DVD, если фильм только сегодня выходит в США? Все это покрыто тайной для обычного обывателя, а в СМИ общеупотребимым стало абстрактное слово «пиратство».
+158
Редактор кода с подсветкой синтаксиса популярных языков — Touchqode
2 мин
35KУ меня, как у web-программиста, иногда возникает острая необходимость внести какие-то изменения в код сайта, когда под рукой нет компьютера/ноутбука. Сейчас на Android написано несколько хороших FTP и SSH клиентов, которые позволяют без проблем работать с удалённым сервером до того момента, пока не требуется редактирование кода. С существующими текстовыми редакторами это ужасно неблагодарное занятие, учитывая что никакого намёка на ориентированность на программистов у этих программ нет. Но на днях я узнал про Touchqode, который успел меня уже один раз выручить.
+45
Мир лицензий: Часто задаваемые вопросы про лицензии GNU GPL
5 мин
17KПеревод
Недавно я написал статью под названием Мир лицензий: разбираемся с GNU GPL, в которой постарался осветить мир gpl-лицензий, историю и различия в версиях. Статья вызвала большой резонанс, возникло много вопросов, споров. Чтобы немного прояснить ситуацию с GPL, я решил перевести часть официального GPL FAQ. В нем затрагиваются многие вопросы и разъясняются некоторые позиции лицензии. Надеюсь, данный перевод несколько прояснит ситуацию с GPL.
В дальнейшем я продолжу цикл публикаций про лицензии описанием BSD, Apache, MIT и других свободных и не очень лицензий. Кроме того, постараюсь затронуть вопрос лицензий в нашей стране. А пока, предлагаю почитать данный перевод.
В дальнейшем я продолжу цикл публикаций про лицензии описанием BSD, Apache, MIT и других свободных и не очень лицензий. Кроме того, постараюсь затронуть вопрос лицензий в нашей стране. А пока, предлагаю почитать данный перевод.
+51
Что делать, если вам надоели рекламные СМС
3 мин
297KВ продолжение статей о том, что ФАС собирает дополнительную информацию о «коротких» номерах, хочу рассказать, как эта служба может помочь вам избавиться от нежелательной рекламы по СМС.
Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.
Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.
Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
+196
Мужик заказал на Амазоне телевизор, а ему принесли винтовку
1 мин
13KВашингтон, округ Колумбия. У двери человека оказывается коробка. Он радостно тащит ее домой и распаковывает, надеясь увидеть новенький телевизор, который он, собственно, и заказывал на Amazon.
+68
В суд за «Like»
2 мин
31KПреследование российских граждан прокуратурою за их мнения, выраженные в Сети, до сих пор касалося блогозаписей, комментариев, в крайнем случае — микроблогозаписей. Иными словами, требовалось хотя бы то одно, чтобы гражданин выразил своё мнение словесно, а не жестом. Ещё никого, кажется, не судили только за то, что он один раз жмякнул мышóю по кнопке «Like», выразив одобрение или интерес к чему-то такому, что вызывает крайнее неодобрение у властей.
Летом 2012 года, однако же, даже этот простой жест решили в отдельных случаях признать противозаконным.
В позавчерашнем сообщенииИА «Тема Казань» нетрудно прочесть о том, что Прокуратура Татарстана предъявила заместителю руководителя республиканского отделения партии «Российский общенародный союз» (РОС) Витольду Филиппову обвинение в том, что он нажал на кнопку «Like» у кадра из штатовского кинофильма «American History X» — а значит, распространял-де нацистскую символику. (Один из персонажей фильма татуирован изображением свастики.)
Летом 2012 года, однако же, даже этот простой жест решили в отдельных случаях признать противозаконным.
В позавчерашнем сообщении
+142
Flexitabs 1.1 — простой и гибкий скрипт для вкладок на jQuery
8 мин
908Скрипт на jQuery, обеспечивающий базовую функциональность табов, мало весящий и очень гибкий. Также скрипт не должен содержать никакого представления (оформления) и DOM должен быть валиден, т.е. никаких выдуманных аттрибутов в DOM.
+2
+24
HTML5 File API: множественная загрузка файлов на сервер
7 мин
87KКогда передо мной в очередной раз встала задача об одновременной загрузке нескольких файлов на сервер (без перезагрузки страницы, само собой), я стал блуждать по интернетам в поисках довольно корявого jQuery-плагина, который позволяет имитировать ajax-загрузку файла (того самого плагина, который со скрытым фрэймом: от java- и flash- плагинов сразу было решено отказаться). В процессе поиска я вспомнил, что в грядущем стандарте html 5 возможности по работе с файлами должны быть существенно расширены, и часть этих возможностей доступна уже сейчас. В итоге было решено опробовать их в действии.
Рассматривать возможности File API будем на примере одновременной загрузки нескольких картинок на сервер. В конце статьи приводится готовое решение, оформленное в виде jQuery-плагина.
Рассматривать возможности File API будем на примере одновременной загрузки нескольких картинок на сервер. В конце статьи приводится готовое решение, оформленное в виде jQuery-плагина.
+97
Vim и переключение раскладки клавиатуры
2 мин
26K Все команды Vim нужно вводить на английском языке. Если основной текст вводится на каком-либо другом языке, то это представляет из себя проблему, т.к. нужно часто переключать раскладку. Одно из решений представлено тут, однако оно заставляет привыкать к новой горячей клавише для переключения раскладки. Так же существует множество платформенно-зависимых решений с вызовом тех или иных утилит. Целью плагина vim-xkbswitch является предоставить единое поведение для многих операционных систем и языков.
+22
Использование V8
9 мин
28KV8 — это движок JavaScript от Google, который используется в браузере Chrome. Он быстрый и доступен в исходных кодах (С++) для Linux (точнее для gcc) и под Windows.
В свете роста популярности использования V8 я решил поделиться своим (годичным) опытом его использования на платформе Windows в качестве серверного скриптового движка.
Часть 1. Введение и простейшая программа, использующая V8.
В свете роста популярности использования V8 я решил поделиться своим (годичным) опытом его использования на платформе Windows в качестве серверного скриптового движка.
Часть 1. Введение и простейшая программа, использующая V8.
+35
Используем jQuery в скриптах GreaseMonkey
3 мин
15KЯ хочу рассказать об удобных и неоправданно редко использующихся новшествах GreaseMonkey версии 0.8, которая доступна уже более года. Они помогут сделать пользовательские скрипты более модульными, а главное — дадут возможность без ухищрений использовать jQuery, что позволит нам «писать меньше, а делать больше». Речь идет о новых мета-параметрах пользовательских скриптов: @resource и @require.
+34
Linux :: два, три, пять… указателей мыши
3 мин
66KНе знаю зачем мне это пригодится, но очень вдруг захотелось иметь два указателя мыши в Linux, ведь две «мыши» у меня есть — собственно беспроводная мышь и тач-пад. Идея пришла в тот момент, когда я подключил вторую мышь, т.е. третье устройство управления указателем.
+128
Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами
3 мин
292KДолгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
+77
Functional thinking: Thinking functionally, Часть 1
12 мин
15KПеревод
Давайте на мгновение представим, что Вы — дровосек. И благодаря своему лучшему топору в округе, вы являетесь самым продуктивным дровосеком в лагере. Но однажды появляется некто, начинающий расхваливать достоинства новой парадигмы в рубке леса — бензопилы. В силу убедительности продавца, Вы покупаете бензопилу, но не знаете как она работает. Прилагая неимоверные усилия, пробуете вырвать или раскачать дерево, применяя на практике свою новую парадигму. И быстренько делая вывод, что эта самая новомодная бензопила — ерунда, возвращаетесь к привычному делу — рубить лес топором. А затем кто-то приходит и показывает как заводить бензопилу.
Эта история может показаться Вам знакомой, поставив функциональное программирование на место бензопилы. Проблема в совершенно новой парадигме программирования — не изучение нового языка. Более того, синтакс языка — это всего лишь детали. Вся тонкость же — научиться мыслить иначе. Это то, почему я оказался тут — заводящий бензопилы и “функциональный” программист.
Итак, добро пожаловать в Functional thinking. Эта серия исследует предмет функционального программирования, но не несет исключительной направленности описать функциональные языки. Как я покажу дальше, написание кода в функциональном стиле касается дизайна, компромиссов, разных повторно используемых кусков кода и служит основой для иных догадок. Насколько это окажется возможным, я попытаюсь показать концепции функционального программирования в Java (или близких к Java языках) и перейду к другим языкам, чтобы осветить возможности, отсутствующие на данный момент в Java. Я не полезу сразу в дебри, рассказывая о довольно необычных вещах, таких как монады (monads). Напротив, я постепенно проведу Вас через новый путь мышления.
Эта и пара следующих частей выступят в роли быстрой экскурсии по предметам, связанным с функциональным программированием, включая базовые концепции. Некоторые из этих концепций в дальнейшем будут рассмотрены более детально в то время, как я буду постепенно расширять контекст применения на протяжении всей серии. В качестве отправной точки нашей экскурсии я покажу Вам две разные реализации решения задачи. Одна написана в императивном стиле и другая — с некоторыми функциональными особенностями.
Эта история может показаться Вам знакомой, поставив функциональное программирование на место бензопилы. Проблема в совершенно новой парадигме программирования — не изучение нового языка. Более того, синтакс языка — это всего лишь детали. Вся тонкость же — научиться мыслить иначе. Это то, почему я оказался тут — заводящий бензопилы и “функциональный” программист.
Итак, добро пожаловать в Functional thinking. Эта серия исследует предмет функционального программирования, но не несет исключительной направленности описать функциональные языки. Как я покажу дальше, написание кода в функциональном стиле касается дизайна, компромиссов, разных повторно используемых кусков кода и служит основой для иных догадок. Насколько это окажется возможным, я попытаюсь показать концепции функционального программирования в Java (или близких к Java языках) и перейду к другим языкам, чтобы осветить возможности, отсутствующие на данный момент в Java. Я не полезу сразу в дебри, рассказывая о довольно необычных вещах, таких как монады (monads). Напротив, я постепенно проведу Вас через новый путь мышления.
Эта и пара следующих частей выступят в роли быстрой экскурсии по предметам, связанным с функциональным программированием, включая базовые концепции. Некоторые из этих концепций в дальнейшем будут рассмотрены более детально в то время, как я буду постепенно расширять контекст применения на протяжении всей серии. В качестве отправной точки нашей экскурсии я покажу Вам две разные реализации решения задачи. Одна написана в императивном стиле и другая — с некоторыми функциональными особенностями.
+58
Как вернуть качественный звук в Windows 7, 10, 11 — побитовый вывод, аппаратные эффекты (EAX и пр.)
5 мин
275KХочу поділитися досвідом по темі звуку в Windows 7.
Насправді все не так погано, як спочатку здається, і я вам зараз це продемонструю.
Насправді все не так погано, як спочатку здається, і я вам зараз це продемонструю.
+210
Вкладки
2 мин
33KОткрываем
Открыть вкладку можно тремя разными способами, самый простой и интуитивный
:tabnew
в нормальном режиме, он откроет новую вкладку с пустым буфером. Можно сразу открыть вкладку с файлом, передав его имя как параметр:tabnew futuri.co
Вкладки можно также открыть сразу после запуска, если добавить ключ
-p
перед списком имен файлов — для каждого откроется своя вкладка.vim -p habra.sh habr.py
+46
Intel/AMD Switchable graphics [Ubuntu 12.04 — 12.10]
2 мин
32KRecovery Mode
Доброго времени суток!
Наконец-то получилось добиться адекватно работающей т. н. «Гибридной графики» на Ubuntu 12.04 LTS (справедливо и для 12.10, также наверняка по этому «мануалу» будет работать и для других Debian-based систем)
В сети есть решения, но честно говоря ни одно из них мне не помогло, сколько я не пробовал.
Например, есть мануал годовой давности от Alexislavie на «Ubuntu Forums» — честно говоря этот способ «убивал» систему 3 раза подряд. Скорее всего проблема в обновлении xorg предложенное там. Да и драйвер там приведен на данный момент весьма старый. Хотя эта инструкция и наиболее близка к правде. Собственно описанный мною способ буквально немного отличается :-) Но работает.
Наконец-то получилось добиться адекватно работающей т. н. «Гибридной графики» на Ubuntu 12.04 LTS (справедливо и для 12.10, также наверняка по этому «мануалу» будет работать и для других Debian-based систем)
В сети есть решения, но честно говоря ни одно из них мне не помогло, сколько я не пробовал.
Например, есть мануал годовой давности от Alexislavie на «Ubuntu Forums» — честно говоря этот способ «убивал» систему 3 раза подряд. Скорее всего проблема в обновлении xorg предложенное там. Да и драйвер там приведен на данный момент весьма старый. Хотя эта инструкция и наиболее близка к правде. Собственно описанный мною способ буквально немного отличается :-) Но работает.
+23
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность