Showing posts with label general. Show all posts
Showing posts with label general. Show all posts

Sunday, October 11, 2009

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

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

И чтоб поставить все точки над “i” решил именно для себя поставить какую-то систему контроля какое приложение активно.

Быстрое гугление вывело на утилиту, на 80% выполняющую необходимые функции: ManicTime

Чем она удобна:

  1. Минималистический интерфейс, в то же время вполне eye-candy.
  2. Бесплатна
  3. Отслеживает не только сколько времени было проведено в той или иной программе, а и на каких сайтах (по доменам)
  4. Есть автоматическое отслеживание бездействия (отошел от компа)
  5. Возможность помечать “тагами” некоторые участки времени (“работаю”, “отдыхаю”) с различными отчетами по тагам.

Скриншотик с офф сайта:

В целом это одна из таких прог, которую, как мне кажется, необходимо иметь каждому, кто работает на дому.

Минус пока вижу в том, что недостаточно возможностей по просмотру результатов за неделю, месяц и автоматической расстановки “тегов”. Но выглядит очень привлекательно и потенциально.

Во всяком случае хороший шанс “посмотреть в глаза” реальности и увидеть сколько реально времени трачу на совершенно ненужные вещи. Вот в реальности бы…

ПС. Я никаким образом не связан с создателями программы.

Wednesday, September 16, 2009

Отдых: Ради этого стоит работать

Вернулся с отдыха в Анталии. “Честные” 5*. Понял, что стоит таки год работать чтоб так отдохнуть – отличное питание, отличное море, минимум кричащих детей и пьяных компаний (не хочу явно “пиарить” отель, хотя он стоит того. Кому интересно – пишите в комментарии)

Оказалось что в Турции закрыто очень много ресурсов – твиттер, частично блоггер, ютуб. Хорошо, что работал скайп.

По приезде гугл-ридер радостно сообщил о “1000+” непрочитанных.

Снова таки начали приходить о выборе – что лучше: продолжать фрилансить (пару более или менее постоянных клиентов есть), или все-таки вернутся на “регулярную” работу…  С одной стороны “свобода” фриланса, с другой – работа в коллективе, обмен опытом. Навеяно "Подготовка к собеседованию на должность программиста".

ПС. Никогда не понимал как люди могут работать без хорошего отдыха :)

Wednesday, August 12, 2009

MS Office 2007: Необходимое место без компонент

В процессе инсталляции офиса решил посмотреть сколько же места занимает офис, если не устанавливать вообще никаких компонент. Результат просто поразил меня:


Piccy.info - Free Image Hosting

Т.е. фактически чтоб не устанавливать ничего, требуется 800 мб+.

Monday, March 16, 2009

Новая работа: поиск во время кризиса

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

Не буду особо сильно раскрывать причины моего решения, но после беседы с “начальством” мы пришли к выводу, что нам будет лучше разойтись. Основная причина – это нежелание или невозможность дать нормальные условия работы в офисе. Хотя лично для меня это очень тяжелое решение – все-таки сблизился с командой, с проектами.

Таким образом, похоже, начиная со следующей недели начну смотреть как сейчас на рынке труда. Насколько я слышал, спад есть. Надеюсь все-таки найдутся хорошие предложения, а пока можно и по-фрилансить :)

Так что, если кто может порекомендовать хорошую компанию, которая может заинтересоваться вот таким вот резюме, и лояльно относится к своим сотрудникам – прошу писать.

К сожалению к проблеме с поиском работы добавилась проблема с получением своего же депозита в банке “Надра” (это отдельная тема, про которую тоже можно было бы написать – вдруг есть те, кто тоже наступил на те же грабли). Если кого интересует – пишите, обменяемся опытом.

Tuesday, July 8, 2008

(Old) How to shoot yourself in the foot

Попалась старая ссылка о том, как стрелять себе в ногу на разных языках. Много забавного и поучительного: How to shoot yourself in the foot in any language

 

Для себя сделал выборку из самых забавных вариантов:

SQL

You spend 10 minutes figuring out how to join your hand to the gun, and then accidentally fire all bullets at all feet in the room.

PHP

You Google for "shoot self in foot" and come up with 397 howto guides. After copying and pasting the source code from each of the articles you've managed to: make a gun, shoot a gun at random passers-by, jam a gun, throw a gun, distribute guns to the poor, shoot yourself in the face, and finally: shoot yourself in the foot.

Outsourced Programming Language

You've heard of guns and bullets, but you end up just posting "kind sir, please email me the guns and bullets" to every developer forum and mailing list on the planet.

Any .NET Language: You try to use the built in ShootSelfInFootWithGun() function which looks like it does exactly what you need from the documentation but when you try to run it it complains that your foot is the wrong sort of foot.

Win32
LRESULT CALLBACK stGunProc(HGUN hGun, HGUN hGunParent, UINT uId, TPARAM tParam, UPARAM uParam, DWORD uTarg, DWORD aAmmTyp, BOOL bSaf, UNIT nCal, LPCTSTR mMfg, HANDLE hHand, LPCTSTR sErt, UINT nDist, UINT nBear, UINT nEle, UINT nMuzVel, HTARG hTarg, LPVOID lpParam);

Regular Expressions: ^((?>[a-zA-Z\d!#$%&foot;'*+\-/=?^_`{|}~]+\x20*|•((?=[\x01-\x7f])[^&trigger;\\]|\\[\x01-\x7f])*&trigger;\x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA-Z\d!#$%&hole;'*+\-/=?^_`{|}~]+)+|&trigger;((?=[\x01-\x7f])[^&trigger;\\]|\\[\x01-\x7f])*&trigger;)@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angle)>)$

Monday, March 3, 2008

Tools I'm using

Подхватывая эстафету обсуждения самых полезных тулзов, которые помогают в работе, приведу свой список:

 

  • Firefox, ну куда же без него. Основные плагины: Google Notebook - отличная интеграция (внутри окна), Firebug - для веб-девелопера лучше тяжелее найти, Web Developer - некоторые мелочи удобно и тут делать, NoScript - это не параноя, а просто удобно всегда держать под контролем.
  • Launchy - отличная тулзовина, позволяющая забыть о огромном меню "пуск" + всякие мелочи типа калькулятора, быстрого запуска shell'ок и т.д.
  • Thunderbird - тяжело было отвыкнуть от The Bat!, но после того, как я попробовал, никогда не вернусь. Просто удобно.
  • QIP - я перепробовал очень много (Миранда, Триллиан и ещё много всяких), но для чата хотелось что-то лёкое и удобное.
  • Google Talk - как дополнение очень удобно. За одно переводчик и нотификатор о новой мыле.
  • Google Docs - всё своё всегда (не)со мною. Удобно, всегда под рукой и быстро :)
  • GMail - после него оффлайн почтовик является просто бекап стореджем писем.
  • Google Reader - лучшей читалки для RSS просто ненайти. Особенно нравится share/star.

 

Вроде из основного всё. Если что будет ещё - дополню.

Saturday, January 12, 2008

Brands: History

Недавно попалась хорошая сборка информации о том, из чего берут начала названия разных "брендов". Итак:

 

Названия компаний


- Adobe — названа в честь реки Adobe Creek, которая текла за дом омоснователя компании Джона Ворнока (John Warnock).
- Adidas — в честь одного из основателей Ади Даслера
- Apache — Изначально компания занималась поставкой патчей к программам. От этого произошло A PAtCHy, которое транформировалось в Apache. У индейцев есть своя версия =)
- Apple — любимый фрукт основателя компании Стива Джобса (Steve Jobs). После трех месяцев тщетных попыток найти название для нового бизнеса,
он поставил свой партнером ультиматум: Я назову компанию Apple, если к 5ти часам вы не предложите лучшего. Apples Macintosh — название сорта
яблок, продавашегося в США.
- Canon — в честь Kwanon, буддийского бога милосердия. Было изменено на Canon, чтобы избежать протестов религиозных организаций
- Casio — в честь основателя компнии Касио Тадао (Kashio Tadao).
- Cisco — сокращенно San Francisco.
- Compaq — от Comp и paq (маленькая интегрированная деталь)
- Corel — в честь основателя компании Майкла Коупленда (Dr. Michael Cowpland). Расшифровывается COwpland REsearch Laboratory (Исследовательская лабаратория Коупленда)
- Daewoo — основатель компании Ким Ву Чонг (Kim Woo Chong) назвал компанию скромно, Большая Вселенная, именно так переводится с
корейского.
- Fuji — в честь самой высокой горы Японии, Фудзи.
- Google — название произошло от слова Googol, означающее единицу со 100 нулями. А Google было написано на чеке, который основатели этого
проекта (среди которых, кстати, бывший россиянин — Сергей Брин) получили от первого инвестора. После этого они назвали поисковик именно так.
- HP (Hewlett-Packard) — основатели Билл Хьюлетт (Bill Hewlett) и Дэйв Паккард (Dave Packard) бросали монетку, чтобы решить, чье имя будет
первым в названии. Как вы понимаете, выиграл Билл.
- Hitachi — по-японски рассвет.
- Honda — имя основателя Soichiro Honda
- Honeywell — имя основателя Mark Honeywell
- Hotmail — основателю Джеку Смиту (Jack Smith) пришла идея доступа к электронной почте через web из любой точки мира. Когда Сабир Бхатиа
(Sabeer Bhatia) появился с бизнес-планом данного сервиса, он перебрал все слова, оканчивающиеся на mail и в конце концов остановился на
hotmail, так как в названии присутствовали буквы HTML (язык разметки веб-страниц).
- Hyundai — по-корейски настоящее (время)
- IBM — International Business Machines.
- Intel — Боб Нойс (Bob Noyce) и Гордон Мур (Gordon Moore) хотели назвать компанию Moore Noyce, но к тому времени уже сущестовала сеть
отелей с таким названием. Так что они решили остановиться на сокращении от INTegrated ELectronics.
- Kawasaki — в честь основателя Shozo Kawasaki
- Kodak — K — любимая буква Джорджа Истмена (George Eastman), основателя компании. Он искал слова, начинающиеся и заканчивающиеся
этой замечательной буквой. Тем более, что во всех алфавитах „K” пишется одинаково. В конце концов, было выбрано Кодак, якобы именно такой звук производит фотокамера при съемке.
- Konica — ранее известна, как Konishiroku Kogaku.
- LG — первые буквы двух корейских брэндов Lucky и Goldstar.
- Lotus — Митч Капор (Mitch Kapor), основатель компании, занимался медитацией. Отсюда и название (поза лотоса)
- Microsoft — MICROcomputer SOFTware. Изначально писалось, как Micro-Soft. Затем черточку убрали.
- Mitsubishi — придумал основатель компании Ятаро Ивасаки (Yataro Iwasaki) в 1870 году. По-японски означает Три бриллианта. Название отображено и в логотипе компании.
- Motorola — основатель Поль Гэлвин (Paul Galvin) придумал название, когда его компания начинала производство радио для машин. Многие производители аудио-компонентов в то время заканчивались на „ola”.
- Mozilla Foundation — преемник браузаера Netscape Navigator. Когда Марк Адерсен (Marc Andreesen), основатель Netscape, создал браузер на
замену Mosaic, внутри компании его называли Mozilla (Mosaic-Killer, Godzilla).
- Nabisco — изначально The NAtional BISCuit COmpany, в 1971 изменилось на Nabisco.
- Nikon — изначально Nippon Kogaku, означает „Японская оптика”.
- Nintendo — составное из 3ех японских иероглифов Nin-ten-do, которые можно перевести как „небеса благославляют тяжелую работу”
- Nissan — ранее известна, как Nichon Sangio, что означает „Японская индустрия”.
- Nokia — начиналась, как деревообрабатывающий завод, разрослась до производства резиновых изделий в финском городе Nokia.
- Novell — название придумала жена соучредителя Джоджа Канова (George Canova). Она ошибочно думала, что Novell по-французски означает новый.
- Oracle — основатели компании Ларри Эллинсон (Larry Ellison) и Боб Уотс (Bob Oats) работали над консалтинговым проектом для ЦРУ, кодовое
имя которого было Oracle. В последствии проект был закрыт, но имя осталось.
- Sanyo — по-китайски „Три океана”
- SAP — „Systems, Applications, Productss in Data Processing”, основана 4мя бывшими сотрудниками IBMа, которые работали в группе Systems/Applications/Projects.
- SCO — от Santa Cruz Operation.
- Siemens — основана в 1847 Вернером фон Сименсом (Werner von Siemens)
- Sony — от латинского Sonus (звук) и sonny (малолетка на сленге)
- Subaru — по имени созвездия. Оно же и отображено на логотипе компании.
- SUN — основана 4-мя университетскими друзьями, сокращение от Stanford University Network.
- Suzuki — по имени основателя Michio Suzuki
- Toshiba — была основана после слияния компании, специализирующейся на товарах народного потребления, Tokyo Denki (Tokyo Electric Co) и
электрокомапнии Shibaura Seisaku-sho (Shibaura Engineering Works).
- Toyota — по имени основателя Sakichi Toyoda. В последствии изменено на более благозвочное Toyota. По-японски состояло из 8 букв (счастливое
число в Японии).
- Xerox — Изобретатель Честор Карлсон (Chestor Carlson), хотел отразить в названии слово сухой (так как в то время существовало только влажно
копирование). Xer — сухой по-гречески.
- Yahoo — слово придумал Джонатан Свифт (Jonathan Swift) в книге Путешествия Гулливера. Так звали отталкивающего, омерзительного
человека. Основатели Yahoo! Джери Янг (Jerry Yang) и Дэвид Фило (David Filo) выбрали это имя, потому что сами себя называли yahooми. Однако,
сейчас название расшифровывается как Yet Another Hierarchical Officious Oracle.
- 3M — Minnesota Mining and Manufacturing Company. 

 

Список получил от bestia. Откуда взял он, не скажу сразу так :) Но список мне показался очень интересным, многое от туда не знал.

Monday, December 3, 2007

Google's Andriod: Threat to Java?

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

Что же за зверь такой, этот Андроид? Конечно первая OpenSource ОС для мобильных телефонов - звучит гордо, но настолько ли это хорошо для софтверного бизнеса в целом? Время покажет.

Monday, September 24, 2007

Google Documents: Presentations

Давно уже ходили слухи о том, что гуглдокс пополнится средством построение презентаций. Лично я уже думал для своих целей уже самому с использованием GWT написать что-то простенькое. Но Google обогнало меня в этом - и теперь на docs.google.com можно создавать презентации.

Да, сейчас они по функционалу не блещут - очень многих мелочей мне лично не хватает. А именно:

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

Но уже то, что есть довольно сильно впечатляет:

  1. Возможность онлайн-демонстрации презентации: после старта презентации можно кинуть урл презентации тем, кто хочет послушать вас и потом в мини-чате уже проводить. Естественно логично добавить бы поддержку звука (с помощью Flash). Возможно это будет в следующей версии
  2. Возможность экспорта презентации для off-line показа: после экспорта мы получаем zip архив, в котором есть все необходимые файлы для запуска презентации там, где нет интернета.

Что ж, резюмируя могу сказать: очень впечатляющее, но только начало. Google, так держать!

Tuesday, July 31, 2007

Multiple WAN: OpenWRT solution

Некоторое время назад провайдер, к которому я был подключен наверное больше 4 лет (IpNET) стал совсем уж слабо удовлетворять моим требованиям. По этому я решил сменить его. Но у ИпНета есть один довольно существенный плюс - его внутренняя сеть. И как-то не хотелось терять возможность качать со скоростью 5-6мб/сек. Да и покупка ноутбука с WiFi добавила ещё одну причину поменять рутер.

Недолго думая, я остановился на Asus WL500g Premium. Он сравнительно недорогой (~$90), но, судя по описанию, вполне мог обеспечить необходимый функционал - два WAN(MAN) подключения + WiFi.

Попробовал сначала прошивку от Олега, но мне она всё-таки немного не понравилась - получается просто комбинация стандартного интерфейса Asus и OpenWRT. Так что решил я сразу перейти на OpenWRT, но только с неплохим интерфейсом. По этому, остановил я свой выбор на X-WRT.

Как базовую документацию по созданию двух WAN-ов я взял статейку вики на самом сайте OpenWRT. Но там конфигурация намного сложней, чем мне нужна была - там полноценный load balancing, который мне не нужен был.

По этому, я модифицировал скрипты просто добавив в /usr/share/udhcpc/default.script при инициализации рутинга вызов некоторого кастом-скрипта:

                [ -n "$router" ] && {
#remove previous rule/table
ip route flush table $interface

for i in $router ; do
echo "adding router $i"
#route add default gw $i dev $interface
ip rule add from $ip table $interface
ip route add $TT dev $interface src $ip table $interface
ip route add 192.168.1.0/24 dev eth0.0 table $interface
ip route add default via $i table $interface
valid="$valid|$i"

done

#add the default route with equalize mpath
#echo "deleting and updating routes"
#while route del default >&- 2>&- ; do :; done
#P1=`ip route list table eth0.1 | grep via | cut -d" " -f 3`
#P2=`ip route list table eth0.2 | grep via | cut -d" " -f 3`
#ip route add default scope global \
# nexthop via $P1 dev eth0.1 weight 1 \
# nexthop via $P2 dev eth0.2 weight 1

#echo "deleting old routes"
#$(route -n | awk '/^0.0.0.0\W{9}('$valid')\W/ {next} /^0.0.0.0/ {print "route del -net "$1" gw "$2";"}')
#flush previous route
[ -f /etc/$interface.dhcp ] && . /etc/$interface.dhcp
ip route flush cache
}

После чего, создал файлик /etc/eth0.1.dhcp в котором прописал статические подсетки, которые я хотел рутить на WAN интерфейс eth0.1:

ip route add 172.16.0.0/18 dev $interface src $ip table $interface
ip route add 172.16.140.0/22 dev $interface src $ip table $interface
ip route add 82.193.96.0/20 dev $interface src $ip table $interface
ip route add 82.193.96.0/19 dev $interface src $ip table $interface
ip route add 82.193.96.232/29 dev $interface src $ip table $interface

 


Ну и так, как eth0.2 у меня нужен был как дефолтный, я прописал в /etc/firewall.user (может надо в другом файле, но я не знаю точно в каком) инициализацию дефолтного гейтвея:

......
# Default route
ip route add default scope global via 194.0.91.193

 


Таким образом я получил, что подсетки, указанные в eth0.1.dhcp идут через  eth0.1, а всё остальное - через eth0.2, что и требовалось.


Пользовательская оболочка довольно приятная. Хорошая фича - рисование графиков загружености в реальном времени.


Вот примеры рисования графиков:


 


Piccy.info - Free Image Hosting


Piccy.info - Free Image Hosting

Thursday, June 21, 2007

Storing revision information using MSBuild

После опубликования заметки про использование WSH для модификации/генерации файлов во время сборки проекта, Kostiantyn Kudriavtsev предложил альтернативный вариант - воспользоваться "тасками" MSBuild'а.

Действительно идея отличная при использовании автоматизированных сборок продуктов. В особенности с использованием MSBuild Community Tasks, в котором реализовано огромное количество "тасков" - от получения версии из SVN/VSS/TFS до модификаций файлов, создания архивов, работой с XML.

Нашел так же хороший простенький пример как раз подобной операции, что мне нужна была.

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

Tuesday, June 19, 2007

REST - Just rest!

Всё чаще и чаще слышу последнее время про REST и всё, что с ним связанно. Интересно тем, что все давно пользуются так или иначе, но стандартизировать все ленятся.

А реализовывать чей-то API ещё хуже - то одно намудрят, то другое.

И по этому меня заинтересовала работа Thomas Steiner'а об автоматизации этого процесса. И ещё больше - реализация идея в виде работающего генератора кода (Кстати, ещё тем, что он написан на GWT, и доступен исходный код со странички проекта).

Довольно полезная тулзовина для реализации кода, использующего REST-запросы.

Monday, June 18, 2007

Per compitalis ad astra

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

Для начала хотелось бы описать то, что "Per compitalis ad astra" лично для меня значит. Наверное всё пошло ещё со школьных времён: школа, которую я заканчивал в последние годы моего обучения там была переведена в статус "гимназии", и, кроме умного названия, получила девиз, который весел во многих холах. Девиз был не очень оригинален - "per aspera ad astra" :) Тогда нам объяснили гордый смысл пословицы, но звучание мне понравилась и до сих пор помню.

И проанализировав тот путь, который я прошёл с начала своей девелоперской карьеры, я понял, что, не смотря на все развилки в технологиях, решениях, основная цель одна - добится максимального удобства. Вот и простой заменой одного слова и получилось субжевое название, перевод которого можно примерно озвучить как "через перекрёстки (распутья) к звёздам". Где распутьями я понимаю разные платформы, решения, языки и т.д., а "звёздами" - удобный, красивый, гибкий, работающий продукт (результат).

В общем, тут я буду постить разные интересные ссылки, мысльи, сниппеты кода для совершенно разных платформ, языков и т.д.