11:53

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-17-07
#original-date: 2.05.2008 Fri
#original-time: 5:07 PM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

Забавно ^^
http://aktualno.org/n/24261/

11:52

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-16-49
#original-date: 2.05.2008 Fri
#original-time: 4:49 PM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

Занятно наблюдат как при демонстрации динамического дрифта, у S14 Цучии поплыла передняя подвеска ^^ Однако тут же почти незаметным движением рулём он вернул сцепление с дорогой ^^ Но дым был мощным ^^

#video: Drift Bible

11:52

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-05-58
#original-date: 2.05.2008 Fri
#original-time: 5:58 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

Пипец. Mail.ru со своей истеричной борьбой со спамом дошла уже до того что картинка в окне смены пароля меняется кадые три секунды. Не успеет загрузиться - хоп, и новая. Еле как сменила >_<

11:52

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-05-39
#original-date: 2.05.2008 Fri
#original-time: 5:39 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

Хорошая работа для хороших людей! Вакансии лучших компаний на Работа@Mail.Ru»

Я - плохой человек. Уберите рекламу.

Сегодня (тоесть вчера) приходил один знакомый. Блин, теперь после него комната ни как не проветривается! Ну почему от мужжчин всегда так воняет?

11:52

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-03-55
#original-date: 2.05.2008 Fri
#original-time: 3:55 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

А вот, кажется, код похожий на тот:
http://outer-court.com/basic/echo/T1476.HTM

В любом случае, код на BASIC большими буквами у меня вызывает ностальгию по голубенькому редактору, зелёным менюшкам и чёрному Output Screen...

11:52

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-03-37
#original-date: 2.05.2008 Fri
#original-time: 3:37 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

Освоила функцию strtok() ^^ Когда в какой-то статье про QuickBasic был код, реализующий эту функцию на QB, я не могла понять, что она делает, а слово "токен" вообще меня вгоняло в ступор. Нынче оно попрежнему вгоняет меня в ступор, но теперь я понимаю принцип действия ^^

#include <string.h>
...
char *token&#59;
char *line = "LINE TO BE SEPARATED"&#59;
char *search = " "&#59;

/* Token will point to "LINE". */
token = strtok(line, search)&#59;

/* Token will point to "TO". */
token = strtok(NULL, search)&#59;



Это пример из Инета ^^ А вот что там было написано про другую версию функции:

The strtok_r() function is thread-safe and stores its state in a user-supplied buffer instead of possibly using a static data area that may be overwritten by an unrelated call from another thread.

Я всё искала её в VC++, но не нашла, даже в книжке Джефри Рихтера пыталась найти что-то что было про это ^^ А потом вспомнила, что вообще-то для проекта можно выбирать версию библиотеки C, в том числе и многопоточную, так что стало ясно, что там всё предусмотрено ^^

http://www.opengroup.org/onlinepubs/000095399/functions/strtok.html

Вот код на VB:

Option Explicit

'====================================================================
Public Sub Main()
 MsgBox CreateComplexDirectory("App\Test\Win32\..\Data\")
 MsgBox CreateComplexDirectory("App/Test/Win16/Data")
End Sub

' Принимаются и прямые слэши.
Private Function CreateComplexDirectory(ByVal Path As BStr) As Boolean
 Dim Elements() As BStr
 Dim TMP As Long
 Dim RC As Long
 Dim NewPath As BStr
 
 Path = Replace(Path, "/", "\")
 Path = asGetFullFileName(Path)
 If Right(Path, 1) = "\" Then Path = asRemoveBackslash(Path)
 If Path = "" Then Exit Function
 
 Elements = Split(Path, "\")
 For TMP = LBound(Elements) To UBound(Elements)
   If NewPath = "" Then
     NewPath = Elements(TMP)
   Else
     NewPath = asBuildFileName(NewPath, Elements(TMP))
   End If
   
   If Not asIsDirectoryExist(NewPath) Then
     RC = CreateDirectory(NewPath, 0)
     If RC = 0 Then Exit Function
   End If
 Next TMP
 
 CreateComplexDirectory = True
End Function



Функция получает каталог и создаёт его. Тоесть он может состоять из нескольких подкаталогов, и все они будут созданы. Я где-то в какой-то библиотеке вроде ShlWAPI.DLL видела такое, но не нашла. Пришлось писать самой.

А вот как это на C++:

#include <AJP System.H>
#include <AJP Console.H>
#include <xShlWAPI.H>
#include <string.h>

//===================================================================
BOOL __IsDirectory(char *FileName)
{
 DWORD Attribs = GetFileAttributes(FileName)&#59;
 if (Attribs == 0xFFFFFFFF)
   return FALSE&#59;
 else {
   if (Attribs & FILE_ATTRIBUTE_DIRECTORY)
     return TRUE&#59;
   else
     return FALSE&#59;
 }
}

BOOL __IsFileOrDirectoryExist(char *FileName)
{
 // GetLongPathName() и GetShortPathName() работают и с масками,
 // возвращая первый соответствующий файл. Поэтому использовать эти
 // функции нельзя, ведь мы ищем реальный файл. Зато
 // GetFileAttributes() возвращает ошибку, если файла нет.
 DWORD Attribs = GetFileAttributes(FileName)&#59;
 if (Attribs == 0xFFFFFFFF)
   return FALSE&#59;
 else
   return TRUE&#59;
}

BOOL __IsDirectoryExist(char *FileName)
{
 if (__IsFileOrDirectoryExist(FileName))
   return __IsDirectory(FileName)&#59;
 else
   return FALSE&#59;
}

//===================================================================
BOOL CreateComplexDirectory(char *szPath)
{
 CUniversalString ucPath(szPath)&#59;
 CUniversalString ucFullPath(10)&#59;
 CUniversalString ucNewPath(10)&#59;
 int TMP = 0&#59;
 
 // Заменяем все прямые слэши обратными...
 for (TMP = 0&#59; TMP < lstrlen(ucPath)&#59; TMP++) {
   if (ucPath.ValueA[TMP] == '/') ucPath.ValueA[TMP] = '\\'&#59;
 }
 
 // Теперь преобразуем в абсолютный путь...
 DWORD RC = GetFullPathName(ucPath, 0, ucFullPath, (LPSTR*)&TMP)&#59;
 if (RC == 0) return FALSE&#59;
 
 ucFullPath.Alloc(RC + 1)&#59;
 RC = GetFullPathName(ucPath, RC, ucFullPath, (LPSTR*)&TMP)&#59;
 if (RC == 0 || RC > ucFullPath.SizeA()) return FALSE&#59;
 
 // И удаляем последний бэкслэш...
 PathRemoveBackslash(ucFullPath)&#59;
 
 // Теперь режем и на составляющие...
 ucNewPath.Alloc(ucFullPath.SizeA() + 10)&#59;
 
 char *Token = strtok(ucFullPath, "\\")&#59;
 if (Token == NULL) return FALSE&#59;
 
 for ( &#59; Token != NULL&#59; ) {
   if (lstrlen(ucNewPath) == 0)
     lstrcpy(ucNewPath, Token)&#59;
   else {
     PathAddBackslash(ucNewPath)&#59;
     lstrcat(ucNewPath, Token)&#59;
   }
   
   if (!__IsDirectoryExist(ucNewPath)) {
     RC = CreateDirectory(ucNewPath, NULL)&#59;
     if (RC == 0) return FALSE&#59;
   }
   
   Token = strtok(NULL, "\\")&#59;
 }
 
 return TRUE&#59;
}

//===================================================================
int main()
{
 SetCurrentDirectory("C:\\Мои документы\\VCPP\\TempProject\\")&#59;
 
 cout << CreateComplexDirectory("App\\Test\\Win32\\..\\Data\\") << endl&#59;
 cout << CreateComplexDirectory("App/Test/Win16/Data") << endl&#59;
 
 return 0&#59;
}



CUniversalString - это класс-контейнер для строки. Конструктор с char* создаёт внутренний буфер и копирует в него строку. Конструктор с цифрой создаёт буфер заданной длины. Alloc - пересоздаёт буфер, SizeA - возвращает его размер, ValueA - сам буфер, а ещё класс кастуется к LPSTR.

На самом деле там два буфера, и класс создан для перекодировки ANSI-UNICODE, но это не одна его задача. Кроме того, класс буду переписывать - два буфера одновременно - это расточительно...

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

11:52

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-01-08
#original-date: 2.05.2008 Fri
#original-time: 1:08 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

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

"Под колёсами хрустит и чмокает"... Тут подумалось, что такие вещи стоит видеть чтобы чему-то научиться. Скажем, стоит увидеть Carmageddon, чтобы раз и навсегда усвоить, что нельзя перебегать дорогу, где вздумается. Стоит увидеть SOF, чтобы понять, что в войне и стрельбе ни чего хорошего, зато это очень больно и неэстетично... Правда, SOF, скорее, специализировался на анатомии, но тем не менее.

Из всех персонажей удивил разве что «бешеный спецназовец», да и то только тем, что непонятно, почему он до сих пор никого не прирезал и не попал в тюрьму или в психбольницу.

Его держали взаперти не хуже, чем Люси ^^' Возможно даже что ему просто мозгов не хватило кого-то убить ^^'

А ещё иногда при просмотре «Эльфийской песни» у меня возникало ощущение, что вся эта анимешка есть ни что иное, как тонкий стёб. Издевательство над кавайными мелодрамами, над хохочущими злодеями и над многими анимешными штампами. В любом случае, здесь есть один из самых моих любимых моментов в аниме. Я вот весь «Хеллсинг» надеялся, что Алукард получит пулю в лоб посреди своей пафосной речи, но надеялся я, понятное дело, зря. И вот, наконец-то я дождался сериала, в котором нечто подобное происходит. Профессор с жаром мелет очередную банальную злодейскую чепуху, брызжа слюной, и на середине фразы Люси отрывает ему голову. Ура! Пятёрку авторам!

Мда...

А у Ню, похоже, мозг просто теряет контакт с шишковидным телом (как и с большей частью серого вещества).

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

Ах, сколько крови и расчлененки? А я вот смотрела первую серию с удовольствием. Так им и надо! Плохим дядям :) Просто прыгала от радости :) Потому что было совершенно ясно, что устроенная Люси мясорубка - это воздаяние по заслугам, акт высшей справедливости, тем более что его совершает высшее существо. Мьютант :) Диклониус. Нека с ушками...

Нэка с ушками ^^ Правда почему-то мои мысли не о нэках, а о загадочных объектах ядра "Mutant" ^^'

А ее голос! Японский ведь сильно отличается от европейских языков своими интонациями... но вот голос Люси... Это бесспорная удача авторов фильма - попадание в яблочко! Похоже, сэйю (Sanae Kobayashi) настолько вжилась в образ героини... У меня было такое ощущение, будто я понимаю по-японски! Будто смотрю в глаза живому человеку... Настолько правдив этот образ.

Насколько я помню, Ню владела слованрым запасом героини "12 стульев", но почти всегда говорила только "Ню". Тут и понимать ни чего не надо ^^

От части, как мне кажется концовка осталась невнятной поэтому я чувствовал сметение в душе и пересматривая последнюю серию (и несколько предыдущих) пытался закончить фильм как можно с более счастливым концом (такой уж я человек).

Это как смотреть "Чапаева" и каждый раз надеяться, что он доплывёт. Это называется не "идиотизм", а "надежда".

Кстати, что действительно все упустили, так это то, что (следуя Википедии), у Люси началось раздвоение личности после попадения пули снайпера. Да, и все как-то забыли слова о том, что "изначально векторы были предназначены не для атаки". Иными словами если изначально было какое-то другое назначение, то это ни какой не случайный вирус, а самый натуральный эксперимент.

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-00-58
#original-date: 2.05.2008 Fri
#original-time: 12:58 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

В общем... Обычно принято писать долгие рассуждения по поводу увиденного, но я не буду. Это просто нужно смотреть... И в АГ были абсолютно неправы, раскритиковав сериал за излишнюю жестокость. Полагаю, что это всё равно что критиковать KITE за хентай... В общем, спасибо, Мэг, что дала мне возможность это увидеть...

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-00-22
#original-date: 2.05.2008 Fri
#original-time: 12:22 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

После такого тяжёлого сериала овашка начинается так, словно зрителя немного хотят успокоить и повеселить... Но ни какое веселье не заживит душевные раны после просмотра сериала!

#video: Elfen Lied - 14 - Ova

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2837-00-03
#original-date: 2.05.2008 Fri
#original-time: 12:03 AM
#original-day:  2837
#original-host: WinXP Prof SP2 (Build 2600)

А эта девушка, которая работала с сыном главного, чем-то похожа на Асами Сато из X-Change.

#video: Elfen Lied (13)

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-23-40
#original-date: 1.05.2008 Thu
#original-time: 11:40 PM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Этот отморозок без глаз лучше бы попытался подстрелить мелкую с её одинадцатиметровым разиусом атаки вместо того чтобы гоняться за Люси.

Мда... Одно не поняла, даже две вещи. Как он перемахнул с одного моста на другой (там же местра четыре!) и зачем он в воду прыгнул? Люси не русалка, но у него там вообще нет преимущества!

#video: Elfen Lied (12)

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-23-34
#original-date: 1.05.2008 Thu
#original-time: 11:34 PM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Вопрос на засыпку. Нафига спецназу такие тяжёлые броники, если они всё равно не выдерживают удар векторов? Без них у них был бы хоть какой-то шанс смытьсяс места событий...

#video: Elfen Lied (12)

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-18-39
#original-date: 1.05.2008 Thu
#original-time: 6:39 PM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

У хирурга.
- Сестра, что у нас сегодня?
- Два легких случая: автокатастрофа, производственная травма. И один тяжелый - муж, отказавшийся мыть посуду.


#music: Black Power\Initial D Battle Stage\Get Ready For Loving

11:51

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-18-29
#original-date: 1.05.2008 Thu
#original-time: 6:29 PM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)



#music: Starlet\Initial D Battle Stage\You're Gonna Be

11:50

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-07-23
#original-date: 1.05.2008 Thu
#original-time: 7:23 AM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Нашла ^_^ Обойки прикольные ^_^
http://go2id.net

11:50

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-07-02
#original-date: 1.05.2008 Thu
#original-time: 7:02 AM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Так... Кажется rss2email.ru наконец перестал тормозить... Месяц, чтоли тормозил отчаянно...

11:50

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-06-45
#original-date: 1.05.2008 Thu
#original-time: 6:45 AM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Настоящие программисты любят Windows - все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.


Программист приходит к врачу.
Врач:
- Скажите "а"!
- Большое или маленькое?


- Алло?
- Алло! Доброе утро, молодой человек! Умоляю вас, не кладите трубку! Скажите мне - кто я?! Где я сейчас?! Куда мне идти?!
Дорогие радиослушатели, вы прослушали короткую радиопостановку "Утро DHCP сервера".


Дернул меня черт зайти как-то в один из крупных салонов славного города Н-ска...
Как вы думаете - сколько нужно времени чтобы купить клаву и пачку офисной бумаги? А? Я тоже думал, что минут пять, ну семь от силы... Как же! Почти час! Думаете была очередь? Ничего подобного. Два "менеджера", один офигевший от сервиса покупатель - я, то есть.
- Привет! Мне нужна самая обычная клавиатура (у меня они больше месяца не живут, так что опробованные варианты дорогих клав себя не оправдали) и бумага для принтера.
- Здравствуйте! Посмотрите наши прайсы!
- Да на кой мне ваши прайсы. Дайте мне какую-нибудь клаву и белую бумагу.
- Вот, пожалуйста, выбирайте в прайсе все, что вам нравится! (вроде нормальный, вполне половозрелый мужик лет 25-ти, по русски ни фига не понимает, приходится подойти к витрине)
- Вот, давайте вот эту клаву. (тыкаю пальцем)
- Минуточку. (уходит, через несколько минут возвращается с ключами от витрины, открывает)Вот эту?
- Да, давайте ее. Сколько стоит?
- Минуточку. (закрывает, уносит ключи (не выпуская клаву), возвращается, садится за свой комп, начинает искать девайс в базе)
- Пока ищете, дайте мне клаву опробовать.
- Вот, пожалуйста (подает через прилавок, начинаю жать на кнопки). Ой, я не сохранил...
- Чего не сохранил? Вы мне что - свою клаву попробовать дали?
- Да...
- Мне нужна та, которую я хочу купить!
- А!... Пожалуйста! (подает, тыкаю, вожу по столу)
- Так, нормально. Давайте.
- Что-то ее в моем прайсе нет... Петя (зовет второго бойца), а что это за клава?
- Какая?
- Вот эта. (изучают)
- А. Это резерв!
- Чей? (изучают)
- Мой!
- Давно? (изучают)
- С 23 марта...
- (мне) извините - она одна, это резерв.
- (уже раздражаясь) А какого она на витрине делает?
- (молчание)...
- Эта есть? (тыкая в другой экземпляр).
- Минуточку. (наученный опытом не бежит за ключом, а рассмотрев товар через витрину ищет в базе)
- Да, эта есть.
- Выписывайте!
- (еще пять минут тыканий в клавиатуру) Что-нибудь еще?
- (уже с нескрываемой издевкой) Ага! БУМАГУ!
- (не пробиваемо) Какую?
- ДЛЯ ПРИНТЕРА!!!
- Выбирите в прайсе.
- (с минуту размышляю - дать ему по балде прямо через прилавок или не брать грех на душу - в нем кило 70, во мне за центнер, решаю, что в кресле я смотрюсь лучше чем на нарах, беру прайс-лист, ищу бумагу, не нахожу) Что-то я не вижу бумагу.
- А ее нет.
- Вообще?
- В прайсе...
- (все-таки воткну я его головой в монитор...) А ГДЕ ЕСТЬ?
- А вам какую?
- БЕЛУЮ! ДЛЯ ПРИНТЕРА!! ПАЧКУ!!!
- У нас разная есть...
- ДАВАЙ ЛЮБУЮ!!!
- (приносит почти моментально, то есть минуты за 4) Пожалуйста.
- Расчитываюсь.
- Вам копия чека не нужна?
- (с ужасом представляю предстоящую процедуру) Нет, не надо! (выхожу)...


Решал я как-то на работе техническую проблему. Суть у проблемы была такая: надо было заставить одну очень нужную программу (для тех, кто знает - Apache) с помощью другой очень важной программы (для тех, кто знает - PHP) заставить генерировать графику (картиночки с текстом).
Причем задание довольно срочное, поэтому жопа в мыле. Выглядит это так: я (системный администратор) одной рукой кромсаю конфигурационный файл, другой сжимаю телефонную трубку, на другом конце провода висит программист, наскоро клепающий тестовые странички. Не работает, зараза.
То есть картиночки одного типа работают, а другого (для тех, кто знает - GIF) - ни фига. Мозги уже закипают. Время - около 21.00, хочется домой. И тут из трубки - "Кажется, я его победил!". Открываю страничку - уррра!!! Красивенький такой розовый прямоугольник. Может, не очень эффектный, но это уже победа, остальное - дело техники и программистов.
Задаю естественный вопрос: "Ну и где была проблема?". На том конце провода - смущенное молчание, несколько секунда сопения, и наконец - потрясающий ответ, заставивший наш отдел содрогаться от хохота. Ответ был такой: "Знаешь, белый прямоугольник на белом фоне видно довольно ху@во!".


11:50

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-05-51
#original-date: 1.05.2008 Thu
#original-time: 5:51 AM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Comments on NaDa™ 0.5 !

Значит до неё было ещё несколько версий программы... Ну вот как можно пять раз переписывать программу, которая абсолютно ни чего не делает?

I'm very satisfied with your new product. One of the amazing benefits you failed to mention is that even after being deleted it continues to do nothing.

I downloaded your free NaDa™ 0.5 software.  As promised, it was exactly one byte, works well on Linux, is bug free and is very efficient at doing nothing.  It was everything I expected and more!!


Невероятно эффективно ничего не делает ^_^

http://www.bernardbelanger.com/computing/NaDa/

11:50

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-05-23
#original-date: 1.05.2008 Thu
#original-time: 5:23 AM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Ууууу! Инет умер... Три долгих дня без Инета...

11:50

Тотальная неудачница и убийца жёстких дисков.
#post-id: 2836-04-06
#original-date: 1.05.2008 Thu
#original-time: 4:06 AM
#original-day:  2836
#original-host: WinXP Prof SP2 (Build 2600)

Вас ругают за подписки на рабочий адрес? У вас ограничен объем ящика? Ваш "супернадежный" бесплатный ящик начал работать в зависимости от фазы Луны?

Тогда заведите почтовый ящик для рассылок у нас!


Сообщение об ошибке в Клиенте было бесподобным. Жаль, что я его лично не увидела...