Эта вещь уже упоминалась на хабре, но уверен, что она достойна отдельного поста. Как водиться, наткнулся на нее совершенно случайно, и теперь не понимаю, как жил без нее раньше. Итак, TiddlyWiki, прошу любить и жаловать!
Killy @Killy
User
Свободный и бесплатный софт
12 min
18KЯ знаю, подобный топик уже был, но я думаю этот будет более полным. Свобода… Зачем платить, если можно оценивать чужой энтузиазм и иногда, когда чувства переполняют, жать кнопочку Donate.
+62
Как узнать, какая музыка играет
1 min
173KВчера возникла довольно распространённая проблема: есть музыка, но неизвестно, кто исполнитель и как называется песня. Есть несколько способов решения:
Но что делать, если это музыка в видеоклипе (фильме) или музыка, записанная на старом носителе. Да и мало ли какие бывают случаи. А ведь решение есть!
Читать далее →
- Если песня играла по радио, то достаточно было запомнить радиостанцию (и то необязательно) и время. А затем надо зайти на сайт moskva.fm и найти по этим параметрам необходимую песню. Причём можно прослушать отрывок радиоэфира и убедиться, что мы нашли то, что нам необходимо. Этим способом можно воспользоваться не только в Москве, но, например, и у нас в Ярославле: очень много радиостанций, вещающих московский эфир.
- Если же это музыкальный файл на компьютере, то можно воспользоваться сервисом MusicBrainz и специальной программой MusicBrainz Tagger.
- Если же это неподписанный CD-диск, то стоит воспользоваться базой freedb.org и любой совместимой с этой базой программой (например, CDex).
Но что делать, если это музыка в видеоклипе (фильме) или музыка, записанная на старом носителе. Да и мало ли какие бывают случаи. А ведь решение есть!
Читать далее →
+70
«Как делать» vs. «Как делать»
1 min
629Мне часто приходится отвечать на вопросы друзей и подруг и со временем я заметил, что все они запоминают работу за компьютером исключительно по пиктограммам и знакомым надписям, совершенно не вникая в смысл. Ни разу мне не встречались обычные пользователи, которые бы понимали «как делать» с точки зрения логики, а не действий типа «подведите мышь туда-то».
Стоит только изменить цвет кнопочки или переместить ее, человек впадает в ступор и трезвонит системному администратору. Особенно радостно слышать нечто вроде «я сначала тыкаю мышкой на туда, а потом туда и в окошке жму окей — ничего не работает!».
Еще ни разу я не встречал логического обучения пользователей работе на компьютере.
Почему бы не учить сначала просто находить текст на экране? Скажем, обучение в виде игры. Чтобы ориентироваться в имеющейся на мониторе информации. Зачастую человек не может найти нужную фразу на мониторе, даже если ему сказать где она и какого цвета.
После этого объяснять им основы алгоритмизации — разложение задачи на более простые действия. К примеру, чтобы записать диск, надо знать что записывать, иметь чистый диск и знать, что сам он точно не запишется. И тому подобное.
То есть, давать человеку основы, а потом заставлять (или побуждать) его думать своей головой и посредством умозаключений получать необходимый результат. Также как в программировании.
Стоит только изменить цвет кнопочки или переместить ее, человек впадает в ступор и трезвонит системному администратору. Особенно радостно слышать нечто вроде «я сначала тыкаю мышкой на туда, а потом туда и в окошке жму окей — ничего не работает!».
Еще ни разу я не встречал логического обучения пользователей работе на компьютере.
Почему бы не учить сначала просто находить текст на экране? Скажем, обучение в виде игры. Чтобы ориентироваться в имеющейся на мониторе информации. Зачастую человек не может найти нужную фразу на мониторе, даже если ему сказать где она и какого цвета.
После этого объяснять им основы алгоритмизации — разложение задачи на более простые действия. К примеру, чтобы записать диск, надо знать что записывать, иметь чистый диск и знать, что сам он точно не запишется. И тому подобное.
То есть, давать человеку основы, а потом заставлять (или побуждать) его думать своей головой и посредством умозаключений получать необходимый результат. Также как в программировании.
+47
Безопасность в PHP (Обработка даных полученных от пользователей)
2 min
8.1KХочу рассказать о простых приемах, которые помогут обезопасить ваш скрипт.
Всегда проверяйте полученные данные от пользователя
Представьте себя на месте хакера, подумайте чтобы вы сделали с сайтом.
Общие положения
Всегда проверяйте полученные данные от пользователя
($_POST, $_GET, $_REQUEST, $_COOKIE, $_FILES)
, причем не только от разных инъекций, XSS и прочего, но и на корректность вводимых данных, например, если у вас интернет магазин, то проверяйте, чтобы количество товаров было не отрицательным и целым.Представьте себя на месте хакера, подумайте чтобы вы сделали с сайтом.
-2
AsyncCollections: история одного велосипеда
15 min
18KС давних времён я был большим поклонником System.Collections.Concurrent и BlockingCollection в особенности. Сколько раз это чудо инженерной мысли выручало в самых разнообразнейших ситуациях — не счесть.
С чуть менее давних времён в обиход прочно вошли async/await. Казалось бы, жизнь прекрасна, но есть одно «но»: асинхронный код миксовать с блокирующим кодом как-то не очень-то хочется. А BlockingCollection, как несложно догадаться (хотя бы из названия), в ряде случаев поток блокирует.
С чуть менее давних времён в обиход прочно вошли async/await. Казалось бы, жизнь прекрасна, но есть одно «но»: асинхронный код миксовать с блокирующим кодом как-то не очень-то хочется. А BlockingCollection, как несложно догадаться (хотя бы из названия), в ряде случаев поток блокирует.
+25
Утилиты в (статусе FREE) для расчета волнового сопротивления и не только…
3 min
42KКаждый, кто связан с проектированием устройств в печатном исполнении, сталкивается с задачей определения волнового сопротивления проводников. И конечно же для многих конфигураций проводников можно найти готовые формулы (пусть и приближенные, но все-таки) и набить их, например, в Mathcad или же воспользоваться симуляторами, способными с заданной точностью рассчитать волновое сопротивление проводников. Все это есть, но в большинстве случаев не всегда удобно. Гораздо удобнее воспользоваться уже подготовленными утилитами (калькуляторами), которые помимо вычисления волнового сопротивления могут обладать набором вспомогательных полезных функций. О некоторых таких программах я и хотел бы сегодня рассказать.
+11
sketchometry — динамическая геометрия в браузере
5 min
16KTutorial
sketchometry — это интерактивная динамическая геометрия, веб приложение, разработанное на базе библиотеки JSXGraph. Эта статья является учебным пособием по её использованию.
+34
Загрузочный HDD — Настройка автоподключения дисков в Windows To Go
5 min
27KНе так давно, чисто случайно я узнал, что Windows можно устанавливать и запускать с внешнего USB носителя. Нет, не то что бы я об этом не знал совсем — Windows PE никто не отменял. Но я не знал что существует решение прямо из «коробки» и называется Windows To Go, правда это решение внедрено только в «коробку», на которой написано Windows Enterprise.
После нехитрой установки получаем загрузоный носитель в Windows, которая обладает несущественными ограничениями. С целью безопасности, созданный таким образом, носитель в любой Windows автоматически не монтируется (ему не назначается буква), т.е. он не доступен обычному пользователю. А так же при загрузке с такого носителя не видны внутренние диски компьютера, т.к. они отключены (режим внутренних дисков «Вне сети»).
После нехитрой установки получаем загрузоный носитель в Windows, которая обладает несущественными ограничениями. С целью безопасности, созданный таким образом, носитель в любой Windows автоматически не монтируется (ему не назначается буква), т.е. он не доступен обычному пользователю. А так же при загрузке с такого носителя не видны внутренние диски компьютера, т.к. они отключены (режим внутренних дисков «Вне сети»).
+14
Задачник.NET
3 min
121KЭтот пост предназначается всем любителям платформы .NET и языка C#. Думаю, многие встречали на просторах сети разнообразные задачки на понимание тех или иных особенностей платформы или языка. Я большой любитель подобных задачек и головоломок. Они помогают глубже понять определённые области и повысить собственные программистские навыки. Однажды я решил сделать подборку подобных задачек, чтобы можно было показывать другим людям и обсуждать нюансы работы с .NET/C#. Когда задачек накопилось достаточное количество, появилась новая мысль — оформить мою подборку в виде книжки. Вашему вниманию предоставляется текущий вариант этого сочинения под названием «Задачник.NET».

Читать online
Скачать PDF-версию
Исходные коды на GitHub

Читать online
Скачать PDF-версию
Исходные коды на GitHub
+47
Команда разработчиков графического языка Processing представила официальную JavaScript-библиотеку p5.js
3 min
24KЯзык Processing, основанный на Java, был написан в 2001 году для создания графики и анимаций. Для использования этого языка в интернете в 2008 году Джон Резиг написал библиотеку Processing.js. Библиотека быстро завоевала популярность и активно развивалась в течение нескольких лет после релиза. Часы на кривых Безье, о которых на Хабре писали несколько дней назад, были созданы именно с помощью Processing.js.
В прошлом году команда разработчиков Processing объявила о планах создать собственную JavaScript-библиотеку. В августе бета-версия p5.js была представлена широкой публике. Библиотека p5.js сильно отличается от Processing.js по архитектуре. Главные отличия — отсутствие необходимости изучать язык Processing и более тесная интеграция с HTML. Processing.js — это транслятор Processing в JavaScript. Основное назначение этой библиотеки — рендеринг файлов PDE с исходным кодом Processing. При использовании этой библиотеки программист может вообще не знать JavaScript. Возможно, в 2008 году это была весьма удачная идея, но сейчас, после нескольких лет бурного развития JavaScript и появления множества графических библиотек сформировалось поколение программистов и дизайнеров, для которых JavaScript намного «роднее» и понятнее Java-подобного Processing.
Пример анимации, созданной с помощью языка Processing
В прошлом году команда разработчиков Processing объявила о планах создать собственную JavaScript-библиотеку. В августе бета-версия p5.js была представлена широкой публике. Библиотека p5.js сильно отличается от Processing.js по архитектуре. Главные отличия — отсутствие необходимости изучать язык Processing и более тесная интеграция с HTML. Processing.js — это транслятор Processing в JavaScript. Основное назначение этой библиотеки — рендеринг файлов PDE с исходным кодом Processing. При использовании этой библиотеки программист может вообще не знать JavaScript. Возможно, в 2008 году это была весьма удачная идея, но сейчас, после нескольких лет бурного развития JavaScript и появления множества графических библиотек сформировалось поколение программистов и дизайнеров, для которых JavaScript намного «роднее» и понятнее Java-подобного Processing.
Пример анимации, созданной с помощью языка Processing
+46
dd_rescue vs GNU ddrescue: зачем нужен клон, когда есть оригинал
5 min
43KВ статье Копирование разделов жёсткого диска средствами GNU/Linux: как обойтись загрузочной флешкой там, где раньше нужен был Акронис, я посоветовал для копирования потенциально испорченных дисков использовать GNU ddrescue, а не оригинал, который назвал устаревшим. Но в комментариях nerfur указал мне, что dd_rescue регулярно обновляется и умеет на лету сжимать данные для последующей передачи по ssh. Так как эта задача GNU ddrescue не под силу, слухи об устаревании dd_rescue как видно сильно преувеличены.
Понятное дело — надо немедленно выяснить, чем современный вариант dd_rescue отличается от GNU ddrescue, что умеет и, возможно, убрать рекомендацию избегать использования оригинала из статьи. А также написать новую статью — про отличия этих двух программ, чем я и занялся.
Для тех, кто хочет побыстрее узнать чем кончилось дело и не интересуется душераздирающими подробностями сразу скажу, что после изучения вопроса моё мнение не изменилось — я всё ещё рекомендую пользоваться GNU ddrescue, но теперь уже по другой, гораздо более вменяемой причине — GNU ddrescue сначала сохраняет хорошо читаемые области диска и уже потом приступает к остальным. dd_rescue этого не умеет by design.
Понятное дело — надо немедленно выяснить, чем современный вариант dd_rescue отличается от GNU ddrescue, что умеет и, возможно, убрать рекомендацию избегать использования оригинала из статьи. А также написать новую статью — про отличия этих двух программ, чем я и занялся.
Для тех, кто хочет побыстрее узнать чем кончилось дело и не интересуется душераздирающими подробностями сразу скажу, что после изучения вопроса моё мнение не изменилось — я всё ещё рекомендую пользоваться GNU ddrescue, но теперь уже по другой, гораздо более вменяемой причине — GNU ddrescue сначала сохраняет хорошо читаемые области диска и уже потом приступает к остальным. dd_rescue этого не умеет by design.
+44
Модульные аналоговые синтезаторы
11 min
120KПеребирая старые документы, нашел статью, с которой у меня началась страсть к аналоговому модульному синтезу звука. Хочу вдохновить и вас.


+62
«My way» с MS Excel
9 min
35KВ компании, где я работаю, пользователи работают с данными с помощью MS Excel. Основным хранилищем информации является БД Oracle. Отсюда требуется:
Работа с Excel, довольно сильно отличается от работы с обычным текстовым файлом. В его ячейках помимо значений могут храниться сложные формулы и данные, загруженные по ссылкам. Так же в колонке с одним типом данных могут встречаться значения других типов. В случае какой-либо ошибки в ячейке информация на листе продолжает оставаться доступной и только у этой ячейки будет статус Error. Есть и другие вещи, которые делают Excel очень гибким и уникальным продуктом для пользователя и не простым для разработчика.
- Представление отчетов из базы данных в формате Excel
- Забирать информацию в виде Excel файлов и заливать её в Oracle
Проблематика:
Работа с Excel, довольно сильно отличается от работы с обычным текстовым файлом. В его ячейках помимо значений могут храниться сложные формулы и данные, загруженные по ссылкам. Так же в колонке с одним типом данных могут встречаться значения других типов. В случае какой-либо ошибки в ячейке информация на листе продолжает оставаться доступной и только у этой ячейки будет статус Error. Есть и другие вещи, которые делают Excel очень гибким и уникальным продуктом для пользователя и не простым для разработчика.
+2
Редизайн Qt Creator своими руками
7 min
63K
Многие из тех кто занимаются разработкой на C++/Qt знакомы с такой средой как Qt Creator, создатели которой потрудились над дизайном не меньше чем над функциональностью. Но меня, как любителя темных цветовых схем и плоского минимализма, всегда не устраивали светлый фон панелек и градиентные заголовки.
Казалось бы, открытый исходный код — бери да меняй, но неопытность и лень останавливали меня, пока я не узнал про такую вещь как Qt Style Sheets, позволяющюю описать вид виджетов в формате css.
+28
Котфускация исполняемого .net кода
6 min
66K(пятница)
Обычно развернутое приложение в файловой системе выглядит как-то так:

Совершенно незащищенное от инструментов типа рефлектора или IlSpy, но что если оно станет таким:

По крайней мере легкий ступор хакеру-неофиту обеспечен. Приятно смотрится,и антивирусы не заинтересуются.
Обычно развернутое приложение в файловой системе выглядит как-то так:

Совершенно незащищенное от инструментов типа рефлектора или IlSpy, но что если оно станет таким:

По крайней мере легкий ступор хакеру-неофиту обеспечен. Приятно смотрится,
+118
Бюджетные расходники для гравера
3 min
145KНекоторое время назад я получил желанный подарок — гравер. Dremel 4000. На коробке гордо красовалась надпись «65 насадок». По факту штук 20 из них оказались дисками для резки пластика, так что разнообразие оказалось вовсе не таким, как могло показаться. Учитывая совершенно негуманную ценовую политику этого производителя и его российских дилеров, пришлось лезть в интернет. Родные насадки с учетом стоимости доставки по цене догоняли вариант «зайти в леруа и купить», к тому же ассортимент расстраивал. Поэтому пришлось смотреть в сторону Китая. Там нашлось много всего интересного.
Воодушевившись постом Meklon, решил попробовать поделиться с хабрасообществом найденными плюшками. Некоторые из них я уже опробовал, некоторые ждут свой очереди. Долго думал, делать ли ссылки на конкретные лоты на ebay. С одной стороны, наблюдал на хабре аллергию на подобные ссылки. С другой — ссылки вовсе не реферальные, я не продавец, а пост с описанием насадок, их фотографиями, но без ссылок «где купить», кажется ущербным. Примерно как «я знаю, где продается вкуснейшая настоящая колбаса, но не скажу».
Воодушевившись постом Meklon, решил попробовать поделиться с хабрасообществом найденными плюшками. Некоторые из них я уже опробовал, некоторые ждут свой очереди. Долго думал, делать ли ссылки на конкретные лоты на ebay. С одной стороны, наблюдал на хабре аллергию на подобные ссылки. С другой — ссылки вовсе не реферальные, я не продавец, а пост с описанием насадок, их фотографиями, но без ссылок «где купить», кажется ущербным. Примерно как «я знаю, где продается вкуснейшая настоящая колбаса, но не скажу».
+52
Необычные материалы в DIY. Стоматология + электроника =? Часть 1
8 min
204KНет ничего прекраснее, чем сидеть в лаборатории и гладить толстую плешивую крысу в поисках вдохновения.

Итак, сегодня у нас будет немного необычный DIY-пост. Делать руками мы ничего не будем. Arduino и прошивок в 30 строк на Brainfuck тоже не будет. Мы попробуем взглянуть на привычные вещи под необычным углом.
Все мы привыкли к классическим для этой области материалам вроде текстолита, оловянного припоя и прочих радостей любителейповыпиливать лобзиком потравить платы. В этой статье мы попробуем найти интересные альтернативы привычным техпроцессам в несколько непривычной области — стоматологии. Зубные техники и стоматологи работают с целой кучей полимеров, композитов и много с чем еще. Я не буду давать конкретных рецептов применения, а просто дам общее направление для самостоятельных экспериментов.
В сегодняшней программе:
Материалы
В следующей части:
Материалы
Оборудование и инструменты

Итак, сегодня у нас будет немного необычный DIY-пост. Делать руками мы ничего не будем. Arduino и прошивок в 30 строк на Brainfuck тоже не будет. Мы попробуем взглянуть на привычные вещи под необычным углом.
Все мы привыкли к классическим для этой области материалам вроде текстолита, оловянного припоя и прочих радостей любителей
В сегодняшней программе:
Материалы
- Силиконы. Как кремний, только интереснее.
- Супергипс. Гипсее всех гипсов.
- Пластмассы. Отличный розовый цвет.
В следующей части:
Материалы
- Фотокомпозиты. Сам себе 3D принтер.
- Ортофосфорная кислота для травления
Оборудование и инструменты
- Алмазные и твердосплавные боры
- Портативные микромоторы. Замена дремеля
- Обратные пинцеты, зонды и другая мелочь
+185
Зачем Win32-приложению манифест?
6 min
61KНедавно на руборде в разделе Программирование был задан вопрос: «Зачем Win32-приложению манифест? На что он влияет?». Первое, что сразу приходит в голову большинству программистов — это темы оформления. Но на самом деле в современных виндах манифест нужен не только для этого. Я подумал и написал пять ключевых аспектов, на которые влияет манифест или его отсутствие. После этого сразу несколько человек попросили оформить этот пост в виде более развернутой статьи.
+75
IPTV от МГТС: поиск каналов
4 min
137KWrite a paper, and give a talk, about any idea, no matter how insignificant it may seem to you.
S. P. Jones, How to write a great research paper
В Москве МГТС проводит мероприятия по замене медной проводки на оптику по технологии GPON. В результате абоненты МГТС получают возможность пользоваться не только телефонной связью, но и доступом в Интернет, а также смотреть IP-телевидение. Для просмотра программ ТВ МГТС предлагает арендовать приставку, которая и обеспечит просмотр.
Ниже я расскажу, как, используя подручные средства Debian Linux, найти каналы, доступные для просмотра без приставки.
+33
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity