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

User

Send message

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

Reading time3 min
Views7.3K
Когда мне впервые задали вопрос о том может ли существовать функция вида 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
Comments10

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

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

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

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

Reading time2 min
Views881
На просторах интернета был обнаружен маленький помощник, а именно программка, которая умеет быстро подставлять самые необходимые юникод–символы, кроме того, она может перключать раскладку, а счастливчики с клавишами 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
Comments34

Обёртка для foreach

Reading time3 min
Views3.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
Comments57

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

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

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

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

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

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

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

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

Reading time1 min
Views9.7K
Довольно часто вижу следующую картину:

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

Information

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