debugger-aware code

Вот вы думаете зачем все используют сеттеры-геттеры, хотя казалось бы можно было и без них? А чтобы брейкпоинты ставить легче было.

И вообще очень много где этот аргумент выдвигают.

HOWTO: find static symbol for use in VS2010 debugger

Например, чтобы поставить breakpoint на функцию при отсутствии исходников или посмотреть переменную.

— найти на диске C:\Program Files (x86)\Microsoft Visual Studio 10.0\DIA SDK\Samples\DIA2Dump
— собрать его
— запустить следующую команду: dia2dump bla-bla.pdb -s бла-бла.pdb | less
— найти свой символ, он должен выглядеть примерно так:
Function : static, [xxxx][0001:xxxx], len = yyy, public: virtual тип класс::имя(типы)
— посмотреть в modules регион, куда загружена длл
— открыть окно дизассемблера.
— ввести в адрес N + M, где N — это начало региона из дредыдущего пункта, M — xxxx из дампа.
— профит

Литература: http://msdn.microsoft.com/en-us/library/x93ctkx8%28v=vs.100%29.aspx

PS: Для глобального надо делать то же самое, но для dll есть готовая утилита, dumpbin /export. Нет, написать имя не получится: скажет "не могу найти символ"

(no subject)

А вообще в этих курсах по быдлотехнологиям как-то много внимания уделяют базам и таблицам, и связыванием их друг с другом. Мне казалось, что времена когда в каждом ларьке писали свою программу складского учёта, несколько прошли, и уже существуют какие-то специализированные решения на этот счёт, а программисты занимаются более осмысленными задачами. Или мне только казалось?

вебдвасполовиной пыщьпыщь

Письмо из кружка ребёнка:


Забота о мобильных пользователях в полный рост. Раметка без фиксированной ширины? Как можно, от этого же типографика пострадает. Надо учиться жить с современными технологиями! Everything at once!

PS: Стоит ли говорить что никакая information in English не follows?

No cleartype

Оказывается, чтобы убрать долбаное мыло, надо... отключить cleartype:





К сожалению, misc-fixed в студии мне заставить работать всё равно не удалось, ну хоть курьер пошёл. Надо посмотреть на работе.

UP: В общем, некоторые шрифты (по случайности они используются в Windows Classic) выглядят без ClearType хорошо, какие-то (которые используются в Aero) - очень плохо, а ClearType их приводит к какому-то одному виду на троечку. Настроить их можно, но к сожалению это работает не везде.

firefox vs bing.com

UP: видимо, оно всегда так было, просто бинг не использует хттпс. Но как-то неаккуратненько.

bing.com uses an invalid security certificate.

The certificate is only valid for the following names:
  ieonline.microsoft.com , *.bing.com , *.windowssearch.com  

(Error code: ssl_error_bad_cert_domain)

www.bing.com uses an invalid security certificate.

The certificate is only valid for the following names:
  a248.e.akamai.net , *.akamaihd.net , *.akamaihd-staging.net  

(Error code: ssl_error_bad_cert_domain)


Бобик сдох?

gitk: more aggressive space ignoring

У меня внезапно образовалась необходимость смотреть диффы, в которых полезные изменения перемешаны с поправленным оформлением (переносами, отступами и тп). diff -w не осиливает игнорировать все из них.

Поскольку разбираться с алгоритмом diff мне не совсем хотелось, а пересобирать потом git под Windows мне не хотелось совсем, я решил ограничиться грязным хаком и пропустить через фильтр уже готовый дифф, перепроверив для каждого ханка, что он содержит значимые изменения. После какого-то числа попыток я понял что всунуть в пайп перловый скрипт не получится (Windows, да), поэтому пришлось сделать это прямо в gitk:

https://gist.github.com/max630/5427780

Разбито на 3 патча потому что первый - это вполне прямолинейный рефакторинг, который, однако, может сконфликтовать с какой-нибудь не той версией, а остальные 2 - это уже новый код. Зачем их 2, я уже не помню.

Это грязно не только по идее, но и по исполнению, так что я даже не буду пытаться предлагать это в апстрим, но если кому покажется интересным - пользуйтесь.

про https сертификаты

Некоторое время назад я поставил расширение к ff Certificat Patrol. Что могу сказать:

* он в целом несколько неправильный. По идее, он должен проходить все подтверждения при соединении, до отправки запроса. Вместо этого он в любом случае скачивает страницу, а параллельно уже извещает о замене сертфиката. То есть если отправлю пароль в прокладку, то он мне сможет только сообщить об этом после. Ну это можно исправить.
* многие сайты занимаются какими-то страннымивещами со свойми сертификатами. Гугль постоянно перевыпускает сертификать, которым до истечения ещё жить да жить. Твиттер и вовсе меняет ЦА каждый день. Подозреваю, он переключает днс с хоста на хост, и на разных хостах не просто разные сертификаты, а ещё и подписанные разными ЦА.
* во многих местах https вообще нахер не нужен. В том же твиттере — я им не пользуюсь, а только смотрю картинки, на которые кто-то сослалася. Да и в гугле он мне нужен только для почты и ввода пароля. Подозреваю, каждому человеку достаточно порядка десятка сайтов, соединение к которым действительно надо защищать. Все остальные просто парят мозг за просто так, включая ложные сообщения об ошибках как выше.