You are viewing gemelen

Gemelen
14 April 2015 @ 22:41
Утащено из комментария к:

Я думаю программистское мышление подразумевает следующие вещи:

1. Желание отделять данные от логики. Пример: есть некий скрипт do_A, которыей делает нечто с A. Надо теперь делать B, причём B очень похоже на A, либо вообще идентично. Нормальный человек просто скопирует do_A в do_B, потом откроет новый файл и заменит там везде A на B. (И будет жить счастливо ещё 10 лет.) Программист такого не потерпит и полезет в скрипт разбираться. Сделает из него do_wtvr и будет передавать параметром A или B. Такое выделение данных из логики обыденная вещь у программистов, но почти всегда удивляет остальных. Как следствие, программисты очень не любят всякое hardcoded, а обычные люди относятся к этому спокойно. Можно дать некий псевдокод, где много всего hardcoded и есть повторения. Спросить как можно было бы это улучшить. Или более абстрактно об этом поговорить.

2. Делегирование и indirection. Скажем, обычных людей не смущают вещи вида "#!/usr/local/bin/python27" . Программист напишет "#!/usr/bin/env python". Вообще, желание всё прошить хуками и колбеками - очень программисткая черта. "А вдруг понадобиться что-нибудь вставить, а я не готов?" - так рассуждают программисты. Другая грань этого свойства - вызывание уже готовых тулзов, функций и пр., а не написание их самому. Скажем, не писать скрипт для поиска слова в файлах определённого вида, а запустить grep посреди других операций в пайпе. Из этого как следствие желание модулярности и независимости узлов, а не монолитного решения. Можно человека спросить как бы он решил некую задачу, которая легко разбивается на подзадачи, при этом предупредить что задача скорее всего будет видоизменяться, поэтому хотелось бы иметь robust решение. Программист сразу начнёт клепать модули и интерфейсы. Обычных людей такие вопросы часто ставят в тупик, т.к. они не привыкли разбивать большие задачи на мелкие под-задачи.

3. Программисты мыслят стеком. То что взяли надо положить обратно. То что трогали, надо почистить и вернуть как было. Unwind and rollback всегда подразумеваются. Обычных людей это часто раздражает и они не всегда понимают зачем это надо и тем более зачем это надо делать в обратной последовательности, а не в произвольной.

4. Обсессивное внимание к деталям. Не обязательно только программистская черта, но почти у всех программистов я её наблюдаю.


This entry was originally posted at http://gemelen.dreamwidth.org/139773.html. Please comment there using OpenID.
 
 
 
Gemelen

If you use the phrase "I assumed...", you'll be viewed as having hastily jumped to a conclusion based on insufficient evidence.
If you use the phrase "My understanding was...", people will merely think you misunderstood something, and will be far kinder to you (and in instances where what you misunderstood was something they said, they will often apologize, or fault themselves for not being more explicit).
This is especially useful in a professional/workplace environment. Telling your supervisor you "assumed" something typically results in a reprimand; saying "My understanding was..." will instead be attributed to a miscommunication, or a lack of clarity in their original instructions.


This entry was originally posted at http://gemelen.dreamwidth.org/139498.html. Please comment there using OpenID.
 
 
 
Gemelen
06 March 2015 @ 22:35
Свершилось...
Смесь бульдога с носорогом, то бишь Chrome с Opera, под названием Vivaldi, стал удобен почти как старая-добрая Opera.
Всё то, чего не хватало в новой "официальной" - добавлено/поправлено. Ну разве что уже мелочей навроде отключения эскизов для табов нет. В остальном UX уже такой же и можно перестать пользоваться 12ой, заметно тормозящей уже почти на любых современных сайтах.
Правда, нельзя забывать о том, что это Chrome:


This entry was originally posted at http://gemelen.dreamwidth.org/139234.html. Please comment there using OpenID.
 
 
 
Gemelen
via tassadar_ha@lj

Исповедь бывшего москаля

This entry was originally posted at http://gemelen.dreamwidth.org/138916.html. Please comment there using OpenID.
 
 
 
Gemelen


This entry was originally posted at http://gemelen.dreamwidth.org/138636.html. Please comment there using OpenID.
 
 
 
Gemelen
01 March 2015 @ 01:29
Раз уж вышел по случаю из рид-онли, сходил покомментировал, то заодно и прошерстил список френдов.
Как оказалось, там всё ещё числились какие-то махровые Ымперцы (понятно, насколько часто я захожу в само жж, коли эти тела, проявившиеся уже год как, всё ещё были в /friends), конформисты, которым текущая РФ по-прежнему более-менее удобна или кто-то совершенно уже неинтересный. Вредно читать всё через RSS, накапливается рассинхронизация между читаемым реально и видимым через lj/friends.
Заодно отписался и от всякого трэша типа pora_valit.
Добавил несколько новых фидов, раз уж такая пьянка.

This entry was originally posted at http://gemelen.dreamwidth.org/138279.html. Please comment there using OpenID.
 
 
 
Gemelen
28 February 2015 @ 21:15
Оказывается, далеко не только Малена Эрман позволяет себе отбросить скучный образ оперной певицы и работать на сцене не только голосом:


This entry was originally posted at http://gemelen.dreamwidth.org/138067.html. Please comment there using OpenID.
Tags: ,
 
 
 
Gemelen
With job change comes project change and some bizarre technologies like old-n-hairy OSGI.
There are some steps to get comprehensive environment.

All done with a lot of virtualization magic under SmartOS, thanks to Joyent and other guys whom deliver this amazing stuff.

0. Create project with Maven and its maven-bundle-plugin to produce bundle jar.
1. Make necessary changes to sources to start with.
For example, simple Activator class only with start() and stop() methods like

import org.osgi.framework._

class Activator extends BundleActivator {
def start(bc: BundleContext):Unit = { Console.println("started") }
def stop(bc: BundleContext):Unit = { Console.println("stopped") }
}

At this point you should be able to successfully package it locally.
2. Add sources under VCS control (or do it from start). I use git and bitbucket service for this time.
3. Here comes SmartOS:

[root@saule ~]# vmadm list
UUID TYPE RAM STATE ALIAS
...
e810ea3c-ac05-48e5-9a80-0c42bca99a6e OS 512 running postgres
3eb5876f-4577-4791-99d0-4b16b4cbe3d1 OS 800 running nexus
bea2edbb-443c-4291-8007-5d67cd038acf OS 2048 running teamcity
e8bec698-0cdd-45f1-a039-dfbd591864e9 OS 4096 running hq

I have rented dedicated server to do dirty work at, and there are already all vm-instances for software production cycle.
Everybody else can do the same with idea "one vm for one service" in mind.
"hq" hosts working shell+vim, is ready to edit code and run Felix container.
All used software is free and OSS (majority of them).
I use Nexus OSS version and Teamcity free version (up to 10 users, 20 build configurations and 3 build agents).
4. In Teamcity: create project, add vcs-root from bitbucket (with access via "deployment" key from "teamcity" vm), use auto-created or create by hand build configuration (which simply runs maven deploy).
5. In Nexus:
since OSS version shipped without some features, we should download and install plugin to be able create proxy repository from maven to OBR which will be used later in Felix.
Read and repeat instructions from Nexus OBR Plugin install
Then login into Nexus and create proxy-repo. Again, instruction is already done by some good guys Transforming a Maven Repository into an OSGi Bundle Repository
6. Download and unpack Felix dustribution in your working place ("hq" in my case).
7. Run Felix and add proxy repo from previous step via command

obr:repo add <repo-url/.meta/obr.xml>

8. Push sources to remote repo, which will trigger build in Teamcity and deploy to some repo in Nexus (snapshots for example).
9. In Felix

obr:list // to list all artifacts from proxy-repo added in step 7
obr:deploy <artifact>
felix:start <its id>


With some other things under the hood (maven deployment configuration and settings) and a bit of luck, you will get continuous delivery infrastructure.

This entry was originally posted at http://gemelen.dreamwidth.org/137761.html. Please comment there using OpenID.
 
 
Current Mood: exhaustedexhausted
Current Music: Hol Baumann - Human | Live Nuit Hypnotique #4 (Full Set)
 
 
 
Gemelen
21 February 2015 @ 16:58
"Хотите бакс по 90? А будет по 10." (оригинал выпилен, идём в кэш):
Онолитега.
Чтение других блогозаписей того же пользователя и его профиль доставляют не меньше.

This entry was originally posted at http://gemelen.dreamwidth.org/137719.html. Please comment there using OpenID.
 
 
 
Gemelen
15 February 2015 @ 12:32


This entry was originally posted at http://gemelen.dreamwidth.org/137381.html. Please comment there using OpenID.
 
 
 
Gemelen
14 February 2015 @ 21:36


Самое оно для вечера 14го февраля - творение Макото Шинкая.

This entry was originally posted at http://gemelen.dreamwidth.org/137184.html. Please comment there using OpenID.
Tags:
 
 
 
Gemelen
10 January 2015 @ 19:16
Степень накала пропаганды на российском телевидении можно заметить даже не по тому, что нынче называется киселёвщиной, а по тому, что идёт незаметным фоном. Сегодня мне довелось видеть прямой эфир с каких-то соревнований по биатлону на Россия-Спорт. И вот к такому вроде бы мирному действу, с натяжкой политизируемому, подавались такие комментарии, что хоть стой, хоть падай: тут и великодуховность, передаваемая участниками российской сборной (по словам комментатора), и выпячивание "нормальных" отношений (при показе сцены поцелуя спортсмена опять же из нашей сборной то ли с женой, то ли с коллегой) [да при чём тут это к спорту вообще?], и типичное "англичанка гадит" в отношении погоды (то есть ветер только российским биатлонистам мешал стрелять, а остальным - нет).
"Но как, Холмс?!"

This entry was originally posted at http://gemelen.dreamwidth.org/136876.html. Please comment there using OpenID.
 
 
Current Music: Das Ich - Chroma (Soldano Version)
 
 
 
Gemelen
05 January 2015 @ 04:18

[2:24:14] Boda: мы иво теряем
[2:24:49] Boda: еще поди в бендерштадт не переехал, а уже поди в УПА заяву на вступление накрапал


This entry was originally posted at http://gemelen.dreamwidth.org/136531.html. Please comment there using OpenID.
 
 
 
Gemelen
29 December 2014 @ 15:19
-$5 is gas money again!
-...
-Remember why you could get 5 roast beef sandwiches for 5 dollars at arbys?
-Why?
-I don't know. But do you know who combustion engines work?
-Suck, squeeze, bang, blow.
-TIL OPs mom is a combustion engine

This entry was originally posted at http://gemelen.dreamwidth.org/136369.html. Please comment there using OpenID.
Tags:
 
 
 
 
 
Gemelen
26 November 2014 @ 21:17

...
-Он так пишет о развале России, как будто в этом есть что–то плохое. Группа из 10–15 суверенных государств на месте нынешнего тупорылого монстра будет куда более жизнеспособна.
-Контроль за ядерным оружием, например.
-При развале СССР всё оружие собрали в РФ, а тут можно всё ядерное оружие отдать Якутии.
-Лучше Чукотке. Парни наконец–то отомстят за все анекдоты
...


This entry was originally posted at http://gemelen.dreamwidth.org/135857.html. Please comment there using OpenID.
Tags:
 
 
 
Gemelen
23 November 2014 @ 21:57
Оно местами смешное, хотя без морд и контекста выглядит совершенно тупо :)

...
-So, do you build index on the fly?
-Yeah. Of course.
-Ok. Well. What's that? // Points somewhere in the code on the screen
-Key-value store.
-...
-Tuples.
-...
-Speak english?


А ещё: наиболее интересный ноутбук - у парня с ролью менеджера. У "кодеров" попсовые макбуки и моноблоки VAIO.

PS: WTF is this shit? :D Is it Groovy or what?



This entry was originally posted at http://gemelen.dreamwidth.org/135463.html. Please comment there using OpenID.
Tags:
 
 
 
Gemelen
21 November 2014 @ 09:47
Если идея настойчиво показывает большой сгенерированный класс красненьким, то стоит сходить в idea.properties за вот этим параметром

idea.max.intellisense.filesize=18000


This entry was originally posted at http://gemelen.dreamwidth.org/135274.html. Please comment there using OpenID.
 
 
 
Gemelen
2

и 2

xxx> кстати, в думе ограбили банкомат
xxx> причём ломом а не кардеры
yyy> правильно, откуда в думе кардеры ?
yyy> Средний уровень подкованности удручающе низок
yyy> Трясти надо сильнее (С)


This entry was originally posted at http://gemelen.dreamwidth.org/135052.html. Please comment there using OpenID.
 
 
Current Music: Eisheilig - Zeitgeist
 
 
 
Gemelen
08 October 2014 @ 20:07


This entry was originally posted at http://gemelen.dreamwidth.org/134888.html. Please comment there using OpenID.
Tags: