Промежуточное
Мне вот интересно, а когда сотрудники Яндекса пишут «Верховная Рада Украины», это они так Издеваются Над Хохлами, или просто валяют дурака, не зная, что
Писать «Верховная Рада Украины», это как писать «Гавемент США», ну.
TraxTime
Почему барахло:
Я потратил около двадцати секунд на поиск функции добавления нового «проекта». Он оказался спрятан в меню -> подменю -> отдельном окне. Удаление проекта – в другом отдельном окне. Зачем – не понятно ни разу.
В первый же день использования TraxTime, я обнаружил забавную особенность: Один «проект» можно включить/выключить ровно восемь раз в день. Что, надо больше? Нет проблем, программа выводит сообщение с предложением вручную «консолидировать» последние строки в одну. В уме, то есть. А потом записать. Руками. Если это не маразм, тогда я уж и не знаю, что. Учитывая тот факт, что обычный офисный сотрудник может десятки раз в день отходить покурить/попить кофе (в хороших офисах кофе халявный)/подышать свежим воздухом/поесть/погадить/и т.д. – в общем понятно, что автор программы просто облажался.
Невозможно заниматься двумя проектами одновременно. Это не самое ужасное ограничение, но я не понимаю, чем оно вызвано вообще.
Учитывая, что программа позволяет заниматься только одним проектом в один момент времени, совершенно не понятно, почему для переключения между проектами требуется сделать четыре клика. Можно было обойтись одним, нет?
Я не могу посмотреть (или я это просто не нашел эту функцию, что равноценно), сколько времени я потратил на задачу в процентном отношении ко всему прочему. Лично мне значительно менее интересно знать, что я потратил на проект «Занятие ерундой» двадцать восемь часов, чем знать, что эти двадцать восемь часов – 44% от общего времени. Потому, что 44% значащая цифра, а 28 часов – нет.
Ну и мелкие придирки:
Программа, предположительно, не совместима с концепцией множества пользователей одного компьютера. То есть, если компьютером пользуются несколько человек, им придется инсталлировать программу несколько раз в разные папки, чтобы их личные данные не накладывались. Впрочем, это всё ерунда на фоне «консолидации последних строк вручную».
Программа, предположительно, не будет работать на т.н.
Программа
И самое ужасное: ОНА СТОИТ $39. Нет, я понимаю, когда выпускник школы ваяет такое фуфло забесплатно, потому что ему нужно
Ладно, хватит. Я думаю, к этому моменту всем становится совершенно понятно, что так дальше жить нельзя. Как дальше жить можно – в следующем посте.
Графика
Чтобы я себя не чувствовал лохом, отдавшим почти двести баксов, непонятно за что. То есть, всё удовольствие сводится к первым пяти минутам аханья и оханья «ой какая графика, как хорошо, что я обновил видеокарту!». Потом картинка уходит на задний план восприятия и ощущения от игры формируются совершенно другими механизмами.
О чем я уже неоднократно писал.
Teaser
Это я к тому, что говно этот ваш TraxTime.
Карта
Это всё объясняет
Подскажите программу…
Спасибо.
Тестирование и отладка
Допустим, вы работаете над программой на С++, которую по мере разработки тестирует другой человек или группа людей.
Допустим, ваша программа с завидной регулярностью валится.
Допустим, это сопровождается не сообщением
«Уважаемый тестер! Программа свалилась по причине того, что разработчик в файле MyFile.cpp, строке 12 написал new char[ strlen( str + 1 ) ] вместо new char[ strlen( str ) + 1 ]. Подскажите разработчику, чтобы он больше так не делал»а
(0x80000003) occurred in the application at location 0x0041d12b.
Что делать.
Значит, Во-вторых:
В общем, библиотеку нужно подключить, а затем сделать
void DumpIt( HANDLE hFile, PEXCEPTION_POINTERS excpInfo) MINIDUMP_EXCEPTION_INFORMATION eInfo; MiniDumpWriteDump( //... hDump_File = CreateFile("crash.dmp", GENERIC_WRITE, NULL, CREATE_ALWAYS, __try __except(DumpIt(hDump_File, GetExceptionInformation()), 0) {} CloseHandle(hDump_File);#include <dbghelp.h>
{
MessageBox( NULL, "An exception!", "OMG NO", MB_OK | MB_ICONSTOP );
eInfo.ThreadId = GetCurrentThreadId();
eInfo.ExceptionPointers = excpInfo;
eInfo.ClientPointers = FALSE;
GetCurrentProcess(),
GetCurrentProcessId(),
hFile,
MiniDumpNormal,
excpInfo ? &eInfo : NULL,
NULL,
NULL);
}
FILE_ATTRIBUTE_NORMAL, NULL);
{
// Сюда вписать опасный код. В моем случае - всё приложение.
}
Удачи в отладке.
Update: А, ну гениально. Самое главное забыл сказать. Вышеприведенный код в случае «падения» запишет в файл hDump_File некоторую информацию, с помощью которой можно более или менее точно восстановить обстоятельства крушения. Этот файл можно открыть студией (Open Project/Solution), нажать F5 и оказаться в условиях, близких к тем, которые привели к катастрофе. Желательно, чтобы файл имел расширение .dmp, это облегчит студии понимание, что ей пытаются всучить.
Ссылка по теме: Статья на английском с примерами. Кроме самой функции MiniDumpWriteDump в статье (и примерах) много лишней ерунды, зато примеры компилируются и работают. Sapienti sat, всё такое.
Web-интерфейсы
Человек, который набирает в Semagic пост о повсеместном применении в ближайшем светлом будущем
Особенно продвинутые визионеры объединяют в одном видении светлого будущего два, в
Можно предположить, что такая горячая поддержка
Еще раз: На сегодняшний день, при существующем уровне развития технологий,
Извините, что пишу очевидные вещи.
Автоматизация труда
Чем больше я на это всё смотрю…
…and has been logged
ОК.
А теперь скажите, какой увечный мудак вот это написал? И зачем.
Архитекторы
И, что самое замечательное, помидоры в меня не полетят, так как на этом сайте 50 постоянных читателей, ни один из которых не является системным архитектором в маленькой вебстудии. Замечательно, не так ли?
Творческие Люди™
А вот эта же работа с описанием и комментариями от автора.
Выводы?
Творческим Людям нельзя позволять разговаривать. Ради их же собственного блага. Пусть лучше занимаются творчеством. Так будет проще и спокойней всем.
Enjoy the other side
Женщина, которая сделала sigslot
Если вам по
Люди™
Что это подтверждает? Что людей нужно щемить и обижать, а не сайты им делать и премии раздавать.
HGE
Не без мелких ляпов, конечно, но куда же без них.
HGE, кстати говоря, стал совсем бесплатным. Одно из лучших (если не лучшее) решений для быстрого прототипирования и разработки shareware игр. Скажем спасибо дяде Haafу за наше счастливое детство.
Смотри также:
How to Prototype a Game in Under 7 Days
ООП
За два года я убедился, что спорить с людьми о подобных вещах только портить себе же нервы. Всегда находятся профессионалы и знатоки, у которых в запасе есть много слов, начинающихся с мета- и английских аббревиатур на случай, если покажется мало. Для вдумчивой аргументации, надо полагать.
В
Так чего спорить? Let em be. Тем более, что мудаков, получающих удовольствие от разжигания межконцептуальной розни и так хватает.
Dixi.