25 Декабря 2020
3336

Свечи недействительны!

В очередном посте про хитрых дельцов из ООО "РПЦ" увидел камент #comment_188208880 . Вот картинка из него:

Свечи недействительны!

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


Предыстория такова: у евреев со времён Авраама, их родоначальника, царь удерживал в своих руках и духовную власть, был первосвященником. Так же дело обстояло и в ближайшей супердержаве - Египте. При исходе из Египта евреи, чтобы не вспоминать о нелюбой чужбине, разделили светскую и духовную власть. Светская досталась опять царям, потом они измельчали, и евреев покоряли все завоеватели, проходящие через их территорию. А вот духовная власть оказалось народообразующим фактором, через неё евреи и сохранились на протяжении четырёх тысяч лет до сегодняшнего дня. Духовные лидеры, как и цари, назывались мессиями, помазанниками божьими.


Сначала евреи поцапались между собой, разделились, их частично захватил тот же Египет, а с другого конца Ассирия. Потом Вавилон, персы, греки, римляне. К моменту начала нашей истории духовную власть держал в своих руках бывший первосвященник Анна. Первосвященником формально был его зять, но храмовой казной распоряжался Анна. Теперь несколько слов о том, что именно он держал  в руках.


Каждый совершеннолетний еврей обязан был уплатить ежегодный храмовый налог, причём в храмовой валюте. Налог равнялся двухдневному заработку рядового воина или подённого рабочего. Меняли были готовы обменять валюту паломника на храмовую со скромной комиссией 33%. Комиссионные большей частью также шли в храмовую казну.


На еврейскую пасху каждый уважающий себя еврей стремился совершить хадж в Иерусалимский храм. А те, кто жил поблизости, были обязаны это сделать. Там их ждали с распростёртыми объятиями.


Почти при каждом посещении Храма надо было принести в жертву голубя. Схема такая же, как и с деньгами: голубь должен соответствовать определённым требованиям, за выполнением которых следили специальные контролёры. Если голубь куплен за пределами Храма (во много раз дешевле), то он бракуется (вспоминаем про свечки). Кроме голубей, в жертву приносились ягнята (до четверти миллиона голов в Песах), быки. Труъ-жертвенные животные продавались на территории Храма в рядах, называемых базары Анны. Угадайте, кому они принадлежали?


Кроме этого, в Храм шла церковная десятина. Но левиты жили не на эти деньги, на их проживание население отдавало ещё 2% доходов. Я не интересовался экономикой Второго Храма, не знаю истинных масштабов индустрии, мне было достаточно просто представить этот насос по выкачиванию денег из верующего населения.


И вот, представьте себе, в эту идиллию вторгается какой-то выскочка, называет себя царём иудейским, потом мессией, то есть претендует на титул не только светский, но и духовный. Затем обещает разрушить Храм, а на его месте поставить новый. Да Иегова бы с ним, много сумасшедших бродило в те времена по земле обетованной, но этот поц переходит к конкретным действиям. В самые горячие дни, когда в Иерусалиме собралось 2-2.5 миллиона человек, когда шекели текут рекой, он приходит в Храм и ломает бизнес - выгоняет торговцев и менял. Участь его была решена, когда он поднял руку на самое святое для Анны - на карман.


А теперь анекдот-притча:

Жил на свете человек. Когда он бы маленьким, бабушка ему всегда говорила:

— Внучек, если вдруг станет тебе когда-нибудь плохо, станет невмоготу, иди в храм, там тебе всегда полегчает.

Стал человек взрослым и настал в его жизни момент, когда белый свет не мил стал. Совсем ему стало плохо и тут вспомнились слова бабушки, которой давно уже не было на свете. Пошел он в храм. Стоит, погруженный в свои мысли, а тут подходит к нему бабулька и говорит: «Не так ты руки держишь!»

Подбегает вторая: «Не там ты стоишь!»

Бочком подкатила третья и шипит: «Креститься надо не так!» и сзади его одергивают: «И одет ты не по случаю!»

А еще одна женщина подошла и сказала: «Ты бы из храма вышел, купил себе книжку о том, как себя надо тут вести, а потом уж заходил.»

Совсем тошно стало человеку. Вышел он из храма, присел на скамейку, пригорюнился. И вдруг сзади послышался голос:

— Что ты, сын мой, пригорюнился?

Обернулся человек и увидел перед собой Христа.

— Господи! Мне так плохо, пришел я в храм, а меня туда не пускают.

Обнял его Христос за плечи и сказал:

— Не горюй! Они и меня туда давно не пускают!

Показать полностью 1
18

Всё таки, осознаю до какой степени я неудачник в этой жизни...

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

Заранее предупреждаю, если вы не терпимы к ЛГБТ тематике, а тут частично будет и об этом, не терпимы к "мужским соплям" и саможалости, а пост по большей части об этом, можете смело закрыть и идти дальше, я не обижусь что и минус поставите, просто мне нужно выговориться и в реале я ни с кем не могу это обсудить.

Итак начну пожалуй с того, что мне 26 лет, и никогда мне не везло с девушками. Когда был младше, я гонялся за девушками, но меня всегда отшивали а одна и зафрендзонила.

Мне всегда было обидно, есть у меня друзья, им труда не стоит завести с девушкой отношения или на 1-2 раза, а я как бы не старался, я всегда только милый и хороший парень, но не больше.

В 24 года мне это надоело и я перестал гоняться. Я начал снимать проституток. Да некоторые мои друзья считают что это как-то по лоховски снимать проституток и вообще платить за секс.

Но я уже смирился.

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

Я столько извращённых категорий пересмотрел что перешёл на shemale/ tranny. Первое время не обращал на член внимания или старался не обращать, но со временем меня стало заводить, что у "девушки" есть член.

Год назад я впервые воспользовался услугами трансексуалки.

Я иногда к девушкам хожу иногда к трансам, вернее к одной трансухе только.

Понимаете, секс у меня был но у меня никогда не было прелюдий и вообще поцелуев и обнимашек, вернее до 21 декабря...

Пробовал как-то поцеловать девушку проститутку, она отшатнулась и сказала не согласна на это.

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

Она или оно, блин, короче впервые в жизни за все 26 лет я наконец узнал что такое поцелуй, в губы, засос и в целом что такое прелюдия.

И вот прошло несколько дней, мне очень паршиво на душе. Блять обычно первый поцелуй бывает в подростковом возрасте в 15-16, а блять у меня мало того в 26 так ещё и с "несовсем девушкой"...

Да вы можете назвать меня пидорасом, насмехаться надо мной, считать лошарой, что я только способен снимать проституток и проститутов, но блять как мне паршиво.

Обидно, мало того никогда не везло с девушкой, ещё и поздний поцелуй и не с девушкой от природы.

Походу я не заслуживаю вообще жить, раз я такой неудачник и лох по жизни...

Показать полностью
624

В память о хорошем человеке

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

В феврале этого года я более детально узнал о его планах.
Как обычно приехал я на район, проходя мимо его дома позвонил - абонент не абонет.
Написал потом в директ, мол что с телефоном.
" А я, дружище,всё уехал"
Оказывается ,после того как пару-тройку лет назад он сьездил в Европу к родственникам, ему загорелось.
Он подал доки на воссоединение с семьей и
всё это время учил язык, сдавал тесты.
И вот наконец то ему повезло.
Я поздравил его, мне действительно было радостно за хорошего человека, за то что он своим упорством дошёл к своей цели.
Мы продолжили общение в ватссапе, раз два в месяц списывались- созванивались.
В Европе дело у него пошло на лад, продолжил учить язык, устраивал личную жизнь,государство дало работу.
Несколько дней назад я как обычно написал ему , как дела, как жизнь.
Ответа не было, я думал позвоню потом ещё.
А вчера пришло сообщение, что он всё,оставил этот мир.
Написала родственница с его номера.
Он вечером любил прогулятся в парке.
Ушёл и нет и нет его.
Потеряли, поехали искать.
Нашли,сидит на лавочке, уже всё.
Потом скорая, вскрытие.
Остановка сердца, или оторвался тромб, точный диагноз она не смогла мне обьяснить в силу языкового барьера.
Да это и не суть важно, важно то что человека здорового, без вредных привычек, ничем не болевшего ,раз и не стало, в 31то год.
Обидно что как раз у него только можно сказать жизнь полноценная началась.

"Да, человек смертен, но это было бы еще полбеды. Плохо то, что он иногда внезапно смертен, вот в чем фокус!"

Показать полностью
1234

Как мы делали мобильные java игры. Привет 2007 год

Всем привет. Ни для кого не секрет, что лет 15 назад появление кнопочных (тогда ещё) сотовых телефонов с цветными дисплеями, а также новыми мультимедийными возможностями изменило нашу жизнь. Игры на тех телефонах, по сравнению с современными, выглядели очень примитивно. Вот, например, игра Bounce на телефоне, которую многие помнят:

Фото взято из английской Википедии. Но всё же эти простые, с виду, игры должны были как-то создаваться. Для этого в начале 2000 года компанией Sun Microsystems (ныне Oracle) была начата разработка мобильной платформы J2ME, профилей MIDP и CLDC. Задачи ставились простые: развернуть возможность начинающим разработчикам быстро приступать к созданию новых игр и получению за это коммерческой выгоды.
Вспоминается чья-то недавняя фраза из комментариев на Пикабу:
- Что вы знаете о бесполезных профессиях? Расскажите об этом J2ME программисту!
Собственно, вопрос: а как эти самые игры разрабатывались, из чего они состоят?

Каждая игра состоит из системной информации, кода и ресурсов. Первая вещь чисто формальная, а вот вторая и третья нам интересна. Рассмотрим на примере всё той же игры Bounce от Nokia.

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

Эти ресурсы (а конкретно в данном случае - спрайты, из которых составляется игровой мир) вшиты в сам пакет приложения jar. Сами по себе они ценности не представляют. Но байт-код игры, как и любой другой программы, выбирает по очереди эти ресурсы и использует их для создания привычной нам игровой картинки. Помимо ресурсов, в игре присутствуют ещё и уровни. Тут сложнее. Обычный уровень игры выглядит примерно так:

Да, выглядит не особо интересно. Но, если вглядеться, то видно, что разнообразие у значений небольшое - 00, 01, 1D, иногда 6E и прочее. К каждому из этих значений в коде игры ассоциирован свой объект (картинка, фигурка или сущность), которые потом игра расставляет в указанном порядке и формирует тем самым игровое поле или уровень.
Теперь, непосредственно, код. В файле игры содержатся т.н. классы, в них-то и описана сама структура игры и осуществляемые ей действия. Вот, например, таковые в архиве с игрой:

В данном случае игра не была подвергнута т.н. обфускации. Зачастую в 99% всех игр эти классы выглядят уже так:

Т.е. в процессе обфускации названия классов и всех переменных теряются и заменяются на набор букв по алфавиту. Это выполняет две функции: во-первых, уменьшается размер итоговой игры или программы (самая большая по количеству классов j2me программа, на моей памяти, это J2ME SDK - содержит 447 классов), во-вторых, обеспечивает защиту от вмешательства шаловливых ручек навроде моих - разобраться в этом наборе однотипных наименований уже очень сложно - и не всегда поймешь, что имел ввиду автор в том или ином классе. Знает это только лишь он сам. Но вернёмся к нашей игре. Если открыть любой класс, увидим мы немногим отличное от того, что увидели в файле уровня.

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

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

Итак, декомпиляторы. Знакомьтесь, их был с десяток: JD, JAD, Mocha, DJ, JD-Core и выпущенный последним и на текущий момент самый совершенный: Fernflower. Файл fernflower.jar можно найти в сети. Чтобы получить исходный код из байт-кода, необходимо сам файл скормить декомпилятору. В данном случае делается это просто: создаётся папка и пишется в командной строке, что делать программе.

И мы получим примерно следующее:

Т.е. вполне читаемый код. В нём уже можно разобрать, что имеется ввиду под каждым действием и для чего нужна каждая переменная.
- Кстати, этот код всё же частично обфусцирован - например, видно переменные с именами var2, var3 и т.п. в оригинальном коде они часто называются типа CurrentBallX, CurrentHeight и др. для того, чтобы можно было понять суть этой переменной.

Но: иметь читаемый код, это не значит иметь рабочий код. В данном случае, с вероятностью в 99% (если программа сложнее HelloWorld) будут также содержаться ошибки декомпиляции. Вызваны они тем, что декомпилятор не всегда понимает, что имеется ввиду автором или самим компилятором. Хотя файл из fernflower на выходе имеет минимальное количество этих ошибок.
У нас теперь есть исходный код игры. На самом деле с этого этапа всё и начинается. Программист в оригинале пишет весь этот код "из головы", т.е. создает и забивает все переменные, классы и методы с нуля.

Теперь перенесёмся в 2007 год. Допустим, вы написали исходный код игры и решили собрать её, чтобы потом отправить на продажу на свой сайт, предложить компании-издателю и т.п. А для этого что вам нужно? Вам нужен компилятор кода и сборщик. В совокупности всё это называется SDK, как и на десктопных вариантах программирования. В качестве IDE с подключаемым java-компилятором можно было использовать Eclipse, NetBeans с дополнительными библиотеками под мобильную версию. А собирать потом или вручную, или внеся свои правки в сборочный скрипт. Но мы рассмотрим один из самых простых вариантов: Для J2ME тоже была своя SDK - которая называется WTK. Последняя версия 2.5.2 была выпущена в сентябре 2007 (том самом, который по мнению многих сгорел). Потом к ней было ещё небольшое дополнение. Вот главное окно программы приветствует нас:

Программа не имеет своего внутреннего редактора кода и на борту лишь простенький эмулятор (который нашу игру не потянет - т.к. написана она была под Nokia). Поэтому для корректной работы нам понадобится следующий софт:
- Сама WTK 2.5.2_01 (небольшой патч 2008 года)
- Java JDK и JRE версии 5.0 (под неё была рассчитана последняя версия WTK)
- Редактор кода (я использую Notepad++, можно блокнот или что удобнее)
- Эмулятор (лучше всего подходит KEmulator Lite v 0.9.8,  разработка которого также была заброшена в 2008 году, но на текущий момент он самый проработанный из всех и тянет большинство моделей телефона).
Создаем проект: нажимаем New Project, указываем параметры приложения и путь к главному классу (с которого всё начинается):

Больше ничего не требуется. Окно конфигурации можно просто закрыть, теперь у нас в папке пользователя создана папочка для репозитория приложения:

Общий путь: %папка пользователя%\j2mewtk\2.5.2\apps\
Теперь, чтобы собрать игру, надо наши ресурсы (картинки и уровни, описание меню на разных языках - в крупных компаниях за разработку каждых из них отвечал свой человек) закинуть в папку res. В папку res идёт все кроме META-INF (её программа создаст сама) и, собственно, классов приложения. Классы закидываются в src с сохранением пути.

Содержимое папок src и res. Теперь пробуем собрать игру. Нажимаем кнопку "Build". И видим:

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

На этой самой строчке компилятор в операцию побитного И почему-то засунул японский иероглиф 'ソ'. Понятное дело, что такого быть не может: цифру нельзя объединить с иероглифом. Но с чем же можно? Получим числовой код иероглифа:

В числах это 65407. Именно это число и должно быть в процедуре. Выполним автозамену. Выясняется, что в остальных классах ошибки аналогичные. Итого для трёх разных классов в нескольких местах кода был неправильно распознан тип.

Пробуем собирать:

Теперь ошибок стало.. внимание.. 39! Но ничего страшного в этом нет. Это нормальная практика компилятора - сначала отсеиваются более важные ошибки, затем менее важные. Если разобраться в причине, выясняется, что ругается на то, что не удалось найти некоторые методы, находящиеся в классах, в пакетах, таких как как com.nokia.mid.sound, com.nokia.mid.ui и других. Собственно, а этих классов то тут быть и не должно - они уже содержатся в исполняемой среде (телефон Nokia).

Либо они добавлялись (в те самые золотые года) разработчиками платформ в IDE под конкретные модели телефонов. Кстати, отсюда пляшет несовместимость игр для j2me - именно по этой причине игры от Нокии могли не идти на Сименсе или Эриксоне (вторая причина - разные коды клавиш). Всё зависело от разработчиков и этих самых классов. Но и нам их надо где-то взять для успешной компиляции, т.к. выполнять замену на аналоги из JSR-135 слишком долго. Воспользуемся библиотеками от KEmulator: идём в папку программы, затем папка libs и там есть файл third-party.jar. Копируем его в папку libs нашей программы (в wtk), и удаляем лишнее от других моделей телефонов:

Получили маленький файлик весом в 4 Кб. Можно компилировать:

Теперь осталась одна единственная ошибочка. Снова лезем в исходник:

Компилятор ругается на эту самую строчку. Причем ошибка то и не совсем в ней самой. Тут делается следующее: буфер должен изъять из массива типа Vector какие-то значения и передать их в родительский метод drawImage. Ошибка возникает из-за несовместимости типов: метод drawImage принимает Image, int, int, int, а наш неправильный код, получается, пытается всунуть во 2 и 3 поле объект Integer. Исправляется это тем, что нам нужно забрать значение var2 и var3 из объекта Integer непосредственно. Делается это просто - добавить преобразование типов. Для этого есть метод intValue(). И теперь всё скомпилировалось без единой ошибки:

Поздравляю, мы получили то, что у нас и так было. Вернее, того, чего не было - работающий исходник. Чтобы теперь превратить это игру, к классам нужно добавить ресурсы и это дело собрать. Собирается всё в два клика: Project -> Package -> Create Package. Теперь появились файлы jar и jad в папке bin проекта. Но перед запуском надо сделать ещё кое-что: т.к. мы добавили библиотеки для компиляции, эти самые библиотеки из готового пакета нужно выпилить (в случае подписи приложения сертификатом это надо сделать до подписи). Удаляем библиотеки от nokia, иначе они будут переопределять методы исполняемой среды, а у нас в данном случае это просто интерфейсы, они нам для работы программы не нужны.

Только теперь можно готовый jar-файл запускать на эмуляторе. Закидываем получившуюся программу в KEmulator (или на свой телефон) и наконец-то можно играть:

Артефакты в данном случае вызваны эмулятором (неполной поддержкой тех самых нокиевских методов), а не искажением исходника. На телефоне графика работает отлично. Вот таким вот нехитрым образом производился процесс создания игр в те годы. Я немного застал те времена, хотя и не удалось применить полученные знания на практике ибо всё было вскоре замещено Android и iOS, сама суть при разработке осталось той же, но отдельные элементы реализуются иначе. Надеюсь, теперь вы представляете весь тот труд, что был потрачен на создание java-игр в ту эпоху. Но, всему своё время.
Исходники программы после написания поста были удалены и я не рекомендую получать их образом, описанным в посте.
Всем спасибо, с вами был Kekovsky.

Показать полностью 24
106

АДМ 2020/2021 Тюмень - Саратов

В этом году я впервые поучаствовала в новогоднем обмене на Пикабу. И мне достался самый настоящий Дедушка Мороз! Это было очень волнительно и интересно, столько эмоций от подарка я не получала даже в детстве 😄 

Оформление подарка - это восторг чистой воды, к посылочке прилагалась важная документация:

Открываю посылку, а там! Буря, искра, эмоция! Мы с мужем занимаемся восстанавлением Волги, Ииии... Это же МОДЕЛЬ нашей Волги! Мы столько о ней мечтали, но все никак не могли найти!

Так же я являюсь фанатом вселенной Гарри Поттера, и вот, наконец-то, спустя ....n-цать лет, моё письмо меня нашло, и даже билет на Хогвартс Экспресс прилагается, все очень серьёзно, я пакую чемоданы:

А какие крутые носочки со значками, в гостиной Гриффиндора я буду самой модной:

Полуфабрикат шерстяные носков (я обожаю вязать, скоро будут новые тёплые носки):

Очень вкусные сладости и полезный чай, мы сразу всей семьёй попробовали шишки в шоколаде, сразу чувствуешь аромат Нового Года😁:

Очень красивая открытка с поздравлениями:

И конечно же, магнит из города Тюмень:

Дорогой Дедушка Мороз @BAXUTOB, ты подарил нашей семье настоящую новогоднюю сказку, спасибо тебе огромное! И поздравляем с Наступающим Новым Годом!

Показать полностью 15
87

Новогоднего настроения пост!

Всем привет!


Меня зовут Сергей, мне 27 лет, 5 из них живу и работаю в Италии, я оперный певец.


Я сижу в локдауне в Италии....Льет дождь, +15 на улице, в 100 метрах ревет море.

Настроения новогоднего нет, рождественского тоже...


Надеюсь у вас с этим получше. А если нет, посмею развлечь вас своим творчеством. Нынче жизнь и так не сладка, праздников как будто и нет. Так может подниму вам настроение.


Очень давно читаю Пикабу, лет 10 наверное уже.... Но как то не было дела до создания аккаунта

и прочего, ибо весь был в работе и учебе, А делиться нечем было совершенно на тот момент.

Обычная жизнь обычного студента-архитектора.


Но все изменилось, когда я отслужил в армии, и после оной, подлечив надорванное здоровье,

поехал покорять подмостки в Италии, обретаясь в хостелах и открывая двери консерваторий с ноги, презентуя всем Тульские Пряники на право и на лево.

Да, кстати, я из Тулы. Всем теплый чайно-прянишный привет.


Прошли годы, теперь я работаю в театре в городе Болония. Ну как работаю....числюсь

Локдаун, ковид, все дела....


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


Всех обнимаю, с праздниками, ребят. Держимся

Показать полностью 1
78

Отчет АДМ 2020-2021 Казахстан - Санкт-Петербург

Спасибо снегурочке из Казахстана за поздравления!

Конфетки, шоколад, елочные шарики.

Котоинспекция!

Мармеладки и мешочек с оленем были сразу приватизированы младшим котом.

Тарелочка обнюхана и облизана!

В кружку засунут любопытный нос))

Чай в елочном шарике почему-то вогнал в сон. Явно чай успокоительный)) что в наше непростое время очень кстати!

Магнитики с символом года - на холодильник! Досочку разделочную - на кухню для красоты! Шарики - на маленькую елочку! Конфетки, шоколадки - в животик!

Вторая котоинспекция фотографироваться с подарками не захотела. Поэтому просто оставлю фото этой морды здесь)

Спасибо, дорогая снегурочка из Казахстана! С наступающим!

Показать полностью 12
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите