1. SQL / Говнокод #22789

    −12

    1. 1
    Предлагаю собраться в каком-нибудь говномессенжере

    Конские хуи - азимут 46 градусов

    Запостил: cykablyad, 10 Апреля 2017

    Комментарии (184) RSS

    • показать все, что скрытоРешил всем деанон сделать?
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Все уже заебали за последние месяцы с этим "Telegram"-ом. Выбрали мессенджер, к которому без "Tor"-а и/или "VPN"-а (то есть, через жопу) не подступиться, и дружно подтекают с него. Теперь вместо "Skype" и "Viber"-а везде вижу "писать в телеграм".
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Зачем им вообще пользоваться? Чем "Skype" был хуже?
            Ответить
            • показать все, что скрытоvanished
              Ответить
            • Раньше был старый милый скайп.
              А потом пришел мелкософт и все испортил, превратиль в какуюто хуеблудену.
              Ответить
              • показать все, что скрытоvanished
                Ответить
              • Я просто хренею от того, как можно всё просирать.
                Просто сидишь, чинишь баги, получаешь деньги с рекламы. Мощности растут, а программа та же - процессор греет всё меньше и меньше.
                Но нет, либо свежее тормозящее говно, либо урезанный функционал.

                С мобильными телефонами - та же фигня. Либо смартфоны для мамкиных студентов, которые с прогрессом всё никак не начнут не тормозить и не терять заряд за сутки. Либо урезанные трубки для 90-летних дедов. Ладно смартфоны - это молодёжно и движуха, но что с нормальными телефонами? Я не пойму, почему надо тратить деньги на инженеров и дизайнеров, которые разработают тебе новую версию 3310, которая не нужна ни смартфонофагам, ни олдфагам, из-за чего надо ещё тратить деньги на втюхивальщиков, когда можно тупо ремонтировать старый цех и штамповать модели нулевых? Не платишь за разработку и втюхивание, и получаешь качественный, не урезанный телефон за те же деньги, за какие продаются современные недотрубки, и имеешь поток покупателей.
                Если доля любителей классических телефонов так мала, то зачем придумывать новые модели? Если она заметна, зачем вставлять людям палки в колёса?

                Я не пойму этот век. У тебя есть возможность ничего не делать и получать все плюшки, но ты выбираешь тот вариант, где надо потратить энергию и всё испортить!
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • >>>"Придется покупать смарт"

                    Приговор.
                    Ответить
                  • > 50 смс
                    Да ладно, у тебя их хоть почистить можно без ёбли.

                    У меня на прошлом ведрофоне от 200-300 смсок начинались феерические лаги из-за которых их даже почистить было сложно. А банк кидает смску на каждую транзакцию с карточки...
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Лол в том, что тормозили на нём только смски. Видимо программисты из гугла не умели в О большое.
                        Ответить
                        • А сообщения были на симке или в памяти телефона?

                          > Видимо программисты из гугла
                          Не факт, что это они писали приложение, которое работало с твоими смсками. Они там сейчас почти что угодно, включая программы для совершения звонков, управления файлами и т.д. отдают на откуп написателям «прошивки», вендорам трубы обычно.

                          Есть даже альтернативные гугл-плею китайские магазины приложений, которые могут распространять апк, никак не заапрувленные гуглом, или наоборот не распространять заапрувленые, потому что они запрещены в китае или типа того. Например, до того, как покемон го появился в россии, был хак, как поставить его, представившись пользователем из австралии или какая-то такая хуета, а у моего приятеля в китайском говномагазине приложений на по-моему Mi он был и так.
                          Ответить
                  • > не дороже 30 евро
                    Да пусть бы и дороже. Продавали бы хоть за 150 евро, но чтоб все параметры как в начале нулевых.
                    Ответить
                  • Современные «бабушкофоны» —говно. Даже если у них две сим-карты, разъём для micro-SD, цветной дисплей, встроенный плеер, всё это говно будет простаивать без дела.

                    Нужно искать аппарат хотя бы с "j2me". У некоторых бывает встроенный "UART". Поскольку "Hyperterminal" из современных "Windows" убрали, устанавливаешь "Putty", подключаешься как к COM-порту. Для чтения SMS вводишь команду AT+CMGL=1. Подробности нагуглишь по имени этой команды.

                    Для чего-нибудь более сложного используется протокол "OBEX" (не путать с юзером ГК с похожим именем). Вот беда, вход в режим "OBEX" у разных моделей производится разными командами, поэтому нужно патчить софт. Была чешская программа "SiMoCo" для обмена информацией с телефоном "Siemens" по протоколу "OBEX". Добровольцы её патчили для других марок и в интернете можно нагуглить пропатченную версию.

                    Как узнать, есть ли эмуляция COM-порта у аппарата? Гуглишь драйвера COM или UART для данной модели. Если такие драйвера существуют, значит, и такой режим существует.
                    Ответить
                  • >> Я не смог найти за разумное время кнопочный телефон с похожим функционалом (включая синхронизацию с компом) не дороже 30 евро.

                    Привет из 2019 года. Пересмотрел кучу моделей, имеющихся в продаже. Почти у всех современных звонилок отсутствует режим модема, поэтому прочитать SMS и записную книжку с компьютера невозможно. «Модем» включается только на выключенном телефоне и используется исключительно для прошивки.

                    Синхронизация с компом есть у следующих моделей:

                    • LG T320. В Москве есть в единственном магазине (похоже на остатки старья), стоит 4 т. р. (55,5 евро по текущему курсу). Есть даже J2ME.
                    https://market.yandex.ru/product--telefon-lg-t320/6437862

                    • Nokia 230. Это не Nokia Asha 230, а какое-то говно со случайно совпавшим номером модели. Цена такая же.
                    https://market.yandex.ru/product--telefon-nokia-230-dual-sim/13139098

                    • Вероятно, у некоторых моделей Fly за ту же цену (если это не ошибка в описании).

                    Пожалуй, всё.

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

                    Раньше я технический прогресс как-то по-другому представлял.
                    Ответить
                    • > технический прогресс
                      А что не так? Был бы спрос как раньше - продолжали бы делать нормальные. А сейчас это тупо не окупится.
                      Ответить
                      • Судя по отзывам в «Яндекс-Маркете», на «4PDA» и ещё на куче сайтов спрос на звонилки с функциями есть. Не все хотят держать смартфон в качестве основного телефона.

                        К тому же разве сложно сделать нормальную звонилку? Ведь сейчас её не нужно делать с нуля. Синхронизация с компом, J2ME и ещё куча функций была в старых прошивках. Если процессор совместимый, все дополнительные функции можно просто скопировать из прошивки от предыдущей модели.
                        Ответить
                        • > скопировать
                          Боюсь, что новый кусок говна им написать дешевле... Код там скорее всего непортабельный и прибитый гвоздями к конкретному чипсету, разрешению и т.п. Всё-таки прошивка - нихуя не ось.

                          А на нормальную разработку - объём партий уже не тот.
                          Ответить
                          • > Код там скорее всего непортабельный и прибитый гвоздями

                            То есть ему самое место на этом сайте?
                            Ответить
                  • Полапал «Philips Xenium E570». Это такой огромный аккумулятор с функцией звонилки.

                    В рабочем режиме UART задействовать нельзя, следовательно, компом ни записную книжку, ни SMS не прочитаешь. Однако, есть импорт и экспорт VCF-файлов, т. е. список кокококонтактов в полуручном режиме обновить можно, а вот SMS нельзя.

                    Оказывается, на него можно устанавливать внешние программы в формате «VXP». Это такой «ELF» для «ARMv5» (о, ужас), который можно скомпилировать вот таким старым говном:
                    https://developer.arm.com/tools-and-software/embedded/legacy-tools/rvds-and-ads

                    Поддержка «ARMv5» была ещё в старых версиях «gcc» и «clang».

                    Понадобится ещё «MRE SDK». Здесь нашёл ссылки на две версии:
                    http://www.gsmforum.ru/threads/206452-MRE-SDK?p=1046834&viewfull=1#post1046834

                    Готовые программы в формате «VXP» можно взять здесь:
                    https://4pda.ru/forum/index.php?showtopic=501783&st=300
                    http://pranta.mobie.in/files/MRE.html
                    https://soundsip.com/nokia-mre-vxp-games.xhtml

                    Где-то даже «Viber» в формате «VXP» нашёл. Но без «Wifi» его использовать не очень интересно.

                    Поддержка «VXP» есть не на всех моделях даже одной линейки. Нужно проверять.

                    Ещё есть аппараты с поддержкой «MRP» –— это более сложный формат, архив, но не зиповский, а с собственной файловой системой.

                    Список некоторых моделей, поддерживающих «VXP» или «MRP», можно увидеть на «4PDA» по уже упомянутой ссылке.

                    А «J2ME» похоже, что всё. Пишут, что какое-то время ещё были в продаже аппараты с одновременной поддержкой «VXP» и «J2ME», но потом исчезли.
                    Ответить
                    • В упомянутом «Филипсе» UART включается через инженерное меню *#13646633# (нужно перезагружать телефон, а потом снова нужно влезть в меню и перезагрузить, если понадобится увидеть флешку с компа).

                      Команда AT+CPBR есть, значит, записную книжку можно синхронизировать с компом.

                      Команда AT+CMGR работает, значит, SMS тоже можно прочитать.
                      Ответить
                      • Изучаем дальше. В этом большом аккумуляторе с функциями фонарика и звонков стоит процессор MT6260A, относящийся к рахит-тинктуре ARMv5TEJ. Это значит, что плавающий питух и NEON нам не светит, зато есть Thumb, enhanced DSP и Jazelle. Последнее –— довольно забавная штуковина, потенциал которой в этой батарейке никак не использован:
                        https://ru.wikipedia.org/wiki/Jazelle

                        Вроде как пишут, что набор инструкций Jazelle чем-то похож на байткод JVM, но я пока не нашёл документацию по нему.

                        Хеллоуворлд в формате VXP удалось скомпилировать с помощью gcc. Запускается, брат жив, но MRE SDK –— жуткое говнище. Да и вся документация Mediatek –— жуткое говнище. Сёме не показывайте.
                        Ответить
                        • > не нашел
                          Спеки на jazelle вроде как закрытые.
                          Ответить
                          • Какой багор )))
                            Ответить
                          • Сконпелировал под звонилку программу, рисующую в бесконечном цикле точки случайного цвета (что-то вроде скринсейвера). Выйти из программы смог, только выдернув аккумулятор из телефона. Аппарат не реагировал даже на кнопку выключения, хотя я вызовом vm_reg_keyboard_callback зарегистрировал обработчик клавиатуры, завершающий программу по нажатию любой клавиши.

                            Если цикл конечный, то эта штука начинает реагировать на клавиши по завершению отрисовки.

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

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

                                В SDK нашёл функцию vm_create_timer. Похоже, что нужно регистрировать таймер и в обработчике рисовать по чуть-чуть, чтобы у системы оставалось время на обработку клавиш и других событий. По сути «корпоративная многозадачность».
                                Ответить
                                • > программа
                                  > выдернув аккумулятор
                                  Похоже, что там вся прошивка работает в один поток...
                                  Ответить
                                  • Какой багор )))
                                    Ответить
                                  • Оказывается, та же самая среда используется в навороченных электронных часах (существуют часики типа «Samsung Gear»/«Apple Watch», но попроще) и в отладочных платах (типа «Arduinho», но тоже местная медиатековская хрень):

                                    https://forum.xda-developers.com/smartwatch/other-smartwatches/mtk-smart-device-apps-t3430632

                                    http://labs.mediatek.com/en/platform/linkit-assist-2502

                                    Нашёл пример программы, которая постоянно перерисовывает экран. В точке входа там только регистрируется обработчик событий:
                                    void handle_system_event(VMINT message, VMINT param) {
                                        switch (message) {
                                        case VM_EVENT_CREATE:
                                        	/* Init resource for background image */
                                        	vm_res_init(0);
                                        	allocate_drawing_resource();
                                            break;
                                        case VM_EVENT_PAINT:
                                        	/* Graphics library is ready to use, start drawing */
                                        	draw_first_frame();
                                            break;
                                        case VM_EVENT_QUIT:
                                        	free_drawing_resource();
                                        	/* Deinit APP resource */
                                            vm_res_release();
                                            break;
                                        }
                                    }
                                    
                                    void vm_main(void) {
                                        vm_pmng_register_system_event_callback(handle_system_event);
                                    }
                                    Ответить
                                    • (продолжение)

                                      Обработчик вызовет функцию draw_first_frame, когда понадобится инициализировать экран приложения. Эта функция рисует только первый кадр и регистрирует таймер, который будет рисовать последующие кадры:
                                      static void draw_first_frame(void) {
                                          VMUINT8* img_data;
                                          VMUINT32 img_size;
                                          vm_graphic_color_argb_t color;
                                      
                                          /* draw background image */
                                          //img_data = vm_res_get_image(IMG_ID_BG, &img_size);
                                          //vm_graphic_draw_image_memory(g_frame_group[0], 0, 0, img_data, img_size, 0);
                                      
                                          /* draw a purple horizontal blue line from center of screen */
                                          color.a = 255;
                                          color.r = 0;
                                          color.g = 0;
                                          color.b = 255;
                                          vm_graphic_set_color(color);
                                          vm_graphic_draw_solid_rectangle(g_frame_group[1], 10, 10, SCREEN_WIDTH - 20, SCREEN_HEIGHT - 20);
                                      
                                          color.r = 255;
                                          vm_graphic_set_color(color);
                                          vm_graphic_draw_line(&g_temp_frame, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2 + LINE_LENGTH - 1, SCREEN_HEIGHT / 2);
                                      
                                          /* create animation timer */
                                          //g_timer_id = vm_timer_create_precise(100, timer_callback, NULL);
                                          theta = 0;
                                      
                                          /* explicitly trigger 1st frame */
                                          timer_callback(g_timer_id, NULL);
                                      }


                                      Самое интересное происходит в функции timer_callback, которая берёт управление на себя на короткий промежуток времени и тут же возвращает управление системе.

                                      Короче, длинные процессы нужно разбивать на кадры и ждать, когда таймер передаст управление следующему кадру.
                                      Ответить
                                      • Ну обычная хуйня на событиях. Ничего нового.
                                        Ответить
                                        • Возникла идея: написать под это говно клиент «Яндекс-карт». У «Яндекса» есть так называемый «Static API» для карт: указываешь координаты, размер и масштаб, а он в ответ присылает PNG-файл с нужным фрагментом карты.

                                          https://tech.yandex.ru/maps/staticapi/doc/1.x/examples/index-docpage/

                                          https://tech.yandex.ru/maps/staticapi/doc/1.x/dg/concepts/input_params-docpage/

                                          https://static-maps.yandex.ru/1.x/?ll=37.677751,55.757718&size=200,200&spn=0.016457,0.00619&l=map


                                          Осталось изобрести алгоритм кэширования фрагментов.

                                          Функция для отображения PNG в MRE SDK уже есть. Функции для http(s) тоже уже есть.
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                            • Высосал тебе второй глаз, проверь:
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              ████████████████████████████████████████████████████████████
                                              Ответить
                        • У фрипескаря есть опция -Cp ARMV5TEJ:
                          https://wiki.freepascal.org/ARM_compiler_options

                          Осталось только переписать рантайм (SYSTEM.PAS) под это говно.

                          У фрипескаря какая-то проблема с ABI (нельзя переключаться между armhf и armel), но эти ABI отличаются только способом передачи плавающего питуха, а у «MT6260A» никакого плавающего питуха нет, именно поэтому я за «MT6260A».
                          Ответить
      • Что в нём вообще хорошего?
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • > сильно не перегружен
            Т.е. таки перегружен, но не сильно?
            Ответить
          • Телеграм — говно, авторизация по номеру мобильника — кал.
            Ответить
            • Имхо, странно позиционироваться как "анонимный" и "безопасный" и делать аутентификацию по номеру сотика...
              Ответить
              • Подтверждаю. «Анонимность» и «безопасность» телеграма основываются исключительно на добром слове самого Дурова. А Дуров — не Иисус во плоти, верить ему на слово в таких важных вопросах — идиотизм.
                Ответить
        • Кому-то просто захотелось получать погоду в Яунде ещё и на телефон
          Ответить
      • Телеграфчик советую.

        https://en.wikipedia.org/wiki/Telegraphy#/media/File:Morsetaste.jpg
        Ответить
    • > Предлагаю собраться в каком-нибудь говномессенжере

      А зачем? Чтобы снова обсуждать, как построить новый ГК с блэкджеками? Очередной виток спирали истории?

      Судя по тому, что только обсуждение того, в каком мессенджере нужно собраться займёт пару дней (и в итоге все сойдутся на IRC), это обсуждение будет крайне продуктивным и непременно будет стоить потраченного времени.
      Ответить
      • > пару дней
        Посмотри на дату, уже год прошёл, а мессенджер так и не выбрали.
        Ответить
        • Ох, я думал это свежее обсуждение. Лол.
          Ответить
        • Надо выбрать влажный "Telegram". "Telegram" - это модно.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Из прогнозов погоды.
              Ответить
            • Вот раньше сразу говорили, что продукт таки сыроват, а сейчас "влажный".

              Продукт сырой Продукт влажный
              Программой невозможно пользоваться Предлагаем эксклюзивную версию нашим постоянным клиентам за месяц до официального релиза
              Нет денег на тестеров Получите возможность опробовать наш самый свежий продукт
              Мы задолбались в безуспешных попытках заставить это работать Объявляем о том, что завтра релиз
              Ответить
            • Конардо вычитал в тнтернетах что у девушек влажнеет когда им нравится мужчина, и хотя в реале он с этим явлением не сталкивался -- слово ему понравилось, и он стал его активно форсить. Тоже самое случилось со словом "течь"
              Ответить
          • показать все, что скрытоvanished
            Ответить
    • показать все, что скрытоvanished
      Ответить
      • Зачем? Чтобы получить по еблу за "тебезащекупроверь"?
        Да и, вообще, лично я предпочитаю ничего не знать о тех, с кем я взаимодействую в Интернете - мне так приятнее. Бывает, сотрудничаешь с кем-то удалённо на протяжении месяцев или лет, особо не интересуясь, что за хуец переводит тебе бабло, а потом случайно видишь ЭТО во "ВКонтакте" - и сразу на душонке появляется чувство отвращения: один на аватаре качает мерзкого младенца, другой заваливает свой профиль фотографиями коллективного адидасного посасывания кальяна за какими-то гаражами, третий отметился на левых форумах, где его, внезапно, обвиняют в мошенничестве; а вроде как все строгенькие, культурненькие, правильнение, приятненькие... Поэтому я ничего ни ком не хочу знать.
        Ответить
      • показать все, что скрытоvanished
        Ответить
      • Это же форум хикки, они и на улицу то не выходят. Кроме того таких людей как Стертор или Конардо я видеть в реале не хочу, они же ебанутые наглухо
        Ответить
        • Ты нихуя не инканус. Ты 3,14 (не прототип, а оригинал)
          Спалился, ты, баклан.
          Ответить
        • Будем честны - в реале никто не горит желанием увидеть тебя, ибо ты некомпетентен во всех вопросах, связанных с IT, и, следовательно, для данного форума и его обитателей являешься мусором. Собственно пися, как и "CTEPTOP".
          Ответить
          • "-а". забыл. Обращение же.
            Ты приносишь большую пользу обществу - боец невидимого пхронта, ни дать ни взять, одни только ники чего стоят!.. Лишь истинные ценители способны по-достоинству оценить твой утончённый йумор, здесь таких нет; был один - и тот свалил.
            Съебись отсюда нахуй, быдлецо.
            Ответить
            • >>>"Съебись <...> нахуй"

              Ты и твоя родня не оставили там ни пяди поверхности, на которую я мог бы ступить.
              Ответить
              • Ебать, ты что жопой ходишь? Или у тебя колёсико в анусе?
                Не люблю я, когда во время отсоса болтают лишнее.
                Ответить
                • Молчу. Соси в тишине.
                  Ответить
                  • Ты находишься в противоположной реальности. Вернись в настоящую, я уже кончаю...
                    Ответить
                    • >>>"я уже кончаю"

                      Кто разрешил? Помнится, в тот вечер, когда я выбил тебе два верхних резца, до твоего сведения было ясно доведено, что кончать ты можешь только по праздникам или по случаю моего из ряда вон выходяще хорошего духа.
                      Ответить
    • показать все, что скрытоvanished
      Ответить
    • >> Предлагаю собраться в каком-нибудь говномессенжере

      Крайне не рекомендую произносить последнее слово из этой фразы в присутствии посонов с района.
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Какой багор )))
        Ответить
      • Цветов много, не только синь. Могу ещё рассказать о том, как кленёночек маленький матке зелёное вымя сосёт, или о том, как отелившееся небо лижет красного телка.
        Ответить
    • Вот есть GitHub Enterprise, появился SO for teams, надо сделать такой же SaaS на говнокоде.

      Типа регаешь адрес вида yourcompanyname.govnokod.ru и получаешь внутренний уютный корпоративный говнокодик.

      Страйкер, дарю идею
      Ответить

    Добавить комментарий