С первым апреля!

Сегодня решил поздравить коллег с первым апреля. К сожалению,
Башорг такой башорг
flapenguin: Знаешь, что у моей племянницы написано в учебнике по геометрии?
flapenguin: Треугольник называется прямоугольным, если _хотя бы один_ из углов равен 90 градусам.
flapenguin: Хотя бы один бл#дь. Fuck you, Pythagoras.
На Башорге, как обычно, такие математики и профессионалы…
Турецкий язык
Мы сегодня в Анталью летим, сидим в Домодедове, ждём вылета (он будет в пять утра), регистрацию и контроль прошли. Пока ждём, я скачал
Мы с женой родились в Татарстане, а татарский и турецкий языки родственники. Хотя мы оба очень плохо знаем татарский, тем не менее,
Татарский: бер, ике, өч, дүрт, биш, алты, җиде, сигез, тугыз, ун. Турецкий: bir, iki, üç, dört, beş, altı, yedi, sekiz, dokuz, on.
Средиземное море








Вот оно какое — Средиземное море! Погода так себе, примерно +15, иногда дождь. Решили, что будем ездить на экскурсии и ходить в хамам (хамам входит в стоимость). Зато отель отличный и кормят хорошо, в любое время суток есть что поесть и всё очень качественное.
Кстати, живём мы всё же не в самой Анталье, а недалеко от Лара Сиде. До Антальи ходит 105 автобус, проезд стоит около доллара.
Татарский пригодился почти сразу, мы съездили в торговый центр «Özdilek», там и в маршрутном автобусе никто не говорил
Моя подруга Лена рассказала мне, что есть такая поговорка «счастлив тот, кто видел пять морей». Мы с женой видели Чёрное, Красное, Мёртвое, Средиземное и, если Индийский океан считается за море, то получается как раз пять.
Памуккале
Так как погода в Лара Сиде, где мы отдыхаем, нас не порадовала, то вчера, в пять утра мы уехали за несколько сотен километров, в старинный город Памуккале, часть всемирного наследия ЮНЕСКО.
Памуккале — название турецкое, в переводе означает «хлопковая крепость», по одной из версий, название было дано
Историческое название — Гиераполь («священный город» с греческого), город был построен во втором тысячилетии до нашей эры и был разрушен землетрясением в 1534.
Сейчас от города осталась куча руин, которые археологи постепенно восстанавливают. Сохранность очень хорошая, нужно только установить блоки и колонны на место. Мы посмотрели, за отведённые несколько часов, довольно много, например, осмотрели мартирий св. Филиппа, туда вообще немногие поднимаются.








Гордость исторической части Памуккале (рядом деревня с тем же названием) — амфитеатр на 15 тысяч зрителей, он исключительно хорошо сохранился, хотя, конечно, его ещё нужно реставрировать.



Одна из причин, по которой туристы едут в Памуккале (и это та же причина, почему этот старинный город вообще появился) — горячие источники, которые выходят на поверхность в этой местности, «бассейн Клеопатры». Температура — около 36°С, очень комфортная, мы купались около часа. Особенно интересно, что в одном месте источника вода насыщена огромным количеством пузырьков газа, на манер шампанского.
Вода чистая, прекрасно видно дно, глубина, преимущественно, небольшая (около 1,5 метра), но в одном месте доходит до 4,5. Забавный контраст — купаешься в источнике, наслаждаешься теплом, а на мостике округляют глаза наглухо одетые японцы, спрашивающие «is it warm?»,
А ещё минеральные соли горячего источника покрывают окрестные горы красивым белым налётом, издалека это похоже на снег. К слову, в Турции снег в горах явление частое, но нам этом месте не та высота гор. Воды из источника не хватает на всё это белое великолепие, поэтому воду пускают поочерёдно, то на одну террасу, то на другую.





Жаль, не смогли посетить музей на территории — по понедельникам он закрыт.
Пара наблюдений о турецких дорогах. Местность, где мы находимся, по природе сильно, что можно спутать, напоминает Крым, только чуть более развитый. На трассах есть две интересные вещи.
Первое — специальные трёхцветные линейки, установленные по краям дороги. По ним можно оценить толщину сугроба, завалившего дорогу (иногда это случается — на перевалах в горах бывает настолько сурово, что русские зимы центрального района нервно курят в сторонке).
Второе — большинство знаков мигают светодиодами, а перед каждым сложным участком мигает «одноглазый» жёлтый светофор, всё это мигающее хозяйство запитано от солнечных батарей, установленных над каждым знаком.
Несколько наблюдений о жизни в Турции
В Турции встречаются поделия российского автопрома. Причём,
Мне кажется, в Турции люди очень хорошо водят. Мы за всё время не видели ни одной аварии или помятой машины (что не значит, что этого тут не бывает), наш
На одном недостроенном здании заметил амулет от сглаза, знаете, такой традиционный — синий «глаз» с цветными кольцами неправильной формы внутри.
В торговом центре с удивлением рассматривал невиданное в наших краях чудо (а может

Гора Тахталы
Поехали сегодня утром подниматься на фуникулёре на гору Тахталы — это гора около города Кемер, высота над уровнем моря — 2365 метров. Канатная дорога на эту гору вторая по длине в мире.
На вершине горы, конечно, лежит снег, там кристально чистый воздух. Сколько там до Кемера? Думаю, несколько километров, а город видно отлично. Правда иногда гору заволакивает облаками, но нам повезло, мы такое увидели только когда собрались обратно.









Uptime в Windows (на Powershell)
Написал на PowerShell скромный аналог утилиты uptime из Линукса (эта утилита показывает сколько дней компьютер работает без перезагрузки):
[math]::round(((Get-Date) - ($os=gwmi Win32_OperatingSystem).ConvertToDateTime($os.lastbootuptime)).TotalDays, 2)В основном в сети предлагается запустить «net stats srv» и посмотреть строку «статистика после» («statistics since»), впрочем и вариантов на PowerShell тоже хватает. Кстати, можно сделать ещё и такой вариант:
[math]::round(((Get-Date) - (((net stats srv)[3] -split ' ')[2,3] -join ' ' | Get-Date)).TotalDays, 2)Почти LISP.
Uptime в Windows (на CMD)
Я заморочился и написал uptime на чистом CMD, раз уж на PowerShell уже до меня сделали. CMD — ужасный язык программирования!
Это я после Турции до программирования дорвался. Посмотреть что получилось.
@ECHO OFF
REM Евгений Степанищев //bolknote.ru 2011/04/09
REM Здесь CALL нельзя использовать, иначе хилый CMD не выдержит и лопнет —
REM подстановки переменных через %var% и !var! хватать перестанет
FOR /F "usebackq tokens=3" %%i ^
IN (`net stats srv ^| findstr /R "[0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]*"`) DO SET DATE0=%%i
SET YEAR0=%DATE0:~6%
SET MONTH0=%DATE0:~3,2%
SET DAY0=%DATE0:~0,2%
SET YEAR1=%DATE:~6%
SET MONTH1=%DATE:~3,2%
SET DAY1=%DATE:~0,2%
REM Избавляемся от ведущих нулей, иначе CMD будет считать
REM числа восьмеричными
IF %DAY0:~0,1% == 0 SET DAY0=%DAY0:~1%
IF %MONTH0:~0,1% == 0 SET MONTH0=%MONTH0:~1%
IF %DAY1:~0,1% == 0 SET DAY1=%DAY1:~1%
IF %MONTH1:~0,1% == 0 SET MONTH1=%MONTH1:~1%
SET /A SUM=%DAY1%-%DAY0%
SETLOCAL ENABLEDELAYEDEXPANSION
IF %YEAR1% == %YEAR0% (
SET /A END=%MONTH1%-1
FOR /L %%M IN (%MONTH0%,1,!END!) DO (
CALL :getMonthDays %%M %YEAR0%
SET /A SUM+=!DAYS!
)
) ELSE (
REM 02.2010 -> +10 months
FOR /L %%M IN (%MONTH0%,1,12) DO (
CALL :getMonthDays %%M %YEAR0%
SET /A SUM+=!DAYS!
)
REM 02.2011 -> +2 months
FOR /L %%M IN (1,1,%MONTH1%) DO (
CALL :getMonthDays %%M %YEAR0%
SET /A SUM+=!DAYS!
)
REM Full years
SET /A START=%YEAR0%+1
SET /A STOP=%YEAR1%-1
FOR /L %%Y IN (!START!,1,!STOP!) DO (
CALL :isLeapYear %%Y
IF !FEB! == 29 (
SET /A SUM+=366
) ELSE (
SET /A SUM+=365
)
)
)
ECHO %SUM%
GOTO :EOF
REM ====== Функции ==========
REM Високосный ли год?
REM isLeapYear <год>
:isLeapYear
SET /A FEB=(%1/400)*400
IF %FEB% == %1 (
SET FEB=29
GOTO :EOF
)
SET /A FEB=(%1/100)*100
IF %FEB% == %1 (
SET FEB=28
GOTO :EOF
)
SET /A FEB=(%1/4)*4
IF %FEB% == %1 (
SET FEB=29
GOTO :EOF
)
SET FEB=28
GOTO :EOF
REM Количество дней в месяце
REM getMonthDays <месяц> <год>
:getMonthDays
CALL :isLeapYear %2
IF %1 == 2 (
SET DAYS=%FEB%
GOTO :EOF
)
IF /I %1 LSS 8 (
SET DAYS=30
SET /A DAYS+="%1&1"
) ELSE (
SET DAYS=31
SET /A DAYS-="%1&1"
)
GOTO :EOF
Размер табуляции в CSS
В CSS3 есть хорошее свойство
Тем временем, свойство уже реализовано в некоторых браузерах, с собственным префиксом. Свойство первым поддержала «Опера» (с версии 10.60, именно от этой компании и было выдвинуто предложение добавить это свойство в CSS3), затем оно было реализовано в четвёртой версии FireFox. Остальные браузеры пока не подтянулись.
Вот как выглядит
body {
-o-tab-size: 4; /* размер табуляции — 4 (для Оперы 10.60+) */
-moz-tab-size: 4; /* размер табуляции — 4 (для FireFox 4+) */
-webkit-tab-size: 4; /* для будущих версий Safari и Chrome */
tab-size: 4; /* размер табуляции — 4, на будущее */
}Значение
Добавлено позднее: для WebKit уже есть патч для поддержки свойства
Windows → Mac OS X
Только не подумайте, что я сошёл с ума, но со вчерашнего дня я работаю под Mac OS X. Вчера я поменял свой Dell E4200 с Windows 7 на MacBook Air.
Причин такого перехода несколько.
Одна из основных причин следующая: вот уже много лет, переходя с версии на версию Windows, я использую FAR, я считаю, что это плохо и хочу убрать FAR из своей головы. Под Windows мне это сделать не удаётся, поэтому я предпочёл сменить операционную систему.
Вторая серьёзная причина такая: я верю в то, что мозг надо «качать», как я это делаю с мышцами, давать ему повышенную нагрузку время от времени, чтобы он не терял гибкость. Перейти разом на другую операционную систему — мне видится, достойная нагрузка.
Третья серьёзная причина: MacOS X — это
Есть ещё и масса минорных причин. Их несколько, но достойны упоминания две.
Каждый год я смотрю несколько языков и один из них изучаю. В этом году мой выбор пал на язык Go, а его не оказалось под Windows.
Вторая минорная причина: некоторые важные для меня вещи в MacOS X делаются удобнее. Например, тут есть возможность примонтировать FTP как файловую систему, в Windows ничего лучше глючного WebDrive я не вижу уже много лет.
Я уже столкнулся с тем, что
IE 10 Platform Preview 1
Microsoft уже предлагает скачать Internet Explorer 10 Platform Preview 1.
Помнится, многие рассуждали о том, что MS опять забросит свой браузер на годы. Как видите, нет, только вышел IE9, как уже можно скачать превью следующей версии.
Почему я использую «Семажик», чтобы постить в блог
Когда я писал движок своего блога (а я его именно писал, а не взял готовый, мне было интересно попробовать
Я просто реализовал протокол ЖЖ (на деле даже два — Flat и Metaweblog) и несколько лет, не зная горя, писал в блог даже с телефонов, где нет ничего, кроме J2ME.
Так что «выкинь „Семажик“ и пиши через веб» — это совет от незнания, чтобы постить через веб, нужно обеспечить такую возможность, а у меня нет времени и желания этим заниматься, мне просто не интересно.
Так что я просто потратил немного времени и нашёл себе клиент, который меня устраивает — это Phoenix. Он не такой удобный, как «Семажик», но, в целом, неплох.
Добавлено позже: не знаю как так вышло, сран… клиент, который меня устраивает, этот Phoenix удалил мне запись вместе с комментариями.
Вопрос про iPod Touch G1
Кто знает, подскажите, пожалуйста.
У подруги iPod Touch первого поколения. Когда был куплен (с рук, б/у), там стояла
Подруга, подключив его к iTunes, обновила прошивку до 1.1.5 (это последняя для этой модели). После обновления с него исчезли все приложения, а в iTunes теперь (не знаю был ли до этого или всё было поставлено через
Теперь вопрос — это ли способ, не делая джейлбрейк, ставить приложения на это устройство? Если нет, то чем сейчас модно делать джейлбрейк iPod’ов? Я уже попробовал ZiPhone, не получилось, выдаёт
Запуск сайтов из Spotlight
Занялся потихоньку автоматизацией своих задач на «Маке».
Очень хотелось сделать так, чтобы по короткому имени, набираемому в Spotlight, открывались
Я знаю, что тут много ребят сидят на Windows, поэтому поясню. Spotlight (его аналог) есть на Windows 7 — это поисковая строка, куда можно вбить начальные буквы
В Mac OS X удобно, что это поисковое поле появляется по кнопке Ctrl+Пробел.
Написать плагин к Spotlight мне пока слабо́, а вот набросать на AppleScript программу, открывающую одноимённый сайт — пожалуйста.
Идея такова: кладу на диск одну и ту же программу в нескольких копиях, с разными именами — «wiki», «jira», «calendar» и так далее. Теперь их можно запускать откуда угодно, включая Spotlight. После запуска программа смотрит какое у неё имя, прибавляет к нему префикс/суффикс и проверяет существует ли получившийся домен, если да, то открывает его в браузере.
Программу надо сохранить при помощи редактора AppleScript (AppleScript Editor) с нужным именем (↑⌘S), формат файла должен быть «программа» («application»).
Вот сама программа (наверное маску
-- Ищет по маскам хост, подставляя имя программы,
-- если найден, открывает его в браузере
-- bolknote.ru апрель 2011
tell application "System Events"
set appname to the name of the current application
end tell
repeat with mask in {"%.yandex-team.ru", "www.%.ru", "www.%.com"}
set AppleScript's text item delimiters to "%"
set mask to text items of mask
set AppleScript's text item delimiters to appname
set hostname to "" & mask
if resolve(hostname) then
open location "http://" & hostname
exit repeat
end if
end repeat
on resolve(host)
try
do shell script "host '" & host & "'"
return true
on error
return false
end try
end resolveЭто пока мой первый опыт программирования в AppleScript, так что, возможно,
Добавлено позднее: в комментариях один из читателей предложил более простой и изящный вариант. Ура!
«Эпл» не заплатила за рекламу?
В сериале «Числа» (Numb3rs), в одиннадцатой серии первого сезона, Чарли Эппс, один из главных героев, работает на «МакБуке» с заклееным бумажкой яблоком.
Кстати, в фильмах, кроме продукции «Эпл», часто встречается продукция фирмы Dell.
«Мак» для программиста
В комментариях
bolk-osx:~ bolk$ java -version 2>&1 | head -1
java version "1.6.0_24"
bolk-osx:~ bolk$ httpd -v | head -1
Server version: Apache/2.2.17 (Unix)
bolk-osx:~ bolk$ sqlite3 -version
3.6.12
bolk-osx:~ bolk$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
bolk-osx:~ bolk$ python -V
Python 2.6.1
bolk-osx:~ bolk$ perl -v | head -2 | tail -1
This is perl, v5.10.0 built for darwin-thread-multi-2level
bolk-osx:~ bolk$ bash --version | head -1
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
bolk-osx:~ bolk$ php -v | head -1
PHP 5.3.4 (cli) (built: Dec 15 2010 12:15:07)Ну и так далее.
Увеличение числа параллельных соединений браузера к одному домену из HTML
Большинство разработчиков сайтов уже знают, что число соединений к серверу у браузеров лимитированно. Старые версии браузеров используют только два соединения на сервер, более свежие побольше (например, «Опера» 11.10 — аж 16).
В общем случае алгоритм использования этих соединений достаточно сложен и отличается от браузера к браузеру (имеется ввиду будут ли параллельно загружаются стилевые таблицы, скрипты и прочее), но общее правило неизменно — больше своего лимита браузер соединений к серверу не плодит.
Между тем, это не всегда хорошо, ведь если все соединения заняты, то браузер ждёт данных по ним, не инициируя новые, даже если канал до сервера позволяет загрузить
Если сайт и канал вполне выдержат и большее количество соединений от одного пользователя (с учётом посещаемости), то есть хитрость, которую часто используют — загружать статику (картинки, файлы стилей и прочее) с других доменов. Их не обязательно располагать на других серверах, достаточно дать одному серверу несколько имён и использовать их для загрузки.
Выглядеть это может так: static1.example.org, static2.example.org и так далее. «Яндекс», к примеру, грузит свои данные с домена yandex.st. Как видите, подходит другой домен любого уровня.
Хорошо, когда есть возможность завести любое количество доменов
Ничего страшного, чаще всего у пользователя такого хостинга аж четыре домена, просто мало кто об этом подозревает. Первые два достаточно очевидны — хостер часто, кроме
Ещё два не так очевидны— это домены «example.org.» и «www.example.org.». Обратите внимание на точку в конце домена.
Мои эксперименты (проверял на сервисе BrowserShots, операционные системы Linux, Windows XP, Mac OS X) говорят о том, что браузеры умеют с ними работать, то есть картинки с URL, где имя домена кончалось на точку, грузились нормально.
Для того, чтобы проверить считают ли браузеры домены с точкой в конце и без различными, я создал небольшой скрипт, который отдаёт картинку без кеширования с секундной задержкой.
В эксперименте я выставил максимальное количество соединений к серверу в единицу («Опера» и «FireFox» позволяют это сделать, где это делается в браузерах на WebKit я не знаю, подскажите, если знаете) и создал две

На скриншоте хорошо заметен результат и видно где какой эксперимент (по колонке «Домен»). По скриншоту видно, что я использовал хорошо всем знакомый FireBug, но на Dragonfly из «Оперы» картина такая же.
Москва ✈ Казань ✈ Москва
Две ближайшие поездки в Казань:
CSS и JS в одном файле
Раз уж я затронул тему снижения числа коннектов к серверу при загрузке сайта, то было бы уместо вспомнить незаслуженно забытую технику — объединение JS и CSS в одном файле.
Насколько я знаю, первым эту технику исследовал некий ShivaP в статье «Combine CSS with JS and make it into a single download!» ещё четыре года назад.
Идея такова: в файле специальными ухищрениями помещается и код JavaScript, и код CSS, файл подключается два раза — один раз через тег SCRIPT, второй раз через тег LINK (как CSS), браузер грузит файл один раз, а второй раз берёт его уже из кеша.
Автор проверил свою идею на двух браузерах — IE и FireFox, на том и остановился.
Я проверил эту идею на гораздо бо́льшем числе браузеров (обнаружил проблемы на некоторых «Хромах» и исправил), а так же немного её видоизменил, разрешив использовать многострочный CSS без особых неудобств. Последнее нужно персонально мне, так как у меня нет возможности прогонять свой CSS через оптимизаторы и вытягивать таким образом код CSS в одну строку, а я хочу использовать эту технику у себя на сайте.
У техники есть ограничение, которое не портит много крови, но о нём необходимо знать — в тексте CSS и JS не должна встречаться конструкция «*/». Если в CSS достаточно просто выкусить все комментарии («*/» там, можно считать, нигде больше встретиться не может), то в JS за этим придётся следить, так как такая комбинация вполне может встретиться, в частности, в регулярных выражениях. Например: var regexp = /smth*/g;
В таких случаях звёздочку необходимо прятать (например, заменять её в регулярных выражениях на \x2A или разбивать строку: «smth*» + «/»).
Как ShivaP, первый исследователь этой техники, решил проблему размещения JS и CSS в одном файле можно почитать в оринальной статье, я же поступил несколько иначе, но сходным образом. Конструкции размещаются так, чтобы JS оказывался в комментариях CSS и наоборот. Я похожими вещами уже занимался неоднократно.
Мой код выглядит следующим образом (я поставил рядом две картинки, чтобы можно было сравнить как один и тот же код воспринимается интерпретатором JavaScript и парсером CSS):

Как видите, принцип довольно несложен.
Теперь несколько слов о том как это всё подключается:
<link type="text/css" rel="stylesheet" href="core.jscss" />
<script type="text/javascript" src="core.jscss#2"></script>Обратите внимание на «#2» после core.jscss, этот хак позволяет обойти странное поведение некоторых версий «Хрома» — без него браузер не делал попыток подгрузить файл ещё раз и JavaScript не выполнялся.
Немаловажно так же, что заголовок
У себя на сайте я буду использовать скрипт наподобие нижеприведённого, чтобы разом разрешить все проблемы и выставить правильные заголовки. Формат вызова простой: скрипту через запятую перечисляются файлы, которые нужно объединить и подключить (файлы берутся из папки «media», см. переменную «$dir»): /util/js+css.php?core.js,core.css,another.css,another.jsЧитать дальше
<?
ob_start();
$dir = 'media/';
$expires = 10 * 365 * 24 * 60 * 60; // 10 years
$files = explode(',', str_replace('..', '', $_SERVER['QUERY_STRING']));
$css = $js = array();
foreach ($files as $file) {
switch (pathinfo($file, PATHINFO_EXTENSION)) {
case 'css':
$css[] = $dir . $file;
break;
case 'js':
$js[] = $dir . $file;
break;
}
}
$css = @array_map('file_get_contents', array_unique($css));
$js = @array_map('file_get_contents', array_unique($js));
$css = implode($css);
$js = implode($js, ';');
// removes /* comments */ from css
$css = preg_replace('!/\*.*?\*/!s', '', $css);
// removes only first /* comment */ from js
$js = preg_replace('!^/\*.*?\*/!s', '', $js);
echo <<<JSCSS
// /*
$js
"*/{"/*"}
$css
*/
JSCSS;
$len = ob_get_length();
$txt = ob_get_clean();
$etag = '"' . sha1($etag) . '"';
header("Content-type: */*; charset=utf-8");
header("Expires: " . gmdate('D, d M Y H:i:s \G\M\T', $_SERVER['REQUEST_TIME'] + $expires));
header("Cache-control: max-age=$expires, public");
header("Content-length: " . $len);
header('ETag: ' . $etag);
if (isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
list ($hash) = explode(';', $_SERVER['HTTP_IF_NONE_MATCH']);
if ($hash == $etag) {
header('HTTP/1.1 304 Not modified, thanx for yr question');
exit;
}
}
echo $txt;
Жест «сколько времени»?
Сегодня обратил внимание, что мужчина на улице, спросив у меня сколько времени, постучал пальцем по запястью, где обычно носят часы. Я, под влиянием жеста, даже отодвинул рукав и попытался взглянуть на несуществующие часы. Часы я не ношу уже много лет, поэтому потом мне пришлось лезть в карман за сотовым.
Уже потом, когда я ответил на вопрос и пошёл дальше, я подумал — часы уже мало кто носит, а жест остался. Интересно, сколько пройдёт времени, прежде чем он превратиться в чистый символ, совершенно оторванный от ношения часов на руке?
«Крыть органами»
Узнал новое для себя выражение: «крыть о́рганами».
Как появился первый отечественный «Спектрум»
«Спектрум» (ZX Spectrum) — это компьютер, с которым связано три года моей жизни, несмотря на то, что настальгии по нему давно нет, всё равно иногда интересно узнать
Статья интересна, помимо самой истории, описанием (хоть и без деталей) как вообще клонировалась тогда такая техника. Например:
Был такой Женя,
где-то он имел контакты.Кто-то из иностранных студентов привез фирменный Спектрум сюда, в ОКБ. Этот Женя контактировал с Натоптой Евгением Евгеньевичем, который, увидев этот компьютер, попросил Женю взять его себе домой поиграться… Мы берем с работы99-й осциллограф, тащим его туда и буквально проходим по всем ножкам, зарисовываем осциллограммы этой ULA’шки. Кроме того, у нас была информация по структуре программного обеспечения: буквально был исписан один листок.Еще мы считали информацию из ROM компьютера. И начали работать. Евгений Евгеньевич Натопта занимался программным обеспечением, а я, молодой еще тогда специалист, — конкретно железом. Собственно разработкой. По осцилограммам восстанавливал схему. (…)
Это было недолго. Месяц максимум.
Первый отечественный клон появился во Львове, а «разломали» его в ОКБ Львовского Политехнического института.
Как мне на «Мак ОС»
После перехода на «Мак» многие ребята спрашивают как мне. В том числе подходят люди, которые в скором будущем хотят сменить платформу.
Последним совет: тщательно подумайте зачем вам это.
На «Маке» всё как везде: за прошедшую неделю «Мак» у меня завис наглухо (пришлось выключить и включить) три раза. Я осознаю, что у меня весьма специфическая настройка — он введён в домен (имеется ввиду виндовый домен) и я часто хожу в интернет
Бывает, что «макось» зависает некритично (не навсегда), но неприятно. У меня это чаще всего это проверка пароля администратора.
Приходится искать программы. Счастье, что у нас на работе очень много «маководов», они часто
С другой стороны, некоторые качественные программы стоят до смешного мало. Sparrow я купил, попользовавшись неделю, за $9,99.
У меня последняя модель MacBook Air (как говорят владельцы автомобилей «модель этого года»), спрашивали сильно ли она греется. Не сильно, мой Dell E4200 грелся сильнее. Ещё один важный вопрос — на сколько хватает аккумулятора. Я пока не понял, но судя по всему, это чрезвычайно сильно зависит от сценария использования. Вот сейчас со включенным WiFi и половиной яркостью экрана система мне посчитала, что аккумулятора хватит примерно на два с половиной часа.
На вопросы сколько памяти, какой процессор, какая видеокарта и прочие по «железу» я ответить не могу, просто не интересовался, для меня это совсем не важно и не знаю где это посмотреть, когда спрашивают.
Переучивание у меня прошло быстро. К основным комбинациям я привык примерно за день, остальные учу по мере надобности. Ничего в этом удивительного или сложного нет, многие играют в «World of Warcraft»
Удобно ли мне. Лично мне — удобно. Меня уже не смущает, что запуск программы из Finder это не «Enter» («Enter» это переименование), а ⌘+↓. Такого в системе много.
Я никогда не смогу привыкнуть, что программы нельзя безнаказанно убрать из Dock («панель задач» в терминах «Виндоуз»). Например, Adium (это единственный удобоваримый instant messenger) меня очень раздражает тем, что вертит спиннером при попытке соединения.
Мне много советуют программ, заменяющих стандартную функциональность Finder, Spotlight и прочего. Я пока ничего из этого пробовать не хочу (правда, я заменил «Терминал»), чтобы почувствовать систему. Пока я не прочувствовал все достоинства и недостатки, очень легко привить себе
Если у вас есть ещё
Ну не повар я
Жена утверждает, что во мне
Жена по телефону сказала, что если мне нужен был активированный уголь, то он лежит в аптечке, не обязательно было его делать своими руками и чтобы я не мучал кухонную технику, а заказал готовую пиццу на дом.
Надеюсь, теперь она верит, что мой единственный кулинарный талант — заказ готовой еды.
Точка WiFi в аэропорту «Шереметьево»
Вернулся из Казани, сишу в Шереметьеве, в терминале «Д», жду такси. Смешно — для того, чтобы попасть в бесплатную
Я попробовал в «Опере» и «FireFox», в обоих та же ошибка.
Может
CSSO
Ребята из симферопольского «Яндекса» сказали новое слово в оптимизации CSS — CSSO. Оптимизатор интересен тем, что умеет минимизировать с изменением структуры — то есть удалять перекрываемые свойства, производить слияние блоков с одинаковыми селекторами и тому подобное.
Сергей Крыжановский, который занимается программированием CSSO, в своём блоге хорошо описал отличия CSSO от YUI Compressor, CSSTidy и им подобных.
Например, CSSO умеет вот такое:
/* до CSSO */
.a {
color: red;
border: 0;
}
.b {
color: red;
}
/* после CSSO */
.a{border:0}.a,.b{color:red}Меня несказанно печалит, что оптимизатор написан на JavaScript, потому что хостинг с серверным JS найти крайне проблематично, но зато оптимизацию в действии можно попробовать прямо в браузере.
Терри Пратчетт «Я надену чёрное»
На форуме сайта «Цитадель Детей Цвета» перевели книгу Терри Пратчетта «Я надену чёрное» («I shall wear midnight»).
Скачать можно (в формате DOC, упакован ZIP) с iFolder, Zalil, Fayloobmennik, TempFile, LetitFile, DiPi и GetZilla.
«Fire in the hole»
Сейчас в сериале «4исла» («Numb3rs») фразу «fire in the hole» (букв. «огонь в дыру») перевели как «стреляй в окно». Забавно, вероятно переводчики не в курсе что это значит, поэтому перевели как смогли.
По сюжету взрывали дверь грузовика подрывным зарядом (двадцатая серия второго сезона), а «fire in the hole» означает
Происхождение фразы достаточно ясно: