Для этого и есть oui.txt — там содержатся зарегестрированные в IEEE вендоры телефонов вместе с их первыми шестью байтами. Или ты имеешь в виду брутом пройтись по всем остальным шести байтам?
То есть, в идеале, любой человек может спокойно собирать базу всех пассажиров метро, у кого какой номер (и марка) телефона, пол, семейное положение, род занятий, где живёт, где работает, в какую возрастную группу входит и так далее. Замечательно!
Займет это довольно таки мучительно долго, но в принципе легко распараллелить нагрузку на несколько usb-wifi карт, одной собирая маки и другими их проверяя. Если бы я нашел всё же способ представится под любым маком, то статья бы уже назвывалась "«Watch Dogs: Москва», или приложение для самых быстрых знакомств". Ну и был бы не скрипт, а полноценное Android-приложение.
У современных российских предпринимателей крупного масштаба, сколотивших первый капитал в 90е годы, история «первого миллиона» навсегда останется тайной :)
А у большинства предпринимателей современного поколения первый капитал будет в стиле «родители одолжили» или «я работал простым чиновником, а потом решил открыть сеть магазинов, там-сям занял, и открыл» :)
Для рядового обывателя всё это разбивается обычно о — «где деньги, Зин»? Любой фэйл не бесплатен. Если нет богатого родителя/родственника, то первый-второй становится последним. Или попытки прекращаются на долгие годы.
Это все самооправдания. Психология бедных, чтобы ничего не делать, не пытаться и до смерти сидеть на попе ровно.
У меня знакомые неоднократно раззорялись вплоть до того, что лишались заложенных квартир. Но те кто успешны — они не сдавались. Десятилетиями. Вот и вся разница. На съемным квартирах тоже можно жить.
Сыну владельца заводов-газет-пароходов не интересно начинать бизнес на 100 000 рублей. В случае положительного выхлопа он даже на свои ежедневные обеды не заработает.
Бизнес дело дорогое.
И чем больше вложение — тем гарантированее успех, тем больше выхлоп.
Дети богатых родителей закладывают огромные суммы и способны раззорить семью так же как и дети бедных.
Вот знания и опыт родителей — это да.
А деньги — это не тот бонус, не то, что влияет принципиально на успех.
Да разумеется, бывшей детдомовке открыть маленький магазинчик — это напрячья и перенапрячься года 2 подряд.
А сын олигарха Прохорова (у него нет детей, это так, утрирую), может открыть ровно то же самое на деньги, сэкономленные на завтраках.
Но только смысл для детдомовки в этом есть, а для сына Прохорова в этом смысла никакого нет.
Все так. Но в книжках и на тренингах по "успешному успеху" обычно о таком не рассказывают (потому, что не "круто" и потому что реального опыта у тренеров и коучей часто исчезающе мало — у них просто нет истории провалов).
В сухом остатке, пожалуй, работающих стратегией остаётся только 2:
1) "проверять" модель, "пробовать" с минимальными кап вложениями +"Секси-идея" далеко не всегда по рентабельности обгонит точку по продажи шаурмы.
Если вероятность провала 0.9, то попробовав 5 раз — вероятность что все попытки буду провальными уже 0.6 ;)
2)участвовать в нескольких проектах параллельно своими связями/опытом.
Ошибка выжившего — на одного, который смог, которому повезло, приходятся сотни тысяч, которые не смогли, которым не повезло. Но они никому не интересны, хотя по ним-то как раз и можно было бы составить статистику, выявить закономерности и чему-то научиться.
Проблема в том, что большинство не рассказывают правду о старте.
Правда скучна для развлекательной прессы.
Правда — это «у основателя железная задница», то есть настойчивость изо дня в день бить лбом стену, пока она раскрошиться и откроет ему доступ к сокровищам.
Кому это интересно?
Кто в это поверит?
Кто понимает, что из бедного человека только труд и делает богатого.
Нет, ну наверно все понимают, но применять к себе такое количество труда не хотят, легче думать, что успех придет из-за какой то гениальной идеи или родственников, а не потому что нужно самому долго-предолго напрягаться.
Людям гораздо больше нравится думать так как вам:
Очень часто можно увидеть статью о «молодом перспективном бизнесмене» который сделал свой миллион самостоятельно в 16(!) лет, но почему-то все молчат что у него папа тоже бизнесмен, что у него куча «связей» отца, адвокаты, бухгалтера и тд...
Иногда такие истории успеха пишутся только, чтобы их потом продать. «Этот парень заработал в 16 лет первый миллион и мы вам расскажем как всего за 10тыс рублей»
С историей всё ещё хуже. Та история что преподаётся в школах это всего лишь ещё один инструмент пропаганды. Окончательно убедился в этом ознакомившись с циклом передач(а сейчас и книга есть) Евгения Понасенкова «Правда о войне 1812 года».
Первый проект достался по знакомству, команда разработчиков была сманена от действующей компании, код конкурента был нагло вскрыт и изучен — кто же такое расскажет?
Сталкиваясь с таким задаюсь вопросом — а что же мы учим на уроках истории — документы, доступные для историков, тоже ведь далеко не всегда создавали с целью вскрыть правду-матку государю-цезарю-императору.
Проблема в том, что большинство не рассказывают правду о старте.
Очень часто можно увидеть статью о "молодом перспективном бизнесмене" который сделал свой миллион самостоятельно в 16(!) лет, но почему-то все молчат что у него папа тоже бизнесмен, что у него куча "связей" отца, адвокаты, бухгалтера и тд...
Отделение контракта чтобы не тащить за собой зависимости реализации.
Раздельное управление API и реализацией.
Добавление явных декораторов вместо неявных аспектов.
Улучшение читаемости API.
Сокрытие платформозависимого компонента, конечно же.
Можно, наверное, еще подумать, зачем может быть нужен интерфейс с единственной
реализацией, но и приведенного должно быть достаточно.
Конечно, легко себе вообразить проект, где перечисленные выше причины вообще никогда не возникнут, но в моем текущем проекте и во всех предыдущих за последние лет 6 наличие интерфейса практически у любого сервиса подразумевалось по умолчанию.
Не минусовал, но конкретно я бы предпочел мокать final класс, чем создавать бесполезный интерфейс с одной реализацией, только для того, чтобы мокать его в тестах.
То есть я бы сказал, что просветом в дизайне являются скорее такие интерфейсы, если на их существование нет никакой другой весомой причины (например, скрыть платформо-зависимые компоненты).
Ну а открывать класс только для того, чтобы его можно было мокнуть без Mockito 2 — тоже не сильно хорошо.
Передача по ссылке или значению — это архаизмы реализаций компиляторов и языков прошлых лет, когда это имело смысл. На сегодняшний день важно лишь, что описываемая сущность является мутабельной или иммутабельной. В случае иммутабельной сущности нам не важно передается ли она по значению или по ссылке и где физически она находится в памяти — это уже внутренние проблемы компилятора и рантайма. При операциях с иммутабельными сущностями каждый раз создается новый экземпляр. Таким образом иммутабельные классы полностью идентичны value type (подразумевается наличие equals()/hashCode()).
В случае же мутабельной сущности, мы имеем каждый раз дело с экземпляром, занимающим определенное место в памяти, и поэтому осознанно работаем с ним по ссылке (некоему хэндлу, если угодно). Для передачи информации о внутреннем состоянии мутабельного объекта вовне есть два способа: хороший — обернуть его иммутабельным врапером, либо плохой: просто сделать defensive copy и отдать на растерзание. Структуры в Свифте — это просто реализация defencive copying по умолчанию, тогда как в Котлине это нужно делать въявную. Мне кажется не стоило делать отдельный класс объектов языка только лишь для реализации одного паттерна. Тем более, что изначально структуры (записи) в языках программирования означали немножко другое и появились задолго до классов.
да, прошу прощения, неправильно понял, всё верно про возможность мокировать по тайпклассу. Очень это приятная фича, которой нет в жвм платформе. Есть реализация в форке котлина, но у этого всего плохая совместимость с джавой и сложность в корректной поддержке во всех аспектах, так что не факт, что тайпклассы появятся даже как экспериментальная фича в котлине
en.wikipedia.org/wiki/OSI_model
А у большинства предпринимателей современного поколения первый капитал будет в стиле «родители одолжили» или «я работал простым чиновником, а потом решил открыть сеть магазинов, там-сям занял, и открыл» :)
Это все самооправдания. Психология бедных, чтобы ничего не делать, не пытаться и до смерти сидеть на попе ровно.
У меня знакомые неоднократно раззорялись вплоть до того, что лишались заложенных квартир. Но те кто успешны — они не сдавались. Десятилетиями. Вот и вся разница. На съемным квартирах тоже можно жить.
Сыну владельца заводов-газет-пароходов не интересно начинать бизнес на 100 000 рублей. В случае положительного выхлопа он даже на свои ежедневные обеды не заработает.
Бизнес дело дорогое.
И чем больше вложение — тем гарантированее успех, тем больше выхлоп.
Дети богатых родителей закладывают огромные суммы и способны раззорить семью так же как и дети бедных.
Вот знания и опыт родителей — это да.
А деньги — это не тот бонус, не то, что влияет принципиально на успех.
Да разумеется, бывшей детдомовке открыть маленький магазинчик — это напрячья и перенапрячься года 2 подряд.
А сын олигарха Прохорова (у него нет детей, это так, утрирую), может открыть ровно то же самое на деньги, сэкономленные на завтраках.
Но только смысл для детдомовки в этом есть, а для сына Прохорова в этом смысла никакого нет.
Все так. Но в книжках и на тренингах по "успешному успеху" обычно о таком не рассказывают (потому, что не "круто" и потому что реального опыта у тренеров и коучей часто исчезающе мало — у них просто нет истории провалов).
В сухом остатке, пожалуй, работающих стратегией остаётся только 2:
1) "проверять" модель, "пробовать" с минимальными кап вложениями +"Секси-идея" далеко не всегда по рентабельности обгонит точку по продажи шаурмы.
Если вероятность провала 0.9, то попробовав 5 раз — вероятность что все попытки буду провальными уже 0.6 ;)
2)участвовать в нескольких проектах параллельно своими связями/опытом.
Ошибка выжившего — на одного, который смог, которому повезло, приходятся сотни тысяч, которые не смогли, которым не повезло. Но они никому не интересны, хотя по ним-то как раз и можно было бы составить статистику, выявить закономерности и чему-то научиться.
Правда скучна для развлекательной прессы.
Правда — это «у основателя железная задница», то есть настойчивость изо дня в день бить лбом стену, пока она раскрошиться и откроет ему доступ к сокровищам.
Кому это интересно?
Кто в это поверит?
Кто понимает, что из бедного человека только труд и делает богатого.
Нет, ну наверно все понимают, но применять к себе такое количество труда не хотят, легче думать, что успех придет из-за какой то гениальной идеи или родственников, а не потому что нужно самому долго-предолго напрягаться.
Людям гораздо больше нравится думать так как вам:
Безусловно это то же есть, но таких меньшинство.
Сталкиваясь с таким задаюсь вопросом — а что же мы учим на уроках истории — документы, доступные для историков, тоже ведь далеко не всегда создавали с целью вскрыть правду-матку государю-цезарю-императору.
Проблема в том, что большинство не рассказывают правду о старте.
Очень часто можно увидеть статью о "молодом перспективном бизнесмене" который сделал свой миллион самостоятельно в 16(!) лет, но почему-то все молчат что у него папа тоже бизнесмен, что у него куча "связей" отца, адвокаты, бухгалтера и тд...
Можно, наверное, еще подумать, зачем может быть нужен интерфейс с единственной
реализацией, но и приведенного должно быть достаточно.
Конечно, легко себе вообразить проект, где перечисленные выше причины вообще никогда не возникнут, но в моем текущем проекте и во всех предыдущих за последние лет 6 наличие интерфейса практически у любого сервиса подразумевалось по умолчанию.
То есть я бы сказал, что просветом в дизайне являются скорее такие интерфейсы, если на их существование нет никакой другой весомой причины (например, скрыть платформо-зависимые компоненты).
Ну а открывать класс только для того, чтобы его можно было мокнуть без Mockito 2 — тоже не сильно хорошо.
Передача по ссылке или значению — это архаизмы реализаций компиляторов и языков прошлых лет, когда это имело смысл. На сегодняшний день важно лишь, что описываемая сущность является мутабельной или иммутабельной. В случае иммутабельной сущности нам не важно передается ли она по значению или по ссылке и где физически она находится в памяти — это уже внутренние проблемы компилятора и рантайма. При операциях с иммутабельными сущностями каждый раз создается новый экземпляр. Таким образом иммутабельные классы полностью идентичны value type (подразумевается наличие equals()/hashCode()).
В случае же мутабельной сущности, мы имеем каждый раз дело с экземпляром, занимающим определенное место в памяти, и поэтому осознанно работаем с ним по ссылке (некоему хэндлу, если угодно). Для передачи информации о внутреннем состоянии мутабельного объекта вовне есть два способа: хороший — обернуть его иммутабельным врапером, либо плохой: просто сделать defensive copy и отдать на растерзание. Структуры в Свифте — это просто реализация defencive copying по умолчанию, тогда как в Котлине это нужно делать въявную. Мне кажется не стоило делать отдельный класс объектов языка только лишь для реализации одного паттерна. Тем более, что изначально структуры (записи) в языках программирования означали немножко другое и появились задолго до классов.