Pull to refresh
62
0
Даниил Хритошин @steck

User

Send message

Комбинатор неподвижной точки

Reading time 3 min
Views 7.2K
Когда мне впервые задали вопрос о том может ли существовать функция вида Func<Func<T,T>,T> без использования конструкций вида default(T) он поверг меня в глубокий когнитивный диссонанс.
Как может существовать функция у которой неоткуда взять значения? Об очевидном варианте
T Fix<T>(Func<T,T> func){
   return func(Fix(func));
}
я не мог даже подумать. Разве возможно делать такие функции? Она будет вызываться бесконечно и не даст результата. В языках типа C# такая конструкция и правда вызовет зацикливание, но вполне может работать в языках вроде питона или хаскеля. Сейчас будет немного кода на Haskell, надеюсь синтаксис будет более-менее понятен всем.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 10

WPF, Поле ввода с подсказкой

Reading time 8 min
Views 26K
Иногда бывает полезно создать эффект для поля ввода, выводящий подсказку в тот момент, когда текст отсутствует.
Например, вот такой:
Пример поля ввода с подсказкой

Это полезно в те моменты, когда надо сэкономить место, выделить особое поле или просто лишний раз дать подсказку совсем ничего не понимающим пользователям.
Сделаем, используя WPF?
Total votes 13: ↑5 and ↓8 -3
Comments 7

Lswitchp — типографический помощник

Reading time 2 min
Views 857
На просторах интернета был обнаружен маленький помощник, а именно программка, которая умеет быстро подставлять самые необходимые юникод–символы, кроме того, она может перключать раскладку, а счастливчики с клавишами F13 и F14 на клавиатуре смогут быстро разворачивать/сворачивать активные окна.

Программа очень молчаливая, и показывает своё существование только в списке процессов. Именно оттуда, при желании её и надо закрывать. Если есть желание пользоваться ей постоянно, то имеет смысл поместить в автозагрузку.

Список шоткатов:
Alt + - короткое тире –
Alt + = длинное тире ―
Alt + [ открывающая кавычка «
Alt + ] закрывающая кавычка »
Alt + . многоточие …
Alt + , буллет •
Alt + \ стрелка вверх ↑
Alt + / (numpad) неравенство ≠
Alt + * (numpad) смайл ☺
Alt + + (numpad) копирайт ©
F13 свернуть окно
F14 развернуть окно
Caps Lock переключение раскладки
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Comments 34

Обёртка для foreach

Reading time 3 min
Views 3.3K
В последнее время меня стала раздражать громоздкость кода, неповоротливые конструкции и наличие лишних строк.
Простой foreach в соответствии с codestyle превращается минимум в 4 строки текста
foreach(var element in collection)
{
  // Do something
}

* This source code was highlighted with Source Code Highlighter.
Поэтому образовалась вот такая обёртка.
Читать дальше →
Total votes 56: ↑35 and ↓21 +14
Comments 57

Безопасность на вконтакте.

Reading time 1 min
Views 573
Буквально сегодня у меня спросили, как делать многострочные статусы в одной малоизвестной социальной сети.
Спросили — надо отвечать. Ну ладно, дело нехитрое, написал простенький джаваскриптик. Все работало.
Решил поделится с менее образованными товарищами и выложил скрипт в Моих Записках.
Какое-же было удивление, что после этого скрипт отказался работать. После краткого осмотра оказалось, что все очень просто — вконтакт заменяет в слове javascript некоторые буквы русские.
Стал смотреть дальше в этом направлении. Обнаружил, что убираются буквы из слов DELETEDROP. На все, как скулевые, так и прочие извращения вконтакт не реагировал.
Вот мне просто стало интересно, что это? Такая оригинальная защита? Зачем она нужна?
Что вы думаете по этому поводу, уважаемые хабрачеловеки?
Total votes 11: ↑7 and ↓4 +3
Comments 10

Актуальная бесконечность.

Reading time 2 min
Views 3.1K
Навеяно вот этим постом.
В большинстве своем математика оперирует с понятием актуальной бесконечности, это вся аналитическая геометрия, почти весь математический анализ, алгебра полей характеристики ноль и многое многое другое.
Мы настолько к привыкли к значку , что даже не замечаем как его используем, причем не только в математике, но и в реальной жизни. Приятно считать время непрерывным, но понятие непрерывности задается через предел, который в свою очередь оперирует именно с бесконечностью.
Понятие бесконечности одно из максимально простых. Не верите?
Скажите, что вам проще воспринять — или число 1307489315878623114365278078516974?
На самом деле реальная бесконечность начинается совсем недалеко. Для примера возьмем чиселко 101010, про которое можно смело утверждать, что это реальная плюс бесконечность. Именно реальная, а не введенная на уровне абстракции.
немного простых вычислений
Total votes 16: ↑10 and ↓6 +4
Comments 81

Оптимальная клавиатура

Reading time 3 min
Views 1.9K
Раскладка QWERTY достаточно сильно прижилась не только на клавиатурах компьютерах, но и в человеческих умах. Под полноценной клавиатурой в большинстве случаев понимается именно клавиатура с QWERTY. Позволю себе процитировать кусок этой статьи:
На первых печатных машинках (в XIX веке) клавиши располагались по алфавиту. Однако, с возрастанием скорости печатанья у машинисток, начали возникать проблемы — литеры с самыми часто используемыми буквами стали западать, цепляясь друг за друга и существенно затрудняя процесс печатания.
Для решения этой проблемы Кристофер Шоулз (видимо, совместно со своим братом-математиком) в 1868 году составил новую раскладку для печатной машинки. Цель — не допустить, чтобы чаще всего используемые литеры цеплялись друг за друга — Шоулз достиг, разведя их по разным сторонам клавиатуры и разбросав по разным рядам. Таким образом, проблема застревания литер была решена.

То есть становится понятно, что для того, чтобы не происходило зацепок литеры разносились на максимальное друг от друга расстояние. Оказалось, что это чрезвычайно удобно, поскольку одна рука набирает одну букву, другая другую, задержки минимальны. Идеал?
Скорее всего да, но...
Total votes 19: ↑18 and ↓1 +17
Comments 20

Оптимизируем стол

Reading time 1 min
Views 9.6K
Довольно часто вижу следующую картину:

Обычный компьютерный стол, довольно типичный, правда достаточно чистый и аккуратный. Мой, напротив, заполнен всякими бумажками, документами, дисками, распечатками, чашкой чая и еще черт знает чем.
Самый большой недостаток — все эти мелочи занимают место на поверхности стола и получается, что занимаемое столом трехмерное пространство совершенно не соответствует его практически двумерной функциональности.
Но можно взглянуть на картинку с немного другого угла:
Читать дальше →
Total votes 102: ↑91 and ↓11 +80
Comments 275

Information

Rating
Does not participate
Location
Matosinhos, Porto, Португалия
Date of birth
Registered
Activity