Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2017-06-13

Dacha, Moses Bay, El Tur

Таки посетили Дачу в Эль-Тур и знатно покатались по акватории Бухты Моисея.


Последний раз мы были на море весной 2014 года, если мне память не изменяет. Тогда мы катались в Хургадке, у Чупера. Как раз перед тем, как станцию закрыли.
Потом было всякое -- то денег нет, то времени, а то и ни денег ни времени сразу.

Сидели в мордоре и мечтали, как поедем на Красное море и будем катаца. Где? Конечно же у Макса на Даче! Почему там? Ну не в Дахабе же. А где еще на Красном море можно покатаца на виндсерфинге?

Короче, как только появилась возможность, купили билеты (турецкий Пегасус с пересадкой в Стамбуле), страховку, связались с Максом и погнали.

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

Совет-напоминание: если кто поедет в Эль-Тур, берите полноценную визу в аэропорту. На данный момент она стоит 25 юсд. Не ведитесь на рассказы, что Синайская виза это хорошо и правильно. С Синайской визой вас в Эль-Тур не пустят, завернут на заставе.






Original post http://vasnake.blogspot.com/2017/06/dacha-moses-bay-el-tur.html

2017-05-02

Big Data Analysis with Scala and Spark

Big Data Analysis with Scala and Spark
https://www.coursera.org/learn/scala-spark-big-data/home/info

Ну вот, finally, закончил я последний курс специализации
Functional Programming in Scala Specialization
https://www.coursera.org/specializations/scala
Сдал сегодня последнюю домашку.

К сожалению, этот курс меня сильно разочаровал.
Настолько поверхностный и бесполезный оказался, что я пожалел времени, потраченного на прослушивание лекций.
По сравнению с предыдущими курсами этой специализации, где показывали всякое интересное
и давали массу кода, глядя на который можно было научиться полезному, здесь
кода минимум, все интересное есть в документации на Spark и научиться чему-либо может
только полный нуб.
Ощущение, что курс сляпали на отъебись. Очень жаль.

Отдельного упоминания заслуживает домашка, на которую я потратил непозволительно много времени.

Продолжая славную традицию "мы дадим вам задание, но не дадим тестов", тут задание местами
сформулировано так, что без телепата не разобраться.
А лично я застрял, как обычно, на простейшей вещи: в их тестах округление округляет в меньшую сторону,
а я использовал в большую (x.toInt vs x.round.toInt)

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


def getResult(lang: String, scores: String, sc: SparkContext) = {
    def langIdx(lang: String): Int = {
      StackOverflow.langs.indexOf(lang)
    }
    val langCoord = StackOverflow.langSpread * langIdx(lang)
    val iScores = scores.split(",").map(x => x.toInt)

    val vectors = sc.parallelize(iScores.map((langCoord, _)))
    val means = Array((langCoord, iScores.sum / iScores.size))
    StackOverflow.clusterResults(means, vectors)
}

test("clusterResults - Groovy-19") {
    val lang = "Groovy"
    val scores = "23,15,13,13,76,26,16,27"
    val sc = StackOverflow.sc
    val results = getResult(lang, scores, sc)
    StackOverflow.printResults(results)
    assert(results.exists(_ == ("Groovy",100,8,19)))
}

test("clusterResults - PHP-34") {
    val lang = "PHP"
    val scores = "22,22,57,37,30,30,83,44,28,25,37,26,22,26,24,24,22,39,37,49,75,25,37,46,46,40,133,30,29,40,41,22,24,29,33,24,65,55,42,30,22,25,45,61,23,35,67,34,94,24,71,59,50,36,36,36,36,25,39,51,22,49,161,24,54,54,24,176,28,36,28,23,27,26,63,137,104,23,44,22,24,26,35,32,175,50,36,25,27,23,27,32,40,46,32,32,61,22,78,23,22,28,62,62,36,63,81,38,73,23,27,89,51,24,30,28,22,23,33,27,27,55,23,30,29,59,102,46,96,42,37,36,39,194,48,22,24,33,27,48,64,24,28,23,141,31,57,50,23,23,22,108,84,37,22,105,26,29,34,22"
    val sc = StackOverflow.sc
    val results = getResult(lang, scores, sc)
    StackOverflow.printResults(results)
    assert(results.exists(_ == ("PHP",100,160,34)))
}



original post http://vasnake.blogspot.com/2017/05/big-data-analysis-with-scala-and-spark.html

2017-01-12

hate psto

Быказарогаза aka hashtag: ненавижу Зобянена.
Сегодня проспал, понял, что на машине не поеду: до 7 не успеваю проехать срануюленинградку и поехал на метро.
Вылез на Динамо и что я вижу? Затеяли очередную реконструкцию вестибюля, перекрыли половину ворот и эскалаторов.  А там и так просторно не было.
И это не считая уже перманентного пиздеца снаружи: стройки-раскопки, говнище и толпы народа ползущие по временным перелазам.

Нуептвоюмать, зобянен.
Я не против строек и реконструкций, нет. Если они не мешают мне жить. А ты, сцуко, разъебашил весь город. Куда не сунься, в каждом микрорайоне локальный пиздец.
Если бы твои стройки не были похожи на фоллаут после ядерной войны, мне было бы поровну. А так -- я тебя ненавижу.

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






original post http://vasnake.blogspot.com/2017/01/hate-psto.html

2017-01-10

interview question for programmers

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

https://gist.github.com/vasnake/4ce910892d286de2402adc24cbf9d886


---

2017-01-09

Solomon Grandy

Природоведение, дневник: пять недель ежедневных осадков сменились охуенными морозами. -30 и холоднее. Для мордора это перебор. Зато солнышко светит.

Вчера, 8 января, у нас состоялся велопробег. Говорят, 500 участников насчитали.
Официальные источники сообщают, что это был пробег, посвященный развитию велотранспорта в городе.
По этому поводу у меня есть соображение, очень простое: когда в выходной день за бортом -30, ни один уважающий себя человек без причины на улицу не выйдет. За хлебушком там, или собачку выгулять. А тут 500 человек, без спец снаряжения и подготовки, на велосипедах, покататься -- их всех, во главе с организаторами, надо в клинику отправить, лечиться. Это больные люди.
И вот эти на всю голову ушибленные будут определять развитие транспортной инфраструктуры?

Как говорил батя, хуже дурака только дурак с инициативой.





original post http://vasnake.blogspot.com/2017/01/solomon-grandy.html

2016-12-27

природоведение, дневник

Продолжаем наблюдения за природой.

В мордоре идет пятая неделя ежедневных осадков. Тепло, около нуля. Снег выпал и начал подтаивать. А потом подмерзнет и будет весело.

Охуевайтунг.






original post http://vasnake.blogspot.com/2016/12/blog-post_27.html

2016-12-21

Четвертая неделя

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

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





original post http://vasnake.blogspot.com/2016/12/blog-post_21.html

2016-12-15

В деревне Гадюкино дожди

Это просто анекдот какой-то.

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

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

Вообще, три недели непрерывных осадков это перебор. Ятакщетаю.





original post http://vasnake.blogspot.com/2016/12/blog-post.html

2016-11-28

weekends & holidays

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

Заметка про нашего мальчика: понадобился мне список выходных и праздничных дней. Типа, для подсчета статистики всякой, бла-бла-бла "по выходным и праздничным дням". Грустно и смешно, но в удобоваримом виде такой информации нет.
Есть http://xmlcalendar.ru/ в xml.
Есть http://data.gov.ru/opendata/7708660670-proizvcalendar в csv.
Но оба требуют трансформации до состояния "список дат: выходные и праздничные дни".

Собственно, вот, трансформатор: https://github.com/vasnake/weekends
Поскольку я прокачиваю мышцу Scala, утилитка на написана на ей, родимой.
Enjoy.





original post http://vasnake.blogspot.com/2016/11/weekends-holidays.html

2016-09-11

Dog house

Интересно, как мысли/информация кругами ходит

Цитата

Разрешимость и даже complexity являются математическими игрушками и часто играют злые шутки с инженерами.
...
Представьте что надо написать программу, создающую будку на Х собак, где Х - натуральное. Но задача не решаема в общем виде! На 1-2 собаки надо делать классическую будку типа Плуто, на 3-10 - вольеры из сетки в ряд, а на большее число - уже целые комплексы в инете я видел, т.к. надо решать совершенно другие проблемы вроде массового выгула.

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

Конец цитаты
http://nponeccop.livejournal.com/507802.html

И это замечательно перекликается с выступлением
Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yet
https://youtu.be/oKg1hTOQXoY


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

Обожаю послушать умных людей.







original post http://vasnake.blogspot.com/2016/09/dog-house.html

2016-09-10

Design patterns

Об https://en.wikipedia.org/wiki/Software_design_pattern



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

Цитата

Here's the deal with design patterns ... They are observations, not rules. People noticed that programmers seemed to be approaching problems in similar ways in a bunch of different applications, and they decided that it would be pretty useful to be able to talk about those approaches using a common vocabulary so they wouldn't have to keep explaining what they were referring to. So they figured out general versions of these common practices and gave them names like "Visitor" and "Observer."

But the important part is "understand why." The skill you need to cultivate to become a good developer and to be attractive to the kinds of companies in the question isn't plugging together objects from a library of canned formulas, but rather understanding the reasoning behind them deeply enough that, when faced with the same problem, you will arrive at the same solution on your own. And much more importantly, when faced with a similar but not identical problem, you will do something else rather than try to shoehorn the solution into an existing design pattern that's an awkward fit.

Конец цитаты
https://www.quora.com/What-are-the-most-important-design-patterns-that-software-engineers-should-know-to-work-at-Google-Amazon-and-Facebook/answer/Steven-Grimm






original post http://vasnake.blogspot.com/2016/09/design-patterns.html

2016-09-01

UPS

Четыре года.
Четыре года продержались аккумуляторы в ИБП. Неплохой результат, на замену заказал похожие (точно таких уже не делают).
Как выяснилось, такие батарейки ценятся не только мною, на рынке цена у них в верхней части спектра.

Было:
Battery 12V 7AH Rechargeable battery 12 V 7 AH for UPS, Dimensions: 151 x 65 x 95 mm,
Yuasa NPW36-12 12V/7AH
Куплено в 2012 году в Джасте по 690 рублей/штука. + 290 доставка.

Стало:
Батарея Yuasa NP7-12 12В/7А, артикул 211231, Размеры (ШхГхВ),мм 65х151х97,5
Тоже в Джасте, 1330 руб./штука + 290 доставка.
Забавно, чисто локальный продукт, «доставка» в цене не изменился. Это как же упали доходы курьеров? Или объемами возмещают?


Посмотрим, как эти себя покажут.
ЧСХ, сам UPS пашет и пашет, лет 10 уже, наверное.
Правда, умершие батарейки не показал, хотя индикация всякая есть.
Просто на днях не смог удержать перебоя в питании, компы отключились.
Стал проверять: один комп держит, два уже нет.
UPS Powercom IMD-1025AP







original post http://vasnake.blogspot.com/2016/09/ups.html

2016-08-26

Decoupling

Замечательная идея: отсоединить I/O от конкретного протокола, скажем, HTTP.
Цитирую:

In a word: reusability. By implementing network protocols without any I/O and instead operating on bytes or text alone, libraries allow for reuse by other code regardless of their I/O decisions. In other words by leaving I/O out of the picture a network protocol library allows itself to be used by both synchronous and asynchronous I/O code. And by not simply abstracting out the I/O it allows users of the library to drive the network interactions themselves, not the network protocol library itself; not forcing I/O code to have to conform to a certain API provides the greatest flexibility for users of such low-level details such as network protocols. Working towards this unbinding of network protocols from I/O is very important as the Python community migrates from synchronous I/O code to using async/await for asynchronous I/O.

https://sans-io.readthedocs.io/

Не важно, как ты делаешь I/O, ты, главное, массив байтов или строку текста дай на вход и bob-your-uncle.



original post http://vasnake.blogspot.com/2016/08/decoupling.html

Cartobonus/Картобонус

Как сказал один умный человек, если хочешь сделать резервную копию для Х, выложи это Х в Интернет, пусть люди сами копируют.

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

Картобонус, проект, который не «выстрелил»:


Web map viewer, built on ArcGIS API for Silverlight.
Вместе с mapfeatureserver https://github.com/vasnake/mapfeatureserver
должен был образовать очень привлекательную комбинацию. Но, не судьба.

Информация по теме:

Когда стало понятно, что Silverlight должен умереть, мы начали пилить картобонус на JavaScript:
Кое-что сделать удалось: нормальную «легенду/TOC», репозиторий подключаемых слоев – базовые фишки картобонуса.

А потом кризис добрался и до нас. RIP, картобонус.





original post http://vasnake.blogspot.com/2016/08/cartobonus.html

2016-08-17

produce a random BigInt and convert it to base 36

В книжке Scala for the Impatient есть удивительная задачка:
… produce a random BigInt and convert it to base 36,
yielding a string such as 'qsnvbevtomcj38o06kul' ...

Удивительна она не тем, что надо как-то сгенерить рандомный BigInt, или перевести его из base2 (or base10) в base36. Удивительна она тем, что масса народу дает неправильный (очевидно неправильный) ответ.
Просто загуглите и почитайте. Самый распространенный ответ:
BigInt.probablePrime(100, util.Random).toString(36)
Дурдом.

В задаче четко сказано: рандомный бигинт а не рандомный какбы прайм.
Что характерно, эта задачка дана сразу после главы, где разжевано, как пользоваться Scaladoc.
Мало того, в самой задачке сказано: Poke around Scaladoc to find a way...

Короче, внимательно поглядев на Scaladoc в раздел BigInt можно быстро найти правильный ответ:
BigInt(128, util.Random) toString 36


И эти люди пишут нам программы? Боже упаси.




original post http://vasnake.blogspot.com/2016/08/produce-random-bigint-and-convert-it-to.html

BerkeleyX: CS190.1x Scalable Machine Learning, digest

Курс
BerkeleyX: CS190.1x Scalable Machine Learning

и мои подробные конспекты

экстра

Пришла пора обновить память и скомпилять это все в дайджест.

Content

In this course, you will learn how to write and debug Python Spark (pySpark) programs in five weekly lab exercises

WEEK 0: Setup Course Software Environment
Topics: Step-by-step instructions for installing / using the course software environment, and submitting assignments to the course autograder.

WEEK 1: Course Overview and Introduction to Machine Learning
Topics: Course goals, Apache Spark overview, basic machine learning concepts, steps of typical supervised learning pipelines, linear algebra review, computational complexity / big O notation review.
Lab 1: NumPy, Linear Algebra, and Lambda Function Review.

WEEK 2: Introduction to Apache Spark
Topics: Big data and hardware trends, history of Apache Spark, Spark's Resilient Distributed Datasets (RDDs), transformations, and actions.
Lab 2: Learning Apache Spark. Perform your first course lab where you will learn about the Spark data model, transformations, and actions, and write a word counting program to count the words in all of Shakespeare's plays.

WEEK 3: Linear Regression and Distributed Machine Learning Principles
Topics: Linear regression formulation and closed-form solution, distributed machine learning principles (related to computation, storage, and communication), gradient descent, quadratic features, grid search.
Lab 3: Millionsong Regression Pipeline. Develop an end-to-end linear regression pipeline to predict the release year of a song given a set of audio features. You will implement a gradient descent solver for linear regression, use Spark's machine Learning library ( mllib) to train additional models, tune models via grid search, improve accuracy using quadratic features, and visualize various intermediate results to build intuition.

WEEK 4: Logistic Regression and Click-through Rate Prediction
Topics: Online advertising, linear classification, logistic regression, working with probabilistic predictions, categorical data and one-hot-encoding, feature hashing for dimensionality reduction.
Lab 4: Click-through Rate Prediction Pipeline. Construct a logistic regression pipeline to predict click-through rate using data from a recent Kaggle competition. You will extract numerical features from the raw categorical data using one-hot-encoding, reduce the dimensionality of these features via hashing, train logistic regression models using mllib, tune hyperparameter via grid search, and interpret probabilistic predictions via a ROC plot.

WEEK 5: Principal Component Analysis and Neuroimaging
Topics: Introduction to neuroscience and neuroimaging data, exploratory data analysis, principal component analysis (PCA) formulations and solution, distributed PCA.
Lab 5: Neuroimaging Analysis via PCA - Identify patterns of brain activity in larval zebrafish. You will work with time-varying images (generated using a technique called light-sheet microscopy) that capture a zebrafish's neural activity as it is presented with a moving visual pattern. After implementing distributed PCA from scratch and gaining intuition by working with synthetic data, you will use PCA to identify distinct patterns across the zebrafish brain that are induced by different types of stimuli.

Digest...

2016-08-11

Machine Learning (Andrew Ng, Coursera, Stanford)

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

Первый курс, который я прошел (с отличием!), назывался
Machine Learning
читал его Andrew Ng
на платформе Coursera, Stanford

Вот тут есть подробное изложение изученного:

Сегодня, с целью взбодрить память, я скомпилял типа дайджест курса.
Енджой.



Week 1
    Introduction
    Linear Regression with One Variable
    (Optional) Linear Algebra Review
Week 2
    Linear Regression with Multiple Variables
    Octave Tutorial
Week 3
    Logistic Regression
    Regularization
Week 4
    Neural Networks: Representation
Week 5
    Neural Networks: Learning
Week 6
    Advice for Applying Machine Learning
    Machine Learning System Design
Week 7
    Support Vector Machines (SVMs)
Week 8
    Clustering
    Dimensionality Reduction
Week 9
    Anomaly Detection
    Recommender Systems
Week 10
    Large-Scale Machine Learning
    Example of an application of machine learning

2016-08-04

Principles of Reactive Programming (Scala)

И снова про Reactive Programming.
На Курсере был такой курс «Principles of Reactive Programming». К сожалению – был. Больше нет.
К большому сожалению, ибо материал там убойный, на базе Scala.

Старые курсы они перетряхнули, получилось
но от реактивности там ничего не осталось. Зато параллельность появилась, тоже неплохо.

Но не все потеряно: я сохранил все видеолекции



а также все задачки-assignments, вместе с сопроводительной документацией
равно как и сниппеты кода, приводимые на лекциях.

И сегодня (вернее, вчера) я этот курс закончил: закодил решение последней задачки:
replicated KV store на акторах Akka.

Круто!

Кто хочет одолеть реактивное программирование на Scala – велкам, смотрите лекции, решайте задачки.






original post http://vasnake.blogspot.com/2016/08/principles-of-reactive-programming-scala.html

2016-07-31

Dynamic Programming

Всё, что вы хотели знать про Dynamic Programming
-- brute-force, memoization, subproblems, guess, recursion.

Лекции от Erik Demaine (MIT)
https://youtu.be/ENyox7kNKeY


http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/

В частности,
1. что такое memoization, почему так называется?
2. Почему Dynamic Programming, откуда такое название?

1: Memo pad, внесение заметок в memo pad -- memoization.
2: Ученый работал на вояк и не мог сказать, что занимается "исследованиями", поэтому придумал загадочный термин, чтобы генералы не доебались.





original post http://vasnake.blogspot.com/2016/07/dynamic-programming.html

2016-07-20

Spark 2

Apache Spark 2: DataFrames, Datasets, Streaming.

Серьезные изменения в скорости и возможностях
https://www.youtube.com/playlist?list=PL-x35fyliRwiz70bTSSK4HmOZ4JazCFUj

https://www.google.com/search?q=spark+2+dataframe+dataset+streaming

https://spark-summit.org/2016/schedule/





original post http://vasnake.blogspot.com/2016/07/spark-2.html

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) Baltic (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)