<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>λ-Files</title>
<link>https://zaliva.org/blog/</link>
<description>Blog archive</description>
<language>en</language>
<item>
<title>Why Forcing Users to Change Passwords Is Bad for Security</title>
<link>https://zaliva.org/blog/2026/04/why-forcing-users-to-change-passwords-is-bad-for-security.html</link>
<guid>https://zaliva.org/blog/2026/04/why-forcing-users-to-change-passwords-is-bad-for-security.html</guid>
<pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
<description>Periodic password expiry (e.g. “change your password every 60–90 days”) is no longer considered good practice. Modern guidance is clear: Do not require password changes unless there is evidence of compromise. Authoritative Guidance 🇺🇸 United States: National Institute of Standards and Technology (NIST) “Verifiers and CSPs SHALL NOT require subscribers to change passwords periodically. However, ve…</description>
</item>
<item>
<title>Killing Voicemail with Twilio: A Simple Setup for People Who Hate Voicemail</title>
<link>https://zaliva.org/blog/2025/12/killing-voicemail-with-twilio-simple.html</link>
<guid>https://zaliva.org/blog/2025/12/killing-voicemail-with-twilio-simple.html</guid>
<pubDate>Thu, 04 Dec 2025 18:45:00 GMT</pubDate>
<description>I hate voicemail. My inbox was mostly full of robocalls, accidental pocket dials, and &apos;call me back&apos; messages that would have been far clearer in writing. Eventually, I decided that voicemail had to go. The solution turned out to be wonderfully simple: instead of letting my carrier send unanswered calls to a traditional voicemail box, I now forward them to a Twilio number that plays a short, poli…</description>
</item>
<item>
<title>Essence and Accidents of AI-Generated Proofs</title>
<link>https://zaliva.org/blog/2025/11/essence-and-accidents-of-ai-generated.html</link>
<guid>https://zaliva.org/blog/2025/11/essence-and-accidents-of-ai-generated.html</guid>
<pubDate>Fri, 28 Nov 2025 19:46:00 GMT</pubDate>
<description>There is an ongoing, sometimes heated, argument between people embracing AI &quot;vibe coding&quot; as a great new technology liberating us from mundane tasks and allowing us to focus on high-level problems, vs people considering it is &quot;stupid autocomplete&quot; which produces &quot;AI slop&quot; while dumbing down writers who routinely rely on it, in the process. We will frame this discussion around AI-assisted proof sy…</description>
</item>
<item>
<title>Evolution email setup for Tufts.edu</title>
<link>https://zaliva.org/blog/2025/03/evolution-email-setup-for-tuftsedu.html</link>
<guid>https://zaliva.org/blog/2025/03/evolution-email-setup-for-tuftsedu.html</guid>
<pubDate>Wed, 26 Mar 2025 18:28:00 GMT</pubDate>
<description>If anyone is trying to set up the Evolution email client to access a Tufts University (tufts.edu) email account, I hope a Google search leads you here! After spending some time on this, I want to document the working steps for the public record.When adding an account start with your official email address John.Smith@tufts.eduUntick &quot;Look up mail server details based on entered e-mail address&quot;. (t…</description>
</item>
<item>
<title>Computer Archeology: UMT (Ultimate Mail Tool)</title>
<link>https://zaliva.org/blog/2023/02/computer-archeology-umt-ultimate-mail.html</link>
<guid>https://zaliva.org/blog/2023/02/computer-archeology-umt-ultimate-mail.html</guid>
<pubDate>Wed, 22 Feb 2023 21:54:00 GMT</pubDate>
<description>Between 1993 and 1995, I&apos;ve been leading a team at a software company in Kyiv, Ukraine, developing a mail client (MUA) with a graphical user interface for Unix (Irix, HPUX, Solaris, and Linux). It was an in-house, build-from-scratch product with the hope of selling it as a commercial offering. Back then, most Unix folks used text email clients, like elm or mutt, which lacked many modern features.…</description>
</item>
<item>
<title>Importing mail from Google Takeout into another Gmail account</title>
<link>https://zaliva.org/blog/2021/03/importing-mail-from-google-takout-into.html</link>
<guid>https://zaliva.org/blog/2021/03/importing-mail-from-google-takout-into.html</guid>
<pubDate>Fri, 12 Mar 2021 21:59:00 GMT</pubDate>
<description>I had a Google Takeout export of my old University Google account, which I wanted to import into my personal Gmail. Unfortunately, Google does not provide an easy way to do this. I decided to use this as an opportunity to refresh my Haskell language skills, and in particular, to familiarize myself with the Pipes library. The idea was to process an arbitrary size mailbox in fixed memory without ex…</description>
</item>
<item>
<title>My computer setup</title>
<link>https://zaliva.org/blog/2020/10/my-computer-setup.html</link>
<guid>https://zaliva.org/blog/2020/10/my-computer-setup.html</guid>
<pubDate>Tue, 20 Oct 2020 20:39:00 GMT</pubDate>
<description>In this post, I will share how my 2020 computer setup looks (hardware and software). It will be interesting to read this in a few years to see how things may have changed.Hardware:I do 100% of my work on my laptop without using an external keyboard, monitor, or mouse. This gives me maximum portability. I can work anywhere: in a cafe, on an airplane, at the desk or on a sofa. My laptop is DELL XPS…</description>
</item>
<item>
<title>Switching between 3 languages with i3</title>
<link>https://zaliva.org/blog/2019/02/three-language-switching-with-i3.html</link>
<guid>https://zaliva.org/blog/2019/02/three-language-switching-with-i3.html</guid>
<pubDate>Wed, 06 Feb 2019 22:21:00 GMT</pubDate>
<description>I type in 3 languages: English, Ukrainian, and Russian. It turns out, I never have to switch directly between Russian and Ukrainian. However, when typing in either Russian or Ukrainian I often switch to English to type email addresses, URLs, Unix commands, etc. In such scenario using standard X11 keyboard switching mechanism with setxkbmap specifying all 3 languages is impractical. It cycles thro…</description>
</item>
<item>
<title>Keyboard layout indicator for i3 with i3status</title>
<link>https://zaliva.org/blog/2019/02/keyboard-layout-indicator-for-i3-with.html</link>
<guid>https://zaliva.org/blog/2019/02/keyboard-layout-indicator-for-i3-with.html</guid>
<pubDate>Wed, 06 Feb 2019 19:13:00 GMT</pubDate>
<description>I am using i3 window manager with i3status bar. This post describes how to set up a responsive keyboard layout indicator if you are using multiple keyboard layouts. It looks like this: In the screenshot above it shows that I have 2 keyboard layouts: American English (us) and Ukrainian (ua) and currently the first one is active. Display part is implemented by this script. It depends on xkblayout-s…</description>
</item>
<item>
<title>Dell XPS-13 Touchpad problem (analysis and solution)</title>
<link>https://zaliva.org/blog/2019/01/dell-xps-13-touchpad-problem-analysis.html</link>
<guid>https://zaliva.org/blog/2019/01/dell-xps-13-touchpad-problem-analysis.html</guid>
<pubDate>Thu, 31 Jan 2019 21:30:00 GMT</pubDate>
<description>I recently switched to DELL XPS 13 as my primary laptop. In addition slick design and modern specs, the extra bonus is that there is good Linux support thanks to Dell&apos;s Project Sputnik. However, I quickly discovered that it is plagued by a common problem of random touchpad clicks. It is reported by numerous users and various workarounds were proposed. It exhibits as follows: while I type my touch…</description>
</item>
<item>
<title>The brave new world of computational photography, or why cell phones are killing SLRs</title>
<link>https://zaliva.org/blog/2018/11/the-brave-new-world-of-computations.html</link>
<guid>https://zaliva.org/blog/2018/11/the-brave-new-world-of-computations.html</guid>
<pubDate>Sat, 03 Nov 2018 23:40:00 GMT</pubDate>
<description>Until very recently photography, for decades, has not endured much change. Most changes to film emulsions, lens optics, and mechanics were more quantitive than qualitative. Even the first switch to digital which amounted to slapping a digital sensor instead of the film was not revolutionary. The art of photography is of translating the image of the real world to a still picture on an arbitrary me…</description>
</item>
<item>
<title>Writer comonad in Coq</title>
<link>https://zaliva.org/blog/2017/03/wrtier-comonad-in-coq.html</link>
<guid>https://zaliva.org/blog/2017/03/wrtier-comonad-in-coq.html</guid>
<pubDate>Thu, 09 Mar 2017 19:24:00 GMT</pubDate>
<description>In the last post, we reviewed Writer comonad in Haskell. In this post we will implement it in Coq. Since monads are not the part of standard Coq library, and we will use ExtLib which provide basic monad definitions. First, we need to define Writer monad. ExtLib only provides WriterT monad transformer, from which we can trivially create a Writer monad: Variable s t : Type. Variable Monoid_s : Mono…</description>
</item>
<item>
<title>Writer comonad in Haskell</title>
<link>https://zaliva.org/blog/2017/03/writer-comonad-in-haskell.html</link>
<guid>https://zaliva.org/blog/2017/03/writer-comonad-in-haskell.html</guid>
<pubDate>Wed, 08 Mar 2017 22:26:00 GMT</pubDate>
<description>Writer monad is readily available in Haskell. But what about Writer comonad? Let us start with the basics. Comonad class is defined as: Comonad w where extract :: w a -&gt; a duplicate :: w a -&gt; w (w a) extend :: (w a -&gt; b) -&gt; w a -&gt; w b The minimal implementation requires you to implement &apos;extract&apos; and &apos;extend.&apos; Additionally, it must satisfy the following comonad laws: 1 2 3 extend extract = id ext…</description>
</item>
<item>
<title>Switching between 3 languages in Ubuntu</title>
<link>https://zaliva.org/blog/2017/01/switching-between-3-languages-in-ubuntu.html</link>
<guid>https://zaliva.org/blog/2017/01/switching-between-3-languages-in-ubuntu.html</guid>
<pubDate>Sat, 14 Jan 2017 01:28:00 GMT</pubDate>
<description>I use three languages: English, Russian, and Ukrainian. Switching between them is a bit tricky. Usually, you type in one of them, occasionally switching to a second one. It is almost never you need to randomly switch between all 3. MacOS keyboard switching mechanism reflects that, with default keyboard language switch shortcut toggling between the two most recently used languages. If you want to …</description>
</item>
<item>
<title>BitBucket Git checkout over SSH with multiple accounts</title>
<link>https://zaliva.org/blog/2016/11/bitbucket-git-checkout-over-ssh-with.html</link>
<guid>https://zaliva.org/blog/2016/11/bitbucket-git-checkout-over-ssh-with.html</guid>
<pubDate>Wed, 02 Nov 2016 18:48:00 GMT</pubDate>
<description>If you have multiple user accounts at BitBucket (e.g. personal and work), you may run into a problem. The first think you will notice that you could not use the same ssh key. Adding it to the second account will give you &quot;the key is already used by someone else&quot; error message. Now if you generate a new key and add it to your ssh-agent (via ssh-add), you will not be able to check out from one of y…</description>
</item>
<item>
<title>Pokemon Go circa 2012</title>
<link>https://zaliva.org/blog/2016/07/pokemon-go-circa-2012.html</link>
<guid>https://zaliva.org/blog/2016/07/pokemon-go-circa-2012.html</guid>
<pubDate>Wed, 13 Jul 2016 21:09:00 GMT</pubDate>
<description>Looking at current Pokemon Go success (It added whopping $9B to company&apos;s capitalization) I could not help help looking back at another project we did few years ago. Back in 2012 we, at Codeminders, were working on Computer Vision algorithms for mobile phones. At some point we realized that there is a potential for a business there and developed a demo and even pitched to some angel investors. Th…</description>
</item>
<item>
<title>State Monad in Coq Tutorial</title>
<link>https://zaliva.org/blog/2016/02/state-monad-in-coq-tutorial.html</link>
<guid>https://zaliva.org/blog/2016/02/state-monad-in-coq-tutorial.html</guid>
<pubDate>Sat, 06 Feb 2016 17:57:00 GMT</pubDate>
<description>In this post we will review usage of StateMonad in Coq using ExtLib on an adapted example from a Haskell State Monad tutorial. We will implement a simple game function which takes a string from dictionary {a,b,c} and produces a score number. The game could have two modes: on and off. It consumes an input string character by character and updates the mode and the score at each step. Initially the …</description>
</item>
<item>
<title>Auqamacs, Proof General and company-coq</title>
<link>https://zaliva.org/blog/2016/02/auqamacs-proof-general-and-company-coq.html</link>
<guid>https://zaliva.org/blog/2016/02/auqamacs-proof-general-and-company-coq.html</guid>
<pubDate>Thu, 04 Feb 2016 16:57:00 GMT</pubDate>
<description>If you are using Coq under Emacs, you are most likely using Proof General (note the new link, they moved to github recently). If you are not using excellent CompanyCoq extension to PG by Clément Pit--Claudel, you certainly should! (I was wondering for a while why it is named &quot;company&quot;. The answer is that it is based on eponymous text completion framework for Emacs. The name stands for &quot;complete a…</description>
</item>
<item>
<title>Augmented reality whiteboard</title>
<link>https://zaliva.org/blog/2015/10/augmented-reality-whiteboard.html</link>
<guid>https://zaliva.org/blog/2015/10/augmented-reality-whiteboard.html</guid>
<pubDate>Sun, 25 Oct 2015 18:31:00 GMT</pubDate>
<description>I often do remote video meetings which require writing and discussing math: formulae and plots. I&apos;ve tested couple virtual whiteboard software applications but they are inconvenient and require using tablets of writing with your mouse. I ended up pointing my camera to a regular whiteboard during the meeting and photographing and emailing content as meeting minutes. Obviously there are more sophis…</description>
</item>
<item>
<title>ranting on Android Permissions</title>
<link>https://zaliva.org/blog/2015/09/ranting-on-android-permissions.html</link>
<guid>https://zaliva.org/blog/2015/09/ranting-on-android-permissions.html</guid>
<pubDate>Mon, 21 Sep 2015 19:22:00 GMT</pubDate>
<description>I have a bunch of applications installed on my Android phone. Most of them are frequently updated by developers. If the update does not require any new permissions it is installed automatically. So one could expect that after some time my app eco system will “settle” and most of the apps will be updated automatically. Unfortunately this is not what happening. Pretty much every other day I have to…</description>
</item>
<item>
<title>Pebble Chaser watch face concept</title>
<link>https://zaliva.org/blog/2015/07/pebble-chaser-watch-face-concept.html</link>
<guid>https://zaliva.org/blog/2015/07/pebble-chaser-watch-face-concept.html</guid>
<pubDate>Sun, 12 Jul 2015 22:38:00 GMT</pubDate>
<description>Back in 2014 I wrote: &quot;When things get virtual we usually start by mimicking familiar physical world. We have mailbox, folder and envelope icons, &quot;old phone&quot; ringtones, and lot of other UI metaphors inspired by things now obsolete. Nothing wrong with that, as long as by doing this we do not limit our creativity. Take a look at this picture of Pebble watch: In pebble argot this is called &quot;watchfac…</description>
</item>
<item>
<title>smart watches</title>
<link>https://zaliva.org/blog/2015/04/smart-watches.html</link>
<guid>https://zaliva.org/blog/2015/04/smart-watches.html</guid>
<pubDate>Mon, 13 Apr 2015 21:05:00 GMT</pubDate>
<description>Being a Pebble happy user for a while I am convinced smart watches have a future. I would like to share one pretty obvious feature which I hope to see soon. I want my watch to connect not only to my phone but also directly to my computer, TV, electric skateboard, etc. using bluetooth. For example if I am away from my desk but within bluetooth rich my watch should notify me about incoming message …</description>
</item>
<item>
<title>Underground dead reckoning</title>
<link>https://zaliva.org/blog/2015/02/underground-dead-reckoning.html</link>
<guid>https://zaliva.org/blog/2015/02/underground-dead-reckoning.html</guid>
<pubDate>Thu, 12 Feb 2015 18:41:00 GMT</pubDate>
<description>During a lunch chat with some friends we come up with interesting idea for small mobile app. Here it the gist: Why: While taking a train (specifically underground) in unfamiliar city it is quite an effort to keep track of station names not to miss your station. This is not always easy. Some trains have electronic displays showing next/current station name; some don&apos;t. For example in Japan JR trai…</description>
</item>
<item>
<title>Digital Signature (sort of)</title>
<link>https://zaliva.org/blog/2015/02/digital-signature-sort-of.html</link>
<guid>https://zaliva.org/blog/2015/02/digital-signature-sort-of.html</guid>
<pubDate>Tue, 10 Feb 2015 22:18:00 GMT</pubDate>
<description>While doing business I have to sign a lot of paperwork: contracts, NDAs, amendments, etc. One would think that companies in Silicon Valley (this is where majority of our customers are) should be done with the paper and should be all using digital signatures by now. Unfortunately this is not the case. In last 10 years I can recall only one instance where we were offered to use digital signature. (…</description>
</item>
<item>
<title>Driving directions</title>
<link>https://zaliva.org/blog/2015/02/driving-directions.html</link>
<guid>https://zaliva.org/blog/2015/02/driving-directions.html</guid>
<pubDate>Mon, 09 Feb 2015 20:54:00 GMT</pubDate>
<description>Imagine you are driving with a friend who is giving you directions from passenger seat. He might say something like this &quot;turn right after 3rd traffic light&quot; or &quot;take next turn&quot;. This is not how GPS navigator would instruct you. You more likely hear &quot;in 300 feet take right.&quot; But for humans it is easier to count traffic lights or intersections than to estimate a distance in feet or meters. Can&apos;t w…</description>
</item>
<item>
<title>Laptop power connectors</title>
<link>https://zaliva.org/blog/2014/12/laptop-power-connectors.html</link>
<guid>https://zaliva.org/blog/2014/12/laptop-power-connectors.html</guid>
<pubDate>Fri, 26 Dec 2014 06:01:00 GMT</pubDate>
<description>Some engineering design solutions are so obvious it is hard to see in retrospect why it was not invented earlier. Each time I plug in micro-USB connector to charge one of my non-Apple devices I wonder - why it is not symmetric like Apple lightning adapter?! That made me think: wouldn&apos;t it be nice to be able to connect power adapter to either side of my laptop? It should not cost too much to put a…</description>
</item>
<item>
<title>Welcome To Files</title>
<link>https://zaliva.org/blog/2014/12/welcome-to-files.html</link>
<guid>https://zaliva.org/blog/2014/12/welcome-to-files.html</guid>
<pubDate>Mon, 15 Dec 2014 06:47:00 GMT</pubDate>
<description>Welcome to λ-Files. This is a blog where I will be sharing some of my thoughts on science (mostly computer science), engineering and technology. This is a reincarnation of my old blog called This Is Not A Brain Surgery which I was maintaining since 2003. After 11 years of writing it I decided it is the time for a new start with a new name on a new blogging platform.</description>
</item>
</channel>
</rss>