CTO with a CMO flavorhttps://morozov.ca/2019-01-30T12:20:00+03:005 Biggest Agile User Story Mistakes2019-01-30T12:20:00+03:002019-01-30T12:20:00+03:00Alex Morozovtag:morozov.ca,2019-01-30:5-biggest-agile-user-story-mistakes.html
<p>Sometimes, teams feel that agile user stories are not worth the extra work. I
think I know the reason&nbsp;why.</p>
How corporate communications ruin your teamwork and a way to fix that2017-12-02T12:20:00+03:002017-12-02T12:20:00+03:00Alex Morozovtag:morozov.ca,2017-12-02:corporate-communications-ruin-teamwork.html
<p>Our new executive had almost ruined our team spirit. Did we fire her? No, we
fixed the root cause - our communication&nbsp;technology.</p>
Preparing for a holiday season? Make sure your website conversion rate is *low* enough2017-10-13T10:20:00+03:002017-10-13T10:20:00+03:00Alex Morozovtag:morozov.ca,2017-10-13:preparing-for-a-holiday-season-make-sure-your-website-conversion-rate-is-low-enough.html
<p>There&#8217;s no typo in the title. Our figures show that the lower website
conversion rate you have during seasonal peaks, the better it is for your sales. In
fact, by decreasing conversion, we managed to boost our sales. Read on to learn
how that&nbsp;works.</p>
Make personal growth books work for you: the “Ideas Depot” reading strategy2017-08-23T12:20:00+03:002017-08-23T12:20:00+03:00Alex Morozovtag:morozov.ca,2017-08-23:make-personal-growth-books-work-for-you-the-ideas-depot-reading-strategy.html
<p>Reading personal growth and leadership books is always rewarding. Forgetting
ideas soon without integrating them into your life - not so much. Read on to
learn how to finally make books work for you with a simple 5-minute daily&nbsp;routine.</p>
Django: how to create PDF, MS Word and Excel documents from templates2016-07-11T12:20:00+03:002016-07-11T12:20:00+03:00Alex Morozovtag:morozov.ca,2016-07-11:django-pdf-msword-excel-templates.html
<p>If you&#8217;re building a Django system that implies serving some kind of documents
like reports or bills, chances are you want to provide docs in various formats
from <span class="caps">PDF</span> to <span class="caps">MS</span> Word to <span class="caps">HTML</span>. But how to implement this without resorting to
numerous templates and packages for each document&nbsp;type?</p>
Why you should use the Django admin: 9 tips2015-12-09T10:20:00+03:002015-12-09T10:20:00+03:00Alex Morozovtag:morozov.ca,2015-12-09:why-you-should-use-the-django-admin-9-tips.html
<p>This writing is inspired by a comment on Reddit concerning my <a href="https://morozov.ca/when-you-shouldnt-use-the-django-admin.html">recent post</a>:</p>
<blockquote>
<p><span class="dquo">&#8220;</span>The problem is that everyone I speak to seems to think the opposite - that
the admin is super-limited, inflexible and hard to&nbsp;customize.&#8221;</p>
<p>&#8212; <cite><a href="https://www.reddit.com/r/django/comments/3sfg0x/when_you_shouldnt_use_the_django_admin/">andybak</a> on Reddit</cite></p>
</blockquote>
<p>I&#8217;m about to break this prejudice right now. The Django admin is a really
brilliant piece of software, which can significantly speed up your&nbsp;development.</p>
<p>Here are some tips about the Django admin, which I&#8217;ve found to be quite&nbsp;useful.</p>
Managed search and replace in many files using Vim and ag.2015-11-16T10:20:00+03:002015-11-16T10:20:00+03:00Alex Morozovtag:morozov.ca,2015-11-16:managed-search-and-replace-in-many-files-using-vim-and-ag.html
<p>Recently I faced an interesting problem. I had to search for the <a href="https://code.djangoproject.com/ticket/25780">redundant
lines of code</a> (about a hundred occurences), and replace <strong>some</strong> of them.
The bad thing is that I <em>couldn&#8217;t do that automatically</em>, as each case had to
be manually&nbsp;reviewed.</p>
<p>So, how to automate this task, while keeping the manual&nbsp;control?</p>
How to send Jabber (XMPP) messages from Django2015-11-11T12:20:00+03:002015-11-11T12:20:00+03:00Alex Morozovtag:morozov.ca,2015-11-11:how-to-send-jabber-xmpp-messages-from-django.html
<p>Did you ever want to have a simple Django notification bot? An intranet one
which just sends you (or someone you tell it to) Jabber messages when certain
events occur? So did I. Please, welcome: <strong><a href="https://github.com/alexmorozov/django-jabber">django-jabber</a></strong>.</p>
Tip: How to get a single object`s value with Django ORM2015-11-11T11:20:00+03:002015-11-11T11:20:00+03:00Alex Morozovtag:morozov.ca,2015-11-11:tip-how-to-get-a-single-objects-value-with-django-orm.html<p>There are times when you want to get a single field of a single object in the
database. For example, just get the headline of the blog post #1, not fetching
it&#8217;s body. How do you do it in a usual&nbsp;way?</p>
<span class="s1">&#39;Hello world&#39;</span>
<span class="c1"># Or maybe even this way:</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">BlogPost</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">values</span><span class="p">(</span><span class="s1">&#39;headline&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;headline&#39;</span><span class="p">]</span>
<span class="s1">&#39;Hello world&#39;</span>
</pre>
<p>Recently I&#8217;ve stumbled upon <a href="https://code.djangoproject.com/ticket/25132#comment:3">a shorter one</a>:</p>
When you shouldn’t use the Django admin2015-11-11T10:20:00+03:002015-11-11T10:20:00+03:00Alex Morozovtag:morozov.ca,2015-11-11:when-you-shouldnt-use-the-django-admin.html<p>In case you&#8217;ve thought I detest <code>django.contrib.admin</code> &#8212; by no means.
Actually it&#8217;s one of the Django&#8217;s greatest features, I really love it. In most&nbsp;cases.</p>
<p>Here&#8217;s a real life story. We&#8217;ve had to quickly put up the first version of an
intranet claim tracking system, and one of our developers was just crazy about
the Django admin&#8230; So why not, we&#8217;ve got along with the stock interface as the
primary one for …</p>