• [Xamarin,IOS,C#] Как изменить UI Controller/переменную в другом View?

    Nomad1
    @Nomad1
    Можно. Конечно, не стоит так делать, но это реально. Подымайтесь по иерархии через Superview, пока не найдете общий контейнер, затем рекурсивно пройдите из этой точки всю иерархию, пока не найдете view2 (например, по типу).
    К примеру, если точно известно, что в контейнере только view1 и view2, то выглядеть будет так:
    UIView2Type view2 = null;
    foreach(UIView view in view1.Superview.Subviews)
        if (view is View2Type)
          {
              view2 = (View2Type)view;
              break;
          }
    Повторюсь: не делайте так, лучше разобраться с архитектурой вначале, чтобы такой задачи не было.
    Ответ написан
  • Есть ли возможность проект, написанный на C# (фреймворк Xamarin), каким-нибудь образом экспортнуть в Eclipse на jave?

    Nomad1
    @Nomad1
    Кратко: нет
    Долго: платформо-независимый код можно конвертировать в Java тем или иным методом довольно просто, но если используется специфичный для Mono или C# вызов, то его надо переделывать. Соответственно, если воспользоваться каким-либо авто-конвертером синтаксиса, который readonly привратит в final и пр., код компилироваться не будет без ручной обработки. Если же использовался какой-нибудь ReactiveUI, то интерфейсную часть надо будет переписывать на нативную реализацию. С GL или интерфейсом Xamarin.Android попроще, достаточно будет заменить OpenTK вызовы на эквиваленты в Java.
    Ответ написан
  • Информацию по программированию модемов-роутеров Vertex Wireless?

    Nomad1
    @Nomad1 Автор вопроса
    Окей, я потратил кучу времени, нашел эксплоит в веб-интерфейсе, получил рут-доступ на устройство, пробросил com-порт по TCP и смог перепрошить устройство через QPST и DFS. К сожалению, устройство не находит сеть провайдера, а деталей не сообщает. Если разберусь и смогу это вылечить, то напишу большую статью.=
    Ответ написан
  • Как программы показывают iAD в России?

    Nomad1
    @Nomad1 Автор вопроса
    Встречный вопрос: а Вы уверены что провайдером рекламы был Apple?

    У рекламы iAD уголок справа загнут и написано iAD.

    Мне кажется что рекламу правильней отображать следующим образом (идея не моя, вычитал где-то на форуме):

    Собственно, ничего особого тут нет, так делают аггрегаторы AdWhirl, AdMob Mediation и другие. Я раньше так это вручную, сейчас через AdMob Mediation.
    Вообще, раньше я iAD видел только в тестовом режиме, а затем в приложениях Ximad и этом фонарике. Значит какой-то трюк таки существует.
    Ответ написан
  • Какие есть рекламодатели для Windows 8?

    Nomad1
    @Nomad1 Автор вопроса
    Если кому интересно, я решил вопрос ротацией между тремя источниками:
    — House Ads — собственные баннеры для других проектов
    — AdDuplex — баннерообменная сеть, по-сути дающая то же, что и House Ads. За 10 показов чужого баннера получаю 8 показов своего в других программах
    — собственная реализация SDK от WapPlus1 по их мануалу. В админке создал там площадку с типом «другая площадка», крутится там аж один баннер и то не очень качественный; приносит по 0.5р за клик. Пользы не много, но есть надежда на появление нового контента в обозримом будующем без изменения кода программы.
    О деталях портирония проектов на Win 8, а заодно об SDK WapPlus1 расскажу уже в отдельной статье.
    Ответ написан
  • Какие есть рекламодатели для Windows 8?

    Nomad1
    @Nomad1 Автор вопроса
    AdDuplex предоставляет SDK для Windows 8:
    blog.adduplex.com/2012/07/adduplex-for-windows-8-is-here.html
    К сожалению, мне не очень интересен Ad Exchange, а нужна именно монетизация…
    Ответ написан
  • Какие есть рекламодатели для Windows 8?

    Nomad1
    @Nomad1 Автор вопроса
    Проверил Smaato SDK для WP8. DLL подключилась успешно, код валиден, классы видны, но при компиляции ошибка
    Error 1 Cannot find type System.Windows.Controls.UserControl in module System.Windows.dll.


    Лезть в саму DLL не стану, не спортивно это.
    Ответ написан
  • Алгоритм Штрассена. Оптимизация

    Nomad1
    @Nomad1
    Дам Вам необычный совет: напишите сначала код на Managed языке программирования (C#, Java, или вообще что-либо высокого уровня, без выделения памяти, указателей и пр.). Затем примените простейшие оптимизации (одномерные массивы, вынос всяких N/2 в отдельные переменные). Полученную программу назовите прототипом, пересоберите в релизном режиме, замерьте скорость и заморозьте код.
    Затем, любая реализация на другом языке должна сверяться с прототипом по результату и скорости работы. К примеру, приведенный в вопросе C++ код будет выполняться медленнее C# кода за счет более правильной работы с памятью и хорошей оптимизируемости Jit-ом у второго. Любое ответвление, где новый код стал медленее прототипа надо выкидывать, например с не-оптимальным использованием SIMD инструкций, динамическим выделением памяти в цикле, неудачным распараллеливанием.
    Такой подход буквально к любой time-critical задаче (прототипирование на языке с высоким уровнем абстракции, а затем реализация) позволит не уходить в дебри и не оптимизировать вручную раз то, что отлично могут сделать компилятор на пару с оптимизатором.
    Ответ написан
  • Каков срок жизни Drawable, вызванного из ресурсов?

    Nomad1
    @Nomad1 Автор вопроса
    Сам и отвечу: в классе Resources хранится SparseArray<WeakReference<Drawable.ConstantState> > mDrawableCache
    В идеальном мире это бы означало, что картинки хранят до тех пор, пока не закончится память. В реальности же WeakReference в Android уничтожает объект сразу же, как заканчиваются на него ссылки, потому в правильном раскладе, когда удаляется Layout, его уничтожение приведет к уничтожению Drawable, а значит и количество ссылок на ConstantState упадет до нуля и картинка будет очищена.
    Ответ написан
  • Есть ли в природе оболочка Google TV для x86 HTPC?

    Nomad1
    @Nomad1 Автор вопроса
    Без аппаратной поддержки декодирования видео вообще бессмысленно что-то делать — т.к. это как бы основная функция медиаприставки.

    Тогда действительно интересен вариант с плеерами, опирающимися на кучу нативного кода. Я проверю XBMC и VLC, может с ними будет толк. Все-таки x86 процессоры достаточно сильны и для программного декодирования видео, тот же Atom поддерживает SSE 3, а помнится под DOS умельцы делали еще для Pentium 2 с MMX плееры Mpeg-4.

    Кссстааати, а где вы мой плеер взяли? Пиратим-аяяй? :-)

    С дропбокса, куда Вы его сами и положили :)
    А вот рекомпиляция odex из прошивок GoogleTV — и в самом деле пиратство. Но для приличия назовем это вынужденной мерой на этапе исследования.
    Ответ написан
  • Оптимизация конкатенации большого количества строк - работает ли?

    Nomad1
    @Nomad1
    Всегда используйте более читабельный вариант, кроме случаев, критичных по производительности — это залог успешного рефакторинга и поддержки. В ответах выше видно, что сложение 100000 строк занимает меньше 200мс, это порядка 0.002 мс на строку. Если складывается 5 строк, как в оригинальном примере, то разница в двух подходах не будет заметна ни наблюдателю, ни профайлеру, даже если скорость упадет до 1мс на строку.
    Ответ написан
  • Покупка телефона. Android/iPhone?

    Nomad1
    @Nomad1
    А для чего Вам устройство? Звонить,+ чтобы держал неделю-полторы без подзарядки? Это 100% не смартфон, а что-то из моноблоков Nokia с клавиатурой (3310 или 3210, жалко, что не производят уже 10 лет (:)
    Если нужен девайс для серфинга, твиттера и фейсбука — смело берите iPhone, он это великолепно умеет!
    Но если нужен комбайн, частично заменяющий нетбук или настольный ПК, с IDE, консолью и RDP — надо брать Android, причем не медленее 1ГГц и с 768 и больше RAM.
    Ответ написан
  • Стоит ли покупать iMac для работы с графикой?

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

    Nomad1
    @Nomad1
    Кстати, с адресом очень интересный пример. Если бы задача ограничивалась адресом, то решалась бы так:
    1. неким алгоритмом получаем название страны (например, страна часто пишется в адресе последней, есть список стран) и берем его идентификатор как первую часть хеш-кода
    2. другим алгоритмом получаем название штата/области (в US двубуквенные сокращения, в пост-СССР со словом «обл.», есть список штатов всех стран), если найден — берем как вторую часть кода
    3. третьим алгоритмом получаем город (обычно идет первым, с большой буквы, без префиксов, есть список городов, есть список ZIP кодов/индексов), его идентификатор становится третьей частью хеш-кода. Если есть связка город-штат и неопределен результат в п.2, заполняем его

    Получаем трехкомпонентный хеш-код, который с большой долей вероятности будет одинаков для всех адресов одного города (как и в изначальном примере). Написания улиц могут и будут различаться, потому эту часть мы специально отбрасываем и расчитываем на коллизию размером с все улицы одного города.
    Такой метод подходит для большей части городов мира, особенно для суб-урбанизированных стран вроде США и совершенно не подходит для Москвы и других мегаполисов.
    Ответ написан
  • Какой самый простой фреймворк для кросс-платформенной разработки под ios/android?

    Nomad1
    @Nomad1
    под Mono очень удобно писать под iOS и Android, да и C# идеально user-friendly язык. Но (!!) надо понимать, что во-первых, MonoDroid + MonoTouch = $800 (исключение — скидки для студентов, тогда по $75), во-вторых, сам по себе код на двух платформах компилироваться не будет и придется нарисовать GUI под две ОС сразу. Это уже несколько далеко от кросс-платформенности…

    Потому, отвечая на Ваш вопрос, я бы выбрал Unity, особенно с учетом
    у меня есть выигранная где-то лицензия к нему

    Писать тоже на C#, все довольно удобно, огромное комьюнити, 2д проекты делаются без проблем.
    Ответ написан