Категория: Компьютеры

Заметки о программировании и на околокомпьютерные темы

Вложенные категории: Delphi, Игры

Installing Delphi VersionInsight Plus

Since Delphi XE, Delphi has SVN support integrated into file history display. SVN revisions are displayed in addition to local backups, all properly sorted by date. Very nice.

Mercurial and Git support wasn't added into the default distribution, but there's a newer version of VersionInsight plugin with fully functioning support for those, written by Delphi developers. Meet RAD Studio Version Insight Plus.

To use this you need to compile it. It's simple, but mind these fine points:

  • There are several branches in the repo, you need the /plus one. Not the trunk.
  • Delphi less than XE will not compile those, no simple solution.
  • You need to compile five packages: svn, svnui, svnide (already grouped into DelphiSVN) + hgide and gitide.
  • Delphi already includes pre-compiled svn, svnui and svnide. You need to remove those from "Component> Install packages" list. (And restart)
  • The ones from SVN are marked ver_150, and the ones with Delphi ver_170, but the ones from SVN are newer (I think).
  • When compiling the packages, Delphi might try to trip you up and use existing packages it cached somewhere instead of the sources right in front of it.
    To be on a safe side, do dir c:\svn*.bpl /s, dir c:\svn*.dcp /s, dir c:\svn*.dcu /s, and remove everything related to VersionInsight plus. (Some matches are going to be in the cached Delphi install distributions, these are fine).
    Particularly, svn*.dcp in Program Files\Embarcadero\Delphi\DelphiVersion\lib\Win32\debug or \release are known to silently cause problems such as svnui.bpl complaining that TSvnBlameOptions is not defined even though it's defined right there in SvnClient.pas.

Otherwise packages compile just fine, have no dependencies and produce almost no warnings.

After compiling the packages, install the last three (svnide, hgide and gitide). Restart the Delphi.

The SVN support will start working straight away (it should have been working before too). For Git and Mercurial you need to go to Tools> Options> Version Control, and set paths to git.exe and hg.exe executables in the respective sections.

Организация личных данных

Ну вот, гугл закрывает XMPP. Я давно собирался написать пост об организации личных данных. Как защитить себя от таких внезапных закрытий и отключений? Ведь каждое – это потерянные контакты знакомых, логи разговоров (история!), сохранённые ссылки и записи.

Предложений семь:

1. Использовать только открытые протоколы.Использовать только открытые протоколы. Например, джаббер лучше ICQ, т.к. он – распределённая сеть, состоящая из разных серверов. Если аська однажды закроется, пропадут все контакты вообще, а если закроется jabber.ru, я просто перейду на другой сервер. По крайней мере, контакты моих друзей останутся прежними.

2. Использовать только ПО, которое хранит файлы на вашем компьютере.

Использовать только ПО, которое хранит файлы на вашем компьютере. Не обязательно на домашнем – речь и о серверах. Например, любой блог-сервис рано или поздно испортится или будет закрыт, и сможете ли вы скопировать свои записи? А выложить их куда-нибудь? Если же вы установили собственный WordPress, то все ваши записи у вас в базе данных. Можете делать с ними что хотите.

Поэтому же Mercurial или Git лучше SVN. Если сервер СВН закрылся, у вас на компьютере осталась только последняя версия файлов. Вся история утеряна. А меркуриал и гит хранят полную копию репозитория, и в два клика можно свить себе новое гнездо на другом сервере.

3. Скачивать всё.

Скачивать всё. Сколько раз бывало, что ваш любимый ролик на ютюбе забанили правообладатели? Удалили по неведомым причинам? Увы, вещи в интернете не вечны. Понятно, что можно прожить без той офигительной картинки с понями, но зачем? Надо всё скачивать. Для ютюба есть скрипты, которые сохраняют всё из Favorites. Посты из блогов можно получать и сохранять через RSS (не всегда целиком, увы).

И наоборот, не пользоваться пятнадцатью сервисами, чтобы выкладывать свои картинки и видео. Хранить по возможности всё на одном, на своём.

4. Использовать свой сервер для централизации.

Использовать свой сервер для централизации. Не всегда удобно хранить данные дома – компьютеров много, а если я хочу видеть свой контакт-лист на смартфоне? Поэтому каждому нужен свой собственный маленький сервер. Онлайн-ПО находится на этом сервере. Например, установите вместо Google Reader себе tiny-tiny-rss, и читайте в ней фиды с любого компьютера (а для мобильников есть клиенты). В таком духе должно происходить развитие и прочих сервисов. Нужна синхронизация контактов? Ищите открытый сервер и клиент для смартфонов. К сетям типа Skype, которые закрыты и огорожены, следует относиться не более, чем как ко временному способу связи.

Вы мотаете головой – “да ну, это сложно”? Не так сложно. Личный сервер можно поднять и бесплатно (просто не выключать домашний ПК), и купить за пару минут по дешёвке в интернете (от 100 рублей в месяц). Главное – задаться целью. Сервер за границей удобен ещё и тем, что среди прочего на него можно установить VPN-клиент, чтобы читать сайты, которые наше мудрое правительство запретило нам читать. Вы, кстати, знаете, что лига безопасного интернета уже намеревается запретить мангу?

5. Использовать свой домен как identity.

Использовать свой домент как identity. Даже в jabber, когда закрывается сервер – это неудобно. Ваш jabber-id становится недействителен, друзьям надо заново добавлять вас в контакты. А что, если закрылся ваш почтовый сервис? Представьте, сколько сайтов по всему миру используют ваш почтовый ящик для восстановления пароля, подтверждения важных действий?

Для защиты от этого нужно все identity привязать ко своему домену. К примеру, один из моих почтовых и одновременно джаббер-аккаунтов – me@boku.ru. Сейчас у меня в файле зоны boku.ru указано, что и почтой, и джаббером для моего домена заведует гугл. Если гугл всё-таки отключит XMPP-службу, я заменю адреса серверов на другие – и никто ничего не заметит.

Таким образом, ваш домен – владение которым стоит 300 рублей в год! – даёт вам возможность сохранять свой интернет-“номер телефона” при переходе между “операторами связи”. При такой схеме он становится вашей самой важной собственностью в интернете. Если хостер вас подвёл, всегда можно перейти к другому хостеру. Если почтовый сервер закрылся, можно, пользуясь этими советами, перенаправить вашу почту на другой. Но ничего нельзя сделать, если ваш домен у вас отобрали – тут ваша личность уже невалидна навсегда. Поэтому, организуя свои данные, стоит подумать – быть может, лучше отделить домен-визитную карточку со всеми вашими identity от домена-хоста для ваших крамольных мыслей в адрес мудрого правительства.

6. Использовать шифрование.

Использовать шифрование. Этот предпоследний пункт не по теме поста, но говоря об организации личных данных, его нельзя не упомянуть. Соединяйтесь с важными сайтами через HTTPS-соединение. Пользуйтесь SpiderOak для бэкапов и синхронизации между компьютерами и LastPass для хранения паролей – эти программы шифруют ваши данные так, что никто, даже их авторы, не могут их прочесть без вашего ключа.

А параноикам я бы посоветовал шифровать и данные на своих компьютерах – хотя бы встроенными средствами: EFS в Windows делает это совершенно прозрачно, только забэкапьте ключи. Для более серьёзных случаев существует TrueCrypt. Можно зашифровать с его помощью и весь диск, правда, тогда при старте придётся вводить лишний пароль. Однако после старта весь компьютер можно считать safe haven: никто не получит доступ к нему иначе, как с помощью терморектального криптоанализа.

7. Делать бэкапы.Делать бэкапы. Этот пункт был бы длиннее, если бы сейчас это не было так просто. Установите SpiderOak, купите себе за 300 рублей в месяц 100 гигабайт пространства, отметьте папки и забудьте о бедах. Личный веб-сервер им тоже можно бэкапить.

Google отключает XMPP

Если кто не знал, ваш аккаунт в gmail до сих пор можно было использовать как логин в Jabber. Ваши контакты из gmail/google+ автоматически (с картинками) оказывались в списке мессенджера, а логи разговоров – в отдельной папке в gmail.

Недолго музыка играла. Гугл всё это дропает. Кто-то в шутку пишет – что дальше, Гугл? От SMTP откажешься? И возможно, что и откажутся. Потому, что зачем поддерживать SMTP, пусть люди веб-интерфейсом пользуются.

Феникс Райт против профессора Лейтона

Ну вот, я прошёл “Профессора Лейтона против Феникса Райта” (на японском), на это у меня ушло 40 часов. Приставку и игру пришлось заказывать из Японии потому, что перевода нет, а европейские 3DS японские игры не проигрывают. Уже потом я сообразил, что игру-то можно было просто скачать: в отличие от большинства серьёзных 3DS-игр, которые продаются только на картриджах, 3DS-игры про Лейтона доступны в интернет-магазине.

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

Сколько я не пытался сформулировать, о чём же была первая половина, и продолжить в том же духе, у меня это так и не получилось.

(Игра про Лейтона-Райта – такая же…)

Игра про Лейтона-Райта – такая же. Однажды автору (без сомнения, неплохих) игр про Лейтона захотелось сделать кросс с Райтом. И ему пришёл в голову величественный сюжет про город, подчинённый воле книги, про инквизицию и магию. Был нарисован трейлер и впечатляющий опенинг. А потом историю начали оформлять и подкручивать, и пришлось отказаться от одного, другого, третьего… И в конце концов, грандиозный замысел был загнан в рамки логики и слов, и стал совсем на себя не похож.

Знаете, сколько осталось в игре от трейлера? Ни-че-го. Ни единой сцены. Здание суда не такое, город не такой, Творец выглядит по-другому, Лейтон толком не выступает обвинителем, Махоне (белобрысая девочка) не оправдывается, а сама называет себя ведьмой, беготни с факелами нет, Мая/Маёй и Люк не листают книгу (которой и нет), под деревом Махоне не сидит, Лейтон своё “We might be making a terrible mistake” не говорит, Феникс с Маей у фонтана не обедают и про Лейтона не судачат – ничего этого нет. Ни одного кадра.

Допускаю, что трейлер рисовался с заделом на будущее, когда сюжет ещё был толком не оформлен, но дело даже не в деталях. Нет этой атмосферы, нет обязательных сцен, нету интриги – “лучшие умы тысячелетия столкнулись над сложнейшим делом”. Вместо этого Лейтон и Райт живут душа в душу, целыми днями пьют чай и друг друга хвалят, Махоне только и делает, что рвётся на скамью подсудимых, а страшные тайны высосаны из пальца и склеены обычным лейтоновским клеем. Ну вы помните? Город из роботов, созданных папашей, чтобы тот, кто разгадает все загадки, стал хорошим защитником для его дочери, вот это самое.

(Технически игра, наоборот, сделана здорово…)

Технически игра, наоборот, сделана здорово. Перевеса Лейтона или Райта не чувствуется, есть и прогулки по городу в обычном лейтоновском движке, и суды, совершенно такие, как всегда были в Райте. Всё перемешано: Феникс с Люком бегают по улицам, Мая с Махоне ловят кошку, Лейтон выступает на суде (и у него свой бардачок с уликами), суд перетекает в лейтоновскую загадку, загадка в адвенчуру, адвенчура в суд, в общем – сценарий умеет всё.

При этом натянутости совершенно не чувствуется. Феникс и Лейтон как будто всегда были одной игрой. Я бы сказал, что любая игра про них поодиночке проигрывает этому многогранному игровому процессу.

  • Майя и Феникс умеют разгадывать загадки, для каждого есть соотв. анимации. Махоне тоже умеет.
  • Бесполезные Лейтоновские монетки, щедро разбросанные по городу, можно использовать, чтобы тебя за руку провели на суде от обжекшна к обжекшну. Ну наконец-то!
  • Кроме бардачка с уликами и профилей персонажей (которые почти не используются) теперь есть книга заклинаний.
  • Можно вести перекрёстный допрос – переключаться между свидетелями и просить прокомментировать последнее заявление. Однажды приходится допрашивать роту из десяти солдат.
  • В игре 70 треков музыки, и исходные версии, и перепевки знаменитых мелодий из обоих сериалов. Всё очень красиво.
  • С добрым юмором Райта ничего не сделалось, Райт тут не только допрашивает попугая, но однажды переключается и на кота.
  • Судья в какой-то момент слазит с трона поговорить в адвенчурном режиме.

Professor Layton vs Phoenix Wright

Похоже, в игре про Лейтона-Райта нет ни одного кадра и ни одного сюжета из того трейлера

WHAT I EXPECTED:
Лейтон: Кто та ведьма, что наводила ужас на город своими ужасными преступлениями? Это – ТЫ!
Махоне: Неправда! Я никакая не ведьма!
Феникс: ВОЗРАЖЕНИЕ! Улики говорят за неё!

WHAT I GOT:
Махоне: Я ведьма… Казните меня…
Маёй: Неправда… Это я ведьма…
Феникс: Профессор Лейтон, может, в шашки сыграем?

Так вот, о биткоинах

Вчера утром цена за биткоин была $210. Днём – $260. Вечером… $160, а сейчас $75. Как напоминает zHz, в японском звукоподражание “СКААААН” означает резкое уверенное падение чего-либо. Так вот, СКААААН.

Три часа, за которые вчера биткоин потерял 100 долларов, были на реддите блокбастером и триллером. За тредами “Держимся! Не продаём!” следовали “Плакала моя новая приставка” или “Дураки! А я сейчас покупаю!” Кто-то клялся, что завтра снова будет 250, кричал “Это не обвал, это DDOS! Биржу атакуют!”, и были даже грустные треды “Я уже потерял $40 000, это сбережения за всю мою жизнь. Пошло всё к чёрту, прощайте”.

Советую научную статью про биткоины, простым языком рассказывающую, как они устроены. Когда-нибудь я напишу об этом пост. У биткоинов куча слабых мест, как у валюты, но технологически и математически они волшебная офигительная вещь.
Ещё где-то в интернете есть срывающая покровы статья “Как программисты вообразили, что они разбираются в экономике“.

Профессор Лейтон против Феникса Райта

Уже играю. Гадал, будет ли это “Профессор Лейтон в гостях у Феникса Райта” или наоборот – ну, поскольку придумал это создатель Лейтона, скорее, наоборот. Так и вышло: игра больше по канонам Лейтона, хотя главы за Райта в ней вполне привычные, только в 3D. На время игры в них меняется весь интерфейс и даже картинки в меню (хотя само меню остаётся чемоданчик Лейтона).

Движок тоже Лейтоновский, даже судебная часть – в пятой части Феникса Райта 3D угловатое и гораздо хуже. А вот скрипт за Райта написал его обычный автор – это почему-то легко чувствуется, всё-таки, они разные – Лейтон и Райт. Лейтон красивее, сказочнее, но Райт увлекательней.

О биткоинах и том, как забываются очевидные истины

Для тех, кто не знает: биткоины в последние несколько недель взлетели в цене. Полтора года назад один коин стоил меньше доллара, три месяца назад он стоит 15 баксов, три дня назад стоил 90, а сейчас торгуется по 140.

Очевидно, что это пузырь. У биткоинов есть некоторый закономерный потенциал, и до 15 баксов они выросли более-менее справедливо. Но за последние три месяца почти никто не покупал их ради того, чтобы использовать, т.е. оставить ликвидность в системе. Все хотят вовремя их продать.

Любопытно наблюдать за сообществом /r/banana на реддите. Биткоинами в основном пользуются – и будут пользоваться – технически подкованные люди, компьютерщики. И те из них, кто вложился, проходят там все стадии одержимости и принимают все возможные роли. То прославляют биткоин как валюту будущего, безупречную, недооценённую, которая – разумеется! – с каждым днём будет только расти до тысяч, десятков тысяч долларов. Делятся историями будущего успеха, смеются над обывателями, которые не способны поверить в цифровую революцию. Прыгают в восторге, обнимая друг друга, когда цена за коин берёт очередную высоту.

То здравый смысл, страхи и подозрения, которые они заглушали в себе, берут верх, и появляются треды “If we can all stop circlejerking for a second, let’s acknowledge one truth: This is a bubble. It is driven by speculation, and it will pop.” И внезапно многие соглашаются, как будто это совсем другой субреддит – спорящих минусуют, трезво мыслящих плюсуют, и вообще дует ветерок паники. А кто-то всё равно доказывает, что ему и на тридцати баксах то же самое говорили, и где бы он сейчас был, если бы продал?

Я мало знаю о людях, играющих на бирже. Они кажутся посторонними, глупыми созданиями, но вот здесь можно видеть, как в те же ошибки впадают и те же слова произносят, и точно так же не замечают этого за собой знакомые и понятные компьютерщики. Как будто нам с детства рассказывали простые истины: что наркотики вредны, что возникает зависимость, что на бирже играть глупо, а вслепую, поддавшись оптимизму – тем более. И все мы кивали головами и думали: ну как такие люди вообще могут быть? Ведь это же глупо, со стороны видно, что глупо. А потом – но у меня же нет зависимости, но я же не играю на бирже, но тут же всё совершенно по другому, как вы не понимаете?

I cant sleep right now. I am so tired I am crying. I don’t know why I am crying. I am currently standing to make more in a minute than I have had in my entire 10 years in the work force. I am planning on contacting an adviser tomorrow. I am too young to know what to do with all of this.

Почему клавиша бэкспейс называется бэкспейс

Дайте угадаю: потому, что прежде символы не “вставлялись” и “удалялись”, а “печатались на фиксированных позициях”. Space печатал пробел на позиции спереди курсора, а BackSpace – на позиции сзади.

Prototype

Игра про то, как Нью-Йорк заражают зомби-вирусом, а главный герой вместо этого получает возможность:
1. Пожирать людей и принимать их облик
2. Получать их воспоминания
3. Как угодно трансформировать своё тело
4. Бегать по стенам, летать и швыряться танками

Сюжет незатейливый, зато играть интереснее, чем в GTA. Как-то соблюдён баланс между тем, что военные за тобой вроде и охотятся, но и скрыться от них можно (не нужно перезагружаться, если всех разозлил, как в GTA), хотя и напарываться попусту не хочется. И оружия много клёвого – руки-хлысты, руки-клинки, руки-молоты, всё как в книжках Лукьяненко о метаморфах.

Хочешь – прыгни на вертолёт в воздухе и отними его, как Терминатор. Хочешь – прокрадись на военную базу, пожирай из темноты военных и принимай их облик. Хочешь – устрой содом и гоморру, взрывай и убивай, бегай по стенам, швыряйся танками и распускай во все стороны щупальца. Всё, всё, что хотелось попробовать, воображая себя метаморфом, всё есть. Одобряю такую игру.