Главная / Сериалы (страница 2)

Сериалы

Новый язык программирования Mash

На протяжении нескольких лет я пробовал свои силы в разработке своего языка программирования. Мне хотелось создать на мой взгляд максимально простой, полнофункциональный и удобный язык. В этой статье я хочу осветить основные этапы своей работы и для начала описать созданный концепт языка и его первую реализацию над которой сейчас работаю. Заранее скажу, что писал весь проект на Free Pascal, т.к. проги на нем можно собрать под огромное число платформ, да и сам компилятор выдает очень даже оптимизированные бинарники (собираю все составляющие проекта с O2 флагом). Среда выполнения языка Первым делом стоит рассказать о виртуальной машине, которую мне пришлось писать для выполнения будущих приложений на моём языке. Решил я реализовывать стековую архитектуру, пожалуй, потому что так было проще всего. Ни одной нормальной статьи как мне это сделать на русском я не нашел, так что после ознакомления с англоязычным материалом я засел за проектирование и написание своего велосипеда. Далее буду приводить свои «передовые» идеи и разработки в этом деле. Реализация стека Очевидно, во главе ВМ лежит стек. В моей реализации он работает блоками. По сути это простой массив указателей и переменная для хранения индекса вершины стека. При его инициализации, создается массив на 256 элементов. Если в стек закидывается большее число указателей, то его размер увеличивается на следующие 256 элементов. Соответственно, при удалении элементов из стека — его размер регулируется. В ВМ используется несколько стеков: Основной стек. Стек для хранения точек возврата. Стек сборщика мусора. Стек обработчика try/catch/finally блоков. Константы и переменные С этим все просто. Константы обрабатываются отдельным небольшим куском кода и доступны в приложениях в будущем по статическим адресам. Переменные представляют собой массив указателей определенного размера, доступ к его ячейкам осуществляется по индексу — т.е. статическому адресу. Переменные можно помещать в вершину стека или читать её оттуда. Собственно, т.к. у нас переменные по сути хранят указатели на значения в памяти ВМ, …

Подробнее »

ВКонтакте вычисляет ваше местоположение по IP

19 ноября 2018 года социальная сеть vk.com дала пользователям возможность скачать архив со всеми данными о них, имеющихся у соцсети. Скачав свою копию такого архива, помимо данных, которые я там ожидал увидеть, я обнаружил, что вконтакте знает два моих домашних адреса с точностью до 5 метров. Я никогда в жизни не давал доступ к местоположению ни приложению вконтакте на IOS, ни сайту vk.com в браузере. Один из адресов определился как «Работа/учёба», но по факту это просто моя вторая квартира. Которая, кстати, появилась в моей жизни всего около 3-х месяцев назад. Мне стало любопытно, где-же я так оплошал, что такие данные утекли у меня из под носа. С этим вопросом я обратился в поддержку vk.com. Оказывается, всё дело в моём IP. Под катом скрин переписки. Вот такая вот весёлая новогодняя история 🙂 А вы как считаете, как vk.com смогли узнать, где я живу, без доступа к моей геопозиции на устройствах? И не обнаруживали ли вы чего лишнего в своих архивах? P.S. Единственное мобильное устройство на IOS, пользуюсь официальным приложением vk. Единственный ноутбук на Mac OS, пользуюсь сайтом vk.com в браузере Chrome, и их официальным Vk Messenger. UPD Общими усилиями с 1c80 выяснили, что всё немного прозаичнее. Если вы заказывали себе еду в Delivery Club, адреса доставки автоматически сливаются Вконтакте. Причём вы сами соглашаетесь на это при доставке. Источник

Подробнее »

Очередная статья о том, как выбрать себе смартфон

Здравствуйте, уважаемые хабровчане, решил перевести статью с медиума по выбору смартфона. Это моя первая публикация на Хабре, так что прошу не судить строго. Определяем свой сценарий использования Довольно часто наши решения о покупке чего-либо основаны на мнениях людей, на которых мы рассчитываем или за которыми мы следим в социальных сетях, и брендах/устройствах, которые эти люди предпочитают. Выбор, основанный на этих критериях, может принести удовлетворение только на какое-то мгновение, но чтобы получать удовольствие от использования смартфона в дальнейшем, нужно быть немного осмотрительнее. Смартфон превратился в устройство, которое одновременно может выполнять несколько задач: выход в интернет, камера, и, конечно же совершение голосовых вызовов. Чтобы максимально эффективно использовать свой девайс, вы должны сначала понять, какими функциями вы пользуетесь чаще всего. Для многих смартфон — это все еще устройство исключительно для голосовых вызовов, для активных интернет-пользователей важную роль играет процессор и программное обеспечение, а для тех, кто любит смотреть фильмы и сериалы на устройстве, качество экрана и динамиков являются самыми главными показателями. Для многих людей камера является приоритетом, хотя они едва используют ее. Камера может быть важным критерием при выборе смартфона, только если вы делаете по 10–15 снимков каждый день. Если вы любите мобильный гейминг, то аккумулятор, процессор, хороший экран и динамики — ваши основные показатели при подборе, небольшой компромисс в отношении камеры в данном случае имеет смысл. Для людей занятых активной деятельностью, которым всегда необходимо оставаться на связи, необходима быстрая зарядка и внушительный объем батареи. К таким людям относятся, например, фрилансеры, которым постоянно необходимо быть в курсе получения заказов на работу. Ниже представлены четыре основных критерия по выбору смартфона, определившись с которыми, вы сможете сделать правильный выбор и не пожалеть впоследствии. Процессор Когда производитель решает сделать смартфон, первым его выбором будет выбор процессора. Ваш телефон может иметь две камеры, только если ваш процессор поддерживает их наличие, он может иметь экран с разрешением QHD …

Подробнее »

Полгода с разными беспроводными наушниками: что я выбрал

Я один раз надел по-настоящему беспроводные наушники, и кабели после этого, пусть даже это и гибкое оголовье на беспроводной гарнитуре, стали раздражать. Поэтому все новые уши вроде эппловских AirPods я воспринимаю с энтузиазмом и стараюсь погонять какое-то время. В 2018-м помимо AirPods я успел поносить Jabra Elite 65+, Samsung IconX 2018 и Sony WF-1000X. В итоге получилась сравнительная табличка под катом — в ней объективные данные. А все остальное — мои субъективные наблюдения и тема для обсуждения. Стоит признать, что Apple и Samsung постарались как следует: почти все мои знакомые считают, что первые беспроводные «затычки» появились у какого-то из этих брендов. А на самом деле такие «уши» показали сразу несколько компаний, в январе 2015 года на выставке CES: FreeWavz, Bragi и HearNotes. Все эти наушники-пионеры ожидаемо не взлетели. На следующий год 15 июля свои «true wireless headphones» попробовал выкатить Samsung — Gear Icon X тоже по-настоящему массовыми не стали. А потом в 2016 на дорогу выехала маркетинговая машина Apple и понеслась: AirPods стали популярны сами по себе и за собой потащили целый сегмент. Сейчас по дороге в офис (в Москве) я успеваю заметить человек 10 с узнаваемыми белыми затычками. И еще нескольких — с чем-то альтернативным. В 2018 было из чего выбрать. Помимо упомянутой четверки есть варианты в разной ценовой категории: B&O (E8 ~ 20 000 ₽), JBL (Free ~ 9 000 ₽), краудфандинговые TicPods (~ 9 000 ₽, все еще не в продаже). Еще такие есть у Onkyo (W800BT ~ 30 000 ₽) и Bose (SoundSport Free ~15 000 ₽). И Meizu не перестает демпинговать (Pop TW50 ~ 7 000 ₽). И Huawei показал свою вариацию на тему (FreeBuds ~ 8 000 ₽). А у Sony, пока я гонял предыдущую, даже вышла еще одна годная модель (WF-SP900 ~ 20 000 ₽). В общем, если будет интересно, эксперименты можно продолжить, …

Подробнее »

Неканоничный ламповый усилитель

Всем доброго времени суток! Как-то, холодным тоскливым вечером, почитывал я статью про высококачественный усилитель класса D c Aliexpress. И пришла мне в голову мысль рассказать про свою DIY-поделку. А вот теперь дошли и руки. Ниже приведен ворклог об изготовлении очередного-сколько-уже-можно лампового (и не только) усилителя. Статья изобилует несерьезностью и петросянством, но все же пару, возможно, полезных схем вы здесь сможете найти. Предупреждения: ОСТОРОЖНО, трафик! Много картинок. ОСТОРОЖНО! В представленых схемах используются опасные для жизни напряжения. Воспроизводя приведённые схемы, вы делаете это на свой страх и риск. Автор не несёт ответственности за последствия, наступившие в результате дублирования как всего устройства, так и отдельных его частей. Сразу уточню: Усилитель не Hi-End и не Hi-Fi, т.к при его производстве не было использовано ни грамма порошковой краски! Я не являюсь приверженцем конфессии душевного, теплового лампового звука. Но лампы так прикольно светятся… На возможные вопросы класса «А зачем вообще?» заготовлен ответ «Потому что хобби». Повторюсь: весь проект был затеян не ради получения «лампового» звучания, а из-за особой эстетики хорошо сделанных ламповых усилителей. Именно эстетика и стала основой подавляющего большинства возникших проблем. Она же определила конечную стоимость, довольно ощутимо перевалившую за изначальный бюджет: штучное изготовление (в данном случае читай прототипирование) всегда оказывается значительно дороже, чем могло показаться на первый взгляд. Так же сразу хочу отметить, что задача стояла разработать усилитель с нуля, не сводя все к банальному «купил в интеренете набор, запаял и вставил в коробку из-под обуви». В конце-концов, это все-таки DIY-проект, тут должен быть вызов, страдания и желание все бросить куда подальше! Однако вдаваться в крайности тоже не стоит. В теории, можно сделать все совсем без использования покупных изделий, но в данном случае нужны соответствующие инструменты (читай станки), иначе результат может, мягко говоря, разочаровать. Вопрос лишь в конечной цели. Итак начнем! Пьеса въ четырехъ актахъ. Героическій эпосъ Актъ первый. Планированіе Хорошее планирование – залог …

Подробнее »

Годовой запас Porsche Taycan уже зарезервирован, в основном владельцами Tesla

Первый электро спорткар Porsche может стать самым ожидаемым автомобилем 2019 года. Даже владельцы Tesla заинтересованы. В недавнем интервью изданию CNET президент и главный исполнительный директор Porsche Северная Америка Клаус Зеллмер (Klaus Zellmer) заявил, что если каждый, кто внес депозит для предзаказа автомобиля, действительно его купит, то модель Taycan будет полностью распродана в первый год её производства. Кто эти клиенты делающие предоплату? По словам Зеллмера, более половины не владели или не владеют Porsche, а также часть потенциальных клиентов приходят из Теслы. Цитата с сайта CNET: Если мы посмотрим на источник нашего бизнеса, то обычно это люди приходящие к нам из других брендов, это владельцы Audi, BMW или Mercedes. А сейчас источник номер 1 это Тесла. Довольно интересно наблюдать, как люди интересовавшиеся Теслой по объективным причинам, не перестают проявлять любопытство. Зеллмер не сообщил никаких подробностей или цифр и неясно сколько всего было внесено депозитов, а также какое количество автомобилей Taycan Porsche планирует производить в год. Ранее говорилось о планах производить около 20 000 экземпляров в год. В Ноябре Генеральный директор Porsche Оливер Блюм сообщил, что спрос на Taycan побудил автопроизводителя увеличить производственные мощности, но не указал на сколько. Срок начала продаж модели Taycan — конец 2019 года. Модель Porsche Taycan, ранее известная как Mission E, будет поставляться в трех вариантах: Базовая модель Taycan за $90 000 Полноприводная Taycan 4s стоимостью около $100 000 И модель премиум класса Taycan Turbo с ценой от $130 000 Такая ценовая политика компании Porsche ставит Taycan в один ряд со старшими моделями Tesla Model S (100D — $96 000, P100D — $135 000), что не является неожиданностью, поскольку они должны быть прямыми конкурентами. Интересные особенности модели: Отсутствие боковых зеркал. Виртуальные боковые зеркала привлекают внимание в прямом смысле этого слова: изображения с камер отражаются в нижних углах лобового стекла. Таким образом, водитель лучше видит изображения, а также их …

Подробнее »

Зал славы потребительской электроники: истории лучших гаджетов последних 50 лет, часть 1

Сегодня мы все привязаны к нашим гаджетам. Мы, жители развитых стран, просыпаемся под звук смартфона, как одержимые постоянно обращаемся к нему в течение дня, а потом засыпаем, не выпуская его из рук. С рассвета до заката мы смотрим на наши умные часы, на мониторы, телеэкраны и планшеты, слушаем радио и другую аудио электронику, часто через наушники. Иногда запускаем дроны, делаем фотографии при помощи фотокамер, встроенных в сотовые телефоны или играем на приставках. Мы привыкли к устройствам, помогающим нам в работе и в отдыхе, и к некоторым устройствам, которые не просто помогают нам, а полностью автоматизируют часть нашей работы и отдыха. Вся эта инфраструктура гаджетов была создана инженерами-электротехниками в течение десятилетий. Некоторые из их примечательных творений мы вспоминаем с удовольствием, но многие уже забыты. И мы в журнале IEEE Spectrum решили выбрать наилучшие гаджеты за последние 50 лет и воздать им должное. Раскрыть и описать все почему, как и когда. И, да, конечно, это будет спорный материал. Мы даже сами спорили по поводу этого списка, и получили от этого массу удовольствия. Что было важнее – Roku или TiVo? Пережив клевету, взаимные обвинения и выпив пол-ящика пива, мы пришли к соглашению. Но до того, как начать этот список, необходимо выбрать критерий. И вот наши критерии. Во-первых, это гаджеты, появившиеся после 1968 года. Да, до 1968 года тоже была потребительская электроника. Время с 1920-х по 1950-е было временем фонографов, а также радио- и телеприёмников, выступавших в роли мебели. Но всё интересное началось с конца 1960-х. Повсюду появились дешёвые транзисторы, и дизайнеры начали использовать миниатюрные интегральные схемы. Твердотельная электроника стала кислородом, запитавшим кембрийский взрыв, приведший к появлению сегодняшних процветающих джунглей гаджетов. Интегральные схемы и другие твердотельные ингредиенты позволили инженерам создать реально полезные, компактные и надёжные гаджеты. Такие, которым удалось заставить нас раскошелиться. Определив временные рамки, можно начать думать о том, какие именно предметы нужно …

Подробнее »

Почему меня нервируют отказы современных SSD

Сегодня один из SSD на одном из наших новых файловых серверов под Linux умер. Это не первая и, вероятно, не последняя смерть SSD, с которой мы столкнёмся, но, как почти всегда в таких случаях, я почувствовал, как шалят мои нервы – а всё из-за сочетания характера отказов SSD, их похожести на «чёрный ящик» и твердотельной природы. Как и большинство других отказов SSD, этот произошёл внезапно; диск перешёл из состояния прекрасно работающего в состояние вообще не реагирующего ни на что секунд за 50, без какого бы то ни было предупреждения через SMART или что-либо ещё. Вот он радостно обрабатывает запросы на чтение и запись (по всем внешним признакам, в том числе и ZFS, которая не жаловалась на контрольные суммы), а вот уже нет никакого Crucial MX300 на SAS-порту. Первое сообщение от ядра Linux об отказе IO-операций поступило в 20:31:34, а официально отсутствующим диск был объявлен в 20:32:15. Однако реально диск мог сразу перестать отвечать на запросы – мне не совсем понятны сообщения драйвера. Что беспокоит меня больше всего по поводу этих резких отказов SSD – так это насколько они непонятны, и что я не могу сам себе объяснить, что именно пошло не так. Когда жёсткий диск крутится, он тоже может внезапно помереть, но, по крайней мере, можно составить объяснение того, что случилось перед этим – заклинило мотор, или случился другой физический отказ, приведший к резкому останову. SSD – твердотельные и таинственные, и у меня нет никаких объяснений тому, что пошло не так, особенно когда диск ещё молод и не должен был подходить к исчерпанию лимита жизни флэш-ячеек. Когда HDD помирает в юном возрасте, можно представить, что у него не выявили проявившиеся в итоге дефекты производства. С SSD теоретически такого происходить не должно, поэтому его ранняя смерть особенно беспокоит. Возможно, во флэш-ячейках тоже могут быть необнаружимые дефекты изготовления. А когда у меня …

Подробнее »

Спустя два года я всё ещё скучаю по разъёму для наушников

Два года назад компания Apple убила разъём для наушников. И я её до сих пор за это не простил. Когда Apple объявила, что у iPhone 7 не будет разъёма для наушников, я сразу же испытал раздражение по этому поводу. Я подумал, что, возможно, через несколько месяцев я к этому привыкну. Но нет. Я решил, что в самом худшем случае сменю платформу. А затем за нею последовали все остальные компании. Это ощущение раздражения мне не в новинку. Я ненавидел адаптеры для наушников на телефонах и писал об этом на сайте TechCrunch с 2009 года. И какое-то время мне казалось, что всё налаживается. Это был мир, полный донглов и драных проприетарных аудиоразъёмов. У Sony Ericsson был разъём FastPort. У Nokia был Pop-Port. У Samsung было штук десять разных разъёмов, на которые всем было положить. Пока ещё ни один производитель телефонов не победил в той гонке, и ни один разъём не получил распространения – но каждый производитель хотел, чтобы первое место занял именно его разъём. Даже у телефонов со стандартным аудиоразъёмом в основном был разъём на 2,5 мм, из-за чего переходник требовался всё равно. А потом появился оригинальный iPhone с разъёмом на 3,5 мм. Это был странный, утопленный разъём на 3,5 мм, с которым работали не все наушники, но это был разъём на 3,5 мм! Apple развивала успех iPod, и люди до анонса этого телефона, о котором было известно только по слухам, называли его iPod Phone. Как у такого устройства могло не быть разъёма для наушников? Продажи iPhone начали расти. Несколько миллионов в 2007. Почти 12 млн в 2008. 20 млн в 2009. Тенденция родилась. Стеклянная плитка от Apple завоевала мир смартфонов, и другие производители пытались понять, что именно компания сделала правильно. Рынок смартфонов, одно время заполненный громоздкими монстрами с кучей кнопок (этот со слайдером, этот поворачивается) выровнялся. От модели к модели все …

Подробнее »

Одноразовые зарядные устройства. За что нам это?

Написать эту короткую заметку меня побудило данное фантастическое изобретение неизвестного китайского гения. Цель всей заметки — рассказать что за устройства находятся на рынке, что в них можно достать и кому это может понадобиться. Хочу верить, что некоторый процент читателей задумается дважды, прежде чем покупать такое изделие. Помимо этого, часть читателей-технарей будет знать где найти специфичные комплектующие в случае крайней необходимости. Речь пойдет вот таком маленьком внешнем зарядном устройстве для телефона. Как оказалось, такие одноразовые зарядники весьма популярны в сети (можно найти по $2 за штуку). Более того, постепенно проникают и в розничную продажу. В первый момент меня поразила сама идея. Если верить информации с корпуса, данный девайс аналогичен автомобилю с запаянным баком на 15 литров — по исчерпанию запасов топлива авто предполагается к утилизации. Производить такое устройство это все равно что отобрать у своего ребенка чистую реку перед домом за возможность сделать глоток воды сейчас. Использовать такое устройство это все равно что мыслить в стиле Марии-Антуанетты: «Если у кого-то на планете плохая экология, пусть улетят и колонизируют с хорошей!» И во всей этой истории меня задевало не только пренебрежительное отношение к экологии, но и отношение к технике. Посмотрите сами: банк скрывает аккумулятор на 1500 мАч, плату с повышающим преобразователем и комбинированный разъем Lightning + Micro USB. Все это предполагается выбросить после однократного использования. Чтобы немного обострить чувства, можно отметить что аккумулятор можно перезарядить в среднем 500 раз. Таким образом, покупая это устройство, пользователь исчерпывает ресурс только на 1/500 от возможного, а выбрасывая — выводит из обращения некоторый объем лития, который уже вряд-ли вернется в обращение в ближайшие 100 лет. Забегая немного вперед, хочу подтвердить что это действительно аккумулятор и соответствие заявленной емкости было проверено с помощью зарядного устройства HYPERION EOS 0606i (два цикла разряд-заряд аккумулятор выдержал без заметной потери емкости). Во вторых, меня удивила плата преобразователя. Нельзя сказать что схемотехника …

Подробнее »