Молескин

12 Март 2012

AppOlympics 2012 Day 3

Опубликовано в Молескин, Блог, Путешествия, Конкурсы, Програмирование

Как это было. День третий.

Проснулся в 7. Сил нет. Надо вставать. Встал. Как будто и не спал. Все в тумане. Пошел в душ, задумался о прозрачном таббаре. Вышел из душа, достал ноутбук, начал писать.

Суть идеи в том, что бы добавить свои кнопки поверх таббара, таббар сдвинуть вниз, вне поля видимости, кнопки наверх. А кнопкам приписать селекторы, которые будут переключать соответствующие табы. Понял, что очень хочу кушать и пошел в ставший нам вторым домом Ко-воркинг спэйс. Пришел первым, после Дэвида, организатора. Буквально через 15–20 минут пришла моя команда, соперников еще не было.

Крис радостно сообщил, что сервер готов и что сегодня мы даже перельем все на сайт. Я продолжил допиливать прозрачный таббар, Джон и Дэнни вносили последние штрихи в макеты для iPhone.

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

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

Я уперся и кодил, что есть сил. Нарезал объекты пачками со скоростью света. Приблизительно за 3 часа до конца залил всем ребятам на телефоны на 75% написанное приложение. Еще через час доделал стрим потерь и находок, еще через полчаса кое-как сделал страницу описания находки. Не мог победить загрузку фотографии, но не было времени.

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

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

Организаторы объяснили правила презентации. Сказали, что презентация пройдет в кинотеатре, который находится в соседнем доме. Мы успокоились, взяли побольше пива и направились туда.

В кинотеатре все расселись по местам, организаторы объявили, что до финиша добрались 9 команд. Мы вышли презентовать наше приложение третьими. У микрофона Крис. Рассказал концепцию. Показали на большом экране оба случая — потери и находки. Не обошлось без накладки, из-за плохого сигнала не подгружались данные из форскверика, но со второго раза все получилось. Потом были вопросы жюри: как выбудете защищать персональные данные, как монетизировать, как привлечь много людей?

Из остальных команд, запомнились ТрампМэйтс и ТууфБраши (видео). Если их приложения появятся в Эпп Сторе, обязательно добавлю на них линки.
Жюри удалилось на голосование. Мы пофоткались и пошли пить пиво и играть в настольный теннис.

Спустя 30–40 минут жюри огласило свое решение. Мы не выиграли. Мы даже не стали одним из 5-ти лучших приложений. Было очень неприятно. Я немного поругался, но потом пришел в норму, ведь самое важное, что я встретил самых талантливых ребят на этом конкурсе.

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

PSS Было круто!

11 Март 2012

AppOlympics 2012 Day 2

Опубликовано в Молескин, Блог, Путешествия, Конкурсы, Програмирование

Как это было. День второй.

Кое-как проснулся в 7 утра, душ, кофе из пакетика, дорога до АхойБерлина. Было солнечно и холодно. Когда я пришел Кай уже седел, что-то кодил. Я подкрепился и сел постигать особенности API foursquare. Оказалось все очень просто. Регистрируешь свое приложение, получаешь два токена, оба их вставляешь в GET запрос, добавляешь к нему координаты места и если есть, запрос, например, KaDeWe. В ответ получаешь JSON-словарь, с результатами запроса.

Для работы с JSON я выбрал TouchJSON, т. к. уже давно пользуюсь похожей разработкой TouchXML. Но, т. к. JSON структура сходна со структурой NSDictionary, библиотека умеет делать и обратные преобразования (в отличие от TouchXML).

Через час приложение начало работать с объектами полученными от foursquare. Дизайнеры Дэнни и Джон уже во всю трудились над структурой приложения, а веб-разработчик Крис начал собирать сервер на Бутстрапе.

Я начал собирать структуру, получилось около 10 вью разной степени сложности плюс класс для работы с сайтом. Еще в пятницу вечером мы выбрали название для сайта и приложения: givebackapp.com, но пока писалась серверная часть, делать с ним мне было нечего, по-этому я углубился во внешний вид приложения.

Спустя полдня работы Дэнни и Джон нарисовали обалденные мокапы, которые должен был воплотить в жизнь. Разноцветные бэкграунды, полупрозрачный таббар с кнопками разных размеров и форм, тексты написанные рукописным шрифтом. В общем очень необычно и очень красиво.

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

И началась рутина по созданию таблиц, полей ввода и дэйтпикеров. Ближе к ночи я добрался до этапа выбора фотографии имеющейся в фотоальбоме (на случай, если ты фотографировал потерянную вещь). И раньше никогда не работал с этой функцией телефона, но все оказалось до обидного просто. Пара фреймворков, пара методов и готово. Добравшись до последнего вью сценария потери вещи, я остановился.

Был час ночи, за день была съедена тарелка макарон с мясом, выпито чашек 6 кофе и неимоверное кол-во разных газировок. Еще, я никогда в жизни не писал так много за один день. Но впереди была ночь, а за ней последние 10 часов на реализацию поставленной задачи.

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

01 Март 2012

AppOlympics 2012 Day 1

Опубликовано в Блог, Молескин, Путешествия

Как это было. День первый.

BeMyApp AppOlympics 2012

Утром в пятницу 24-ого февраля я сел на поезд и, совершив вынужденную пересадку на региональный экспресс в городке Lampertswalde, спустя 6 часов, приехал в Берлин.
Зарегистрировавшись в отеле, я направился по адресу Windscheid Str. 18, 10627 Berlin. Было немного не по себе, потому что на улице было достаточно темно, накрапывал дождь и ни души. Добравшись до места, прошёл два двора и поднявшись на последний этаж, оказался в Co-Working Space под названием Ahoy! Berlin. Зарегистрировался и поболтал с приветливым пареньком по имени Кай, и мероприятие началось.

AppOlympics — это независимый конкурс, прошедший в 6 городах мира (San Francisco, New Your, Dallas, Paris, London, Berlin). В Берлине его организовали Девид Линк и Матиас Фидлер. Суть мероприятия в создании классных приложений в сжатые сроки, точнее 48 часов.

Сначала выступили спонсоры: Nokia, 6Wunderkinder, HappyApp и Storage Room. Потом объяснили правила и пригласили выступить желающих тех, у кого были идеи для приложения. Всего выступило 15 человек. Было создано 11 команд, 4 идеи не нашли реализаторов. До финиша дошли 9.

Идея, которая мне понравилась, звучит приблизительно так:
«Каждый день тысячи людей теряют свои вещи, многие находят чужие вещи и не знают, как сообщить потерявшему, что его драгоценный портфель/зонт/iPhone 4S найден и ждёт своего хозяина. Надо бы сделать приложение для благородных героев нашедших потерянную вещь и неудачливых потеряшек.»

Через 15 минут мы собрали комманду: Кристиан — идеолог и веб-разработчик, Дэнни и Джон — два супер-вебдизайнера и я — скромный айФон-разработчик.
Было уже около 9 вечера. Час ушёл на организационные вопросы. Два часа мы обсуждали, что и как мы будем делать. В итоге было решено сделать: приложение для айФона, сайт и все это будет подключено к базе данных, при этом данные обо объектах мы будем брать у foursquare.

Последний час работы мы потратили на подготовку к завтрашнему дню, дизайнеры начали придумывать, как все это будет выглядеть, а мы, кодеры, начали собирать информацию о том, как это все будет работать.

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

29 Январь 2012

Я выбираю Гугл

Опубликовано в Молескин

Я сегодня снова много думал. И пришел к выводу, что буду пользоваться только Гуглом. Да, я сам от него не в восторге. Но нельзя отрицать, что за время его работы был приостановлен развал интернета, укрепилось международное положение моего блога, стабилизировалось подключение, сократилось время ожидания, созданы новые скрипты, развивается HTML5.

Да, у Гугла случаются ошибки. Да, его методы бывают жесткими, и я их не всегда одобряю. Можно долго спорить про новый дизайн, о новом пользовательском соглашении, о навязывании Гугл+ и культе Андроида, но пусть этим занимаются красноглазики. Хорошо, предположим на минуту, что Гугл действительно захватил власть и проводит жесткую политику индексации интернета. Что это меняет? Я говорю о другом, вдумайтесь в мой главный аргумент: каким бы ни был Гугл, я не вижу другой реальной силы в интернете! Допустим, Гугл сейчас выключится. Что сегодня, в 2012 году, способно вместо него возглавить интернет, не приведя всемирную паутину к катастрофе? Назови мне его УРЛ! Кого вы видите нашим новым поисковиком? Я, хоть убейте, не вижу такого.

Вот мне подсказывают: Фэйсбук. И кто там, в этом вашем Фэйсбуке? Кто из него готов реально взять власть в интернете? У кого имеется внятная и четко сформулированная программа, написанная на Питоне или на худой конец Си?

Вы полагаете, старый, вонючий Майкрософт сделает что-то полезное для интернета? А что он, спрошу я вас, сделал хорошего, пока был хозяином всей компьютерной индустрии? Ему что-то мешало? А пусти его сейчас за штурвал — он первый убежит, сам боится и не готов управлять интернетом.

Может, вам хотелось бы видеть во главе интернета кого-нибудь из наших богатых социальных сетей? Вы полагаете, Твиттер озаботится вашими проблемами больше, чем собственными деньгами и удалением ботов? Или вам симпатичен вороватый Вконтакт с его сумасшедшими нововведениями? Не он ли в 2006 спер весь функционал у Фейсбука?

Может, вы хотите доверить судьбу сети Мэйлру — забытому почтовику? Или, по вашему, Яндекс, станет руководить интернетом лучше, чем Гугл?

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

Или же вы хотели бы видеть флагманом интернета Яху, который уже столько лет сидит в углу забитый и забытый из-за нерелевантных результатов своего поиска? Сейчас, как обычно, вылезут наши оупенсорскники и снова поднимут визг про Линух, свободную сеть, телнет и фидо.

Не мне вам напоминать, как много в мире сил, желающих сделать интернет слабым, раздробленным и подконтрольным. Сильный интернет — это не то, что хотят видеть наши извечные враги. Телефонные сети, телевизионные каналы, газеты, журналы и видео-прокаты вкладывают бессчетные деньги в нашу так называемую «альтернативу» с единственной целью: дестабилизировать ситуацию, раскачать лодку и сместить Гугл, после чего установить марионеточный режим. Который подходит их планам и интересам, но не подходит нам, пользователям! Не электронные деньги получают все, включая Фликр. Пользуясь Лентойру, вы исполняете волю врагов нашей сети.

Да и что способна дать интернету наша вшивая забитая альтернатива, кроме пустых обещаний и болтовни, чем они занимаются уже который год? Где в сети реальная сила, которой вы готовы доверить судьбу интернета? С чего вы взяли, будто новый поисковик окажется лучше Гугла, к которому мы уже привыкли за эти годы?

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

08 Январь 2012

Хостинг на дому. Часть четвертая. VPN

Опубликовано в Блог, Молескин, Програмирование

Настройка VPN на NAS

  1. Идем в Start → Package Center → Available и устанавливаем VPN Center. Включаем его.
  2. Идем в Start → VPN Center.
  3. Затем в Settings → PPTP указываем (для iOS устройств):
    • Enable PPTP VPN server
    • Dynamic IP address: 10.0.7.0
    • Maximum connection number: 5
    • Authentication: MS-CHAP v2
    • Encryption: Require MMPE (40/128 bit)
    • MTU: 1400
  4. Затем в Settings → OpenVPN указываем (для десктопных клиентов):
    • Enable Open VPN server
    • Dynamic IP address: 10.0.8.0
    • Maximum connection number: 5
    • Enable compression on VPN link
    • И нажимаем кнопку «Export configuration», скачиваем полученный архив.
    • Жмем OK.
  5. Идем в настройки роутера и прокидываем порты (TCP:1723 и UDP:1194) с роутера на DS, как в настройке веб-хостинга.

В скаченном архиве в файле readme.txt есть вся необходимая информация по настройке VPN клиентов под тремя основными системами.
Для Mac настройка выглядит так:

Устанавливаем OpenVPN клиент для Mac

  1. OpenVPN клиент для OS X называется Tunnelblick. Скачиваем отсюда http://code.google.com/p/tunnelblick/ и устанавливаем.
  2. Запускаем Tunnelblick.
  3. Нажимаем Create and open configuration folder; откроется окно Finder’а с папкой конфигурации (оставляем папку открытой).
  4. Открываем openvpn.ovpn с помощью какого-нибудь редактора (например, TextMate) и заменяем YOUR_SERVER_IP на публичный IP DiskStation (например, 74.125.224.72).
    • Если ты используешь роутер, то укажи IP роутера.
    • Убери # перед «redirect-gateway» что бы направить весь клиентский трафик (включая веб трафик) через VPN сервер.
  5. Скопируй файлы openvpn.ovpn и ca.crt в папку конфигурации Tunnelblick.
  6. Нажимаем на иконку тоннеля в менюбаре и выбираем Connect VPN.
  7. Теперь мы в любой сети, как у себя дома.
  8. В Finder → Go → Connect to Server. Вводим адрес сервера, например: afp://10.0.1.111 и выбираем нужную сетевую папку.

Настройка iOS устройств.

  1. Settings → General → Network → VPN → Add VPN Configuration…
  2. Выбираем:
    • PPTP
    • Description: DS
    • Server: внешний IP адрес или домен, подключеный к DS
    • Account: admin, например
    • RSA SecurID: OFF
    • Password: пароль от аккаунта
    • Encription Level: Auto
    • Send All Traffic: OFF
  3. Включаем VPN.
<<  1 2 [34 5 6 7  >>