I’m a web developer and I’ve been stuck with the simplest app for the last 10 days — Medium

Люто плюсую I’m a web developer and I’ve been stuck with the simplest app for the last 10 days — Medium



(As a side note of irritation, it seems that no matter what you choose, you need some watch tasks running in the background compiling, linting, packing, testing. I write something in my editor, Cmd+S to save, Cmd+Tab to switch to the browser, Cmd+R to refresh the page and I don’t see any difference. Guess what, sometimes I’m faster that the compiler or the “watch” task didn’t notice my editing or it threw an exception.)


Як я його розумію. Ненавиджу розробку сайтиків.

  • Current Mood: thrilled

Вторая мировая: самая наступательная из всех войн

reposted by cmd100
Не так просто найти две войны, которые бы разнились столь же сильно, как различаются меж собой первая и вторая мировые войны. Во время второй мировой бывали дни, когда линия фронта за день менялась сильнее, чем в ходе первой мировой - за год. Олицетворение первой мировой - непрошибаемая оборона, тысячи километров окопов, траншей, блиндажей и прочих фортификационных ухищрений.

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



Read more...Collapse )

Вредные пищевые привычки, которые указывают на проблемы со здоровьем

reposted by cmd100




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

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


Read more...Collapse )

О вреде политического онанизма

reposted by cmd100


А вот что-то давно я не резал правду-матку про гражданское общество в РФ. Мне давеча попеняли, что заголовок поста Трансфет. Конституция. Что делать оппозиции? не соответствует содержанию – нет там внятного ответа на вопрос, что же, собственно, надлежит предпринять оппозиции в ситуации конституционного переворота, затеянного кремлевским старцем. Собственно, из контекста статьи следует, что политической оппозиции в стране нет точно так же, как ее не было в 70-е годы в СССР. Диссиденты, антисоветчики и просто недовольные наличествовали в изобилии (самиздат фигачили, анекдоты про Брежнева на кухнях под выпивон рассказывали), но оппозиции советской власти не существовало. Несуществующая оппозиция не только не покушалась на всевластие КПСС, но даже гипотетически не могла создать ей сколь-нибудь заметных проблем хотя бы морального характера. В итоге гегемонию компартии уничтожили члены ее ЦК, а вовсе не оппозиция.Read more...Collapse )

Мнение: Лучшие фильмы ужасов 2010-ых

reposted by cmd100

Фобии и детские психотравмы – понятия крайне индивидуальные, а значит и пугают каждого из нас совершенно разные вещи. По этой причине список фильмов ужасов будет, безусловно, очень субъективным. Тем не менее, каждый фильм обязан своим попаданием в список каким-то самобытным особенностям, которые я постарался подметить и описать. Помимо изобретательности, оригинальность картин играла не меньшую роль, чем, собственно, их “страшность”, поэтому ремейки и сиквелы здесь представлены лишь в виде приятных исключений.

Итак, 20 хорроров 2010-ых, которые сделали ушедшую декаду чуточку страшней:

Read more...Collapse )

Пациент умер, выносите

reposted by cmd100
Opera Paper Products как-бы-шутка-но-не-такая уж и шутка
Opera Paper Products как-бы-шутка-но-не-такая уж и шутка

Я занимаюсь веб программированием 15 лет. Когда я начинал работать за деньги (компьютер у меня был и раньше, конечно), IE 6 был самым передовым и инновационным браузером, Firefox должен был вот-вот появиться, разработчики верили, что будущее за XHTML, до первого драфта HTML 5 и запуска StackOverflow оставалось 4 года, а до первого Chrome – пять лет. 

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

Получается вот как. Веб хорош для быстрого прототипирования, простого delivery, но масштаб его роста сильно ограничен. Грубо говоря, он подходит только для прототипов и игрушечных задач. Что-то вроде языка Basic, вроде и программы писать на нем можно, но всерьез его никто не берет. Веб, конечно, не пропадет, но в конечном счете займет место какого-нибудь там питона, на котором будут детей в MIT учить и ученые не слишком требовательные графики рисовать.

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

Ладно, простые статические страницы с текстом — ок, может быть. С адблоком и reader mode жить можно. Хотя и тут есть умельцы, которые умудряются сто слов отрендерить в страницу в 20 мегабайт, потому что технологии, инновации и disruption.

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

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

Но если взять платформу в целом, без сверхподвигов и свехржертв, иллюзия пропадает. Если дать на нее посмотреть человеку, не укушенному веб-пропагандой, иллюзия пропадает. Как только приложение открывает кто-то, отличный от его собственного разработчика на гигабитном интернете и двенадцатиядерном аймаке про, иллюзия пропадает. Начинается бесконечный поток убогостей, шероховатостей, заусенцев, тормозов, проблем, ошибок, которые в принципе не устранить никаким образом. Даже если у разработчика есть внимание и желание возиться с такими глупостями, даже если приложить бесконенчые усилия — нет, оно не исправляется в принципе. Я знаю, я сам такой разработчик, и я пробовал много раз, и много раз обжигался. Хотя когда смотришь издалека, на бумаге, вроде все хорошо. Что может пойти не так? Да все что угодно. И не только может, но и пойдет, причем в самом неожиданном месте. Веб это такой аналог российского автопрома — издалека вроде тоже машина, вроде тоже ездит, че еще надо-то? Но, как мы все прекрасно знаем, есть нюанс.

Существует ли версия этой реальности, где веб вырастает во что-то более значимое? А как же WebAssembly?

А что WebAssebly? Эта чехарда имеет смысл только только для людей, которые думают, что компьютеров нигде кроме браузера не существует. Очнитесь, ребята, это еще один никому ненужный слой абстракции. Мы с радостью себя отбросили на N лет назад и теперь с радостью это преодолеваем. WebAssembly — это попытка запихнуть в веб то, что без веба прекрасно работало уже несколько десятков лет как — С++ приложения. Чтобы что? Я не знаю чтобы что. Чтобы условный Вася все равно качал себе Слак, завернутый в Электрон, зато теперь написаный на WebAssembly. Смотри, мам, он почти как нативный, даже иконочка есть! И почти не тормозит. Почти-почти. Еще раз — попробуйте выкинуть говно веб-пропаганды из головы и взглянуть на это трезво. В чем тут достижение-то?

Не то чтобы я НЕ хотел чтобы веб во что-то превратился. Я хотел, может, даже больше других. И был момент лет десять назад когда многие в это верили и был еще шанс. Просто пора зафиксировать (давно пора, я просто немножко тормоз, конечно) что веб это веб, не больше и не меньше. Все эти глюки, неровности, тормоза, неудобства, несовместимости, интервенции — это не временные мелкие неприятности, которые вот-вот разрешатся со следующим апдейтом Хрома. Это неотъемлемые свойства платформы, она такая сейчас и примерно такой же будет всегда. Надеяться уже в принципе не на что. И не то чтобы у меня было для вас что-то получше, или что я могу сказать, где будущее. Все что я могу сказать что оно точно не здесь.

[WPF] DataContext для ContextMenu

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

Другой вариант - создавать Attached Property, если нужно забиндить совсем на что-то другое.

Если ContextMenu открывается через Code Behind, например, на левый клик, то нужно указывать вручную ctx.PlacementTarget, иначе он оказывается null.