Вчера я понял, что Evernote открываю очень редко.

Пару лет назад я перестал пользоваться Delicious, да и закладками вообще. Все сохранял в Evernote. А теперь благодаря сервису «антисоциальных закладок» Pinboard я снова делаю закладки.

Я долго пользовался RTM для списков дел (to-do). Потом пробовал держать их в Evernote, пользуясь Egretlist на iPod, в котором для добавления задачи нужно было очень много нажатий, да и вообще многосписковость ужасна. Теперь я наконец-то купил Things, который мне не мешает, а помогает быть продуктивным.

И теперь я перемещаю свои идеи и мысли в Simplenote. Потому что их приложение для iOS намного быстрее и есть режим Emacs для него. А, еще iOS-приложение можно развернуть на полный экран и для редактирования текста нужно просто на него нажать (в Evernote — на кнопку с карандашом). И, конечно, в Simplenote не надо называть заметки!

Evernote остается для фотографий, которые надо запомнить. Если я вижу напечатанное объявление или визитку, я просто сфотографирую это в в Evernote. Потом это можно легко найти. А еще я рисую макеты в Evernote для WinMo.

Мне все еще нравится Evernote, хотя я им редко пользуюсь. У них отличный продукт и бренд, да вообще, они любят зеленый :)

2010-12-04 18:36:49 Теги: test services web20 evernote apps emacs | Комментарии
включи картинки

Поддержка HTML5 и CSS3 в Opera — это шутка? Неужели так сложно нормально повернуть input, textarea и button?

2010-05-27 17:41:34 Теги: test web20 apps markup | Комментарии

Я тут недавно поставил на нетбук Ubuntu 10.04 beta, все красиво. Решил еще настроить Conky — это такой системный монитор, который кроме собственно мониторинга системы умеет более 9000 вещей.

Например, получать информацию о герое из Godville — этот скрипт я написал еще больше года назад. Так, для развлечения. А для познания можно использовать Krosswordr API.

tal

Конфиг и скрипты лежат в неправильной VCS. Если нужно больше информации из Годвилля, можно заменить godville.xslt на этот.

Постовой: Изучайте Linux бесплатно, коляски и автокресла в Мама-маге.
2010-04-25 17:34:30 Теги: services web20 linux apps | Комментарии

Я таки изобрел make. Да, тот самый, которым собирают программы. Make, cmake, rake, а теперь Pake.

Фишка в том, что Pakefile'ы пишутся на YAML. Это действительно простой и приятный язык, не зря же Google использует его для описания приложений в App Engine (:

Например, очень простой Pakefile:

default:
  python:
    print 'Hell-o-world'
  shell:
    uname -a

Или очень сложный:

vars:
  flags: -a

uname:
  shell:
    uname %{flags}

default:
  target: uname

Документация расположена на pake.myfreeweb.ru, сам проект на Launchpad, а всякие пузомерки - на Ohloh. bzr branch lp:pake и вперед ;)

2010-02-21 18:00:00 Теги: python apps | Комментарии

Не секрет, что в разработке Django-приложений нет ничего особенного. Точнее, не требуется ничего лишнего. Django - это Python. Значит, нужен текстовый редактор и консоль. И конечно же браузер - но это уже для тестирования. Но для того, чтобы писать было удобно, нужно IDE. Или продвинутый редактор. Emacs - очень продвинутый редактор ;)

Вот так выглядит мой Emacs - ничего лишнего, все нужное. Проверка синтаксиса делается с помощью Flymake + pyflakes (или pylint, pychecker), но не это главное. То, о чем я хочу рассказать - это сниппеты. Как? Легко.

Yasnippet - это оно. Ставить надо полную версию, а не bundle, который в одном файле. Но там же нету сниппетов для Django! Не вопрос - я все сделал. bzr branch lp:django-mode, читаем README, делаем и наслаждаемся. В комплекте еще режим для шаблонов и функции для вставки i18n тегов (C-c C-t в питоновом коде "_(%выделенное%)", в html-шаблонах "{% trans "%выделенное%" %}").

А можно еще скачать мой конфиг (Yasnippet в комплекте же). Короче, чтобы меньше всего париться и получить готовый IDE:

sudo port install tidy # или apt-get, если на Debian/Ubuntu. У меня OS X ;)
sudo pip install pyflakes # easy_install - уныл, но тоже работает
cd ~/Dropbox
bzr branch lp:django-mode
bzr branch lp:~lol2fast4u/+junk/emacs-dir emacs
echo "(add-to-list 'load-path \"~/Dropbox/emacs\") (load-file \"~/Dropbox/emacs/config.el\")" > ~/.emacs

Первую команду, кстати, можно пропустить.

2010-02-11 21:57:45 Теги: django python apps emacs | Комментарии

Git - одна из самых известных распределенных систем контроля версий (DVCS), изначально созданная для разработчиков ядра Linux. Из-за последнего, она работает на патчах. Патчи, патчи, везде патчи.

В централизованных VCS каждый contributor (как бы перевести нормально??) присылал патч одному из committer'ов, который применял его вручную. Git создавался для облегчения всего этого.

А DVCS создавались для борьбы с патчами. Именно так, да. Любой пользователь создает свою ветку или форк, работает в ней как хочет, а когда все готово - создает merge directive (или pull request), то есть просит объединить ветки. Скажете, что в Git/GitHub так можно? Да, через жопу, но можно, но пользователи Git все равно патчи патчат.

Но самое главное, что бесит в Git - он работает только по одной модели (shared working tree, "общее рабочее дерево"). То есть в папке есть одно рабочее дерево и можно переключаться между ветками командой switch. Такая модель использования придает скорости и занимает меньше места на диске. Но в то же время она абсолютно неудобна в использовании. Вывод? Только для больших проектов.

В Mercurial то же самое, но слегка проще. А вот в Bazaar такой способ работы сильно опционален. rebase - вообще плагин (: Directory is a branch - это очень правильная идеология. Потому что с ее помощью можно сделать то же shared WT, только каждую ветку можно будет просто посмотреть файловым менеджером (не залезая в .скрытые_папки), а можно работать с простыми ветками, если проект небольшой. Вот так вот.

Постовой: разработка фирменного стиля; выделенный сервер в аренду - для больших нагрузок, когда VDS не хватает.
2010-02-08 15:52:12 Теги: python apps vcs | Комментарии

С новым годом, который уже два дня как наступил. Вы все уже начитались этих поздравлений в своих Google Reader'ах и прочих читалках, да и вообще везде. Но не смотря на название, псот совсем о другом.

PyMarkup - это python-модуль для создания разметки. Делается он не столько для простоты, сколько для интеграции с приложением. шаблоны больше не нужны ;)

Идея давно уже лежала в моем Evernote (пользуясь случаем, поздравляю их с 2 миллионами пользователей!), но вот только недавно я взялся за реализацию. Пока оно умеет блоки, картинки и ссылки в виде Python'овых объектов преобразовывать в XHTML... Короче, скоро будет больше и все такое. Документация тоже будет, да.

bzr branch lp:pymarkup && cd pymarkup && sudo python setup.py install

А теперь напишем скрипт, например 1.py:

import pymarkup as p
spam = [p.e.Text('Welcome to TestSite.'),
        p.e.Image('/logo.png', 'logo', id='logo')]
spam.append(p.e.Block(id='wrapper'))
spam.append(p.e.Snippet('<p>This is a test!</p>', parent='wrapper'))
eggs = [p.e.Title('Test')]
print p.Markup(spam, eggs).render('xhtml')
И запустим:
<?xml version="1.0" ?>
<!DOCTYPE html
  PUBLIC '-//W3C//DTD XHTML 1.1//EN'
  'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>
            Test
        </title>
    </head>
    <body>
        Welcome to TestSite.
        <img alt="logo" id="logo" src="/logo.png"/>
        <div id="wrapper">
            <p>This is a test!</p>
        </div>
    </body>
</html>
Неплохо, да? А скоро будет еще больше, впрочем я это уже написал выше. UPD: теперь уже намного больше умеет. До полного XHTML чуть-чуть осталось ;)
2010-01-02 22:52:31 Теги: beta services django python apps | Комментарии
включи картинки а то жопа будет

Python'ист, Ruby'тель, Perl'овик! Ретвитни, добавь в закладки, поделись на фейсбуке, короче сделай эту картинку популярной!

2009-12-02 00:08:31 Теги: apps hosting fun | Комментарии
...вместо Flash (:

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

Но как быть с играми? Да, при знании jQuery (а он намного проще ActionScript!!) можно сделать простую игру ;)

Пример - сборка АК, подсказал один товарищ. Надо не так много: средство против лени, фото разобранного автомата (идите в гугл!), графический и текстовый редакторы, нормальный браузер (Safari, Chrome или Firefox).

Я не буду подробно расписывать каждую строчку - скажу лишь, что с помощью jQueryUI мы придаем деталям draggable и создаем цели, куда они droppable. Тут сильно не доделано все - можно деталь поместить не в то место и отображается все это только в консоли. Доработаете и сделаете таймер - будет вам игра :)

<!DOCTYPE HTML>
<html><head><title>AK Game</title>
<script src="http://myfreeweb.ru/media/mfwjs/jquery.1.3.2.min.js" type="application/x-javascript"></script>
<script src="http://myfreeweb.ru/media/mfwjs/jquery-ui-1.7.2.custom.min.js" type="application/x-javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.piece').draggable({ cursor: 'crosshair' });
$('#t_2').droppable({ drop: function(event, ui){
console.log('dropped to 2'); } });
$('#t_3').droppable({ drop: function(event, ui){
console.log('dropped to 3'); } });
$('#t_4').droppable({ drop: function(event, ui){
console.log('dropped to 4'); } });
});
</script>
<style type="text/css">
.target { position: absolute; }
#t_2 { margin: 55px 0px 0px 215px; width: 120px; height: 150px; }
#t_3 { margin: 10px 0px 0px 277px; width: 177px; height: 22px; }
#t_4 { margin: 5px 0px 0px 100px; width: 128px; height: 32px; }
</style></head>
<body>
<div id="ak">
  <div class="target" id="t_2"></div><div class="target" id="t_3"></div><div class="target" id="t_4"></div>
  <img src="1.png" alt="включи картинки!"/>
</div>
<img src="2.png" id="2" class="piece" alt="включи картинки!"/>
<img src="3.png" id="3" class="piece" alt="включи картинки!"/>
<img src="4.png" id="4" class="piece" alt="включи картинки!"/>
</body></html>
СКАЧАТЬ демо (картинки + код выше)
2009-11-30 20:32:47 Теги: test web20 apps javascript markup | Комментарии

Microsoft выпустил Marketplace для WM 6.0 и 6.1. Я думал, что они действительно исправились и все круто, но нет. Установка этой штуки состоит из кучи лишних нажатий и вообще, им религия мешает ставить его сразу. По ссылке "скачать Marketplace" скачивается... программа для скачивания Marketplace!

Включи картинки
Постовой: приворот
2009-11-18 20:40:35 Теги: test apps winmobile | Комментарии