<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Articles on code.kiwi.com</title><link>https://code.kiwi.com/articles/</link><description>Recent content in Articles on code.kiwi.com</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 19 Nov 2025 08:38:41 +0000</lastBuildDate><atom:link href="https://code.kiwi.com/articles/index.xml" rel="self" type="application/rss+xml"/><item><title>Geeky gift guide – holidays 2025 edition</title><link>https://code.kiwi.com/articles/gift-guide-2025/</link><pubDate>Wed, 19 Nov 2025 07:51:18 +0000</pubDate><guid>https://code.kiwi.com/articles/gift-guide-2025/</guid><description>&lt;p&gt;Hi again!&lt;br&gt;
Below is a list of 20 things I deemed geeky and cool enough to add to your own wishlist or gift to your close ones.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Pro-tip:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;Share wishlists with your family for guaranteed happy surprises under the Christmas tree.&lt;br&gt;
Don’t know where to start? Try &lt;a href="https://wishfox.app/"&gt;Wishfox&lt;/a&gt;, it’s independently developed in Czechia and free.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>The Old Way Is Dead: A Security Team's Manifesto for GRC Engineering</title><link>https://code.kiwi.com/articles/the-old-way-is-dead-a-security-teams-manifesto-for-grc-engineering/</link><pubDate>Tue, 23 Sep 2025 13:47:39 +0000</pubDate><guid>https://code.kiwi.com/articles/the-old-way-is-dead-a-security-teams-manifesto-for-grc-engineering/</guid><description>&lt;p&gt;For a long time, security teams were often perceived as the &amp;quot;department of no&amp;quot; viewed as a barrier to agility and a blocker to new initiatives. This reactive posture, born from a focus on &amp;quot;firefighting&amp;quot; and a legacy of manual processes, led to security being an afterthought, added on at the end of a project. However, the mandate of a modern security team is to be a business enabler. Instead of simply mitigating risk, a security team helps the organization take informed, &amp;quot;smart risks&amp;quot; that enable growth whilst maintaining an acceptable level of security. By implementing a robust security framework, a modern security team enables the business to innovate and move with speed and confidence.&lt;/p&gt;</description></item><item><title>Feature configuration with Swift macros</title><link>https://code.kiwi.com/articles/feature-configuration-with-swift-macros/</link><pubDate>Mon, 15 Sep 2025 11:24:59 +0000</pubDate><guid>https://code.kiwi.com/articles/feature-configuration-with-swift-macros/</guid><description>&lt;p&gt;This article describes how we made the iOS app feature configuration system more ergonomic by using Swift’s macros. We take a framework with repetitive, hard-to-understand declarations and manual mocking and eliminate all of these weaknesses.&lt;/p&gt;</description></item><item><title>Modular SwiftUI architecture</title><link>https://code.kiwi.com/articles/modular-swiftui-architecture/</link><pubDate>Tue, 10 Dec 2024 10:37:54 +0000</pubDate><guid>https://code.kiwi.com/articles/modular-swiftui-architecture/</guid><description>&lt;p&gt;To provide developers with &lt;strong&gt;stable and fast SwiftUI&lt;/strong&gt; &lt;strong&gt;previews&lt;/strong&gt; and remove the need to rebuild and run the whole app after each change in code, we needed to introduce an architecture that would &lt;strong&gt;force views to be lightweight&lt;/strong&gt; and independent of non-UI code.&lt;/p&gt;</description></item><item><title>Geeky gift guide – holidays 2024 edition</title><link>https://code.kiwi.com/articles/gift-guide-holidays-2024-edition/</link><pubDate>Thu, 28 Nov 2024 11:13:05 +0000</pubDate><guid>https://code.kiwi.com/articles/gift-guide-holidays-2024-edition/</guid><description>&lt;p&gt;Below, you will find a list of ideas put together by code.kiwi.com and GUG.cz communities and curated by me (Kat), personally.&lt;br&gt;
Each item is linked to a website, shop, or an example I liked!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfEo73x-n-lqzTwK8ulXrgeCvFngFIa2l8hrfX6QDchTnds5MTYMeocc5aZpAwxq8ottKCaoU1rgTuRfL-BppUxUUubIkX-pHxzGAxZmkyXr1fIV_zhifeRUknUw52PBwR0dWipKg?key=iSpFErSYPnkQ4YVPz4Qd-J1W"&gt;View original image&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Optimizing BigQuery for Performance and Cost Efficiency</title><link>https://code.kiwi.com/articles/optimizing-bigquery-for-performance-and-cost-efficiency/</link><pubDate>Mon, 25 Nov 2024 15:50:36 +0000</pubDate><guid>https://code.kiwi.com/articles/optimizing-bigquery-for-performance-and-cost-efficiency/</guid><description>&lt;p&gt;Maintaining BigQuery (referred to as BQ hereafter) involves 2 key aspects. Tuning performance and managing costs. Solving performance issues with credit cards is very easy in the cloud, but then you can expect difficult discussions about not following your budget. Let's talk about smart strategies that can improve users' experience with minimal costs.&lt;/p&gt;</description></item><item><title>Engineers, stop wasting your time</title><link>https://code.kiwi.com/articles/engineers-stop-wasting-your-time/</link><pubDate>Mon, 04 Nov 2024 13:07:29 +0000</pubDate><guid>https://code.kiwi.com/articles/engineers-stop-wasting-your-time/</guid><description>&lt;p&gt;In my 15 years working in software and data engineering, I’ve noticed a few recurring time drains that tend to trap even the best teams. Here’s how we, as engineers, can find ourselves wasting time — and some insights on how to avoid these traps.&lt;/p&gt;</description></item><item><title>Phishers Thrive in Free Tiers - A Case Study</title><link>https://code.kiwi.com/articles/phishers-thrive-in-free-tiers-a-case-study/</link><pubDate>Fri, 20 Sep 2024 11:35:54 +0000</pubDate><guid>https://code.kiwi.com/articles/phishers-thrive-in-free-tiers-a-case-study/</guid><description>&lt;h2 id="analysis-aka-the-facts"&gt;&lt;strong&gt;Analysis (a.k.a. The Facts)&lt;/strong&gt;&lt;/h2&gt;&lt;h3 id="step-1-email"&gt;&lt;strong&gt;Step 1: Email&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;The email is simple and vaguely technical. A splash of color and a clear message:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Attention: &lt;a href="mailto:victim@provider.tld"&gt;victim@provider.tld&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Authentication for &lt;a href="mailto:victim@provider.tld"&gt;victim@provider.tld&lt;/a&gt; is set to expire today 9/17/2024 7:18:10 a.m.&lt;/p&gt;
&lt;p&gt;Access to the mailbox and documents will be limited after expiry, Maintain / Renew login key to continue using the mailbox.&lt;/p&gt;</description></item><item><title>Enterprise Python: Software That Lives Long and Prosper 🖖</title><link>https://code.kiwi.com/articles/enterprise-python-software-that-lives-long-and-prosper/</link><pubDate>Wed, 24 Jul 2024 07:59:42 +0000</pubDate><guid>https://code.kiwi.com/articles/enterprise-python-software-that-lives-long-and-prosper/</guid><description>&lt;p&gt;&lt;a href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53525df6-65c3-4aaf-9573-9b32a774eb29_1024x768.png"&gt;&lt;img src="https://code.kiwi.com/images/media/743db5fe02ba8b1c079f41fb36a07c3826164374edcd9fc08418c0bb7dfeb3ad.webp" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let me explain.&lt;/p&gt;
&lt;p&gt;5 years ago, I was working for a small enterprise software company in Barcelona. This company developed products for tax advisors, and made almost all of its revenue from a car registration product.&lt;/p&gt;</description></item><item><title>Password Policy Attacking Costs, part 2: Practical Problems</title><link>https://code.kiwi.com/articles/password-policy-attacking-costs-part-2-practical-problems/</link><pubDate>Tue, 23 Jul 2024 12:46:47 +0000</pubDate><guid>https://code.kiwi.com/articles/password-policy-attacking-costs-part-2-practical-problems/</guid><description>&lt;p&gt;As mentioned in part 1, the source code is on &lt;a href="https://github.com/ArcHound/password-policy-calculations/"&gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="scraping"&gt;Scraping&lt;/h2&gt;&lt;p&gt;Whenever you work with data sourced from web pages, you should be thinking about scraping. Why you should do that? If the data source is updated, you just click enter and your experiment runs with fresh data.&lt;/p&gt;</description></item><item><title>Password Policy Attacking Costs, part 1: Theory and Results</title><link>https://code.kiwi.com/articles/password-policy-attacking-costs-part-1-theory-and-results/</link><pubDate>Tue, 23 Jul 2024 12:42:56 +0000</pubDate><guid>https://code.kiwi.com/articles/password-policy-attacking-costs-part-1-theory-and-results/</guid><description>&lt;p&gt;Password policy is a similarly famous concept. To ensure your password is strong, follow these simple rules (or not so simple - &lt;a href="https://neal.fun/password-game/"&gt;check out this funny game&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;But what exactly does this mean for an attacker? Can we measure the attacker’s effort in dollars? I have an idea.&lt;/p&gt;</description></item><item><title>Swift 5.10 Concurrency Survival Guide</title><link>https://code.kiwi.com/articles/swift-5-10-concurrency-survival-guide/</link><pubDate>Wed, 27 Mar 2024 12:54:34 +0000</pubDate><guid>https://code.kiwi.com/articles/swift-5-10-concurrency-survival-guide/</guid><description>&lt;p&gt;This pattern was broken a few years ago when new versions of Swift started coming out in point updates. Xcode 15.3 includes Swift 5.10. Reading through the &lt;a href="https://developer.apple.com/documentation/xcode-release-notes/xcode-15_3-release-notes"&gt;release notes&lt;/a&gt;, one can find a few mentions of concurrency, such as:&lt;/p&gt;</description></item><item><title>Generating SwiftUI snapshot tests with Swift macros</title><link>https://code.kiwi.com/articles/generating-swiftui-snapshot-tests-with-swift-macros/</link><pubDate>Thu, 15 Feb 2024 11:38:09 +0000</pubDate><guid>https://code.kiwi.com/articles/generating-swiftui-snapshot-tests-with-swift-macros/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Note: Xcode currently does not offer native support for snapshot testing. This can be remedied by using third party library, such as &lt;a href="https://github.com/pointfreeco/swift-snapshot-testing"&gt;swift-snapshot-testing&lt;/a&gt;. This library is being used in following code examples.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="problem"&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;SwiftUI preview and snapshot test code live in different targets and often in different packages, especially when dealing with modular architecture.&lt;/p&gt;</description></item><item><title>Don't Fix Bad Data, Do This Instead</title><link>https://code.kiwi.com/articles/dont-fix-bad-data-do-this-instead/</link><pubDate>Fri, 02 Feb 2024 13:08:59 +0000</pubDate><guid>https://code.kiwi.com/articles/dont-fix-bad-data-do-this-instead/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/f16b68a051c90943560bdcfaf55927d2f0c34a8b83832c75d1f66e156b00c6be.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@norevisions?utm_source=medium&amp;amp;utm_medium=referral"&gt;No Revisions&lt;/a&gt; on &lt;a href="https://unsplash.com/?utm_source=medium&amp;amp;utm_medium=referral"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="story-from-the-trenches"&gt;Story From The Trenches&lt;/h2&gt;&lt;p&gt;A few years ago, our data platform team aimed to pinpoint the primary concerns of our data users. We conducted a survey among individuals interacting with our data platform, and unsurprisingly, the main concern highlighted was data quality.&lt;/p&gt;</description></item><item><title>The Relevance Of Tech Conferences In A Post Pandemic World</title><link>https://code.kiwi.com/articles/the-relevance-of-tech-conferences-in-a-post-pandemic-world/</link><pubDate>Tue, 28 Nov 2023 08:54:02 +0000</pubDate><guid>https://code.kiwi.com/articles/the-relevance-of-tech-conferences-in-a-post-pandemic-world/</guid><description>&lt;p&gt;This September, I wrapped up this year speaker tour in Prague at PyCON CZ. The conference hit an all time record of 596 attendees. I was fortunate enough that my talk &lt;a href="https://www.linkedin.com/pulse/codename-tulip-making-async-alvaro-duran-barata"&gt;Codename Tulip: The Making of Async&lt;/a&gt; was accepted for the event, and based on the feedback, it was very well received.&lt;/p&gt;</description></item><item><title>Airflow Summit 2023: A Snapshot of the Technical Feast in Toronto</title><link>https://code.kiwi.com/articles/airflow-summit-2023-a-snapshot-of-the-technical-feast-in-toronto/</link><pubDate>Tue, 10 Oct 2023 12:59:40 +0000</pubDate><guid>https://code.kiwi.com/articles/airflow-summit-2023-a-snapshot-of-the-technical-feast-in-toronto/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/8cb754cc0e5e7e996385f8d67a94fbfff988763cb47bb27ce4f2675a0c35f464.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="the-open-source-community-atmosphere"&gt;The Open Source Community Atmosphere&lt;/h2&gt;&lt;p&gt;One of the first things that struck us was the remarkable open source community atmosphere at the Airflow Summit. Giant tech players such as AWS, Google, and IBM took the stage, proudly discussing their collaborative contributions to the open-source world, particularly in the context of Apache Airflow. It was refreshing to witness these industry giants set aside competition and focus on the common goal of advancing open-source technology. This spirit of cooperation benefits everyone involved, although achieving such harmony can be challenging, especially in profit-oriented companies.&lt;/p&gt;</description></item><item><title>Codename Tulip: The Making of Async</title><link>https://code.kiwi.com/articles/codename-tulip-the-making-of-async/</link><pubDate>Mon, 25 Sep 2023 07:59:49 +0000</pubDate><guid>https://code.kiwi.com/articles/codename-tulip-the-making-of-async/</guid><description>&lt;p&gt;Here's a loose transcript of the talk, with the slides.&lt;/p&gt;
&lt;div class="embed"&gt;&lt;iframe src="https://www.youtube.com/embed/_oNgyUAEv0Q?feature=oembed" title="your scientists were so preoccupied" loading="lazy" allow="fullscreen; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;Today I’m going to talk about asynchronous programming. I promise you that after this talk, you’ll be able to write software under this paradigm much more effectively, thanks to a better intuition about it.&lt;/p&gt;</description></item><item><title>Why Trust is More than Agility</title><link>https://code.kiwi.com/articles/why-trust-is-more-than-agility/</link><pubDate>Fri, 22 Sep 2023 09:12:18 +0000</pubDate><guid>https://code.kiwi.com/articles/why-trust-is-more-than-agility/</guid><description>&lt;h2 id="on-trust-between-engineering-and-management"&gt;On trust between engineering and management&lt;/h2&gt;&lt;p&gt;If management requires teams to adhere to a common agile standard, they likely don’t trust the teams. Instead of fixing their relationship with the teams, management slaps a process on top, creating a &lt;strong&gt;sense of control&lt;/strong&gt;. This will seemingly work for a scaling company sitting on a revenue stream because money still flows. However, from then on, the company will rely on the value created in the past and a vast marketing/sales spend. A breaking point will come when they hold all the meetings they are supposed to, all the sprints have 100% committed delivery, and the company is bleeding money. Damnit agile! We are supposed to be making it right according to our KPIs, OKRs, MBOs, CSFs, ROIs, …!&lt;/p&gt;</description></item><item><title>ObservableObject initialisation using Environment</title><link>https://code.kiwi.com/articles/observableobject-initialisation-using-environment/</link><pubDate>Wed, 23 Aug 2023 13:22:30 +0000</pubDate><guid>https://code.kiwi.com/articles/observableobject-initialisation-using-environment/</guid><description>&lt;p&gt;For the purpose of this article, our &lt;strong&gt;ObservableObjects&lt;/strong&gt; represent optional testable and mockable view models that drive the domain logic for some of the more complicated screens in our app.&lt;/p&gt;
&lt;p&gt;A side note on the SwiftUI environment for following code examples: As our app is driven by feature-based modular architecture, we are using &lt;strong&gt;Environment&lt;/strong&gt; instead of &lt;strong&gt;EnvironmentObjects&lt;/strong&gt; for our modular dependencies. This approach has some disadvantages (for example not being able to fully use &lt;strong&gt;@Published&lt;/strong&gt; properties), but in our case, the modularity aspect overweights these limitations.&lt;/p&gt;</description></item><item><title>Working in Units</title><link>https://code.kiwi.com/articles/working-in-units/</link><pubDate>Tue, 01 Aug 2023 10:38:24 +0000</pubDate><guid>https://code.kiwi.com/articles/working-in-units/</guid><description>&lt;div class="embed"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/nLQoxqENbgg" title="Video" loading="lazy" allow="fullscreen; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;See the whole talk on YouTube!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/fbbd1efb81534d8cd03070715770fd5427e2bfa639fe202390f15ffc744c5e1a.webp" alt="No alt text provided for this image"&gt;&lt;/p&gt;
&lt;p&gt;Do you deal with &lt;strong&gt;Data&lt;/strong&gt; problems at work, or with &lt;strong&gt;CPU&lt;/strong&gt; problems? It's an absurd question. But engineers used to raise the most hands at the second question, not the first.&lt;/p&gt;</description></item><item><title>How Kiwi.com simplified feature delivery with effective API design</title><link>https://code.kiwi.com/articles/how-kiwi-com-simplified-feature-delivery-with-effective-api-design/</link><pubDate>Thu, 13 Jul 2023 15:29:26 +0000</pubDate><guid>https://code.kiwi.com/articles/how-kiwi-com-simplified-feature-delivery-with-effective-api-design/</guid><description>&lt;p&gt;Concepts like the client-server model and three-tier architecture require no special introduction. In the traditional setup, the responsibility for the presentation layer usually falls on the client, while data models and business logic live on servers. This arrangement is well-established and easily understandable. Even though there have been trends like the popularity of thick clients and phases where thin clients are preferred, a resource-based API has remained the standard choice for defining the communication between the server and client.&lt;/p&gt;</description></item><item><title>Phishing-as-a-Service (PHaaS) - A Case Study</title><link>https://code.kiwi.com/articles/phishing-as-a-service-phaas-a-case-study/</link><pubDate>Thu, 20 Apr 2023 15:23:03 +0000</pubDate><guid>https://code.kiwi.com/articles/phishing-as-a-service-phaas-a-case-study/</guid><description>&lt;h2 id="analysis-aka-the-facts"&gt;Analysis (a.k.a The Facts)&lt;/h2&gt;&lt;h3 id="step-1-email"&gt;Step 1: Email&lt;/h3&gt;&lt;p&gt;The email is as simple as emails go. No fancy HTML/CSS, no more than 4 lines of text:&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Dear Taxpayer,&lt;/p&gt;
&lt;p&gt;Please find a correspondence letter of summon against your company.&lt;/p&gt;</description></item><item><title>Cautiously Configuring Copilot</title><link>https://code.kiwi.com/articles/cautiously-configuring-copilot/</link><pubDate>Fri, 24 Mar 2023 11:13:51 +0000</pubDate><guid>https://code.kiwi.com/articles/cautiously-configuring-copilot/</guid><description>&lt;h2 id="conclusion-or-tl-dr"&gt;Conclusion (or TL: DR;)&lt;/h2&gt;&lt;p&gt;To keep things short for a busy professional who'll take my words at face value - I think this can be done.&lt;/p&gt;
&lt;p&gt;Look at the &lt;a href="https://docs.github.com/en/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio-code"&gt;config options&lt;/a&gt; for the editor extensions - there is a setting that disables Copilot on specific files. I'd recommend disallowing all and allowing only the languages you are using.&lt;/p&gt;</description></item><item><title>Vault Operator for k8s</title><link>https://code.kiwi.com/articles/vault-operator-for-k8s/</link><pubDate>Fri, 24 Mar 2023 10:19:44 +0000</pubDate><guid>https://code.kiwi.com/articles/vault-operator-for-k8s/</guid><description>&lt;p&gt;It is technology we have already used internally for 2 years, but now the time has come to share it with the community and make it open-source.&lt;br&gt;
Read more to find out how it can help you, how you can contribute and what is the story behind the release!&lt;/p&gt;</description></item><item><title>BigQuery data in Google Sheets using Data connector</title><link>https://code.kiwi.com/articles/bigquery-data-in-google-sheets-using-data-connector/</link><pubDate>Tue, 21 Feb 2023 20:34:00 +0000</pubDate><guid>https://code.kiwi.com/articles/bigquery-data-in-google-sheets-using-data-connector/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/203ade3defb4443fc3b0afd47bce7471cd5d913544a9cb584474685eeab0cbc9.webp" alt=""&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="what-is-google-sheets"&gt;What is Google Sheets?&lt;/h2&gt;&lt;p&gt;Google Sheets is a free, web-based spreadsheet application offered by Google as part of its Google Drive service, which also includes Docs and Slides for online document sharing. It is a powerful tool with many functions and built-in formulas.&lt;/p&gt;</description></item><item><title>code.kiwi.com 2022 wrap-up</title><link>https://code.kiwi.com/articles/code-kiwi-com-2022-wrap-up/</link><pubDate>Wed, 15 Feb 2023 20:31:00 +0000</pubDate><guid>https://code.kiwi.com/articles/code-kiwi-com-2022-wrap-up/</guid><description>&lt;p&gt;2023 finally arrived, and we cannot be more excited about the upcoming tech community projects, but let’s take a moment to look at all the amazing things that happened in &lt;a href="https://code.kiwi.com/"&gt;code.kiwi.com&lt;/a&gt; in 2022. Grab a cup of your favorite something and.. hey ho let’s go!&lt;/p&gt;</description></item><item><title>Pentesting, Part 2: You’d Like To Buy Some?</title><link>https://code.kiwi.com/articles/pentesting-part-2-youd-like-to-buy-some/</link><pubDate>Mon, 23 Jan 2023 20:37:00 +0000</pubDate><guid>https://code.kiwi.com/articles/pentesting-part-2-youd-like-to-buy-some/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/3697620171f8ef631f5a57780f5d8d0c4fe39becad05ace0b39930cea32b9e71.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;I got a message from my friend in the lines of: “Hi! I remember you did penetration tests, we want it. Where can we order some penetration tests?”&lt;/p&gt;
&lt;p&gt;Dear friend, I sincerely hope to answer your question in this post.&lt;/p&gt;</description></item><item><title>Looker Onboarding Obstacles</title><link>https://code.kiwi.com/articles/looker-onboarding-obstacles/</link><pubDate>Fri, 20 Jan 2023 20:30:00 +0000</pubDate><guid>https://code.kiwi.com/articles/looker-onboarding-obstacles/</guid><description>&lt;p&gt;We’ve been using Looker as a self-service and reporting tool in Kiwi.com for more than 3 years. Onboarding this tool has been an interesting journey led by many, sometimes too late, realizations. And many, many of them could have been avoided if we knew what we know today.&lt;br&gt;
That’s why we have decided to record our journey and help others out there to avoid our mistakes.&lt;/p&gt;</description></item><item><title>7 Similarities Between Cybersecurity and (Tech) Community Management</title><link>https://code.kiwi.com/articles/7-similarities-between-cybersecurity-and-tech-community-management/</link><pubDate>Thu, 08 Dec 2022 20:26:00 +0000</pubDate><guid>https://code.kiwi.com/articles/7-similarities-between-cybersecurity-and-tech-community-management/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/df77842909c0f0bbf330c983f6b18f805ea5a57dbeab0be486cff8bd5c575227.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Ithas been a year since I decided to heed the call of my heart, leave my beloved field of cybersecurity and a nice corporate job, and go for a new career in tech community management.&lt;/p&gt;</description></item><item><title>Pentesting, part 1: What is pentesting?</title><link>https://code.kiwi.com/articles/pentesting-part-1-what-is-pentesting/</link><pubDate>Mon, 10 Oct 2022 20:27:00 +0000</pubDate><guid>https://code.kiwi.com/articles/pentesting-part-1-what-is-pentesting/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/fd64bea30d0de55373c66bf91d1f24555f831e54c1f55420f828fc7aa24e70d6.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Do you want to know about pentesting but don’t know where to start? Not sure what the difference is between hacking and pentesting? Eager to learn how the pentesters know where to stop their activities? Want to hear all about it with a bit of a snarky attitude and in “human” language?&lt;/p&gt;</description></item><item><title>Type-safe arguments in Jetpack Navigation Compose</title><link>https://code.kiwi.com/articles/type-safe-arguments-in-jetpack-navigation-compose/</link><pubDate>Sun, 02 Oct 2022 20:07:00 +0000</pubDate><guid>https://code.kiwi.com/articles/type-safe-arguments-in-jetpack-navigation-compose/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/5d148e7ef2f4eb230a0ff66b9bf4293331ee6e32df53ef43b93d1a9cb879117d.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;NavigationComposeTyped in action&lt;/p&gt;
&lt;p&gt;Jetpack Navigation Compose is the Jetpack Navigation library enhanced for usage in Compose. But the actual “enhancement” is a bit limited and different from the View-based navigation. Most importantly, there are no SafeArgs — a type-safe compile time solution for passing arguments between destinations. Navigation for Compose uses a simple URL pattern — &lt;strong&gt;arguments have to be converted to a string as a query parameter/path segment&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Feature flag and A/B test management in the iOS app</title><link>https://code.kiwi.com/articles/feature-flag-and-a-b-test-management-in-the-ios-app/</link><pubDate>Wed, 31 Aug 2022 20:10:00 +0000</pubDate><guid>https://code.kiwi.com/articles/feature-flag-and-a-b-test-management-in-the-ios-app/</guid><description>&lt;p&gt;In bigger apps, there is often a need for using &lt;a href="https://en.wikipedia.org/wiki/Feature_toggle"&gt;feature flags&lt;/a&gt;. As responsible developers, we don't want to depend directly on a third party for this, so we create abstractions on top of the remote data provider. The one we were using wasn't up to the task, so we set out to create a better one.&lt;/p&gt;</description></item><item><title>Techweek 2022: 5 reasons why you should attend</title><link>https://code.kiwi.com/articles/techweek-2022-5-reasons-why-you-should-attend/</link><pubDate>Mon, 11 Apr 2022 20:28:00 +0000</pubDate><guid>https://code.kiwi.com/articles/techweek-2022-5-reasons-why-you-should-attend/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/1fa14e1a67bb86f836785bec520fa2656a379937bb07f3785513aa44e4adc73c.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Techweek 2022&lt;/p&gt;
&lt;p&gt;At Kiwi.com, we decided to resurrect local tech meetups in a big style — by bringing a week full of events to the community.&lt;br&gt;
Read on to see what we have in store for you!&lt;/p&gt;</description></item><item><title>Rewriting Android App’s Back-Handling Logic</title><link>https://code.kiwi.com/articles/rewriting-android-apps-back-handling-logic/</link><pubDate>Tue, 29 Mar 2022 20:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/rewriting-android-apps-back-handling-logic/</guid><description>&lt;p&gt;Our Kiwi.com app is quite old and vast. It is in development for about 7 years; each year we’re adding more features and code, each year the app is being worked on by more developers.&lt;/p&gt;</description></item><item><title>Page Objects for E2E Android UI testing</title><link>https://code.kiwi.com/articles/page-objects-for-e2e-android-ui-testing/</link><pubDate>Mon, 14 Mar 2022 20:22:00 +0000</pubDate><guid>https://code.kiwi.com/articles/page-objects-for-e2e-android-ui-testing/</guid><description>&lt;p&gt;Android end-to-end UI testing is not that difficult, but we have observed that the official API/tooling doesn’t scale much if you have a big app.&lt;/p&gt;
&lt;p&gt;“Page Object” is a design pattern abstraction over a particular screen: it provides access to read the screen’s data and provides an API to interact with the screen. You may read the &lt;a href="https://martinfowler.com/bliki/PageObject.html"&gt;pattern description on Martin Fowler’s site&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>The Career Framework 2 years later: How it impacts our engineering culture at Kiwi.com</title><link>https://code.kiwi.com/articles/the-career-framework-2-years-later-how-it-impacts-our-engineering-culture-at-kiwi-com/</link><pubDate>Wed, 09 Mar 2022 20:05:00 +0000</pubDate><guid>https://code.kiwi.com/articles/the-career-framework-2-years-later-how-it-impacts-our-engineering-culture-at-kiwi-com/</guid><description>&lt;p&gt;Two years ago, if you asked what you should do to get promoted, every team lead at Kiwi.com would give you a different answer (or just a shoulder shrug). And there are more questions you could ask: How do I grow my career? Am I performing well? What is the next step for me? Am I compensated fairly? Even in the context of other teams and departments?&lt;/p&gt;</description></item><item><title>Marking it up ???? — Overview of web app rendering techniques</title><link>https://code.kiwi.com/articles/marking-it-up-%F0%9F%92%85-overview-of-web-app-rendering-techniques/</link><pubDate>Tue, 08 Mar 2022 20:19:00 +0000</pubDate><guid>https://code.kiwi.com/articles/marking-it-up-%F0%9F%92%85-overview-of-web-app-rendering-techniques/</guid><description>&lt;p&gt;I’ve encountered many people being oblivious to the way web application rendering works. Initial rendering is an important topic, especially in the context of &lt;strong&gt;SEO&lt;/strong&gt; and &lt;strong&gt;performance&lt;/strong&gt;, so brew yourself a nice cup of tea and pay attention.&lt;/p&gt;</description></item><item><title>Tech Community Events in 2021</title><link>https://code.kiwi.com/articles/tech-community-events-in-2021/</link><pubDate>Wed, 16 Feb 2022 20:24:00 +0000</pubDate><guid>https://code.kiwi.com/articles/tech-community-events-in-2021/</guid><description>&lt;p&gt;Every community builder can tell that the year 2021 was not that easy when it came to organizing events. The road was rocky, but we are extremely happy to share the wrap-up of &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt; tech community events in 2021. Hey ho, let’s go!&lt;/p&gt;</description></item><item><title>Kiwi's Google Data Catalogue Adoption Journey</title><link>https://code.kiwi.com/articles/kiwis-google-data-catalogue-adoption-journey/</link><pubDate>Tue, 24 Aug 2021 19:49:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwis-google-data-catalogue-adoption-journey/</guid><description>&lt;p&gt;Production experience with Google Data Catalogue at Kiwi.com&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/cb7b36ab60d50664c523494b21acad21313b869b7ffd3ad07fca8f460bf194b7.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@chuttersnap?utm_source=medium&amp;amp;utm_medium=referral"&gt;CHUTTERSNAP&lt;/a&gt; on &lt;a href="https://unsplash.com/?utm_source=medium&amp;amp;utm_medium=referral"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Nowadays when data is spread across various systems of heterogeneous technology stacks, the catalog of a company’s data assets becomes crucial. The right choice of a data catalogue has to go hand in hand with the right usage of a tool and with understanding its limitations.&lt;/p&gt;</description></item><item><title>CatBoost C++ library</title><link>https://code.kiwi.com/articles/catboost-c-library/</link><pubDate>Tue, 20 Apr 2021 19:51:00 +0000</pubDate><guid>https://code.kiwi.com/articles/catboost-c-library/</guid><description>&lt;p&gt;In this article, you will find information about our implementation of the CatBoost C++ library, the reasons why we wrote it, and how to optimize C++ computations based on memory reorganization and vectorization instructions.&lt;/p&gt;
&lt;p&gt;Kiwi.com open sourced a new &lt;a href="https://github.com/kiwicom/catboost-cxx"&gt;CatBoost applying library&lt;/a&gt; written in C++ with reasonably good optimizations and without dependencies. It means you can use this library in your projects to apply CatBoost models without huge catboost official library dependency. Moreover, it is possible to integrate this library into your build process.&lt;/p&gt;</description></item><item><title>Nonstop Operations with Scylla Even Through the OVHcloud Fire</title><link>https://code.kiwi.com/articles/nonstop-operations-with-scylla-even-through-the-ovhcloud-fire/</link><pubDate>Tue, 23 Mar 2021 19:53:00 +0000</pubDate><guid>https://code.kiwi.com/articles/nonstop-operations-with-scylla-even-through-the-ovhcloud-fire/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This article was originally published on &lt;a href="https://www.scylladb.com/2021/03/23/kiwi-com-nonstop-operations-with-scylla-even-through-the-ovhcloud-fire/"&gt;ScyllaDB blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Disasters can strike any business on any day. This particular disaster, a fire at the OVHcloud Strasbourg datacenter, struck recently and the investigation and recovery are still ongoing. This is an initial report of our company's resiliency in the face of that disaster.&lt;/p&gt;</description></item><item><title>How to Download a Brain with Pair Documenting</title><link>https://code.kiwi.com/articles/how-to-download-a-brain-with-pair-documenting/</link><pubDate>Thu, 11 Mar 2021 20:01:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-to-download-a-brain-with-pair-documenting/</guid><description>&lt;p&gt;&lt;em&gt;Originally published at&lt;/em&gt; &lt;a href="https://www.robincussol.com/download-a-brain-with-pair-documenting/"&gt;&lt;em&gt;https://www.robincussol.com&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on March 11, 2021.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/9da09b3abb29ba89aab6398a0996c5c22ea3cef173d3fc27d7ecf15cee54a81a.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;When people leave the company, a lot of specific and ad hoc knowledge goes away with them. Unless there is already a strong documentation culture, there’s only so much that can be said and done during exit interviews to make up for it.&lt;/p&gt;</description></item><item><title>Cypress.io quick tip: Put elements in the context</title><link>https://code.kiwi.com/articles/cypress-io-quick-tip-put-elements-in-the-context/</link><pubDate>Thu, 11 Mar 2021 19:46:00 +0000</pubDate><guid>https://code.kiwi.com/articles/cypress-io-quick-tip-put-elements-in-the-context/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/901a6d2783205128db08f1e8fe50efd1584951e203b61887cba3473123a07309.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Let’s take a page with multiple elements that have the same unique attribute and you want to interact with each of them separately.&lt;/p&gt;
&lt;p&gt;In our case, we want to book a flight for a family of three passengers — male, female, and an infant, so we need to fill in three forms.&lt;/p&gt;</description></item><item><title>Faster pipelines with Knapsack Pro by parallelizing Cypress tests on GitLab CI</title><link>https://code.kiwi.com/articles/faster-pipelines-with-knapsack-pro-by-parallelizing-cypress-tests-on-gitlab-ci/</link><pubDate>Tue, 09 Mar 2021 19:55:00 +0000</pubDate><guid>https://code.kiwi.com/articles/faster-pipelines-with-knapsack-pro-by-parallelizing-cypress-tests-on-gitlab-ci/</guid><description>&lt;p&gt;When the runtime of our build pipeline had reached 20 minutes on average for each commit on each Merge Request, we knew we needed a solution to speed things up. We wanted to optimize everything we could within the pipeline; a way of doing this was to parallelize our tests with &lt;a href="https://knapsackpro.com/?utm_source=kiwi.com&amp;amp;utm_medium=blog_post&amp;amp;utm_campaign=faster-pipelines-with-knapsack-pro-by-parallelizing-cypress-tests-on-gitlab-ci"&gt;Knapsack Pro&lt;/a&gt; to speed up our &lt;a href="https://www.cypress.io/"&gt;Cypress&lt;/a&gt; integration tests which would save us a sizable amount of time.&lt;/p&gt;</description></item><item><title>Skip the UI using API calls</title><link>https://code.kiwi.com/articles/skip-the-ui-using-api-calls/</link><pubDate>Thu, 11 Feb 2021 19:27:00 +0000</pubDate><guid>https://code.kiwi.com/articles/skip-the-ui-using-api-calls/</guid><description>&lt;p&gt;As a QA engineer who would like to start with test automation, the first thing you will learn is how to interact with the page and write automated scripts to replay your actions. But following this path, you may fall into the trap of automating all the actions in your automated tests only through the user interface (UI).&lt;/p&gt;</description></item><item><title>Kiwi.com Nomad — the synergy between science, technology, and creativity.</title><link>https://code.kiwi.com/articles/kiwi-com-nomad-the-synergy-between-science-technology-and-creativity/</link><pubDate>Thu, 10 Dec 2020 19:22:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-nomad-the-synergy-between-science-technology-and-creativity/</guid><description>&lt;p&gt;&lt;em&gt;Interview with Jan Plhák, Kiwi.com Principal Enginee&lt;/em&gt;r&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/c85f817f87b71714fa9399597db1b6490344c75d5e5a83eba9a893c2241deeb1.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Modern technologies have given us the power not only to progress in creating a new “reality” but also to innovate areas that have been established before. Different ways of traveling existed for centuries, however, technology has allowed improving search capabilities leading to a better customer experience. We met with Jan Plhák, Kiwi.com Principal Engineer, to discuss how the synergy between science and modern technology has allowed creating Nomad — a product that brought a new perspective to a standard Multi City search.&lt;/p&gt;</description></item><item><title>When &amp; which UX Research method to use?</title><link>https://code.kiwi.com/articles/when-which-ux-research-method-to-use/</link><pubDate>Thu, 03 Dec 2020 19:23:00 +0000</pubDate><guid>https://code.kiwi.com/articles/when-which-ux-research-method-to-use/</guid><description>&lt;h2 id="we-guide-you-through-the-product-development-cycle-and-show-you-which-uxr-methods-to-apply-in-each-stage"&gt;We guide you through the product development cycle and show you which UXR methods to apply in each stage.&lt;/h2&gt;&lt;p&gt;Can you imagine you invest a lot of money into high-quality coffee processing equipment, finalize your cafe’s interior design and open the coffee shop’s doors but you don’t check the market’s needs, your competitors and, pricing? No matter how much you are into risk-taking, before investing, it is smart to find out the market potential. To get more opinions, you can invite your friends and acquaintances to check out the premises of the potential coffee place. You collect ideas, find inspiration, identify opportunities, and explore the needs of potential customers. From the UX perspective in this phase of product and service development, your goal is to &lt;strong&gt;understand&lt;/strong&gt; your potential customers and &lt;strong&gt;identify&lt;/strong&gt; business opportunities.&lt;/p&gt;</description></item><item><title>Pytest Cassettes: Forget about mocks or live requests</title><link>https://code.kiwi.com/articles/pytest-cassettes-forget-about-mocks-or-live-requests/</link><pubDate>Tue, 24 Nov 2020 19:12:00 +0000</pubDate><guid>https://code.kiwi.com/articles/pytest-cassettes-forget-about-mocks-or-live-requests/</guid><description>&lt;p&gt;What if I told you that you can simply record API communication on cassette and replay it anytime you want? Setup takes literally minutes, but imagine all the saved time on mocking all external communication? Priceless!&lt;/p&gt;</description></item><item><title>What is UX Research?</title><link>https://code.kiwi.com/articles/what-is-ux-research/</link><pubDate>Thu, 19 Nov 2020 19:20:00 +0000</pubDate><guid>https://code.kiwi.com/articles/what-is-ux-research/</guid><description>&lt;h2 id="how-could-customers-value-your-product-if-you-dont-know-what-they-need"&gt;How could customers value your product if you don’t know what they need?&lt;/h2&gt;&lt;p&gt;User experience research (UX Research) is inseparable from creating a desirable user experience (UX). UX research helps you to understand how to make people value and enjoy using your products or services. Thus, UX research can help you to achieve your business goals.&lt;/p&gt;</description></item><item><title>How do we use Terraform and Vault to deploy Cloud Functions?</title><link>https://code.kiwi.com/articles/how-do-we-use-terraform-and-vault-to-deploy-cloud-functions/</link><pubDate>Tue, 10 Nov 2020 19:16:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-do-we-use-terraform-and-vault-to-deploy-cloud-functions/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/7624d705663092b5abaf30d06ed6a51bc56c141a575ac288f19cd536e37885aa.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Most of the internal tools mentioned below are not open-sourced and they fairly depend on multiple services and providers that we use within Kiwi.com. On account of that, we cannot give you the specifics but we hope that this article can serve as an inspiration to your future setup for the deployment and development of &lt;a href="https://cloud.google.com/functions"&gt;Cloud Functions&lt;/a&gt; and beyond.&lt;/p&gt;</description></item><item><title>What is UX?</title><link>https://code.kiwi.com/articles/what-is-ux/</link><pubDate>Thu, 05 Nov 2020 19:19:00 +0000</pubDate><guid>https://code.kiwi.com/articles/what-is-ux/</guid><description>&lt;h2 id="the-integral-part-of-all-successful-companies"&gt;The integral part of all successful companies&lt;/h2&gt;&lt;p&gt;Imagine that you just entered a really classy café. You can feel the pleasant smell right away — the smell of freshly grounded coffee, warm milk, and a slight vanilla scent from the candles around you. You can also hear calm, relaxing music, perfectly matching the atmosphere. You notice an emerald sofa.“Wow, what a cafe!” you think. And of course, the best moment comes when you taste their cappuccino with your closed eyes after the nice barista with a wide smile brought it to you.&lt;/p&gt;</description></item><item><title>Almost 100% uptime &amp; Blazingly fast API responses? Cloudflare Easy.</title><link>https://code.kiwi.com/articles/almost-100-uptime-blazingly-fast-api-responses-cloudflare-easy/</link><pubDate>Tue, 27 Oct 2020 19:06:00 +0000</pubDate><guid>https://code.kiwi.com/articles/almost-100-uptime-blazingly-fast-api-responses-cloudflare-easy/</guid><description>&lt;p&gt;There are APIs that can be cached for a couple of seconds, minutes, or even hours. If the speed and stability of your API have more priority than the freshness of the data, this article is for you.&lt;/p&gt;</description></item><item><title>Covid-19 and its impact on Engineering work at Kiwi.com</title><link>https://code.kiwi.com/articles/covid-19-and-its-impact-on-engineering-work-at-kiwi-com/</link><pubDate>Fri, 16 Oct 2020 19:10:00 +0000</pubDate><guid>https://code.kiwi.com/articles/covid-19-and-its-impact-on-engineering-work-at-kiwi-com/</guid><description>&lt;p&gt;For us at Kiwi.com, the global pandemic has shown the importance of having accurate data in the most significant way. We have huge traffic volumes, and when you are processing huge amounts of data there is more room for error. We chatted with our VP of Engineering, Stanislav Komanec to learn more about the tricks used in Engineering to fight-back against the situation.&lt;/p&gt;</description></item><item><title>It’s Hacktoberfest time!</title><link>https://code.kiwi.com/articles/its-hacktoberfest-time/</link><pubDate>Thu, 01 Oct 2020 19:09:00 +0000</pubDate><guid>https://code.kiwi.com/articles/its-hacktoberfest-time/</guid><description>&lt;p&gt;Hacktoberfest is a month-long celebration of open source software, and it happens every year in October. This global event is open to everyone and is an excellent way to give back to the open-source community. We are very excited to be again part of it for the second year. ????&lt;/p&gt;</description></item><item><title>Cypress: Setting up the first acceptance tests in Gitlab CI pipeline</title><link>https://code.kiwi.com/articles/cypress-setting-up-the-first-acceptance-tests-in-gitlab-ci-pipeline/</link><pubDate>Mon, 14 Sep 2020 19:57:00 +0000</pubDate><guid>https://code.kiwi.com/articles/cypress-setting-up-the-first-acceptance-tests-in-gitlab-ci-pipeline/</guid><description>&lt;p&gt;Late evening calls, reverted releases, lost revenue, and eventually fear of touching anything in legacy code not to break something. Nobody likes that. Do you know what is one of the best ways to avoid this? Integration tests!&lt;/p&gt;</description></item><item><title>Hacking Node.js legacy URL API</title><link>https://code.kiwi.com/articles/hacking-node-js-legacy-url-api/</link><pubDate>Mon, 07 Sep 2020 19:53:00 +0000</pubDate><guid>https://code.kiwi.com/articles/hacking-node-js-legacy-url-api/</guid><description>&lt;blockquote&gt;
&lt;p&gt;How to bypass hostname verification to exploit allowlist functions&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&lt;p&gt;Security is essential to us in Kiwi.com as it ensures our customers’ safety. We need to be proactive and search for possible security issues that might affect our business and potentially cause a loss of customers’ trust.&lt;/p&gt;</description></item><item><title>From coding the first Kiwi.com algorithms to “But does it scale”?</title><link>https://code.kiwi.com/articles/from-coding-the-first-kiwi-com-algorithms-to-but-does-it-scale/</link><pubDate>Mon, 31 Aug 2020 18:50:00 +0000</pubDate><guid>https://code.kiwi.com/articles/from-coding-the-first-kiwi-com-algorithms-to-but-does-it-scale/</guid><description>&lt;p&gt;&lt;em&gt;An interview with Kiwi.com’s CTO, Jozef Képesi&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;JK, as everyone in the company calls him, is 8 years wiser but when speaking to him, you still feel the startup vibe.&lt;/p&gt;
&lt;p&gt;Learn more about him and his approach to leading the engineering team of one of the fastest-growing Czech startups.&lt;/p&gt;</description></item><item><title>Towards secure by default Google Cloud: Default service accounts</title><link>https://code.kiwi.com/articles/towards-secure-by-default-google-cloud-default-service-accounts/</link><pubDate>Mon, 24 Aug 2020 18:51:00 +0000</pubDate><guid>https://code.kiwi.com/articles/towards-secure-by-default-google-cloud-default-service-accounts/</guid><description>&lt;p&gt;Have you heard that Cloud XYZ is secure because smart engineers in XYZ have made it that way? Unfortunately, as with many other products, &lt;strong&gt;this isn’t exactly true when you rely on the defaults&lt;/strong&gt;. In this article, I’ll give you one specific example from Google Cloud Platform, along with a recommendation on how you can address it.&lt;/p&gt;</description></item><item><title>Developing a travel-related game in 6 days using Flutter</title><link>https://code.kiwi.com/articles/developing-a-travel-related-game-in-6-days-using-flutter/</link><pubDate>Mon, 17 Aug 2020 18:57:00 +0000</pubDate><guid>https://code.kiwi.com/articles/developing-a-travel-related-game-in-6-days-using-flutter/</guid><description>&lt;h2 id="how-to-develop-an-application-for-android-ios-and-web-with-the-same-code"&gt;How to develop an application for Android, iOS, and web with the same code.&lt;/h2&gt;&lt;p&gt;Kiwi.com organized a Mobile Challenge in collaboration with mDevCamp, for all the mobile enthusiasts to create a travel-related game. I won 3rd place with my application — game Airline Manager. With Airline Manager, you can manage your airline — buy &amp;amp; sell airplanes, claim flight offers, earn coins and XP levels. Try the alfa-version by yourself on &lt;a href="https://play.google.com/store/apps/details?id=com.krcek.matej.airlinemanager"&gt;Google Play&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Kiwi.com to offer a clear career path to every engineer</title><link>https://code.kiwi.com/articles/kiwi-com-to-offer-a-clear-career-path-to-every-engineer/</link><pubDate>Wed, 05 Aug 2020 18:55:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-to-offer-a-clear-career-path-to-every-engineer/</guid><description>&lt;p&gt;In the past years, our engineers in Kiwi.com felt that they lack proper support in career growth. &lt;strong&gt;Many of them felt stuck&lt;/strong&gt; and they did not know how to move forward with their careers.&lt;/p&gt;
&lt;p&gt;This was part of a &lt;strong&gt;bigger problem&lt;/strong&gt;: We were missing comprehensive processes and mechanisms around performance evaluation, promotions, compensation, and general career growth. This was still a legacy of &lt;a href="https://www.kiwi.com/"&gt;Kiwi.com&lt;/a&gt;’s early start-up times when everything, including compensation and promotions, was rather chaotic and organic.&lt;/p&gt;</description></item><item><title>GraphQL 101 Challenge</title><link>https://code.kiwi.com/articles/graphql-101-challenge/</link><pubDate>Wed, 15 Jul 2020 18:47:00 +0000</pubDate><guid>https://code.kiwi.com/articles/graphql-101-challenge/</guid><description>&lt;h2 id="a-practical-introduction-to-graphql-not-only-for-qa-engineers"&gt;A practical introduction to GraphQL (not only) for QA engineers&lt;/h2&gt;&lt;p&gt;REST was born in 2000 as Roy Fielding wanted to define the standardized way of API communication. In 2015 Facebook internally developed GraphQL as a modern and scalable way of communication between client and server. &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt; adopted it for some products as well and in this article, you’ll understand in a practical way, what GraphQL is all about. You’ll learn:&lt;/p&gt;</description></item><item><title>Inbox Zero and Message Throttling in Slack</title><link>https://code.kiwi.com/articles/inbox-zero-and-message-throttling-in-slack/</link><pubDate>Tue, 23 Jun 2020 18:46:00 +0000</pubDate><guid>https://code.kiwi.com/articles/inbox-zero-and-message-throttling-in-slack/</guid><description>&lt;p&gt;If you are happy with your Slack experience and believe that Slack makes you both productive and focused on your work, then you can stop reading now. However, &lt;strong&gt;if you feel overwhelmed by the constant influx of Slack messages and your mind gets anxiety attacks from the endless list of unread channels&lt;/strong&gt;, then I may have a little trick for you.&lt;/p&gt;</description></item><item><title>Find a flight using Kiwi.com and Postman</title><link>https://code.kiwi.com/articles/find-a-flight-using-kiwi-com-and-postman/</link><pubDate>Mon, 15 Jun 2020 18:42:00 +0000</pubDate><guid>https://code.kiwi.com/articles/find-a-flight-using-kiwi-com-and-postman/</guid><description>&lt;p&gt;✈️ How long does it take Kiwi.com to find you a flight from Iceland to Mongolia?&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/27a964b8ad71900ceee45c2db34fac90c2c1df3d26092b7f96963a0514571a03.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="-prerequisites"&gt;???? Prerequisites&lt;/h2&gt;&lt;p&gt;As preparation, follow these &lt;strong&gt;2 simple steps&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;✅ &lt;a href="https://www.postman.com/downloads/"&gt;download, install &amp;amp; register at Postman&lt;/a&gt; (5 minutes )&lt;/p&gt;
&lt;p&gt;✅ open &lt;a href="https://airportcod.es/"&gt;this site&lt;/a&gt; and choose 2 airports. The first one as a departure point and the second one as an arrival point. Write down their codes (5–50 minutes depending on your indecisiveness)&lt;/p&gt;</description></item><item><title>Working remotely during and after a pandemic</title><link>https://code.kiwi.com/articles/working-remotely-during-and-after-a-pandemic/</link><pubDate>Mon, 25 May 2020 18:40:00 +0000</pubDate><guid>https://code.kiwi.com/articles/working-remotely-during-and-after-a-pandemic/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/2637ecaf8dc26b2cd085f7943c57a4c2622ec856babc71a194705064b4e9370f.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@bonniekdesign?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Bonnie Kittle&lt;/a&gt; on &lt;a href="https://unsplash.com/@bonniekdesign?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At Kiwi.com, travel is in our blood. We’re happy on the move, and even happier when we’re helping others move too. This means we’re excited when new opportunities for movement arise.&lt;/p&gt;</description></item><item><title>5 Reasons to Write a Document Before Writing Code</title><link>https://code.kiwi.com/articles/5-reasons-to-write-a-document-before-writing-code/</link><pubDate>Wed, 22 Apr 2020 18:39:00 +0000</pubDate><guid>https://code.kiwi.com/articles/5-reasons-to-write-a-document-before-writing-code/</guid><description>&lt;p&gt;Writing a proper design document is often frowned upon. Whether it is an RFC or a problem specification — it doesn’t matter what you call it — the usual reaction is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ain’t nobody got time for that. We need to write code.&lt;/p&gt;</description></item><item><title>Get a free ticket for Machine Learning Prague 2020!</title><link>https://code.kiwi.com/articles/get-a-free-ticket-for-machine-learning-prague-2020/</link><pubDate>Tue, 18 Feb 2020 18:37:00 +0000</pubDate><guid>https://code.kiwi.com/articles/get-a-free-ticket-for-machine-learning-prague-2020/</guid><description>&lt;p&gt;Machine Learning enthusiasts, hold on to your science! &lt;a href="https://www.mlprague.com/"&gt;Machine Learning Prague&lt;/a&gt;, the biggest European conference on data sciences is around a corner and we have a ticket to give away.&lt;/p&gt;
&lt;p&gt;On March 20–22, 2020 you’ll have the opportunity to meet &lt;strong&gt;45 world experts&lt;/strong&gt; who are bringing &lt;strong&gt;actionable solutions you can learn through practical talks and hands-on workshops&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Wrap-up: code.kiwi.com events in 2019</title><link>https://code.kiwi.com/articles/wrap-up-code-kiwi-com-events-in-2019/</link><pubDate>Wed, 08 Jan 2020 18:34:00 +0000</pubDate><guid>https://code.kiwi.com/articles/wrap-up-code-kiwi-com-events-in-2019/</guid><description>&lt;p&gt;&lt;em&gt;We leaped into 2019 with enthusiasm and optimism, thinking big and trying to figure out how to make it an unforgettable year for you. 12 months on, it is incredibly rewarding to see all the events that we made happen.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Schemathesis: property-based testing for API schemas</title><link>https://code.kiwi.com/articles/schemathesis-property-based-testing-for-api-schemas/</link><pubDate>Tue, 26 Nov 2019 18:14:00 +0000</pubDate><guid>https://code.kiwi.com/articles/schemathesis-property-based-testing-for-api-schemas/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/c9c0748dcc5ba5f01650eecefcd12eef0bef3a46456a671df5e66cf359ec5f98.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@chris_keats?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Chris Keats&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/oyMfVYRdzkg"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Many companies have moved from monoliths to microservices for better scalability and faster development cycles and so have we at &lt;a href="https://www.kiwi.com/"&gt;Kiwi.com&lt;/a&gt;. We still have monolithic applications, however they are melting away over time and a swarm of shiny microservices is gradually replacing them.&lt;/p&gt;</description></item><item><title>React Native at Kiwi.com</title><link>https://code.kiwi.com/articles/react-native-at-kiwi-com/</link><pubDate>Tue, 19 Nov 2019 18:25:00 +0000</pubDate><guid>https://code.kiwi.com/articles/react-native-at-kiwi-com/</guid><description>&lt;p&gt;Kiwi.com app is running on three main platforms — web, iOS and Android — and was written with different platform-specific technologies. &lt;strong&gt;We were curious about the possibilities of sharing code across multiple platforms&lt;/strong&gt; and dug into React Native (and React Native Web). Read on to find out what we learnt on the way.&lt;/p&gt;</description></item><item><title>Kiwi.com sponsors one of the biggest IT hackathons in the Czech Republic</title><link>https://code.kiwi.com/articles/kiwi-com-sponsors-one-of-the-biggest-it-hackathons-in-the-czech-republic/</link><pubDate>Mon, 18 Nov 2019 18:31:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-sponsors-one-of-the-biggest-it-hackathons-in-the-czech-republic/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/f8017422d2f7fe77102358642d4df67cdb689e66a6529dac021b3d22eb57fef1.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="from-programming-a-drone-to-speech-recognition-to-car-race-tech-enthusiasts-enjoyed-a-weekend-full-of-hacking-learning-and-networking"&gt;&lt;em&gt;From programming a drone to speech recognition to car race, tech enthusiasts enjoyed a weekend full of hacking, learning, and networking&lt;/em&gt;&lt;/h2&gt;&lt;p&gt;The weekend of 9 and 10 November has marked a special event for all tech enthusiasts. Some 150 international and local techies gathered at Impact Hub Brno to form teams and enjoy 36 hours programming, hacking, and learning.&lt;/p&gt;</description></item><item><title>Designing GraphQL schema for Kiwi.com: Part I. — Why?</title><link>https://code.kiwi.com/articles/designing-graphql-schema-for-kiwi-com-part-i-why/</link><pubDate>Wed, 13 Nov 2019 18:22:00 +0000</pubDate><guid>https://code.kiwi.com/articles/designing-graphql-schema-for-kiwi-com-part-i-why/</guid><description>&lt;p&gt;&lt;em&gt;This is the first part of a series about Designing a GraphQL schema for Kiwi.com.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;GraphQL schema design is important; this can be very well illustrated by our necessity to refactor some of the parts multiple times. Learn more in the following article by our Frontend Developer Jaroslav Kubíček.&lt;/p&gt;</description></item><item><title>How to work with developers? A few tips and tricks from a product manager’s perspective</title><link>https://code.kiwi.com/articles/how-to-work-with-developers-a-few-tips-and-tricks-from-a-product-managers-perspective/</link><pubDate>Mon, 04 Nov 2019 18:29:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-to-work-with-developers-a-few-tips-and-tricks-from-a-product-managers-perspective/</guid><description>&lt;p&gt;Miroslav Rozenberg, one of Kiwi.com’s product managers, shares his experience of working with developers for people who only can print “Hello world”.&lt;/p&gt;
&lt;p&gt;How to work with developers?&lt;/p&gt;
&lt;p&gt;If you’re short on time, just remember this — like with any other human being.&lt;/p&gt;</description></item><item><title>Get to know Penguin Bots, the winners of Global Travel Hackathon</title><link>https://code.kiwi.com/articles/get-to-know-penguin-bots-the-winners-of-global-travel-hackathon/</link><pubDate>Tue, 29 Oct 2019 18:10:00 +0000</pubDate><guid>https://code.kiwi.com/articles/get-to-know-penguin-bots-the-winners-of-global-travel-hackathon/</guid><description>&lt;p&gt;&lt;em&gt;13 locations, 250+ people, more than 50 teams all around the globe, and in most places, 24 hours of hacking. This is how we celebrated World Tourism Day at Kiwi.com.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/57aee866bbf51c6a7977a4aa7eb8d70ec3cb664d08ba2ded852bcc04f48f6b0c.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Everyone’s eyes are fixed on laptop screens. From time to time, a team gathers around a whiteboard or a wall covered with post-its. They have quick brainstorming sessions and update their roadmaps. Some refill their tenth cup of coffee, some rely on RedBulls.&lt;/p&gt;</description></item><item><title>Kubernetes goodies for your local workspace</title><link>https://code.kiwi.com/articles/kubernetes-goodies-for-your-local-workspace/</link><pubDate>Tue, 22 Oct 2019 18:06:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kubernetes-goodies-for-your-local-workspace/</guid><description>&lt;p&gt;I’d like to share my local setup for Kubernetes that helps me in being a bit more productive every day. It’s NOT a pro guide for infra engineers, but it should be enough for software/data engineers who are trying to get the most out of Kubernetes. We use this setup at &lt;a href="https://kiwi.com/"&gt;kiwi.com&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Orbit, Kiwi.com’s design system, has new documentation</title><link>https://code.kiwi.com/articles/orbit-kiwi-coms-design-system-has-new-documentation/</link><pubDate>Tue, 17 Sep 2019 18:00:00 +0000</pubDate><guid>https://code.kiwi.com/articles/orbit-kiwi-coms-design-system-has-new-documentation/</guid><description>&lt;p&gt;Kiwi.com’s design system, Orbit, has matured a lot since we launched our documentation at &lt;a href="https://orbit.kiwi/"&gt;orbit.kiwi&lt;/a&gt; last April.&lt;/p&gt;
&lt;p&gt;We now offer unified components for designers, as well as React developers; and, we also started experimenting with React Native, looking more closely into native mobile development.&lt;/p&gt;</description></item><item><title>Get to know the winner of Kiwi.com Student Challenge and his project</title><link>https://code.kiwi.com/articles/get-to-know-the-winner-of-kiwi-com-student-challenge-and-his-project/</link><pubDate>Tue, 10 Sep 2019 18:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/get-to-know-the-winner-of-kiwi-com-student-challenge-and-his-project/</guid><description>&lt;h2 id="a-short-interview-with-matěj-krček-a-16-year-old-grammar-school-student-about-his-app-sport-travel-agency"&gt;A short interview with Matěj Krček, a 16-year-old grammar school student about his app Sport Travel Agency&lt;/h2&gt;&lt;p&gt;Meet John, a fan of Arsenal, who wants to visit a live match of Arsenal in Barcelona. John is a bit impatient and he doesn’t want to go through all the possible websites to book his flight. In the best possible scenario, he just wants to say aloud, “I want to go to the next match Arsenal vs. Barcelona” and have everything solved for him.&lt;/p&gt;</description></item><item><title>5 reasons you cannot miss the Global Travel Hackathon</title><link>https://code.kiwi.com/articles/5-reasons-you-cannot-miss-the-global-travel-hackathon/</link><pubDate>Tue, 27 Aug 2019 17:56:00 +0000</pubDate><guid>https://code.kiwi.com/articles/5-reasons-you-cannot-miss-the-global-travel-hackathon/</guid><description>&lt;p&gt;&lt;em&gt;The next big thing in hackathons? A global one!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/21fb455d911b0b8baa1f648c85c79f926071b71aeaa577da686ef7cf5af0da3a.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Did you know? 27 September is World Tourism Day. We decided to celebrate the day by attending and organising travel hackathons all over the globe on that day. We want to bring together engineers, designers, and innovators: providing them with a creative and supportive environment and encouraging their ideas on how to hack travel.&lt;/p&gt;</description></item><item><title>Readability counts even in code reviews</title><link>https://code.kiwi.com/articles/readability-counts-even-in-code-reviews/</link><pubDate>Fri, 23 Aug 2019 17:58:00 +0000</pubDate><guid>https://code.kiwi.com/articles/readability-counts-even-in-code-reviews/</guid><description>&lt;p&gt;There are many guides all around the web on giving a good code review. Most of them will tell you what to look for (possible security issues, design, performance, etc.), what guidelines to follow (maximum time spent on a code review or a number of lines read at a time, creating checklists, etc.), or which tools can help you speed up your code reviews (like automated coding standard checks in pipelines).&lt;/p&gt;</description></item><item><title>Get a free ticket for WebExpo 2019</title><link>https://code.kiwi.com/articles/get-a-free-ticket-for-webexpo-2019/</link><pubDate>Tue, 13 Aug 2019 17:59:00 +0000</pubDate><guid>https://code.kiwi.com/articles/get-a-free-ticket-for-webexpo-2019/</guid><description>&lt;p&gt;&lt;em&gt;Would you like to get a free ticket to Central Europe’s largest conference covering deep tech &amp;amp; practical topics for designers, developers, and product managers? We are supporting&lt;/em&gt; &lt;a href="https://www.webexpo.net/prague2019"&gt;&lt;em&gt;WebExpo 2019&lt;/em&gt;&lt;/a&gt; &lt;em&gt;and thanks to it, we are giving away one&lt;/em&gt; &lt;strong&gt;&lt;em&gt;FREE Conference&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;&lt;em&gt;ticket&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;to attend this event.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>How I learned to stop worrying and love test-driven development</title><link>https://code.kiwi.com/articles/how-i-learned-to-stop-worrying-and-love-test-driven-development/</link><pubDate>Fri, 09 Aug 2019 17:55:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-i-learned-to-stop-worrying-and-love-test-driven-development/</guid><description>&lt;p&gt;Test-driven development (TDD) is not a new technique, but it is still not very widespread — neither is it well understood. Many people are only discovering it now, and many of them give up because the way they implement it doesn’t work for them.&lt;/p&gt;</description></item><item><title>Kiwi.com at EuroPython 2019</title><link>https://code.kiwi.com/articles/kiwi-com-at-europython-2019/</link><pubDate>Wed, 31 Jul 2019 21:53:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-at-europython-2019/</guid><description>&lt;p&gt;The biggest European Python conference previously saw the sunny Italian beaches and the rocky cliffs of Scotland. In 2019, it moved again — this time to the Swiss city of Basel famous for raclette, pocket knives and enormously high beer prices.&lt;/p&gt;</description></item><item><title>Look back at Voice Travel Hackathon</title><link>https://code.kiwi.com/articles/look-back-at-voice-travel-hackathon/</link><pubDate>Thu, 25 Jul 2019 21:56:00 +0000</pubDate><guid>https://code.kiwi.com/articles/look-back-at-voice-travel-hackathon/</guid><description>&lt;p&gt;&lt;em&gt;Read a guest post by Martin Krček, Google Developer Expert&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The Voice Assistant — a new user interface — is slowly coming to every device and every family, and we believe that one of the best uses for it is in the world of travel. However, the fundamental question is what type of voice applications we can create. To provide answers to this question, Google Developers Group and &lt;a href="https://voicebotacademy.org/"&gt;Voice Bot Academy&lt;/a&gt; organised the Voice Travel Hackathon on 14 June. Learn more about what we discovered.&lt;/p&gt;</description></item><item><title>Things I learnt as a first-timer at WWDC</title><link>https://code.kiwi.com/articles/things-i-learnt-as-a-first-timer-at-wwdc/</link><pubDate>Fri, 19 Jul 2019 22:00:00 +0000</pubDate><guid>https://code.kiwi.com/articles/things-i-learnt-as-a-first-timer-at-wwdc/</guid><description>&lt;p&gt;Apple’s WWDC (Worldwide Developers Conference) is the most-watched event of all iOS / Mac app developers around the globe. It is a full-week conference where new technologies and devices are introduced and developers have a chance to meet with Apple Engineers and discuss all aspects of their apps and daily jobs.&lt;/p&gt;</description></item><item><title>Building a Python CI pipeline</title><link>https://code.kiwi.com/articles/building-a-python-ci-pipeline/</link><pubDate>Mon, 08 Jul 2019 21:51:00 +0000</pubDate><guid>https://code.kiwi.com/articles/building-a-python-ci-pipeline/</guid><description>&lt;p&gt;Continuous Integration (CI) is a software development methodology where multiple team members ship their code to a shared repository. A fundamental part of this process is running automated tests, covering both functionality and integration.&lt;/p&gt;
&lt;p&gt;At Kiwi.com, we use continuous integration mostly for testing, but it also helps us make sure our code style is consistent. It checks imports order, and we count on it for several other checks.&lt;/p&gt;</description></item><item><title>Highlights from WWDC 2019</title><link>https://code.kiwi.com/articles/highlights-from-wwdc-2019/</link><pubDate>Wed, 26 Jun 2019 21:49:00 +0000</pubDate><guid>https://code.kiwi.com/articles/highlights-from-wwdc-2019/</guid><description>&lt;p&gt;When asked to describe this year’s WWDC, words like “packed”, “massive”, and “overwhelming” come to mind. It seems that Apple has announced multiple years worth of development. The following are some of the most prominent features, but rest assured that this article could easily be ten times as long if one was to dig beneath the surface.&lt;/p&gt;</description></item><item><title>Infrastructure-as-Code: what is it and how can you use it?</title><link>https://code.kiwi.com/articles/infrastructure-as-code-what-is-it-and-how-can-you-use-it/</link><pubDate>Wed, 26 Jun 2019 21:45:00 +0000</pubDate><guid>https://code.kiwi.com/articles/infrastructure-as-code-what-is-it-and-how-can-you-use-it/</guid><description>&lt;p&gt;The following text is a part of Kiwi.com’s internal DevOps handbook. We thought it could come in handy for others as well, so we decided to share it with the world here, like we’ve done before &lt;a href="https://code.kiwi.com/our-comprehensive-guide-to-python-dependencies-8a5a4366a563"&gt;here&lt;/a&gt; and &lt;a href="https://code.kiwi.com/code-design-principles-for-public-apis-of-modules-6a43aaf26624"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>5 reasons you should apply for Kiwi.com’s Summer Camp for senior devs</title><link>https://code.kiwi.com/articles/5-reasons-you-should-apply-for-kiwi-coms-summer-camp-for-senior-devs/</link><pubDate>Tue, 25 Jun 2019 21:48:00 +0000</pubDate><guid>https://code.kiwi.com/articles/5-reasons-you-should-apply-for-kiwi-coms-summer-camp-for-senior-devs/</guid><description>&lt;p&gt;The &lt;a href="https://summercamp.cz/?utm_source=blog&amp;amp;utm_medium=article&amp;amp;utm_campaign=4_reasons"&gt;Summer Camp for senior devs&lt;/a&gt; is back. This year again we’re taking engineers to Barcelona on 22–28 July to boost their programming skills and enjoy the summer. We cover accommodation, travel expenses, afternoon activities and sightseeing and give you 1,000€ as a reward.&lt;/p&gt;</description></item><item><title>Pushing static type checking in Python one step further</title><link>https://code.kiwi.com/articles/pushing-static-type-checking-in-python-one-step-further/</link><pubDate>Mon, 27 May 2019 21:41:30 +0000</pubDate><guid>https://code.kiwi.com/articles/pushing-static-type-checking-in-python-one-step-further/</guid><description>&lt;p&gt;Type annotations can help catch tricky bugs in your Python code. In this article, you’ll find how you can do the extra push over the cliff up to eleven.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: although there are multiple static type checkers for Python available nowadays (such as&lt;/em&gt; &lt;a href="https://github.com/facebook/pyre-check"&gt;&lt;em&gt;pyre&lt;/em&gt;&lt;/a&gt; &lt;em&gt;and&lt;/em&gt; &lt;a href="https://github.com/Microsoft/pyright"&gt;&lt;em&gt;pyright&lt;/em&gt;&lt;/a&gt;&lt;em&gt;), this article assumes the usage of&lt;/em&gt; &lt;a href="https://github.com/python/mypy"&gt;&lt;em&gt;mypy&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Kiwi.com’s Women in Tech inspires women to pursue career in tech</title><link>https://code.kiwi.com/articles/kiwi-coms-women-in-tech-inspires-women-to-pursue-career-in-tech/</link><pubDate>Fri, 24 May 2019 21:41:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-coms-women-in-tech-inspires-women-to-pursue-career-in-tech/</guid><description>&lt;h2 id="the-annual-forum-creates-a-platform-for-women-from-all-over-the-world-to-meet-share-and-give-support-to-each-other"&gt;The annual forum creates a platform for women from all over the world to meet, share, and give support to each other&lt;/h2&gt;&lt;p&gt;Last weekend I attended a forum on Women in Tech hosted by Kiwi.com in Brno. I’m still fresh on memories from the forum because it was a unique opportunity to meet some of the world’s most successful women in technology. Even though I wasn’t really sure what to expect from the conference as this was my first time attending, it far exceeded my expectations.&lt;/p&gt;</description></item><item><title>Guide to advanced UI tests on iOS</title><link>https://code.kiwi.com/articles/guide-to-advanced-ui-tests-on-ios/</link><pubDate>Wed, 15 May 2019 21:32:00 +0000</pubDate><guid>https://code.kiwi.com/articles/guide-to-advanced-ui-tests-on-ios/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/cb79cbdf4c69792d966e8e96fc762537af1121cc3261d9bdb6e121cfd9eafe09.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://nsscreencast.com/episodes/328-introduction-to-xctest"&gt;&lt;em&gt;Image source&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let’s talk about tests for iOS today — especially about writing advanced UI tests using the XCTest framework.&lt;/p&gt;
&lt;p&gt;Before we start, I’d like you to know I will skip all the preparations — such as creating a new test target and adding pods to test target since it’s something you should already know before reading this article. Guide to these settings can be found eg &lt;a href="https://www.raywenderlich.com/709-ios-unit-testing-and-ui-testing-tutorial"&gt;here&lt;/a&gt;. Also, as for the languages, we will be using mainly Swift and a bit of Objective-C.&lt;/p&gt;</description></item><item><title>Join the Forum on Women in Tech 2019</title><link>https://code.kiwi.com/articles/join-the-forum-on-women-in-tech-2019/</link><pubDate>Mon, 29 Apr 2019 21:28:00 +0000</pubDate><guid>https://code.kiwi.com/articles/join-the-forum-on-women-in-tech-2019/</guid><description>&lt;p&gt;&lt;em&gt;Learn from speakers working for Netflix, Google, and Twitch! The Forum on Women in Tech is back, this time we’re meeting on May 18 in Impact Hub Brno. Join us!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/9f05f0d583de5a57fd02cd1162f545e42c66af5accfbe2982c565c8b590a971b.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;This year, you can look forward to &lt;strong&gt;two tracks of talks&lt;/strong&gt;: one for those who want to &lt;strong&gt;deepen their tech knowledge&lt;/strong&gt;, learn about the latest technologies and its context. The other one will &lt;strong&gt;inspire those who want to kick off their tech career&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>mDevCamp is coming, get yourself a free ticket!</title><link>https://code.kiwi.com/articles/mdevcamp-is-coming-get-yourself-a-free-ticket/</link><pubDate>Thu, 18 Apr 2019 21:26:00 +0000</pubDate><guid>https://code.kiwi.com/articles/mdevcamp-is-coming-get-yourself-a-free-ticket/</guid><description>&lt;p&gt;Are you a mobile enthusiast? Are you itching to join us for &lt;a href="https://mdevcamp.eu/"&gt;mDevCamp&lt;/a&gt;? Great! We’re offering you one free ticket and reimbursement for all your travel expenses (if you travel from Europe).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mdevcamp.eu/#about"&gt;mDevCamp&lt;/a&gt; is the largest conference for mobile enthusiasts in Central Europe. This year, it takes place on 31 May at the Prague Congress Centre, Czech Republic. We at &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt; definitely can’t miss it as we are this year’s Technology &amp;amp; Supporting partner.&lt;/p&gt;</description></item><item><title>Relay and GraphQL best practices</title><link>https://code.kiwi.com/articles/relay-and-graphql-best-practices/</link><pubDate>Wed, 10 Apr 2019 21:21:00 +0000</pubDate><guid>https://code.kiwi.com/articles/relay-and-graphql-best-practices/</guid><description>&lt;p&gt;&lt;em&gt;Check the videos from our internal, one-day workshop to learn more about proper usage and best practices around GraphQL and Relay.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/6b623cdcaeeb17361a6c3c70f467652f230ffd937b8763a17f2e4e7221abbb1f.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Sharing is caring, that’s what triggered our internal one-day workshop which aim was to share knowledge between our JS developers. The goal of the first round was to show proper usage and best practices around GraphQL and Relay as we expect these technologies to be used more and more shortly.&lt;/p&gt;</description></item><item><title>Join the Central Europe Tech Week</title><link>https://code.kiwi.com/articles/join-the-central-europe-tech-week/</link><pubDate>Mon, 08 Apr 2019 21:29:00 +0000</pubDate><guid>https://code.kiwi.com/articles/join-the-central-europe-tech-week/</guid><description>&lt;p&gt;Learn from the most talented tech people from all around the world that we invited to Prague, Brno and Bratislava. Find the final list of events below and learn more at &lt;a href="https://techweek.cz/"&gt;techweek.cz&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To keep track of what’s happening, follow &lt;a href="https://twitter.com/search?q=%23TechWeekCE&amp;amp;src=tyah"&gt;#TechWeekCE on Twitter&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Kiwi.com to kick off its own university</title><link>https://code.kiwi.com/articles/kiwi-com-to-kick-off-its-own-university/</link><pubDate>Mon, 01 Apr 2019 21:25:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-to-kick-off-its-own-university/</guid><description>&lt;p&gt;This is not a 100 % April Fools’ Day prank. Of course, we won’t be providing an official degree but the scope of our educational events can definitely help you to get your coding skills to a higher level. Check the upcoming events below.&lt;/p&gt;</description></item><item><title>Say goodbye to loops with ‘reduce’ ????</title><link>https://code.kiwi.com/articles/say-goodbye-to-loops-with-reduce-%F0%9F%91%8B/</link><pubDate>Thu, 28 Mar 2019 21:18:00 +0000</pubDate><guid>https://code.kiwi.com/articles/say-goodbye-to-loops-with-reduce-%F0%9F%91%8B/</guid><description>&lt;p&gt;If you’re starting with functional programming and don’t know where to continue after &lt;code&gt;map&lt;/code&gt; and &lt;code&gt;filter&lt;/code&gt;, go with &lt;code&gt;reduce&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/b2901aab410d7ff2d493f31831acb3ff9d5f0b41ab490ef0533c8151153f3e89.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;–Do you insist on using the image of the cat? –Yes, I do. Reflects the essence of functional programming. Source: &lt;a href="https://farm6.staticflickr.com/5185/5619954191_565779cf5d_b.jpg"&gt;https://farm6.staticflickr.com/5185/5619954191_565779cf5d_b.jpg&lt;/a&gt;&lt;/p&gt;</description></item><item><title>A pre-talk checklist for the stressed presenter’s peace of mind</title><link>https://code.kiwi.com/articles/a-pre-talk-checklist-for-the-stressed-presenters-peace-of-mind/</link><pubDate>Thu, 14 Mar 2019 21:17:00 +0000</pubDate><guid>https://code.kiwi.com/articles/a-pre-talk-checklist-for-the-stressed-presenters-peace-of-mind/</guid><description>&lt;p&gt;Here is a quick little checklist I thought I should share. I use it to make sure everything goes smoothly during my presentations.&lt;/p&gt;
&lt;p&gt;The only caveat is that you might need to copy and adapt the list for your own hardware and software setup. I use a MacBook with only USB-C ports, and I write my slides in &lt;a href="https://github.com/hakimel/reveal.js/"&gt;reveal.js&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Forget the tape measure, use your phone instead</title><link>https://code.kiwi.com/articles/forget-the-tape-measure-use-your-phone-instead/</link><pubDate>Thu, 14 Feb 2019 21:10:00 +0000</pubDate><guid>https://code.kiwi.com/articles/forget-the-tape-measure-use-your-phone-instead/</guid><description>&lt;p&gt;&lt;em&gt;How we developed an AR feature that measures your bags with an iOS or Android smartphone&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, Kiwi.com launched an augmented reality app on both iOS and Android to measure the size of your bags. It can tell if they’re too large for airline requirements and may require an extra payment at the airport.&lt;/p&gt;</description></item><item><title>Solve Our Challenge and Get a Free Ticket for ML Prague — updated with correct answers</title><link>https://code.kiwi.com/articles/solve-our-challenge-and-get-a-free-ticket-for-ml-prague-updated-with-correct-answers/</link><pubDate>Fri, 08 Feb 2019 21:13:00 +0000</pubDate><guid>https://code.kiwi.com/articles/solve-our-challenge-and-get-a-free-ticket-for-ml-prague-updated-with-correct-answers/</guid><description>&lt;p&gt;We're partnering with &lt;a href="https://www.mlprague.com/"&gt;Machine Learning Prague&lt;/a&gt; again! Thanks to that you can get a free ticket to the biggest European practical conference about ML, AI and Deep Learning applications.&lt;/p&gt;
&lt;p&gt;On 22–24 February &lt;strong&gt;45 world experts&lt;/strong&gt; &lt;strong&gt;will bring outperforming solutions&lt;/strong&gt; that you can learn through practical talks. You can get an overview of the &lt;a href="https://www.mlprague.com/#schedule"&gt;&lt;strong&gt;complete program&lt;/strong&gt;&lt;/a&gt; on the conference website.&lt;/p&gt;</description></item><item><title>Events in 2019</title><link>https://code.kiwi.com/articles/events-in-2019/</link><pubDate>Thu, 17 Jan 2019 21:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/events-in-2019/</guid><description>&lt;p&gt;Interested in Kiwi.com events? Here you can find a list of all of the events we are organising, partnering or supporting. Please, follow the links that will provide you with more information.&lt;/p&gt;
&lt;p&gt;To see more IT-related events, check this &lt;a href="https://calendar.google.com/calendar/embed?src=skypicker.com_dq9oupgj7ngbo0j41b0smoc0dk%40group.calendar.google.com&amp;amp;ctz=Europe/Prague"&gt;IT calendar&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Wrap-up: code.kiwi.com events in 2018</title><link>https://code.kiwi.com/articles/wrap-up-code-kiwi-com-events-in-2018/</link><pubDate>Thu, 10 Jan 2019 21:06:00 +0000</pubDate><guid>https://code.kiwi.com/articles/wrap-up-code-kiwi-com-events-in-2018/</guid><description>&lt;p&gt;&lt;em&gt;The year of 2018 can be summarised in just two numbers: 23 and 166.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you’re curious about the meaning behind these numbers and what we achieved last year, read on!&lt;/p&gt;
&lt;p&gt;As for the number 23, altogether, &lt;strong&gt;we were present in 23 unique countries&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Merry Christmas and a Happy New Year</title><link>https://code.kiwi.com/articles/merry-christmas-and-a-happy-new-year/</link><pubDate>Fri, 21 Dec 2018 12:16:03 +0000</pubDate><guid>https://code.kiwi.com/articles/merry-christmas-and-a-happy-new-year/</guid><description>&lt;p&gt;Have a great Christmas and don’t forget to enjoy a bit of Pythoning, too! See you all in 2019!&lt;/p&gt;
&lt;div class="embed"&gt;&lt;iframe src="https://repl.it/repls/FrillyDimgrayProgrammingtool?lite=true&amp;amp;referrer=https%3A%2F%2Fcode.kiwi.com%2Fmerry-christmas-and-happy-new-year-e380a0fae731" title="Merry Christmas and a Happy New Year" loading="lazy" allow="fullscreen; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/03a1827aee8b24a5d0e37d312787e9d99a35f01ef54e2bf2d56e73394597118f.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/d4a707112ae0979e79f5baa5180c9ee8e8f7e861726b55d6ed922d0297ded9d9.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Travelling Salesman Challenge 2.0 wrap-up</title><link>https://code.kiwi.com/articles/travelling-salesman-challenge-2-0-wrap-up/</link><pubDate>Fri, 30 Nov 2018 12:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/travelling-salesman-challenge-2-0-wrap-up/</guid><description>&lt;p&gt;&lt;em&gt;How we found the winners of a trip around the world based on an algorithm they wrote&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/041139f5dfd465a251f624e43c65c804ac249abdba69812eb353bcd5aa48770e.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;We’ve already known the winners of the Travelling Salesman Challenge 2.0 for some time now, but there are still some things we’d like to share with you. In this wrap-up we are bringing you:&lt;/p&gt;</description></item><item><title>PyCon2018, the BLKN style</title><link>https://code.kiwi.com/articles/pycon2018-the-blkn-style/</link><pubDate>Thu, 22 Nov 2018 12:11:00 +0000</pubDate><guid>https://code.kiwi.com/articles/pycon2018-the-blkn-style/</guid><description>&lt;p&gt;Or what to check out after the conference&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/26255b3b276de12f70bd6e325107c7b65009e5263de7996e782520819d9dfe75.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Belgrade fortress view.&lt;/p&gt;
&lt;p&gt;Hello, folks!&lt;/p&gt;
&lt;p&gt;Over the weekend of 16-18 November, the first ever &lt;a href="https://pyconbalkan.com/"&gt;PyCon&lt;/a&gt; conference took place in the Balkans! To be more exact, it was held in Belgrade, Serbia. A few colleagues of mine and I were quite excited about this and we decided to join the conference. And I can only say that it was an awesome experience.&lt;/p&gt;</description></item><item><title>Win a trip around the world based on an algorithm you write!</title><link>https://code.kiwi.com/articles/win-a-trip-around-the-world-based-on-an-algorithm-you-write/</link><pubDate>Tue, 09 Oct 2018 12:02:00 +0000</pubDate><guid>https://code.kiwi.com/articles/win-a-trip-around-the-world-based-on-an-algorithm-you-write/</guid><description>&lt;p&gt;Do you love a challenge? Good news, our &lt;a href="http://travellingsalesman.kiwi.com/"&gt;Travelling Salesman Challenge&lt;/a&gt; is back! This time we’re asking teams of two or three to find the cheapest route between pre-defined areas. If your algorithm can do that, you’ll have the chance to travel around the world for free.&lt;/p&gt;</description></item><item><title>Testable code: making the (testing) world better</title><link>https://code.kiwi.com/articles/testable-code-making-the-testing-world-better/</link><pubDate>Thu, 23 Aug 2018 11:34:00 +0000</pubDate><guid>https://code.kiwi.com/articles/testable-code-making-the-testing-world-better/</guid><description>&lt;h2 id="testable-code-making-the-testing-world-better"&gt;Testable code: making the (testing) world better&lt;/h2&gt;&lt;p&gt;What does it mean to have testable code? In general, it means, that the code is easy to test and it’s easy to set up a testing environment. Sometimes it’s tough to make code testable, especially in a large, legacy codebase, but I’d like to tell you some approaches and tips, that could help you make your code more maintainable, understandable, and reliable.&lt;/p&gt;</description></item><item><title>Solve our coding challenge and get a free ticket for WebExpo</title><link>https://code.kiwi.com/articles/solve-our-coding-challenge-and-get-a-free-ticket-for-webexpo-2/</link><pubDate>Fri, 17 Aug 2018 20:49:00 +0000</pubDate><guid>https://code.kiwi.com/articles/solve-our-coding-challenge-and-get-a-free-ticket-for-webexpo-2/</guid><description>&lt;p&gt;Today’s your lucky day because we’re giving away a ticket to &lt;a href="https://www.webexpo.net/"&gt;WebExpo&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;But we don't just want to award it to the fastest clicker or through a random raffle, so we’ve prepared a colour mixing challenge for you.&lt;/p&gt;</description></item><item><title>Takeaways from EuroPython 2018 in Edinburgh</title><link>https://code.kiwi.com/articles/takeaways-from-europython-2018-in-edinburgh/</link><pubDate>Fri, 17 Aug 2018 11:51:00 +0000</pubDate><guid>https://code.kiwi.com/articles/takeaways-from-europython-2018-in-edinburgh/</guid><description>&lt;p&gt;We couldn't miss this year's EuroPython in Edinburgh, and we'd like to share some highlights with you. Read on to discover some of our key learnings and how we enjoyed the entire conference. Below you can:&lt;/p&gt;</description></item><item><title>Solve our coding challenge and get a free ticket for WebExpo</title><link>https://code.kiwi.com/articles/solve-our-coding-challenge-and-get-a-free-ticket-for-webexpo/</link><pubDate>Tue, 14 Aug 2018 11:44:00 +0000</pubDate><guid>https://code.kiwi.com/articles/solve-our-coding-challenge-and-get-a-free-ticket-for-webexpo/</guid><description>&lt;p&gt;Today’s your lucky day because we’re giving away a ticket to &lt;a href="https://www.webexpo.net/"&gt;WebExpo&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;But we don't just want to award it to the fastest clicker or through a random raffle, so we’ve prepared a colour mixing challenge for you.&lt;/p&gt;</description></item><item><title>Coding at the Kiwi.com Summer Camp in Barcelona</title><link>https://code.kiwi.com/articles/coding-at-the-kiwi-com-summer-camp-in-barcelona/</link><pubDate>Mon, 06 Aug 2018 11:47:00 +0000</pubDate><guid>https://code.kiwi.com/articles/coding-at-the-kiwi-com-summer-camp-in-barcelona/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/0ead3a425e8c84ee28af4c7bb91bd901d9896c6cef16aeec26e89bae947af135.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;It’s always fun to discover a new city and meet new people that are interested in the stuff you like and the technologies you work with.&lt;/p&gt;
&lt;p&gt;To share what it’s like to code for Kiwi.com, we organised a &lt;a href="https://code.kiwi.com/kiwi-com-summer-camp-for-senior-devs-c44371005349"&gt;Summer Camp for Senior Devs&lt;/a&gt;. We invited nine non-Kiwi devs to Barcelona to work on some projects with us, get to know our offices, and taste our beloved cava.&lt;/p&gt;</description></item><item><title>ZuriHac 2018: getting to know the Haskell community</title><link>https://code.kiwi.com/articles/zurihac-2018-getting-to-know-the-haskell-community/</link><pubDate>Wed, 11 Jul 2018 11:27:00 +0000</pubDate><guid>https://code.kiwi.com/articles/zurihac-2018-getting-to-know-the-haskell-community/</guid><description>&lt;p&gt;&lt;em&gt;Kiwi.com’s Backend Developer Dimitri Herrero sums up a Haskell event that he attended in June. He describes the unique atmosphere of this untraditional hackathon and provides tips on how to start using Haskell.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Since I’m a huge Haskell fan, I couldn’t miss ZuriHac 2018, one of the biggest Haskell events around. It defines itself as a “collaborative coding festival whose goal is to expand the community and to build and improve Haskell libraries, tools, and infrastructure”.&lt;/p&gt;</description></item><item><title>mDevCamp brought speakers from around the globe &amp; we couldn’t miss it</title><link>https://code.kiwi.com/articles/mdevcamp-brought-speakers-from-around-the-globe-we-couldnt-miss-it/</link><pubDate>Mon, 02 Jul 2018 11:29:00 +0000</pubDate><guid>https://code.kiwi.com/articles/mdevcamp-brought-speakers-from-around-the-globe-we-couldnt-miss-it/</guid><description>&lt;p&gt;June 15 was the day that all mobile enthusiasts had circled in their calendars. On this day, everyone had the same goal — get to the Prague Congress Centre for mDevCamp on time. And the Kiwi.com Mobile team was no exception. We also gained new inspiration on how to do things even better.&lt;/p&gt;</description></item><item><title>The Forum on Women in Tech was not your ordinary conference</title><link>https://code.kiwi.com/articles/the-forum-on-women-in-tech-was-not-your-ordinary-conference/</link><pubDate>Tue, 26 Jun 2018 11:21:00 +0000</pubDate><guid>https://code.kiwi.com/articles/the-forum-on-women-in-tech-was-not-your-ordinary-conference/</guid><description>&lt;p&gt;&lt;em&gt;Before you dig in, note that this is my very own opinion and sometimes opinions vary. If you don’t agree with something, just breathe and move on. :)&lt;/em&gt; &lt;em&gt;If you do, I send you virtual high five, sista’!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Kiwi.com Mobile Team is going to mDev Camp, win a ticket &amp; go too</title><link>https://code.kiwi.com/articles/kiwi-com-mobile-team-is-going-to-mdev-camp-win-a-ticket-go-too/</link><pubDate>Mon, 04 Jun 2018 11:21:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-mobile-team-is-going-to-mdev-camp-win-a-ticket-go-too/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/d948c5168a1db8cbe1887daf7972b9b2531f10c7721e32dc352a618aa6570410.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Heads up all you mobile enthusiasts! Kiwi.com Mobile Team has come up with a contest to challenge your programming skills. As a reward, you can get tickets for&lt;/strong&gt; &lt;a href="https://mdevcamp.eu/"&gt;&lt;strong&gt;mDev Camp&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;happening in Prague on June 15! Read on to find out more about them and scroll down to get the rules.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Join our Forum on Women in Tech</title><link>https://code.kiwi.com/articles/join-our-forum-on-women-in-tech/</link><pubDate>Fri, 01 Jun 2018 11:23:00 +0000</pubDate><guid>https://code.kiwi.com/articles/join-our-forum-on-women-in-tech/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/6a3407b194e2e9427fb00872f0d94fc5e7144cf064a3263448beb238dfe0b5c9.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Come learn from women who’ve successfully broken the &lt;a href="https://en.wikipedia.org/wiki/Glass_ceiling"&gt;glass ceiling&lt;/a&gt;. We are bringing to Brno top women from the tech industry. On June 16, they will share their expertise and know-how on leading projects and teams in global IT companies.&lt;/p&gt;</description></item><item><title>20 Things To Do After Returning From PyCon 2018</title><link>https://code.kiwi.com/articles/20-things-to-do-after-returning-from-pycon-2018/</link><pubDate>Thu, 24 May 2018 11:15:00 +0000</pubDate><guid>https://code.kiwi.com/articles/20-things-to-do-after-returning-from-pycon-2018/</guid><description>&lt;p&gt;As always, &lt;a href="https://us.pycon.org/2018/"&gt;this year’s PyCon&lt;/a&gt; was full of interesting technologies and ideas. I took notes diligently and thought hey, why not just share them with all of you? Here’s a no-bullshit, no-filler list of all the actionable items that I noted down on my trip; in chronological order (and not order of importance).&lt;/p&gt;</description></item><item><title>Kiwi.com Summer Camp for Senior Devs</title><link>https://code.kiwi.com/articles/kiwi-com-summer-camp-for-senior-devs/</link><pubDate>Wed, 23 May 2018 11:17:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-summer-camp-for-senior-devs/</guid><description>&lt;p&gt;What are your plans for the summer? If you’re free from July 22–28, join us for the &lt;a href="https://summercamp.cz/?utm_source=blog&amp;amp;utm_campaign=join"&gt;Kiwi.com Summer camp&lt;/a&gt; for senior devs!&lt;/p&gt;
&lt;p&gt;It's a unique opportunity to &lt;strong&gt;enjoy the summer from Barcelona, Spain&lt;/strong&gt; while working on a &lt;strong&gt;Kiwi.com-related project of your choice&lt;/strong&gt;. All expenses are covered, you’ll get a salary and a chance to meet our top engineers.&lt;/p&gt;</description></item><item><title>How ARKit could save you at the airport</title><link>https://code.kiwi.com/articles/how-arkit-could-save-you-at-the-airport/</link><pubDate>Wed, 09 May 2018 11:11:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-arkit-could-save-you-at-the-airport/</guid><description>&lt;p&gt;Back in the summer of 2017 when ARKit was all the rage, Kiwi.com’s Mobile Team was on board the hype train too. We were trying to think of a cool new feature to create and I was tasked with developing it.&lt;/p&gt;</description></item><item><title>Kiwi.com’s Internal IoT Hackathon</title><link>https://code.kiwi.com/articles/kiwi-coms-internal-iot-hackathon/</link><pubDate>Wed, 28 Mar 2018 11:09:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-coms-internal-iot-hackathon/</guid><description>&lt;h2 id="or-how-we-bought-a-3d-printer-and-didnt-use-it"&gt;or, How We Bought a 3D Printer and Didn’t Use It&lt;/h2&gt;&lt;p&gt;AtKiwi.com, there’s a Slack channel for almost everything. One of those channels is dedicated to crazy ad hoc ideas where anyone within the company can share a project they’d like to see implemented. Some six months ago, ideas were floated such as “let’s create an IoT device which will show us if people are at their desks or not”, or “let’s configure a button to order more coffee”. Some of those ideas were just for fun, but some of them were smart and really cool.The community team makes sure that the devs in the company love their jobs. As a result, we decided to organise an internal hackathon to bring some of those suggested IoT ideas to life.&lt;/p&gt;</description></item><item><title>Relay Modern data flow visualized</title><link>https://code.kiwi.com/articles/relay-modern-data-flow-visualized/</link><pubDate>Mon, 19 Mar 2018 11:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/relay-modern-data-flow-visualized/</guid><description>&lt;p&gt;When you start working with &lt;strong&gt;Relay Modern&lt;/strong&gt; it is really important to understand the &lt;strong&gt;data flow&lt;/strong&gt; concept first. I will explain this with some cute diagrams from my recent &lt;a href="https://www.meetup.com/BarcelonaJS/events/247277405/"&gt;BarcelonaJS&lt;/a&gt; talk. I hope you fall in love with Relay Modern after wrapping your head around its main idea.&lt;/p&gt;</description></item><item><title>Memory efficiency of parallel IO operations in Python</title><link>https://code.kiwi.com/articles/memory-efficiency-of-parallel-io-operations-in-python/</link><pubDate>Tue, 13 Mar 2018 10:59:00 +0000</pubDate><guid>https://code.kiwi.com/articles/memory-efficiency-of-parallel-io-operations-in-python/</guid><description>&lt;p&gt;Python allows for several different approaches to parallel processing. The main issue with parallelism is knowing its limitations. We either want to parallelise IO operations or CPU-bound tasks like image processing. The first use case is something we focused on in the recent &lt;a href="https://www.facebook.com/pg/codekiwicom/photos/?tab=album&amp;amp;album_id=1994315244222234"&gt;Python Weekend&lt;/a&gt;* and this article provides a summary of what we came up with.&lt;/p&gt;</description></item><item><title>Announcing Crane — a GitLab CI-ready image for deploying to Rancher</title><link>https://code.kiwi.com/articles/announcing-crane-a-gitlab-ci-ready-image-for-deploying-to-rancher/</link><pubDate>Mon, 26 Feb 2018 10:54:00 +0000</pubDate><guid>https://code.kiwi.com/articles/announcing-crane-a-gitlab-ci-ready-image-for-deploying-to-rancher/</guid><description>&lt;p&gt;We’re happy to finally write about our latest larger-scale open source project: &lt;a href="https://github.com/kiwicom/crane"&gt;Crane&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We use &lt;a href="https://rancher.com/"&gt;Rancher&lt;/a&gt; for container orchestration extensively at &lt;a href="https://www.kiwi.com/"&gt;Kiwi.com&lt;/a&gt;, and saw a need to streamline our release process. Even though Rancher’s sweet web UI makes the manual upgrade procedure at least &lt;em&gt;bearable&lt;/em&gt;, there’s still plenty of things to manage around announcing and recording deployments. Crane is our attempt at automating as much of this as possible.&lt;/p&gt;</description></item><item><title>IDX + GraphQL = ❤️</title><link>https://code.kiwi.com/articles/idx-graphql-%E2%9D%A4%EF%B8%8F/</link><pubDate>Fri, 23 Feb 2018 10:57:00 +0000</pubDate><guid>https://code.kiwi.com/articles/idx-graphql-%E2%9D%A4%EF%B8%8F/</guid><description>&lt;p&gt;&lt;a href="https://github.com/facebookincubator/idx"&gt;IDX&lt;/a&gt; is a library for accessing arbitrarily nested, possibly nullable properties on a JavaScript object. At least this is how it is described in the documentation. What does this mean in reality and why is it such a big problem in JavaScript? And why is it so important when working with GraphQL?&lt;/p&gt;</description></item><item><title>Our Comprehensive Guide to Python Dependencies</title><link>https://code.kiwi.com/articles/our-comprehensive-guide-to-python-dependencies/</link><pubDate>Thu, 15 Feb 2018 10:52:00 +0000</pubDate><guid>https://code.kiwi.com/articles/our-comprehensive-guide-to-python-dependencies/</guid><description>&lt;p&gt;&lt;em&gt;The following article is from Kiwi.com’s internal engineering handbook. We thought it could come in handy for others as well, so we decided to share it with the world here, like&lt;/em&gt; &lt;a href="https://code.kiwi.com/code-design-principles-for-public-apis-of-modules-6a43aaf26624"&gt;&lt;em&gt;we’ve done before&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="a-refresher-on-the-basics"&gt;A refresher on the basics&lt;/h2&gt;&lt;h3 id="what-are-requirements"&gt;What are requirements?&lt;/h3&gt;&lt;p&gt;They are usually stored in &lt;code&gt;requirements.txt&lt;/code&gt; as a list of 3rd party apps which your project depends on. An example of a requirements file:&lt;/p&gt;</description></item><item><title>GraphQL pitfalls</title><link>https://code.kiwi.com/articles/graphql-pitfalls/</link><pubDate>Tue, 30 Jan 2018 10:31:00 +0000</pubDate><guid>https://code.kiwi.com/articles/graphql-pitfalls/</guid><description>&lt;p&gt;First of all, I love GraphQL and none of these pitfalls forced me to stop using it. Actually, I am trying hard to overcome these pitfalls by using it even more in order to find the best solutions and practices. But still, I’ve been faced with these challenging questions almost every day for more than a year and it makes me think.&lt;/p&gt;</description></item><item><title>ASS Pyramid (Approach to Solving Stuff)</title><link>https://code.kiwi.com/articles/ass-pyramid-approach-to-solving-stuff/</link><pubDate>Thu, 25 Jan 2018 10:45:00 +0000</pubDate><guid>https://code.kiwi.com/articles/ass-pyramid-approach-to-solving-stuff/</guid><description>&lt;p&gt;You probably understood from the caption that this article would be naughty. In fact it’s purposefully provocative and you may even want to smack it. It originated in a very similar nature. Our Head of Research, Roman Rožník wanted to smack a lot of people.&lt;/p&gt;</description></item><item><title>GraphQL: Server-side Subscriptions</title><link>https://code.kiwi.com/articles/graphql-server-side-subscriptions/</link><pubDate>Mon, 15 Jan 2018 10:36:00 +0000</pubDate><guid>https://code.kiwi.com/articles/graphql-server-side-subscriptions/</guid><description>&lt;p&gt;OK, it’s 2k18 and everyone has already heard about GraphQL at least once. Maybe from your colleagues or even from some gopnik guys from the unfavourable areas of your city. GraphQL hype is everywhere.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/11583a6cd915ccb0e79c91a276f36f459a832e2ba8559b7e2a2be0505315167b.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>code.kiwi.com’s 2017 in numbers: growing our tech community</title><link>https://code.kiwi.com/articles/code-kiwi-coms-2017-in-numbers-growing-our-tech-community/</link><pubDate>Tue, 09 Jan 2018 10:47:00 +0000</pubDate><guid>https://code.kiwi.com/articles/code-kiwi-coms-2017-in-numbers-growing-our-tech-community/</guid><description>&lt;p&gt;We're right in the middle of planning all the big events we want to deliver in 2018. However, that doesn’t prevent us from summing up last year because 2017 was a really good one!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/52c94a5a24bb7823662f823fd7cc8443d3180e15b3eeddd0d801f0d3f6524bd0.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Living in the data</title><link>https://code.kiwi.com/articles/living-in-the-data/</link><pubDate>Tue, 09 Jan 2018 10:41:00 +0000</pubDate><guid>https://code.kiwi.com/articles/living-in-the-data/</guid><description>&lt;p&gt;&lt;em&gt;A day in the life of&lt;/em&gt; &lt;a href="https://www.kiwi.com/"&gt;&lt;em&gt;Kiwi.com&lt;/em&gt;&lt;/a&gt;&lt;em&gt;’s Head of Search.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Handling &lt;strong&gt;85 million searches&lt;/strong&gt; by &lt;strong&gt;155 nationalities&lt;/strong&gt; per day is fun and we do everything possible to keep it that way. That’s why being one of the 230 people in our heavily technical staff feels great. There’s a lot of us but we still value individuality and make sure that people are happy to come to work.&lt;/p&gt;</description></item><item><title>Highlights from the React Day Conference</title><link>https://code.kiwi.com/articles/highlights-from-the-react-day-conference/</link><pubDate>Wed, 03 Jan 2018 10:49:00 +0000</pubDate><guid>https://code.kiwi.com/articles/highlights-from-the-react-day-conference/</guid><description>&lt;p&gt;The ecosystem around React itself is quite stable at the moment compared to the turbulent shifts that we’ve seen in recent years. &lt;em&gt;Declarativeness&lt;/em&gt; rules the code and GraphQL is a real game changer.&lt;/p&gt;
&lt;p&gt;In this article I’ve included some top picks to summarize the &lt;a href="http://reactday.berlin/"&gt;React Day Conference&lt;/a&gt; which took place in Berlin on December 2, 2017.&lt;/p&gt;</description></item><item><title>Reactive Conf 2017 in Bratislava: Firsthand emotions</title><link>https://code.kiwi.com/articles/reactive-conf-2017-in-bratislava-firsthand-emotions/</link><pubDate>Tue, 19 Dec 2017 22:28:00 +0000</pubDate><guid>https://code.kiwi.com/articles/reactive-conf-2017-in-bratislava-firsthand-emotions/</guid><description>&lt;p&gt;&lt;em&gt;A summary of Reactive Conf in Bratislava written by Yuri Nezdemkovski, Filip Messa, and Alexey Alexeev.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="part-by-holoch-messa"&gt;Part by &lt;a href="https://medium.com/u/fdc5e66200f0?source=post_page-----ee9e8ccd58a8--------------------------------"&gt;Holoch Messa&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;In the last week of October we attended &lt;a href="https://reactiveconf.com/"&gt;Reactive Conf&lt;/a&gt; together with our colleagues from Bratislava. The three-day conference — made up of two stages and a day full of workshops — attracted around 1,100 participants and 30 speakers.&lt;/p&gt;</description></item><item><title>Brno's First Blockchain Meetup</title><link>https://code.kiwi.com/articles/brnos-first-blockchain-meetup/</link><pubDate>Fri, 08 Dec 2017 22:33:00 +0000</pubDate><guid>https://code.kiwi.com/articles/brnos-first-blockchain-meetup/</guid><description>&lt;p&gt;Hidden in the middle of Husova street is the inconspicuous entrance of Brno’s nuclear shelter which leads into the depths of Spilberk Castle hill. A small sign informs visitors that in case of an emergency, they’ll be allowed to enter for free.&lt;/p&gt;</description></item><item><title>Python Brazil 2017: “People &gt; Technology”</title><link>https://code.kiwi.com/articles/python-brazil-2017-people-technology/</link><pubDate>Tue, 21 Nov 2017 22:24:00 +0000</pubDate><guid>https://code.kiwi.com/articles/python-brazil-2017-people-technology/</guid><description>&lt;p&gt;At the beginning of October, I attended the &lt;a href="http://2017.pythonbrasil.org.br/"&gt;Python Brazil Conference&lt;/a&gt;, in &lt;a href="https://www.google.rs/maps/place/Belo+Horizonte+-+State+of+Minas+Gerais,+Brazil/@-19.9178164,-44.1003978,11z/data=!3m1!4b1!4m5!3m4!1s0xa690a165324289:0x701d1dc8bb05fd7d!8m2!3d-19.9245018!4d-43.9352376"&gt;Belo Horizonte&lt;/a&gt; — MG, Brazil. ????????&lt;/p&gt;
&lt;p&gt;The event happened over 6 days — with 3 days of talks, 2 days of tutorials and a 1 day Sprint. I gave a talk on the second day about Django Migrations — but that’s a topic for another article. ????&lt;/p&gt;</description></item><item><title>Our Mobile Team’s trip to Prague for AppParade</title><link>https://code.kiwi.com/articles/our-mobile-teams-trip-to-prague-for-appparade/</link><pubDate>Thu, 09 Nov 2017 22:26:00 +0000</pubDate><guid>https://code.kiwi.com/articles/our-mobile-teams-trip-to-prague-for-appparade/</guid><description>&lt;h2 id="the-kiwicom-mobile-app-was-awarded-second-place-by-the-audience-at-appparade-in-prague-dancingtrump-was-the-winner-by-a-slight-margin--proving-that-it-really-is-impossible-to-beat-trump-in-a-vote"&gt;The Kiwi.com mobile app was awarded second place by the audience at AppParade in Prague. &lt;a href="https://www.youtube.com/watch?v=BskZEk1w7jE"&gt;DancingTrump&lt;/a&gt; was the winner by a slight margin — proving that it really is impossible to beat Trump in a vote.&lt;/h2&gt;&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/f5e0ecd943a53e73fefd91494ae47f41b31ef7c339bc8b5c2ee8beb2c93eeb09.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Machine Learning Weekend: entry task review</title><link>https://code.kiwi.com/articles/machine-learning-weekend-entry-task-review/</link><pubDate>Fri, 27 Oct 2017 22:21:00 +0000</pubDate><guid>https://code.kiwi.com/articles/machine-learning-weekend-entry-task-review/</guid><description>&lt;p&gt;The idea to organise a machine learning weekend began to grow organically last year. But a few events actually pushed us into action: &lt;a href="https://twitter.com/JiriMaterna/status/869141416739471360"&gt;Jirka left Seznam.cz&lt;/a&gt; and the &lt;a href="https://pythonvikend.kiwi.com/"&gt;Python Weekend&lt;/a&gt; concept proved itself as a useful means of gathering intermediate-level developers together and helping them to grow further.&lt;/p&gt;</description></item><item><title>Kiwi.com’s future with Experience Design</title><link>https://code.kiwi.com/articles/kiwi-coms-future-with-experience-design/</link><pubDate>Fri, 27 Oct 2017 22:19:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-coms-future-with-experience-design/</guid><description>&lt;h2 id="we-have-the-pieces-of-the-puzzle-that-i-need-to-connect-to-deliver-an-outstanding-experience-to-our-customers-says-the-new-head-of-design-david-tuč"&gt;“We have the pieces of the puzzle that I need to connect to deliver an outstanding experience to our customers”, says the new Head of Design David Tuč.&lt;/h2&gt;&lt;p&gt;David Tuč is one of the top UX and service designers in the Czech Republic. His professional journey brought him to us with experience from well-established companies like NetSuite and Konica Minolta. Now we’re proud to welcome him on board as the new Head of Design at Kiwi.com.&lt;/p&gt;</description></item><item><title>Why we can’t estimate or let go</title><link>https://code.kiwi.com/articles/why-we-cant-estimate-or-let-go/</link><pubDate>Sun, 22 Oct 2017 22:15:00 +0000</pubDate><guid>https://code.kiwi.com/articles/why-we-cant-estimate-or-let-go/</guid><description>&lt;p&gt;Until the early ’70s, we took our brains to be infallible tools for making the most rational decisions in any given situation. Amos Tversky and Daniel Kahneman discovered that this might not be the case. In their studies they presented our brains in an entirely different light, showing a variety of flaws and faulty mechanisms when it comes to rational thinking. These are what we call &lt;em&gt;cognitive biases&lt;/em&gt;. And there are &lt;a href="https://betterhumans.coach.me/cognitive-bias-cheat-sheet-55a472476b18"&gt;tons of them&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>First Free Code Camp Meetup in Brno</title><link>https://code.kiwi.com/articles/first-free-code-camp-meetup-in-brno/</link><pubDate>Mon, 16 Oct 2017 22:22:00 +0000</pubDate><guid>https://code.kiwi.com/articles/first-free-code-camp-meetup-in-brno/</guid><description>&lt;p&gt;It was just a normal Wednesday in August this year, but for the &lt;a href="https://www.facebook.com/groups/free.code.camp.brno/"&gt;Free Code Camp community&lt;/a&gt; in Brno, it was a milestone. We had our first meetup and we were the first to use &lt;a href="https://www.facebook.com/bistroandini/?hc_ref=ARSWW4qLudAB-MwtldJeVCg7zhsQz3xlih9F-6VSvX00pfIp-S0b1jRxrhqXamwEROg"&gt;Bistro Andini&lt;/a&gt; — Kiwi.com’s new venue for the tech community.&lt;/p&gt;</description></item><item><title>Code Design Principles for Public APIs of Modules</title><link>https://code.kiwi.com/articles/code-design-principles-for-public-apis-of-modules/</link><pubDate>Fri, 13 Oct 2017 22:17:00 +0000</pubDate><guid>https://code.kiwi.com/articles/code-design-principles-for-public-apis-of-modules/</guid><description>&lt;p&gt;&lt;em&gt;The following article is from Kiwi.com’s internal engineering handbook. We thought it could come in handy for others as well, so we decided to share it with the world here.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This document should leave you with some idea on how to approach problems where you have to create a new module from scratch, or come up with a way to completely redesign an existing one.&lt;/p&gt;</description></item><item><title>Upcoming events</title><link>https://code.kiwi.com/articles/upcoming-events/</link><pubDate>Wed, 27 Sep 2017 22:02:00 +0000</pubDate><guid>https://code.kiwi.com/articles/upcoming-events/</guid><description>&lt;p&gt;Interested in Kiwi.com events? Here you can find a list of all of the events we are organising, partnering or supporting. Please, follow the links that will provide you with more information.&lt;/p&gt;
&lt;p&gt;To see more IT-related events, check this &lt;a href="https://calendar.google.com/calendar/embed?src=skypicker.com_dq9oupgj7ngbo0j41b0smoc0dk%40group.calendar.google.com&amp;amp;ctz=Europe/Prague"&gt;IT calendar&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Why we use Framer at Kiwi.com</title><link>https://code.kiwi.com/articles/why-we-use-framer-at-kiwi-com/</link><pubDate>Tue, 26 Sep 2017 22:08:00 +0000</pubDate><guid>https://code.kiwi.com/articles/why-we-use-framer-at-kiwi-com/</guid><description>&lt;p&gt;Have you ever designed a map? If the answer’s yes, then you know how painful the process is. I found this out when we decided to integrate a map with our search engine on the Kiwi.com landing page. The data indicated that a map would have massive potential, however, its implementation was a big challenge.&lt;/p&gt;</description></item><item><title>Language Hackathon 2017 : breaking barriers</title><link>https://code.kiwi.com/articles/language-hackathon-2017-breaking-barriers/</link><pubDate>Fri, 22 Sep 2017 22:11:00 +0000</pubDate><guid>https://code.kiwi.com/articles/language-hackathon-2017-breaking-barriers/</guid><description>&lt;p&gt;&lt;em&gt;The philosophy of the&lt;/em&gt; &lt;a href="http://www.hubbrno.cz/en/"&gt;&lt;em&gt;Impact Hub Brno&lt;/em&gt;&lt;/a&gt; &lt;em&gt;is to encourage members to cooperate instead of competing. This can have enormous positive effects for the future — it’s from such a synergy between Kiwi.com and Moravia IT that&lt;/em&gt; &lt;strong&gt;&lt;em&gt;idea of a language hackathon&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;was born.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Engineering adventure in Brno</title><link>https://code.kiwi.com/articles/engineering-adventure-in-brno/</link><pubDate>Mon, 18 Sep 2017 22:13:00 +0000</pubDate><guid>https://code.kiwi.com/articles/engineering-adventure-in-brno/</guid><description>&lt;p&gt;Brno hosted the final round of &lt;a href="https://ebec.best.eu.org/"&gt;EBEC 2017&lt;/a&gt; — Europe’s biggest engineering competition.&lt;/p&gt;
&lt;p&gt;More than one hundred tech students from all over Europe descended on Brno in early August. Their mission was to find creative solutions for engineering tasks and compete for the coveted title of &lt;strong&gt;“European Champions of Technology”.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Adventures of the Sangria Familia in Barcelona</title><link>https://code.kiwi.com/articles/adventures-of-the-sangria-familia-in-barcelona/</link><pubDate>Tue, 12 Sep 2017 22:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/adventures-of-the-sangria-familia-in-barcelona/</guid><description>&lt;p&gt;Two hundred Kiwis, sixty-five days, one fabulous villa.&lt;/p&gt;
&lt;p&gt;I was lucky enough to experience the magic of the Spanish summer this year in Barcelona. A week in our villa is just one of many cool perks offered by our travel-obsessed company.&lt;/p&gt;</description></item><item><title>A new venue for Brno’s tech community</title><link>https://code.kiwi.com/articles/a-new-venue-for-brnos-tech-community/</link><pubDate>Mon, 04 Sep 2017 22:09:00 +0000</pubDate><guid>https://code.kiwi.com/articles/a-new-venue-for-brnos-tech-community/</guid><description>&lt;p&gt;Andini may look like a normal café in the centre of Brno but we have big dreams for the place. We hope that it will become an important meeting point for all parts of the tech community in the area.&lt;/p&gt;</description></item><item><title>Getting started with Framer</title><link>https://code.kiwi.com/articles/getting-started-with-framer/</link><pubDate>Tue, 29 Aug 2017 21:47:00 +0000</pubDate><guid>https://code.kiwi.com/articles/getting-started-with-framer/</guid><description>&lt;p&gt;&lt;em&gt;Jonas Treub, a Product Engineer from Framer, stands before dozens of people in one of our training rooms. It’s Friday afternoon and Kiwi.com’s Framer Workshop for designers has just begun.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/37f38609b5bce78349c67ad257bc72aacae8e69b6296126a6c704d8dc14e0c6a.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.jonastreub.com/"&gt;Jonas&lt;/a&gt; travelled from the Netherlands to introduce the people of Brno to Framer — a prototyping and drawing tool for graphics designers. We started using it about a year ago when we added an integrated map to our search engine at Kiwi.com. We found that it’s a really cool prototyping tool and we wanted to spread the word because the Framer community in the Czech Republic has lots of room to grow.&lt;/p&gt;</description></item><item><title>Barcelona, see you next year</title><link>https://code.kiwi.com/articles/barcelona-see-you-next-year/</link><pubDate>Fri, 25 Aug 2017 21:55:00 +0000</pubDate><guid>https://code.kiwi.com/articles/barcelona-see-you-next-year/</guid><description>&lt;p&gt;&lt;em&gt;Innovative brainstorming, team gatherings, summer and fun. Our Barcelona Summer Office helped developers find new perspectives on their work and work-life balance.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the Northern hemisphere, July and August are here to provide us with some much needed summer treatment. At Kiwi.com, we know this well and we gave our developers a chance to exchange our offices in Brno for a luxurious villa in Barcelona. Every programmer with a full-time contract could have packed their laptop and worked remotely for a week in Spain’s second-biggest city.&lt;/p&gt;</description></item><item><title>Helping the Python community grow</title><link>https://code.kiwi.com/articles/helping-the-python-community-grow/</link><pubDate>Wed, 02 Aug 2017 22:00:00 +0000</pubDate><guid>https://code.kiwi.com/articles/helping-the-python-community-grow/</guid><description>&lt;p&gt;It must be at least 30 degrees outside but in the center of Brno with all the concrete and stone, it feels like 50. However, this is nothing for the two dozen programmers and tech enthusiasts who gathered in Nest, a cozy design studio with a beautiful view of the roofs and church towers of Brno. They don’t mind the temperature, they don’t care about the view. The only thing occupying their mind is code. They came to gain new Python skills and meet new people at code.kiwi.com’s Python weekend.&lt;/p&gt;</description></item><item><title>Move the picture!</title><link>https://code.kiwi.com/articles/move-the-picture/</link><pubDate>Wed, 05 Jul 2017 21:45:00 +0000</pubDate><guid>https://code.kiwi.com/articles/move-the-picture/</guid><description>&lt;p&gt;“Move the picture!” was the captivating theme of the 17th Film Festival to be held at Masaryk University.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/0946c356693898c8bff40e9396c806410e02eb94245f9a7a5932a30718c6599e.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;17th Annual Film Festival on the 17th of May: how auspicious.&lt;/p&gt;
&lt;p&gt;This annual event is something to behold. Hundreds of people gather each year at the Faculty of Informatics to watch the best short films produced by students of the university. Two theatres screen movies at the same time and they cover every genre you can imagine.&lt;/p&gt;</description></item><item><title>Hacking Brno for a good cause</title><link>https://code.kiwi.com/articles/hacking-brno-for-a-good-cause/</link><pubDate>Thu, 29 Jun 2017 21:37:00 +0000</pubDate><guid>https://code.kiwi.com/articles/hacking-brno-for-a-good-cause/</guid><description>&lt;p&gt;Brno was recently the centre of the biggest ever hackathon with open data in the Czech Republic — &lt;a href="http://brnohacks.cz/"&gt;BrnoHacks&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The purpose was to show the benefits of open data and encourage cities like Brno to publish theirs.&lt;/p&gt;</description></item><item><title>Python Hackathon II</title><link>https://code.kiwi.com/articles/python-hackathon-ii/</link><pubDate>Mon, 26 Jun 2017 21:42:00 +0000</pubDate><guid>https://code.kiwi.com/articles/python-hackathon-ii/</guid><description>&lt;p&gt;Fifty participants attended our second Python Hackathon organised by Engeto, PwC and Kiwi.com. The proceedings were supervised by more than a dozen Python gurus at the Impact Hub Brno.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/590bc3ac5c4ea77afc2fed212e91fb251f166452a4564dc7171732da3aeffbde.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Serious levels of concentration&lt;/p&gt;
&lt;p&gt;The purpose of these hackathons is to expand and share knowledge with the community. Python fans of all skill levels were able to learn a thing or two from the quality mentorship that was available.&lt;/p&gt;</description></item><item><title>SourceLift: flights for open source teams</title><link>https://code.kiwi.com/articles/sourcelift-flights-for-open-source-teams/</link><pubDate>Mon, 12 Jun 2017 21:36:00 +0000</pubDate><guid>https://code.kiwi.com/articles/sourcelift-flights-for-open-source-teams/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/2c48e3a26ab4ddc73f93d56e5319654549f8c9965a9018c9e8981ec40d723173.webp" alt=""&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Kiwi.com is giving away flights to open source teams that need to travel!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To boost the progress of &lt;a href="https://en.wikipedia.org/wiki/Free_and_open-source_software"&gt;FOSS&lt;/a&gt; projects and reward contributors with a well-deserved trip, we’re offering tickets to teams that need to:&lt;br&gt;
a) Attend a conference, or&lt;br&gt;
b) Organise a sprint / a workshop&lt;/p&gt;</description></item><item><title>Travel Hackathon — Prague 2017</title><link>https://code.kiwi.com/articles/travel-hackathon-prague-2017/</link><pubDate>Mon, 05 Jun 2017 21:41:00 +0000</pubDate><guid>https://code.kiwi.com/articles/travel-hackathon-prague-2017/</guid><description>&lt;p&gt;This year’s &lt;a href="https://travelhackathon.cz/"&gt;Travel Hackathon&lt;/a&gt; will be held in Prague, the diamond of Europe.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you’ve got a great idea for a travel app, this is your chance to make it a reality!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Everything you create is yours and you’ll have the help of team members as well as mentors from Kiwi.com and &lt;a href="https://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>And the best Kiwi.com hacker is…</title><link>https://code.kiwi.com/articles/and-the-best-kiwi-com-hacker-is/</link><pubDate>Thu, 01 Jun 2017 21:33:00 +0000</pubDate><guid>https://code.kiwi.com/articles/and-the-best-kiwi-com-hacker-is/</guid><description>&lt;p&gt;For our second Internal Hackathon, the mission was simple: create an ‘Out of the Box’ project — something you wouldn’t usually do at Kiwi.com.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/734d38884907266f255fb37bdc2a11ed368e517814652792a79364a2959b048c.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Bence’s great idea&lt;/p&gt;
&lt;p&gt;Twenty contestants from five teams battled it out in the kitchen to see who would get to wear the much-coveted hoodie — The Best Kiwi.com Hacker.&lt;/p&gt;</description></item><item><title>Kiwi.com’s new Barcelona office</title><link>https://code.kiwi.com/articles/kiwi-coms-new-barcelona-office/</link><pubDate>Fri, 19 May 2017 21:29:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-coms-new-barcelona-office/</guid><description>&lt;p&gt;Our CTO Jozef Képesi answers questions about Kiwi.com’s new Development office in Barcelona, Spain.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/07022bad66d274e1238ae4e7c619eb05ebd510ec68b72f7acc65769701768904.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Barcelona the sixth city to development offices of Kiwi.com.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Why are you opening an office in Spain?&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The launch of Kiwi.com in Spain is part of our global expansion process. We actually want to make Barcelona one of our most trusted international destinations because of its enormous potential for business innovation and the presence of lots of tech startups. It’s the sixth city that we’ve opened an office in and we’re convinced that we’ll find extremely talented local professionals there.&lt;/p&gt;</description></item><item><title>Travelling Salesman Challenge — Recap</title><link>https://code.kiwi.com/articles/travelling-salesman-challenge-recap/</link><pubDate>Thu, 30 Mar 2017 21:25:00 +0000</pubDate><guid>https://code.kiwi.com/articles/travelling-salesman-challenge-recap/</guid><description>&lt;p&gt;The Travelling Salesman Challenge has ended which means it’s a great time to look back and summarise the event. You can see the &lt;a href="https://www.facebook.com/pg/codekiwicom/photos/?tab=album&amp;amp;album_id=1811865135800580"&gt;pictures here&lt;/a&gt; and watch &lt;a href="https://www.youtube.com/watch?v=o3UqJiitVKw"&gt;the video here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/4fdb7034b9a3e092c2fa04205033a21e563a9bd7a8c52730f8bcae569dfea8bf.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="designing-the-challenge"&gt;Designing the challenge&lt;/h2&gt;&lt;p&gt;There are multiple ways of setting up the technical environment for this kind of competitive programming event. The most important question is where to run the contestant’s code during the evaluation stage.&lt;/p&gt;</description></item><item><title>Our champion has a heart of gold</title><link>https://code.kiwi.com/articles/our-champion-has-a-heart-of-gold/</link><pubDate>Thu, 30 Mar 2017 21:23:00 +0000</pubDate><guid>https://code.kiwi.com/articles/our-champion-has-a-heart-of-gold/</guid><description>&lt;p&gt;This week, we announced the winners of our &lt;a href="https://travellingsalesman.cz/"&gt;Travelling Salesman Competition&lt;/a&gt;. Of nearly 800 contestants, we couldn’t have found a more deserving winner than &lt;strong&gt;Petr Lavička.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Years ago, Petr promised his parents that he would take them to some dreamy faraway destination like Hawaii. He has now delivered on that promise.&lt;/p&gt;</description></item><item><title>AIESEC Brno’s training conference</title><link>https://code.kiwi.com/articles/aiesec-brnos-training-conference/</link><pubDate>Tue, 28 Mar 2017 21:28:00 +0000</pubDate><guid>https://code.kiwi.com/articles/aiesec-brnos-training-conference/</guid><description>&lt;p&gt;AIESEC is the world’s largest non-profit student-run organisation. It helps young people with leadership development and volunteer exchange experiences, with a focus on empowering young people to make a positive impact on society. The AIESEC network includes around 70,000 members in 127 countries.&lt;/p&gt;</description></item><item><title>Kiwi.com supports a school team in a tough robotics competition — success!</title><link>https://code.kiwi.com/articles/kiwi-com-supports-a-school-team-in-a-tough-robotics-competition-success/</link><pubDate>Wed, 15 Feb 2017 21:15:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-supports-a-school-team-in-a-tough-robotics-competition-success/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/dc7ad0bb8e36257a7740a6e8b0d9f25a3a34a8fff7de6e4c3c99f0a18ea4d129.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Fire Breathing Rubber Duckies&lt;/p&gt;
&lt;p&gt;Congratulations to the &lt;strong&gt;Fire Breathing Rubber Duckies&lt;/strong&gt; who enjoyed fantastic success in the Robotic Competition — First Lego League. &lt;strong&gt;They achieved first-place in the category ‘Best Teamwork in the Semifinals’.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Lesser Known Tools We Love at Kiwi.com, Part 2 of 3: Mac and Web</title><link>https://code.kiwi.com/articles/lesser-known-tools-we-love-at-kiwi-com-part-2-of-3-mac-and-web/</link><pubDate>Fri, 27 Jan 2017 21:00:00 +0000</pubDate><guid>https://code.kiwi.com/articles/lesser-known-tools-we-love-at-kiwi-com-part-2-of-3-mac-and-web/</guid><description>&lt;p&gt;As promised last November in an &lt;a href="https://code.kiwi.com/lesser-known-tools-we-love-at-kiwi-com-part-1-of-3-cli-79eb6d67a065"&gt;article about our favorite CLI tools&lt;/a&gt;, we’re continuing the list with our favorite macOS and web apps, as developers. Since the whole point of this is to become more efficient, let’s not waste time on more filler. Here comes the list!&lt;/p&gt;</description></item><item><title>MATLAB Meetup on Signal Processing</title><link>https://code.kiwi.com/articles/matlab-meetup-on-signal-processing/</link><pubDate>Tue, 24 Jan 2017 21:11:00 +0000</pubDate><guid>https://code.kiwi.com/articles/matlab-meetup-on-signal-processing/</guid><description>&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/c547fdef7fb67f57b99d3275f97235440d9ebb3ec9ced230ffc88240ee3452d7.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;The second meeting of MATLAB fans was held in Brno on the 11th of January. Our chosen topic was Digital Signal Processing with MATLAB and Simulink. More than 50 people attended to hear about the new capabilities in this area.&lt;/p&gt;</description></item><item><title>Кiwi.com Brno-Moscow Python Meetup</title><link>https://code.kiwi.com/articles/%D0%BAiwi-com-brno-moscow-python-meetup/</link><pubDate>Tue, 24 Jan 2017 21:09:00 +0000</pubDate><guid>https://code.kiwi.com/articles/%D0%BAiwi-com-brno-moscow-python-meetup/</guid><description>&lt;p&gt;On March 23, at 19:00, there is going to be a special event in Moscow — The Brno-Moscow Python Meetup sponsored by &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/17b9e769a0dd868ad9f9072baa53bf7721fcf0236b4d92e50b485d52a5b0b221.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Three Kiwi.com Python pros will visit Moscow to present their keynotes on this day.&lt;/p&gt;</description></item><item><title>Testing and How it Actually Saves Time ????</title><link>https://code.kiwi.com/articles/testing-and-how-it-actually-saves-time-%F0%9F%A4%94/</link><pubDate>Tue, 24 Jan 2017 20:43:00 +0000</pubDate><guid>https://code.kiwi.com/articles/testing-and-how-it-actually-saves-time-%F0%9F%A4%94/</guid><description>&lt;hr&gt;
&lt;p&gt;In November 2016, I had the great opportunity of travelling to Amsterdam and attending &lt;a href="https://www.djangounderthehood.com/"&gt;&lt;strong&gt;Django: Under the Hood&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;✨&lt;/strong&gt; for the first time. This is an important conference for Django developers and provides deep and detailed talks. It’s a great opportunity to find out what is happening, learn about the future plans for Django and to meet a lot of people from the Django community—most of them from the Django Core Team. ❤&lt;/p&gt;</description></item><item><title>Django Under The Hood 2016: Performance Debugging</title><link>https://code.kiwi.com/articles/django-under-the-hood-2016-performance-debugging/</link><pubDate>Thu, 12 Jan 2017 21:06:00 +0000</pubDate><guid>https://code.kiwi.com/articles/django-under-the-hood-2016-performance-debugging/</guid><description>&lt;p&gt;After &lt;a href="https://code.kiwi.com/django-under-the-hood-2016-validation-68cc635a07c4#.uca1pfz64"&gt;Django validation&lt;/a&gt;, debugging was another interesting presentation from the &lt;a href="https://www.djangounderthehood.com/"&gt;Django Under the Hood&lt;/a&gt; conference by &lt;a href="https://myks.org/en/"&gt;Aymeric Augustin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The introduction covered the Browser Console and the Django Debug Toolbar: both show the &lt;strong&gt;Page load time&lt;/strong&gt; of a website, split into multiple stages. We use the Django Debug Toolbar pretty often, however mostly for inspecting SQL queries. It is easy to get too many SQL queries without the proper use of &lt;code&gt;select_related&lt;/code&gt; and &lt;code&gt;prefetch_related&lt;/code&gt;, which are very popular and almost necessary Django methods on Querysets. At this point, we have no need to improve our Page load time but the detailed stages description and DOM loading in Django were useful concepts to learn about.&lt;/p&gt;</description></item><item><title>Django Under The Hood 2016 : Validation</title><link>https://code.kiwi.com/articles/django-under-the-hood-2016-validation/</link><pubDate>Fri, 06 Jan 2017 20:58:00 +0000</pubDate><guid>https://code.kiwi.com/articles/django-under-the-hood-2016-validation/</guid><description>&lt;p&gt;One of many great perks of working for &lt;a href="http://www.kiwi.com/"&gt;Kiwi.com&lt;/a&gt; is that the company provides you with opportunities to get as much education and self-improvement as you can. That means — &lt;em&gt;attending conferences&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;Here’s what I learned at Django Under The Hood talk from &lt;em&gt;Loïc Bistuer&lt;/em&gt; about &lt;em&gt;Django Validation&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Open source community meeting in the Kiwi.com wine cellar</title><link>https://code.kiwi.com/articles/open-source-community-meeting-in-the-kiwi-com-wine-cellar/</link><pubDate>Wed, 04 Jan 2017 21:13:00 +0000</pubDate><guid>https://code.kiwi.com/articles/open-source-community-meeting-in-the-kiwi-com-wine-cellar/</guid><description>&lt;p&gt;The 136th meeting of the &lt;a href="https://www.openalt.org/"&gt;OpenAlt&lt;/a&gt; community gathered like-minded &lt;a href="https://en.wikipedia.org/wiki/Open_source"&gt;open source&lt;/a&gt; enthusiasts from all possible areas (hardware, software, data, science, education, government etc). The meeting was held in the Kiwi.com wine cellar at Hlinky 102, Brno on January 20, at 6pm.&lt;/p&gt;</description></item><item><title>Design and implementation of algorithms for digital signal processing</title><link>https://code.kiwi.com/articles/design-and-implementation-of-algorithms-for-digital-signal-processing/</link><pubDate>Mon, 02 Jan 2017 21:14:00 +0000</pubDate><guid>https://code.kiwi.com/articles/design-and-implementation-of-algorithms-for-digital-signal-processing/</guid><description>&lt;p&gt;Come learn more about the design and implementation of algorithms for digital signal processing at the second MATLAB Brno meetup. The event will take place on Wednesday, January 11 in the Kiwi.com wine cellar at Hlinky 102, Brno.&lt;/p&gt;</description></item><item><title>Google Calendar for IT Events</title><link>https://code.kiwi.com/articles/google-calendar-for-it-events/</link><pubDate>Tue, 06 Dec 2016 20:37:00 +0000</pubDate><guid>https://code.kiwi.com/articles/google-calendar-for-it-events/</guid><description>&lt;p&gt;We’ve been involved with a lot of interesting IT events for a long time now and we keep track of them in this &lt;a href="https://calendar.google.com/calendar/embed?src=skypicker.com_dq9oupgj7ngbo0j41b0smoc0dk%40group.calendar.google.com&amp;amp;ctz=Europe/Prague"&gt;Google calendar&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To integrate this with your personal calendar, click + in the bottom right of &lt;a href="https://calendar.google.com/calendar/embed?src=skypicker.com_dq9oupgj7ngbo0j41b0smoc0dk%40group.calendar.google.com&amp;amp;ctz=Europe/Prague"&gt;the screen&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Christmas LAN Party OpenTTD</title><link>https://code.kiwi.com/articles/christmas-lan-party-openttd/</link><pubDate>Mon, 05 Dec 2016 20:19:00 +0000</pubDate><guid>https://code.kiwi.com/articles/christmas-lan-party-openttd/</guid><description>&lt;p&gt;Kiwi.com organized a Christmas LAN Party in the &lt;a href="https://www.openttd.org/en/"&gt;Open Transport Tycoon Deluxe&lt;/a&gt;. About 40 people attended and created a variety of travel companies.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/42d10c36e2700f05ebdd17e5bbb3ca95d9d5070ce87e61c0c4e65a9f8ca3fd82.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Reactive Brno Meetups: 2016#5 | Matúš MATY Fedák</title><link>https://code.kiwi.com/articles/reactive-brno-meetups-20165-matus-maty-fedak/</link><pubDate>Mon, 05 Dec 2016 20:16:00 +0000</pubDate><guid>https://code.kiwi.com/articles/reactive-brno-meetups-20165-matus-maty-fedak/</guid><description>&lt;p&gt;The fifth Reactive Brno Meetup was headlined by Matúš “Maty” Fedák, who works as a coder at &lt;a href="https://vacuumlabs.com/"&gt;VacuumLabs&lt;/a&gt; — the company behind &lt;a href="https://reactiveconf.com/"&gt;ReactiveConf&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Maty’s presentation was on &lt;a href="http://www.datomic.com/"&gt;Datomic&lt;/a&gt;. During his talk, many questions were asked and there were also plenty of pizza and beers consumed.&lt;/p&gt;</description></item><item><title>The top 5 of effective React</title><link>https://code.kiwi.com/articles/the-top-5-of-effective-react/</link><pubDate>Sun, 04 Dec 2016 20:35:00 +0000</pubDate><guid>https://code.kiwi.com/articles/the-top-5-of-effective-react/</guid><description>&lt;p&gt;I never thought that writing efficient React code required so little effort. In essence, it’s basically just a bunch of functions and classes spitting out markup, and occasionally interacting with each other.&lt;/p&gt;
&lt;p&gt;Going from a small, pet project to a big-ass application is almost seamless — you build medium things from small things, and big things from medium things. Voilà, you have yourself an app!&lt;/p&gt;</description></item><item><title>Docker meetup</title><link>https://code.kiwi.com/articles/docker-meetup/</link><pubDate>Thu, 24 Nov 2016 20:15:00 +0000</pubDate><guid>https://code.kiwi.com/articles/docker-meetup/</guid><description>&lt;p&gt;On Thursday, December 1 there was another &lt;a href="https://www.meetup.com/Docker-Brno/events/234091097/"&gt;Docker meetup&lt;/a&gt; in our Wine cellar at Hllinky 102 in Brno. We learnt more about containers from four senior speakers, all from different companies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Evgeny Shmarnev from SUSE taught us how to secure and manage an on-premise Docker registry with Portus.&lt;/li&gt;
&lt;li&gt;Roman Galeev from 2600Hz talked about using Docker to ease development — testing, packaging and deployment, especially for Erlang applications.&lt;/li&gt;
&lt;li&gt;Michal Fojtik from Red Hat gave a brief introduction to Kubernetes and OpenShift, showing us how it can be used to orchestrate containerized applications.&lt;/li&gt;
&lt;li&gt;Tomas Holcman from Kiwi.com showed us how to manage a globally distributed, highly available application with AWS and Rancher.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/ca36496c48af02c3c990991a70e821fa62f72e13b823aa05350715e09ba9d076.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Lesser Known Tools We Love at Kiwi.com, Part 1 of 3: CLI</title><link>https://code.kiwi.com/articles/lesser-known-tools-we-love-at-kiwi-com-part-1-of-3-cli/</link><pubDate>Thu, 24 Nov 2016 20:07:00 +0000</pubDate><guid>https://code.kiwi.com/articles/lesser-known-tools-we-love-at-kiwi-com-part-1-of-3-cli/</guid><description>&lt;p&gt;We’re all trying to save the time we spend on repetitive tasks, but as &lt;a href="https://xkcd.com/1205/"&gt;xkcd illustrates&lt;/a&gt;, often it’s just not worth wasting your time seeking out new tools and ways to be more productive. We developers at Kiwi.com thought it would be nice to share an easily digestible, no-nonsense, rapid-fire list of tools that make our everyday work better and easier — so, here we go!&lt;/p&gt;</description></item><item><title>Python weekend</title><link>https://code.kiwi.com/articles/python-weekend/</link><pubDate>Thu, 10 Nov 2016 20:14:00 +0000</pubDate><guid>https://code.kiwi.com/articles/python-weekend/</guid><description>&lt;p&gt;Kiwi.com organised our third intensive &lt;a href="https://pythonvikend.kiwi.com/"&gt;Python weekend course&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can see pictures from the event &lt;a href="https://goo.gl/photos/uJRpBaX9QrWRyuhP7"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/c93204d74436e7b86b916f6c8f548841cc324b241b337ac056deea6f442e13fb.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Drone Guerilla Recruitment</title><link>https://code.kiwi.com/articles/drone-guerilla-recruitment/</link><pubDate>Tue, 25 Oct 2016 20:04:00 +0000</pubDate><guid>https://code.kiwi.com/articles/drone-guerilla-recruitment/</guid><description>&lt;p&gt;To get smart people sometimes you need to do something really stupid.&lt;/p&gt;
&lt;div class="embed"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/Z5nYIk-LSUc" title="Video" loading="lazy" allow="fullscreen; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</description></item><item><title>How to Find a “Silent” Bug</title><link>https://code.kiwi.com/articles/how-to-find-a-silent-bug/</link><pubDate>Tue, 25 Oct 2016 19:32:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-to-find-a-silent-bug/</guid><description>&lt;p&gt;Now and again, some very weird bugs occur.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/51625b72f3c060100005bad08a6783a078b2c1caefae731051dfd7653fd56ee4.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="https://unsplash.com/photos/iZJTmZAff8w?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;David Clode&lt;/a&gt; on &lt;a href="https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the case of &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;, and out internal Kiwibase project, I spent half a day fighting with a particularly weird bug.&lt;/p&gt;
&lt;h2 id="what-happened"&gt;What Happened&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;A colleague had prepared a branch for our shiny new feature&lt;/li&gt;
&lt;li&gt;Tests were passed (okay, I’m lying slightly; there was one minor bug in the HTML content which was not related to this issue)&lt;/li&gt;
&lt;li&gt;I was able to successfully run it on my computer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So I tried to deploy it on the server and it didn’t work. The only screen I could see was this:&lt;/p&gt;</description></item><item><title>Brno Golang meetup #3</title><link>https://code.kiwi.com/articles/brno-golang-meetup-3/</link><pubDate>Mon, 24 Oct 2016 20:02:00 +0000</pubDate><guid>https://code.kiwi.com/articles/brno-golang-meetup-3/</guid><description>&lt;p&gt;On 22 September, we brought together the open source Go programming language community for the third time. As always, we started the evening with an intensive hands-on workshop, continued with three presentations and finished with good beer and networking.&lt;/p&gt;</description></item><item><title>Python Hackathon</title><link>https://code.kiwi.com/articles/python-hackathon/</link><pubDate>Mon, 24 Oct 2016 20:01:00 +0000</pubDate><guid>https://code.kiwi.com/articles/python-hackathon/</guid><description>&lt;p&gt;We partnered with the &lt;a href="https://engeto.cz/hackathon/python"&gt;Engeto Python Hackathon&lt;/a&gt;, which took place during the weekend of November 19–20, 2016 in the &lt;a href="http://www.hubbrno.cz/en/"&gt;Impact Hub Brno&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Two our top developers participated as mentors and we also supported the advanced attendees with free Kiwi.com promo codes.&lt;/p&gt;</description></item><item><title>Reactive Conference in Bratislava</title><link>https://code.kiwi.com/articles/reactive-conference-in-bratislava/</link><pubDate>Mon, 24 Oct 2016 19:59:00 +0000</pubDate><guid>https://code.kiwi.com/articles/reactive-conference-in-bratislava/</guid><description>&lt;p&gt;We were Gold Partners at the &lt;a href="https://reactiveconf.com/"&gt;Reactive Conference&lt;/a&gt; in Bratislava: the largest &lt;a href="https://www.facebook.com/react/"&gt;React&lt;/a&gt; conference in the region.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kiwi.com workshops&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following two intensive workshops were led by Boris Petrenko and Michael Musil, our experienced Front-end developers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://reactiveconf.com/workshop/modelling-a-react-app-state-containers-and-componentization"&gt;Modelling a React app — state containers and componentization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reactiveconf.com/workshop/building-real-universal-applications"&gt;Building real universal (isomorphic) applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/0c0151705bf2b164a34c0b24fa998ee2f9be6af9dc39239987b4c8717033aac6.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>Kiwi.com Data Challenge</title><link>https://code.kiwi.com/articles/kiwi-com-data-challenge/</link><pubDate>Mon, 24 Oct 2016 19:57:00 +0000</pubDate><guid>https://code.kiwi.com/articles/kiwi-com-data-challenge/</guid><description>&lt;p&gt;We organised a public data challenge competition to create a flight delays algorithm based on the large, real &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt; historical dataset.&lt;/p&gt;
&lt;p&gt;79 teams applied, and 17 teams were invited for the Award Ceremony.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Award ceremony&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On Wednesday, 26 October at 18:00 in the &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt; wine cellar, we rewarded the 3 teams that created the best prediction algorithms with &lt;a href="http://kiwi.com/"&gt;Kiwi.com&lt;/a&gt; vouchers worth 2,000 EUR.&lt;/p&gt;</description></item><item><title>The 1st Elastic search meetup in Brno</title><link>https://code.kiwi.com/articles/the-1st-elastic-search-meetup-in-brno/</link><pubDate>Mon, 24 Oct 2016 19:55:00 +0000</pubDate><guid>https://code.kiwi.com/articles/the-1st-elastic-search-meetup-in-brno/</guid><description>&lt;p&gt;&lt;a href="https://code.kiwi.com/"&gt;Code.kiwi.com&lt;/a&gt; organised the first Elasticsearch meetup in Brno on October 13. The event brought three speakers and more than 70 attendees to discuss this highly scalable open source search engine. Here’s a quick run through of what happened.&lt;/p&gt;</description></item><item><title>Travel Hackathon</title><link>https://code.kiwi.com/articles/travel-hackathon/</link><pubDate>Mon, 24 Oct 2016 19:53:00 +0000</pubDate><guid>https://code.kiwi.com/articles/travel-hackathon/</guid><description>&lt;p&gt;&lt;a href="https://kiwi.com/"&gt;Kiwi.com&lt;/a&gt;, &lt;a href="https://aws.amazon.com/"&gt;Awscloud&lt;/a&gt; and the &lt;a href="https://www.jic.cz/en"&gt;South Moravian Innovation Centre&lt;/a&gt; organised the Travel Hackathon 2016. It was a free-thinking, free-ranging weekend where more than 30 talented developers, designers and managers had just 24 hours to create and develop a travel app from scratch.&lt;/p&gt;</description></item><item><title>The 1st meeting of the Brno MATLAB Meetup Group</title><link>https://code.kiwi.com/articles/the-1st-meeting-of-the-brno-matlab-meetup-group/</link><pubDate>Mon, 24 Oct 2016 19:42:00 +0000</pubDate><guid>https://code.kiwi.com/articles/the-1st-meeting-of-the-brno-matlab-meetup-group/</guid><description>&lt;p&gt;A new community of MATLAB users and fans has been set up in Brno. The first meeting of the &lt;a href="https://www.meetup.com/Brno-MATLAB-Meetup/"&gt;Brno MATLAB Meetup Group&lt;/a&gt; was held on November 3rd. The selected topic was Data Analytics with MATLAB and it resonated with people. More than 80 attendees decided to come and hear about the new MATLAB capabilities in this area.&lt;/p&gt;</description></item></channel></rss>