﻿<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Square Corner Blog RSS Feed]]></title><description><![CDATA[Buying and selling sound like simple things - and they should be. Somewhere along the way, they got complicated. At Square, we're working hard to make commerce easy for everyone.]]></description><link>https://developer.squareup.com</link><image><url>https://images.ctfassets.net/1wryd5vd9xez/17qESd8XPuZvSCU3GHMHrf/00c097e5856c932fb00eb4070726a574/0_AO2qs_6tDwapITR_.jpg</url><title>Square Corner Blog RSS Feed</title><link>https://developer.squareup.com</link></image><generator>GatsbyJS</generator><lastBuildDate>Wed, 25 Jun 2025 22:37:06 GMT</lastBuildDate><item><title><![CDATA[Hijacking Amazon EventBridge for launching Cross-Account attacks]]></title><description><![CDATA[Securing the invisible paths: How cross-account event flows can become security blind spots]]></description><link>https://developer.squareup.com/blog/hijacking-amazon-eventbridge-for-launching-cross-account-attacks</link><guid isPermaLink="false">https://developer.squareup.com/blog/hijacking-amazon-eventbridge-for-launching-cross-account-attacks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ramesh Ramani]]></dc:creator><pubDate>Wed, 25 Jun 2025 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;AWS EventBridge is a serverless event bus service that enables powerful integrations across multiple AWS accounts. While this cross-account capability is essential for building modern, decoupled architectures, it also introduces potential security r…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/hijacking-amazon-eventbridge-for-launching-cross-account-attacks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Revamping Data Science Interviews]]></title><description><![CDATA[Interviews are not just about improving hiring outcomes - they are about strengthening the entire DS function]]></description><link>https://developer.squareup.com/blog/revamping-data-science-interviews</link><guid isPermaLink="false">https://developer.squareup.com/blog/revamping-data-science-interviews</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Daeus Jorento]]></dc:creator><pubDate>Wed, 28 May 2025 16:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction&quot; aria-label=&quot;introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The goal of interviews is to assess a candidate’s skill sets, fit, and potential to achieve impact. Well-designed interviews can reduce both false positives (bad hires) and false negatives (rejecting good candidates). On the former, for a data scien…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/revamping-data-science-interviews&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Massively Multi-user Datastore, Synced with Mobile Clients]]></title><description><![CDATA[At Square, we manage large amounts of information for our merchants. This includes the data surrounding what a merchant sells — their…]]></description><link>https://developer.squareup.com/blog/a-massively-multi-user-datastore-synced-with-mobile-clients</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-massively-multi-user-datastore-synced-with-mobile-clients</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tad Book]]></dc:creator><pubDate>Thu, 12 Apr 2018 17:13:25 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we manage large amounts of information for our merchants. This includes the data surrounding what a merchant sells — their products, prices, taxes, and the configurations associated with those entities. We refer to this dataset as a merch…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-massively-multi-user-datastore-synced-with-mobile-clients&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[An analysis of the Square and Cash App outage]]></title><description><![CDATA[Service Disruption - Public Postmortem [2025/02/26]]]></description><link>https://developer.squareup.com/blog/an-analysis-of-the-square-and-cash-app-outage</link><guid isPermaLink="false">https://developer.squareup.com/blog/an-analysis-of-the-square-and-cash-app-outage</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Paul Friedman]]></dc:creator><pubDate>Wed, 05 Mar 2025 11:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;what-happened&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-happened&quot; aria-label=&quot;what happened permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What Happened&lt;/h2&gt;
&lt;p&gt;On February 26, we experienced a system-wide service disruption affecting Square payment processing and Cash App services. The technical root cause was related to a security certificate validation problem that temporarily prevented our payment syste…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/an-analysis-of-the-square-and-cash-app-outage&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[RoBERTa Model for Merchant Categorization at Square]]></title><description><![CDATA[Harnessing Large Language Models to Deliver Accurate Business Insights]]></description><link>https://developer.squareup.com/blog/roberta-model-for-merchant-categorization-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/roberta-model-for-merchant-categorization-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Darshan Kabadi]]></dc:creator><pubDate>Mon, 10 Mar 2025 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Note: In this blog post, the words &lt;em&gt;merchant&lt;/em&gt; and &lt;em&gt;seller&lt;/em&gt; will be used interchangeably.&lt;/p&gt;
&lt;h1 id=&quot;introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction&quot; aria-label=&quot;introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Square’s vast ecosystem of products enables businesses to accept payments, receive banking services, utilize payroll, schedule appointments, and more. With its mission of &lt;em&gt;economic empowerment&lt;/em&gt;, Square’s growth is grounded in enabling businesses to further scale their operations over time. In order to achieve this, Square’s overall product development, marketing strategies, compliance considerations, financial forecasting, and more rely h…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/roberta-model-for-merchant-categorization-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Mobile Payments SDK GA and New Terminal API Features]]></title><description><![CDATA[Expand your reach and drive remarkable in-person payment experiences.]]></description><link>https://developer.squareup.com/blog/announcing-mobile-payments-sdk-ga-and-new-terminal-api-features</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-mobile-payments-sdk-ga-and-new-terminal-api-features</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Priscilla Wu]]></dc:creator><pubDate>Mon, 24 Feb 2025 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When we opened our platform and provided developers with direct access to Square hardware, our goal was simple: to empower you to build custom, secure in-person payment solutions to meet the unique needs of sellers. Over the years, the Square Reader…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-mobile-payments-sdk-ga-and-new-terminal-api-features&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Best Practices for Using Third-Party APIs]]></title><description><![CDATA[Optimizing third-party API integrations for your user experience]]></description><link>https://developer.squareup.com/blog/best-practices-for-using-third-party-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/best-practices-for-using-third-party-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[W Ian Douglas]]></dc:creator><pubDate>Wed, 05 Feb 2025 10:30:00 GMT</pubDate><content:encoded>&lt;p&gt;In the demanding landscape of financial technologies, optimizing API integrations is crucial for delivering high-performing and reliable applications. This article addresses key challenges faced by developers working with services like Square, or an…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/best-practices-for-using-third-party-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Kube-Policies: Guardrails for Apps Running in Kubernetes]]></title><description><![CDATA[Design considerations for highly sensitive environments.]]></description><link>https://developer.squareup.com/blog/kube-policies-guardrails-for-apps-running-in-kubernetes</link><guid isPermaLink="false">https://developer.squareup.com/blog/kube-policies-guardrails-for-apps-running-in-kubernetes</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Hardik Darji]]></dc:creator><pubDate>Tue, 28 Jan 2025 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction&quot; aria-label=&quot;introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In the fast-paced world of cloud computing, security shouldn&apos;t be a barrier, but a facilitator. Our Compute Security team&apos;s philosophy embraces creating guardrails instead of gates, guiding innovation securely without compromising speed. This blog s…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/kube-policies-guardrails-for-apps-running-in-kubernetes&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the Square Go SDK]]></title><description><![CDATA[Easier Square integrations with your Go backend]]></description><link>https://developer.squareup.com/blog/announcing-the-square-go-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-square-go-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Jordan Bergero]]></dc:creator><pubDate>Wed, 18 Dec 2024 17:00:00 GMT</pubDate><content:encoded>&lt;h1 id=&quot;its-time-to-get-going&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#its-time-to-get-going&quot; aria-label=&quot;its time to get going permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;It’s Time to Get ‘Go’ing&lt;/h1&gt;
&lt;p&gt;After much anticipation, and many asks from our community, we are very excited to announce Square now has a Go SDK! For Go SDK details, please visit our &lt;a href=&quot;https://developer.squareup.com/docs/sdks/go&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;website&lt;/a&gt;. If you are looking to get started quickly with the SDK, please check out this &lt;a href=&quot;https://developer.squareup.com/docs/sdks/go/quick-start&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;quick-start guide&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-square-go-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Enhanced Authorization with Square]]></title><description><![CDATA[Enhancing Payment Success with Square Advanced Authorization Tools]]></description><link>https://developer.squareup.com/blog/enhanced-authorization-with-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/enhanced-authorization-with-square</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Conrado Brenna]]></dc:creator><pubDate>Mon, 16 Dec 2024 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square continually innovates to deliver industry-leading authorization rates and secure payment experiences. Through partnerships and cutting-edge protocols, we aim to make payment acceptance seamless, safe, and successful for every business. Below,…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/enhanced-authorization-with-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Enhancing Data Quality Using Better Designed ETLs]]></title><description><![CDATA[Sharing an ETL design doc template]]></description><link>https://developer.squareup.com/blog/enhancing-data-quality-using-better-designed-etls</link><guid isPermaLink="false">https://developer.squareup.com/blog/enhancing-data-quality-using-better-designed-etls</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Kasia Rachuta]]></dc:creator><pubDate>Mon, 30 Sep 2024 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Templates provide a helpful way to produce consistent results across data science teams. They can reduce cognitive load as your peers, stakeholders, and consumers will know what to expect each time. They can also guide you through best practices and…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/enhancing-data-quality-using-better-designed-etls&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Making Insights-Driven Decisions in an Ecosystem of Ecosystems]]></title><description><![CDATA[Our approach to securing our cloud environments]]></description><link>https://developer.squareup.com/blog/making-insights-driven-decisions-in-an-ecosystem-of-ecosystems</link><guid isPermaLink="false">https://developer.squareup.com/blog/making-insights-driven-decisions-in-an-ecosystem-of-ecosystems</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Stephanie Shi]]></dc:creator><pubDate>Wed, 10 Jul 2024 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In this blog post, we explore our data-driven methodology for measuring, securing, and monitoring Block’s distinctive environment. Our objective is to prioritize security and infrastructure initiatives using robust data and insights drawn from our e…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/making-insights-driven-decisions-in-an-ecosystem-of-ecosystems&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the Winners of the Square Local Community Hackathon]]></title><description><![CDATA[Building apps to connect businesses with their local community]]></description><link>https://developer.squareup.com/blog/announcing-the-winners-of-the-square-local-community-hackathon</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-winners-of-the-square-local-community-hackathon</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Eva Sasson]]></dc:creator><pubDate>Mon, 24 Jun 2024 15:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square&apos;s Local Community Hackathon offered a platform for creative minds to reimagine the relationship between businesses and local communities using Square APIs. Participants brainstormed solutions that celebrated diversity, fostered community spir…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-winners-of-the-square-local-community-hackathon&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Recap: Square Unboxed 2024]]></title><description><![CDATA[Top highlight's from this year's event]]></description><link>https://developer.squareup.com/blog/recap-square-unboxed-2024</link><guid isPermaLink="false">https://developer.squareup.com/blog/recap-square-unboxed-2024</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Tyler]]></dc:creator><pubDate>Mon, 24 Jun 2024 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/pkQ-rPpAOt4?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;On June 5, we gathered in Oakland with over 120 partners and Squares for our annual Square Unboxed event. We had plenty of reasons to celebrate our work together. Here are the key takeaways:&lt;/p&gt;
&lt;p&gt;Partnerships and International Lead Vijay Vachani shared the state of the Square platform, including which trends and investment areas Square is focused on in 2024, as well as the progress we’ve made on partner programs over the last year.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/recap-square-unboxed-2024&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Q&A: Discover what’s new in the Mobile Payments SDK beta]]></title><description><![CDATA[Learn about how KIOS, a kiosk software, conducted early stage testing of the SDK and their integration experience.]]></description><link>https://developer.squareup.com/blog/q-and-a-discover-whats-new-in-the-mobile-payments-sdk-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/q-and-a-discover-whats-new-in-the-mobile-payments-sdk-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Priscilla Wu]]></dc:creator><pubDate>Thu, 06 Jun 2024 15:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Six years ago, we launched the Square Reader SDK. Since then, we’ve had hundreds of developers and partners integrate the SDK into their apps and we’ve enabled thousands of sellers across diverse business types to seamlessly process in-person paymen…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/q-and-a-discover-whats-new-in-the-mobile-payments-sdk-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Leveraging Linux Internals to Supercharge Osquery Malware Detection]]></title><description><![CDATA[Using /proc to find fileless malware]]></description><link>https://developer.squareup.com/blog/leveraging-linux-internals-to-supercharge-osquery-malware-detection</link><guid isPermaLink="false">https://developer.squareup.com/blog/leveraging-linux-internals-to-supercharge-osquery-malware-detection</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Frank Graziano]]></dc:creator><pubDate>Wed, 27 Mar 2024 16:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction&quot; aria-label=&quot;introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This post outlines what I believe to be a novel way to overcome the limitations of the osquery yara scanning table to find fileless malware on Linux operating systems.&lt;/p&gt;
&lt;h2 id=&quot;background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background&quot; aria-label=&quot;background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Background&lt;/h2&gt;
&lt;h3 id=&quot;what-is-osquery&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-osquery&quot; aria-label=&quot;what is osquery permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What is osquery?&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/osquery/osquery&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;osquery&lt;/a&gt; is a powerful open source toolset that exposes operating systems in a way that allows them to be queried with SQL. There are myriad use cases of this instrumentation, but we primarily use it to ask security relevant questions of our hosts. Over the…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/leveraging-linux-internals-to-supercharge-osquery-malware-detection&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Evolution of Developer Productivity at Square - Part Four]]></title><description><![CDATA[Investing in reliability and test engineering]]></description><link>https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-four</link><guid isPermaLink="false">https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-four</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Korhan Bircan]]></dc:creator><pubDate>Mon, 26 Feb 2024 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the fourth and final part of our blog series, where we focus on a crucial aspect of our journey at Square: Investing in Reliability and Test Engineering. At the end of the day, our goal is to deliver high quality products that delight Squ…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-four&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Evolution of Developer Productivity at Square - Part Three]]></title><description><![CDATA[Effective developer tools]]></description><link>https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-three</link><guid isPermaLink="false">https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-three</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Korhan Bircan]]></dc:creator><pubDate>Wed, 14 Feb 2024 18:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the third part of our series on Square&apos;s evolving approach to developer productivity. In the &lt;a href=&quot;https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-two/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;first two parts&lt;/a&gt;, we delved into the growth of our codebase and the investments we made in CI infrastructure to increase development speed. Now, we&apos;ll shift our focus to platform-specific tools and methodologies that further boost development velocity. We&apos;ll also d…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-three&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Accept payments with Square using Next.js App Router]]></title><description><![CDATA[Build an end-to-end payment flow with Next.js Server Actions]]></description><link>https://developer.squareup.com/blog/accept-payments-with-square-using-next-js-app-router</link><guid isPermaLink="false">https://developer.squareup.com/blog/accept-payments-with-square-using-next-js-app-router</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Anthony Giuliano]]></dc:creator><pubDate>Thu, 25 Jan 2024 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In this how-to guide, we’re going to walk through the steps of accepting payments in your Next.js app using the new &lt;a href=&quot;https://nextjs.org/docs/app&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;App Router&lt;/a&gt; so you can build an end-to-end payment flow.&lt;/p&gt;
&lt;Admonition type=&quot;note&quot;&gt;
This tutorial requires a general understanding of the Next.js App Router. If you are not yet familiar with the major API changes of the Next.js App Router, you can check out [Next.js Learn](https://nextjs.org/learn).
&lt;/Admonition&gt; 
&lt;p&gt;All of the code for this payment flow how-to guide can be found in the &lt;a href=&quot;https://github.com/square/squaredev-corner-blog-examples/tree/main/squaredev-next-online-payments-example&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Next Online Payments Example repo&lt;/a&gt;.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/accept-payments-with-square-using-next-js-app-router&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Evolution of Developer Productivity at Square - Part Two]]></title><description><![CDATA[Accelerating development velocity]]></description><link>https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-two</link><guid isPermaLink="false">https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-two</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Korhan Bircan]]></dc:creator><pubDate>Mon, 29 Jan 2024 09:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Kicking off the second part of our &lt;a href=&quot;https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-one/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;blog series&lt;/a&gt;, I&apos;d like to talk about our efforts to address one of our most pressing challenges at Square: improving the development velocity. A recurring piece of feedback that came to light was a shared sentiment among engineers – the time taken to roll out f…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-two&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Peer Reviews for Data Science]]></title><description><![CDATA[If it’s worth doing, it’s worth reviewing]]></description><link>https://developer.squareup.com/blog/peer-reviews-for-data-science</link><guid isPermaLink="false">https://developer.squareup.com/blog/peer-reviews-for-data-science</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Peter Weir]]></dc:creator><pubDate>Wed, 17 Jan 2024 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Peer reviews increase the quality of data science output by diversifying our thinking and decreasing the probability of making an error.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Once you’ve felt the terrible sinking feeling in your stomach, you never forget it. I was in my first year as a data scientist in my first industry job, still getting used to the tools and cadence of the tech world. My assignment was to analyze a fa…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/peer-reviews-for-data-science&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Evolution of Developer Productivity at Square - Part One]]></title><description><![CDATA[Unpacking Square's developer productivity approach]]></description><link>https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-one</link><guid isPermaLink="false">https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-one</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Korhan Bircan]]></dc:creator><pubDate>Wed, 10 Jan 2024 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Building on a decade of innovation and scaling, Square&apos;s growth story has been nothing short of remarkable. From the early days of a simple Square card reader connecting via an iPhone&apos;s headphone jack to an expansive ecosystem of business solutions …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/evolution-of-developer-productivity-at-square-part-one&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How To Train Your Own GenAI Model]]></title><description><![CDATA[Train lightweight LLMs like GPT2 for specialized tasks without having to use ChatGPT]]></description><link>https://developer.squareup.com/blog/how-to-train-your-own-genai-model</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-train-your-own-genai-model</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alessandro Joabar]]></dc:creator><pubDate>Mon, 11 Dec 2023 18:00:00 GMT</pubDate><content:encoded>&lt;p&gt;While GenAI is dominating the news and earnings reports across the world, a lot of emphasis is focused on massive, powerful, and expensive large language models (LLMs). Every business wants to slam their credit card on the table and integrate AI in …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-train-your-own-genai-model&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Winners of the Square + Google Cloud AI Hackathon]]></title><description><![CDATA[Check out the winning submissions using generative AI, image recognition, and more]]></description><link>https://developer.squareup.com/blog/announcing-winners-of-the-square-google-ai-hackathon</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-winners-of-the-square-google-ai-hackathon</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Eva Sasson]]></dc:creator><pubDate>Tue, 21 Nov 2023 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Two months ago, Square and Google Cloud came together to foster AI innovation for sellers by supporting developers building with Google Cloud’s AI APIs and Square’s APIs. Over that period, almost 2,500 developers came together to build impactful sol…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-winners-of-the-square-google-ai-hackathon&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[3 Ways to Drive Data Culture on your Team]]></title><description><![CDATA[How to empower your team and cultivate data culture]]></description><link>https://developer.squareup.com/blog/3-ways-to-drive-data-culture-on-your-team</link><guid isPermaLink="false">https://developer.squareup.com/blog/3-ways-to-drive-data-culture-on-your-team</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Kasia Rachuta]]></dc:creator><pubDate>Wed, 11 Oct 2023 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;One part of our jobs as data scientists is to drive data culture on our teams. This includes making sure that data is part of every decision, that we can quantify the impact we’ve made with new launches, and that we are making decisions analytically…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/3-ways-to-drive-data-culture-on-your-team&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How Jetpack Compose Measuring Works]]></title><description><![CDATA[A high level overview on producing custom rich UI in Compose]]></description><link>https://developer.squareup.com/blog/how-jetpack-compose-measuring-works</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-jetpack-compose-measuring-works</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Helios Alonso]]></dc:creator><pubDate>Thu, 28 Sep 2023 15:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://developer.android.com/jetpack/compose&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jetpack Compose&lt;/a&gt; is a game changer for Android developers. It provides an easy and flexible toolset for building UI. However, using Jetpack Compose beyond its basic tenets Box, Column, Row — might need us to put a little more work into one of two related areas: mea…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-jetpack-compose-measuring-works&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Incident Summary: 2023-09-07]]></title><description><![CDATA[A timeline of the events of the outage and steps for remediation]]></description><link>https://developer.squareup.com/blog/incident-summary-2023-09-07</link><guid isPermaLink="false">https://developer.squareup.com/blog/incident-summary-2023-09-07</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 15 Sep 2023 23:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;summary&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#summary&quot; aria-label=&quot;summary permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Summary&lt;/h2&gt;
&lt;p&gt;Last week, Square experienced a multi-hour outage across our services. We understand that you rely on our systems to power your business and that’s a responsibility we take seriously. We apologize for letting you down and for the length of time it t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/incident-summary-2023-09-07&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How To Measure the Value of Internal Tools]]></title><description><![CDATA[Introduction to Square internal products and the metrics we use to track their effectiveness]]></description><link>https://developer.squareup.com/blog/how-to-measure-the-value-of-internal-tools</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-measure-the-value-of-internal-tools</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Chang Liu]]></dc:creator><pubDate>Wed, 02 Aug 2023 16:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;what-are-internal-tools&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-are-internal-tools&quot; aria-label=&quot;what are internal tools permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What Are Internal Tools?&lt;/h2&gt;
&lt;p&gt;At Square, we use all kinds of internal tools to help improve our productivity and efficiency. In our org (Seller Experience), we use tools to effectively manage our data and provide engineering and analytical support to a variety of internal users.…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-measure-the-value-of-internal-tools&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Supercharging Continuous Integration with Gradle]]></title><description><![CDATA[Unveiling the journey of shard avoidance and Bazel-like queryability]]></description><link>https://developer.squareup.com/blog/supercharging-continuous-integration-with-gradle</link><guid isPermaLink="false">https://developer.squareup.com/blog/supercharging-continuous-integration-with-gradle</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Paul Hundal]]></dc:creator><pubDate>Thu, 27 Jul 2023 14:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In a previous blog post by my colleague Tony Robalik, titled &lt;a href=&quot;https://developer.squareup.com/blog/herding-elephants&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Herding Elephants&lt;/a&gt; we explored the challenges of managing an expansive Gradle project. At that time, we discussed the complexities faced by Android developers at Square as they navigated a project with over 3,500 modules. Since then, our project has grown even furthe…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/supercharging-continuous-integration-with-gradle&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Winners of the Square Hackathon for Emerging Technologies]]></title><description><![CDATA[Check out the winning submissions using Generative AI, augmented reality, and more]]></description><link>https://developer.squareup.com/blog/announcing-winners-of-the-square-hackathon-for-emerging-technologies</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-winners-of-the-square-hackathon-for-emerging-technologies</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 20 Jul 2023 14:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Thank you to everyone who participated in the Square Hackathon 2023! This year more than a thousand developers submitted apps built with Square APIs and other emerging technologies. They competed for a grand prize of $20,000 alongside other prize pa…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-winners-of-the-square-hackathon-for-emerging-technologies&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s Updated Growth Framework for Engineers and Engineering Managers]]></title><description><![CDATA[Our next major iteration of our engineering levels]]></description><link>https://developer.squareup.com/blog/squares-updated-growth-framework-for-engineers-and-engineering-managers</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-updated-growth-framework-for-engineers-and-engineering-managers</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Kyle Van Essen]]></dc:creator><pubDate>Wed, 19 Jul 2023 13:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Four years ago, we shared the Block engineering levels in &lt;a href=&quot;https://developer.squareup.com/blog/squares-growth-framework-for-engineers-and-engineering-managers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square’s Growth Framework for Engineers and Engineering Managers&lt;/a&gt;. Right now, four years feels like a lifetime ago! It is probably unsurprising to hear that our levels have seen significant change over the last four years as well to better suit our growing company.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-updated-growth-framework-for-engineers-and-engineering-managers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Lessons Learned From Running Web Experiments ]]></title><description><![CDATA[Unveiling key strategies & frameworks]]></description><link>https://developer.squareup.com/blog/lessons-learned-from-running-web-experiments</link><guid isPermaLink="false">https://developer.squareup.com/blog/lessons-learned-from-running-web-experiments</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Sneha Vasanth]]></dc:creator><pubDate>Wed, 05 Jul 2023 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I am a Product Data Scientist for the Ecosystem Discovery team at Square, which helps design, develop, and maintain several key pages of the public website &lt;a href=&quot;http://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;squareup.com&lt;/a&gt;. These include the &lt;a href=&quot;https://squareup.com/us/en&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Homepage&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/pricing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pricing page&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/why-square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Why Square&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/point-of-sale&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Point of Sale&lt;/a&gt;, etc which have a significant volume of visitors who want to discover and sign up for Square solutions. Due to the substantial traffic volume on these pages, any modifications to them can have a significant impact on downstream metrics and multiple…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/lessons-learned-from-running-web-experiments&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Implicit Product Tagging]]></title><description><![CDATA[How To Label With Data You Don’t Have]]></description><link>https://developer.squareup.com/blog/implicit-product-tagging</link><guid isPermaLink="false">https://developer.squareup.com/blog/implicit-product-tagging</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Alessandro Joabar]]></dc:creator><pubDate>Thu, 29 Jun 2023 06:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;problem-statement&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#problem-statement&quot; aria-label=&quot;problem statement permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Problem Statement&lt;/h2&gt;
&lt;p&gt;To best understand the problem that Implicit Labeling solves, it’s important to clarify what Explicit Labeling is. Fundamentally, any model needs data X to predict the output Y. For example, given a series of transactions (let’s call these X), we ca…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/implicit-product-tagging&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Keeping Up with Android App Size Growth]]></title><description><![CDATA[Tracking app size changes in CI and ensuring team accountability]]></description><link>https://developer.squareup.com/blog/keeping-up-with-android-app-size-growth</link><guid isPermaLink="false">https://developer.squareup.com/blog/keeping-up-with-android-app-size-growth</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Justin Wong]]></dc:creator><pubDate>Tue, 27 Jun 2023 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we build multiple mobile apps spanning low-end to high-end Android devices as well as our own custom Square hardware. As we continue to expand our range of point-of-sale software solutions, a crucial aspect of development is reducing the …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/keeping-up-with-android-app-size-growth&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Subscriptions API Integrations with Catalog and Orders]]></title><description><![CDATA[Simplify subscription management with new Square Catalog and Orders integrations]]></description><link>https://developer.squareup.com/blog/new-subscriptions-api-integrations-with-catalog-and-orders</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-subscriptions-api-integrations-with-catalog-and-orders</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Priscilla Wu]]></dc:creator><pubDate>Mon, 26 Jun 2023 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The Subscriptions API allows you to integrate Square Subscriptions into your applications, empowering sellers to drive repeat business and build stronger relationships with customers.&lt;/p&gt;
&lt;p&gt;Today, we are thrilled to announce the general availability of two new integrations with Square Catalog and Orders for the Subscriptions API. These integrations create a tighter connection between the Subscriptions API and the broader Square ecosyst…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-subscriptions-api-integrations-with-catalog-and-orders&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Unlock a Better Mobile Experience with Square GraphQL and PKCE]]></title><description><![CDATA[Streamline the flow of your React Native application]]></description><link>https://developer.squareup.com/blog/unlock-a-better-mobile-experience-with-square-graphql-and-pkce</link><guid isPermaLink="false">https://developer.squareup.com/blog/unlock-a-better-mobile-experience-with-square-graphql-and-pkce</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Eva Sasson]]></dc:creator><pubDate>Mon, 26 Jun 2023 15:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;more-secure-faster-and-streamlined-all-around&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#more-secure-faster-and-streamlined-all-around&quot; aria-label=&quot;more secure faster and streamlined all around permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;More secure, faster, and streamlined all around.&lt;/h2&gt;
&lt;p&gt;Now you can build with Square for an improved mobile experience. Functionally, what has historically been impossible to build (or painstakingly time consuming at best) is now easily accessible to all developers with the releases of &lt;a href=&quot;https://developer.squareup.com/docs/devtools/graphql&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GraphQL&lt;/a&gt; and &lt;a href=&quot;https://developer.squareup.com/docs/oauth-api/overview#pkce-flow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OAuth Proof Key for Code Exchange (PKCE)&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/unlock-a-better-mobile-experience-with-square-graphql-and-pkce&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Recap: Square Unboxed 2023]]></title><description><![CDATA[Top highlights from this year’s event]]></description><link>https://developer.squareup.com/blog/recap-square-unboxed-2023</link><guid isPermaLink="false">https://developer.squareup.com/blog/recap-square-unboxed-2023</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Tyler]]></dc:creator><pubDate>Thu, 22 Jun 2023 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/FYzQXlCYRo0?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We hope you feel inspired after attending Square Unboxed 2023, a partner and developer event. In case you missed it, we heard from Vijay Vachani, General Manager, Global Head of Developers and Partners, and Mike Ward, Head of Product, Developers and…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/recap-square-unboxed-2023&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing New Terminal API Customization Features]]></title><description><![CDATA[Customize the checkout experience with the newest features]]></description><link>https://developer.squareup.com/blog/introducing-new-terminal-api-customization-features</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-new-terminal-api-customization-features</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Priscilla Wu]]></dc:creator><pubDate>Thu, 15 Jun 2023 15:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The Terminal API allows developers to integrate Square Terminal, our all-in-one card processing device, with their custom point-of-sale, ERP, practice management system, or any other app to process in-person payments.&lt;/p&gt;
&lt;p&gt;We are excited to announce the beta launch of Custom Workflows on Terminal API, a new feature empowering developers to create dynamic buyer-facing workflows on the Square Terminal that extend beyond payments. Developers can now incorporate customiza…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-new-terminal-api-customization-features&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Maximizing Solution Visibility with Machine Learning-Powered App Recommendations]]></title><description><![CDATA[Amplify solution visibility and drive conversion]]></description><link>https://developer.squareup.com/blog/maximizing-solution-visibility-with-machine-learning-powered-app</link><guid isPermaLink="false">https://developer.squareup.com/blog/maximizing-solution-visibility-with-machine-learning-powered-app</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Steven Kim]]></dc:creator><pubDate>Tue, 13 Jun 2023 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to announce the launch of our machine learning-powered App Recommendations!&lt;/p&gt;
&lt;p&gt;Sellers often struggle to find the right third-party solution for their businesses. Our research has revealed that sellers not only lack awareness of the different solutions Square offers, but also want guidance in selecting the right solution tailo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/maximizing-solution-visibility-with-machine-learning-powered-app&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Accelerating Ruby: How Our Bundle Install Times Got 12x Faster]]></title><description><![CDATA[A special thanks to the Ruby open source community ]]></description><link>https://developer.squareup.com/blog/accelerating-ruby-how-our-bundle-install-times-got-12x-faster</link><guid isPermaLink="false">https://developer.squareup.com/blog/accelerating-ruby-how-our-bundle-install-times-got-12x-faster</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Roger Hu]]></dc:creator><pubDate>Tue, 23 May 2023 15:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In 2014, &lt;a href=&quot;https://segiddins.me/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Samuel Giddins&lt;/a&gt;, a 19-year old freshman at the University of Chicago, decided to delay returning to college for his sophomore year. Determined to address a glaring deficiency in CocoaPods, an open source tool for managing and installing third-party libraries for i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/accelerating-ruby-how-our-bundle-install-times-got-12x-faster&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Connecting Block Business Units with AWS API Gateway]]></title><description><![CDATA[Secure cross-mesh communication using in-mesh bastions]]></description><link>https://developer.squareup.com/blog/connecting-block-business-units-with-aws-api-gateway</link><guid isPermaLink="false">https://developer.squareup.com/blog/connecting-block-business-units-with-aws-api-gateway</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael Weissbacher]]></dc:creator><pubDate>Thu, 18 May 2023 13:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;overview&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#overview&quot; aria-label=&quot;overview permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;When Block acquires another company, we often want to integrate backend services to benefit from each others’ technology. For example, one can imagine an acquisition wanting to leverage internal APIs, such as Block’s internal payments stack. A naive…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/connecting-block-business-units-with-aws-api-gateway&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Keeping IDE Sync Times at Bay: A Historical Perspective]]></title><description><![CDATA[Commemorating 10 years since Android Studio's introduction]]></description><link>https://developer.squareup.com/blog/keeping-ide-sync-times-at-bay-a-historical-perspective</link><guid isPermaLink="false">https://developer.squareup.com/blog/keeping-ide-sync-times-at-bay-a-historical-perspective</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Roger Hu]]></dc:creator><pubDate>Thu, 04 May 2023 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ten years ago at Google&apos;s I/O 2013 conference, engineering director Tor Norbye &lt;a href=&quot;https://www.youtube.com/live/9pmPa_KxsAM?feature=share&amp;#x26;t=1423&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;unveiled&lt;/a&gt; Android Studio, a state-of-art integrated development environment (IDE) for building, testing, and shipping apps. Demonstrating the capabilities of this new tool, Tor showed how it would make developers more productive and efficient. Android Studio…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/keeping-ide-sync-times-at-bay-a-historical-perspective&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ecosystem Success Metrics]]></title><description><![CDATA[Navigating tradeoffs between different products]]></description><link>https://developer.squareup.com/blog/ecosystem-success-metrics</link><guid isPermaLink="false">https://developer.squareup.com/blog/ecosystem-success-metrics</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Daeus Jorento]]></dc:creator><pubDate>Wed, 26 Apr 2023 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square has an integrated ecosystem of over 35 products for sellers (including &lt;a href=&quot;https://squareup.com/us/en/online-store&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Online Store&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/payroll&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Payroll&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/invoices&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Invoices&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/point-of-sale/retail&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square for Retail&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/us/en/banking/loans&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Loans&lt;/a&gt;, and more). For each individual product, there are focused &lt;a href=&quot;https://developer.squareup.com/blog/success-metrics-for-product-analytics/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;success metrics&lt;/a&gt; to prioritize for different product milestones (e.g. free trial starts, first revenue event, etc).&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ecosystem-success-metrics&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building Stronger Partnerships as a Data Scientist]]></title><description><![CDATA[Questions to ask and other tips]]></description><link>https://developer.squareup.com/blog/building-stronger-partnerships-as-a-data-scientist</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-stronger-partnerships-as-a-data-scientist</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Ini Li]]></dc:creator><pubDate>Thu, 06 Apr 2023 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’m a senior data scientist on Square’s Seller Experience team and I work on our online Help Experience. Our team provides relevant and targeted support to sellers at Square, allowing them to spend less time seeking help and more time running their …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-stronger-partnerships-as-a-data-scientist&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Accept Payments with Square and Vue]]></title><description><![CDATA[Easily add payments to your Nuxt app!]]></description><link>https://developer.squareup.com/blog/accept-payments-with-square-and-vue</link><guid isPermaLink="false">https://developer.squareup.com/blog/accept-payments-with-square-and-vue</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Anthony Giuliano]]></dc:creator><pubDate>Thu, 30 Mar 2023 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;If the thought of implementing online payments makes your stomach churn, you’re not alone. Building an online payment flow can be very intimidating. Afterall, an unsecure payment process can have serious repercussions for your business. Luckily, Squ…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/accept-payments-with-square-and-vue&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Accept Payments with Square and Svelte]]></title><description><![CDATA[Easily add payments to your Sveltekit app!]]></description><link>https://developer.squareup.com/blog/accept-payments-with-square-and-svelte</link><guid isPermaLink="false">https://developer.squareup.com/blog/accept-payments-with-square-and-svelte</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Anthony Giuliano]]></dc:creator><pubDate>Thu, 30 Mar 2023 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;If the thought of implementing online payments makes your stomach churn, you’re not alone. Building an online payment flow can be very intimidating. Afterall, an unsecure payment process can have serious repercussions for your business. Luckily, Squ…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/accept-payments-with-square-and-svelte&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Why You Need an Experimentation Template]]></title><description><![CDATA[Sharing Square’s experimentation template and its benefits]]></description><link>https://developer.squareup.com/blog/why-you-need-an-experimentation-template</link><guid isPermaLink="false">https://developer.squareup.com/blog/why-you-need-an-experimentation-template</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Kasia Rachuta]]></dc:creator><pubDate>Thu, 23 Feb 2023 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I have spent almost half of my data career working at Block, starting as an IC, managing people for some time and now as a DS tech lead. I’ve also been on multiple teams here: Developer Empowerment, e-commerce, sales analytics and most recently - at…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/why-you-need-an-experimentation-template&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Stampeding Elephants]]></title><description><![CDATA[The data-driven case for best practices and against silver bullets]]></description><link>https://developer.squareup.com/blog/stampeding-elephants</link><guid isPermaLink="false">https://developer.squareup.com/blog/stampeding-elephants</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Tony Robalik]]></dc:creator><pubDate>Tue, 31 Jan 2023 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Just over a year ago, we published &lt;a href=&quot;https://developer.squareup.com/blog/herding-elephants&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Herding Elephants&lt;/a&gt;, in which we explained how we—Square&apos;s Mobile Developer Experience (MDX) Android team—successfully modernized the build logic of Square&apos;s &lt;a href=&quot;https://squareup.com/us/en/point-of-sale&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Point of Sale apps&lt;/a&gt;. In that post, we described the rationale for why we did this, and what we thought we gained from the effort (such as better separation of concerns, testability, and ultimately improved performance). That rationale was fairly abstract, however, wit…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/stampeding-elephants&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: Reference Health]]></title><description><![CDATA[Empowering health care providers with a secure omnichannel payment platform]]></description><link>https://developer.squareup.com/blog/developer-spotlight-reference-health</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-reference-health</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Roberto Annunziata]]></dc:creator><pubDate>Tue, 17 Jan 2023 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today we are going to share a very inspiring story from John Bona, the co-founder of Reference Health. Reference Health is a platform that enables health care providers to accept payments with Square, directly in their electronic medical record (EMR…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-reference-health&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Celebrating the release of Android Studio Electric Eel]]></title><description><![CDATA[How the update helps speed up our import times by 60%]]></description><link>https://developer.squareup.com/blog/celebrating-the-release-of-android-studio-electric-eel</link><guid isPermaLink="false">https://developer.squareup.com/blog/celebrating-the-release-of-android-studio-electric-eel</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Roger Hu]]></dc:creator><pubDate>Thu, 12 Jan 2023 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Tucked away in the Android Studio Electric Eel release notes is a small announcement about a new &lt;a href=&quot;https://developer.android.com/studio/preview/features#parallel-project-import&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;parallel project import&lt;/a&gt; feature. For most Android app developers on small code bases, this change may not be significant. But for large mobile code bases, especially for ones used at Square, it represents a significant enhancement. For our apps that rely on more than 3,00…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/celebrating-the-release-of-android-studio-electric-eel&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Command Line Observability with Semantic Exit Codes]]></title><description><![CDATA[Drawing inspiration from HTTP Status Codes to improve our Command Line tools]]></description><link>https://developer.squareup.com/blog/command-line-observability-with-semantic-exit-codes</link><guid isPermaLink="false">https://developer.squareup.com/blog/command-line-observability-with-semantic-exit-codes</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Bob Lail]]></dc:creator><pubDate>Tue, 03 Jan 2023 05:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;command-line-tools-at-square&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#command-line-tools-at-square&quot; aria-label=&quot;command line tools at square permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Command Line Tools at Square&lt;/h2&gt;
&lt;p&gt;At Square, many platform teams publish Command Line (CL) tools for interacting with their services. Their customers (Square engineers) use them to search logs, connect to databases, generate code, and more. And because CL tools are particularly easy…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/command-line-observability-with-semantic-exit-codes&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Saving 5,400 hours a year with Gradle's Configuration Cache]]></title><description><![CDATA[Recovering an estimated $1.1 million in lost productivity annually]]></description><link>https://developer.squareup.com/blog/5-400-hours-a-year-saving-developers-time-and-sanity-with-gradles</link><guid isPermaLink="false">https://developer.squareup.com/blog/5-400-hours-a-year-saving-developers-time-and-sanity-with-gradles</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Paul Hundal]]></dc:creator><pubDate>Tue, 13 Dec 2022 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Have you ever had to wait for some ridiculously lengthy process to validate the completion of your work? This lengthy wait time is something our Android developers can relate to! They could watch 60 back-to-back football games in the amount of time …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/5-400-hours-a-year-saving-developers-time-and-sanity-with-gradles&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Online Payments with Square and React]]></title><description><![CDATA[Build an end-to-end payment flow with Square and Next.js.]]></description><link>https://developer.squareup.com/blog/online-payments-with-square-and-react</link><guid isPermaLink="false">https://developer.squareup.com/blog/online-payments-with-square-and-react</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Anthony Giuliano]]></dc:creator><pubDate>Thu, 17 Nov 2022 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;If the thought of implementing online payments terrifies you, you’re not alone. Scary as it may be, ensuring that you get paid is the most important part of building an online business. Fortunately, we have taken a lot of the guesswork out of buildi…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/online-payments-with-square-and-react&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[More Square Terminal API features now in GA]]></title><description><![CDATA[Orders Integration, Delayed Capture, and App Fees are now generally available]]></description><link>https://developer.squareup.com/blog/more-square-terminal-api-features-now-in-ga</link><guid isPermaLink="false">https://developer.squareup.com/blog/more-square-terminal-api-features-now-in-ga</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Roberto Annunziata]]></dc:creator><pubDate>Wed, 16 Nov 2022 11:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We are happy to announce that Orders Integration, Delayed Capture, and App Fees are now available in GA for &lt;a href=&quot;https://developer.squareup.com/docs/terminal-api/square-terminal-payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Terminal API&lt;/a&gt; in the U.S. Terminal API is an in-person payments API that connects developer apps built on any platform to Square Terminal for card and contactless payments. These features make it easier for developers to serve sellers with vertical-specific and …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/more-square-terminal-api-features-now-in-ga&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the Winners of the Square Unboxed Hackathon]]></title><description><![CDATA[Checkout the amazing projects that won at the Square Unboxed Hackathon 2022!]]></description><link>https://developer.squareup.com/blog/announcing-the-winners-of-the-square-unboxed-hackathon</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-winners-of-the-square-unboxed-hackathon</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Bobbilee Hartman]]></dc:creator><pubDate>Fri, 14 Oct 2022 04:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;congratulations-to-the-winners&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#congratulations-to-the-winners&quot; aria-label=&quot;congratulations to the winners permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Congratulations to the winners!&lt;/h3&gt;
&lt;p&gt;Thank you to everyone who participated in &lt;a href=&quot;https://squareunboxed2022.devpost.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square’s Unboxed Hackathon&lt;/a&gt;. This year, we wanted to reward developers for building with what we announced as part of the Unboxed this year. That means if you build using Bookings API, Cash App Pay, Checkout API, or Terminal API. Square has become known primarily for its paym…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-winners-of-the-square-unboxed-hackathon&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Payroll’s Migration from a Monolith to Microservices]]></title><description><![CDATA[Scaling with AWS serverless architecture]]></description><link>https://developer.squareup.com/blog/square-payrolls-migration-from-a-monolith-to-microservices</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-payrolls-migration-from-a-monolith-to-microservices</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Harold Sultan]]></dc:creator><pubDate>Wed, 12 Oct 2022 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Imagine a large soccer field with many balls scattered around.  There are players whose job it is to scour the field checking in on each ball and determining whether the ball should be kicked or skipped.  For each ball that needs to be kicked, the p…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-payrolls-migration-from-a-monolith-to-microservices&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: Jammed]]></title><description><![CDATA[Making life easier for music studios and rehearsal rooms]]></description><link>https://developer.squareup.com/blog/developer-spotlight-jammed</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-jammed</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Ginevra Mambretti]]></dc:creator><pubDate>Fri, 07 Oct 2022 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://jammed.app/en-gb/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jammed&lt;/a&gt; is an online booking platform powering music studios and rehearsal rooms, founded in 2019 by UK-based developer and musician Andy Callaghan after hearing from studio owners that existing software didn’t fit their needs.&lt;/p&gt;
&lt;p&gt;Andy realized that rehearsal and recording studios spend too much time manually managing room bookings and cancellations through email and over the phone. He wanted to create a solution to the problems felt by the studio owners he spoke to – time sp…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-jammed&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How We Unified on One Graph at Block]]></title><description><![CDATA[Using GraphQL federation to unify under one "supergraph"]]></description><link>https://developer.squareup.com/blog/how-we-unified-on-one-graph-at-block</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-we-unified-on-one-graph-at-block</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alex Hancock]]></dc:creator><pubDate>Wed, 05 Oct 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;At Block we are working with federated GraphQL to enable clients to consume a unified API of aggregated data from microservices in the backend. It allows, for example, for a single HTTP request from a client application to fetch data about merchants…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-we-unified-on-one-graph-at-block&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[First Annual Bazel-iOS Con 2022]]></title><description><![CDATA[Join us at Bazel-IOS Con September 29, 2022]]></description><link>https://developer.squareup.com/blog/first-annual-bazel-ios-con-2022</link><guid isPermaLink="false">https://developer.squareup.com/blog/first-annual-bazel-ios-con-2022</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jerry Marino]]></dc:creator><pubDate>Mon, 12 Sep 2022 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/7cZu7hsLJtX7sO2R7HR8lh/9193138aa1b84c09e97aee45fc3881b3/bazel-logo.png&quot; alt=&quot;Bazel Logo&quot;&gt;&lt;/p&gt;
&lt;p&gt;Square will be hosting the first annual Bazel-iOS conference — an open developer event for people building iOS applications with Bazel. You’re invited to join us for a day of iOS build talks, discussion groups, and panels with the Bazel-iOS core tea…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/first-annual-bazel-ios-con-2022&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: KioskBuddy]]></title><description><![CDATA[Helping short-handed small businesses deliver seamless self-order and pay experiences]]></description><link>https://developer.squareup.com/blog/developer-spotlight-kioskbuddy</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-kioskbuddy</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Priscilla Wu]]></dc:creator><pubDate>Wed, 31 Aug 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re back with another installment of our Developer Spotlight series, where we share the stories and experiences of developers, tech leaders, and entrepreneurs building on the Square platform. In this round, we sat down with Marvin Trajano and Lisa…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-kioskbuddy&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: Payable Forms]]></title><description><![CDATA[Bringing the power of payments to small business tools]]></description><link>https://developer.squareup.com/blog/developer-spotlight-payable-forms</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-payable-forms</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Joan Mweu]]></dc:creator><pubDate>Fri, 29 Jul 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to our Developer Spotlight series, where we highlight developers building on the Square platform. In this installment we speak with Ryan May, the founder and Lead Developer at &lt;a href=&quot;https://www.payableplugins.com/google-forms-add-on&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Payable Forms&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;He previously worked as an engineer helping big brands all over the world integrate payments into their business. Since launching their app, Payable Forms has had 200,000 downloads and helps move 6-10 million dollars per month in payments. We asked …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-payable-forms&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Success Metrics for Product Analytics]]></title><description><![CDATA[Metrics are not a replacement for strategy]]></description><link>https://developer.squareup.com/blog/success-metrics-for-product-analytics</link><guid isPermaLink="false">https://developer.squareup.com/blog/success-metrics-for-product-analytics</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Daeus Jorento]]></dc:creator><pubDate>Wed, 06 Jul 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Why do we use primary success metrics for product launches? Two reasons: (1) to align with the broader company goals (i.e. to make sure we&apos;re not rowing in different directions), and (2) to determine the effect of a product change relative to what w…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/success-metrics-for-product-analytics&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Terminal API Beta Features Now Available]]></title><description><![CDATA[Order itemization, card on file, delayed capture, and app fees]]></description><link>https://developer.squareup.com/blog/new-terminal-api-beta-features-now-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-terminal-api-beta-features-now-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 26 May 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We recently released new beta features for &lt;a href=&quot;https://developer.squareup.com/docs/terminal-api/square-terminal-payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Terminal API&lt;/a&gt;, an in-person payments API that connects developer apps built on any platform to Square Terminal for contactless and card payments. As of today, hundreds of developers have integrated with Terminal API, enabling thousands of sellers to take payment…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-terminal-api-beta-features-now-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Gift Cards API]]></title><description><![CDATA[Integrate Square Gift Cards into your app]]></description><link>https://developer.squareup.com/blog/announcing-gift-cards-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-gift-cards-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Priscilla Wu]]></dc:creator><pubDate>Fri, 17 Jun 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Many businesses run gift card programs as a way to attract new customers and increase sales. With Square Gift Cards, we enable sellers to launch a complete gifting program with online and physical gift cards that seamlessly integrate into their Squa…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-gift-cards-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Cash App Pay for Developers]]></title><description><![CDATA[Offer an innovative online payment experience through Cash App]]></description><link>https://developer.squareup.com/blog/announcing-cash-app-pay-for-developers</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-cash-app-pay-for-developers</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 19 May 2022 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re thrilled to announce that developers and partners can now add &lt;a href=&quot;https://developer.squareup.com/docs/web-payments/add-cash-app-pay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cash App Pay&lt;/a&gt; to their online checkout flow with Square Web Payments SDK and Square Checkout API. Cash App is a popular mobile payment app listed as the #1 finance app in the App Store with more than 70M annual active users in the U.S. Cash App Pay is a new paym…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-cash-app-pay-for-developers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Unboxed Hackathon 2022]]></title><description><![CDATA[A chance to win up to $20,000! ]]></description><link>https://developer.squareup.com/blog/square-unboxed-hackathon-2022</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-unboxed-hackathon-2022</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Bobbilee Hartman]]></dc:creator><pubDate>Thu, 12 May 2022 17:15:00 GMT</pubDate><content:encoded>&lt;p&gt;Our latest hackathon – &lt;a href=&quot;https://squareunboxed2022.devpost.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Unboxed Hackathon 2022&lt;/a&gt; — is now live! To continue the excitement of everything that we&apos;ve announced at Unboxed 2022, we want to reward developers for building with what we announced as part of the  Unboxed this year. That means if you build using Bookings API, Cash App P…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-unboxed-hackathon-2022&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[ Reintroducing Checkout API]]></title><description><![CDATA[A simpler and faster way to integrate Square payments into any workflow with minimal coding]]></description><link>https://developer.squareup.com/blog/reintroducing-checkout-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/reintroducing-checkout-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Joan Mweu]]></dc:creator><pubDate>Thu, 18 Aug 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to announce an updated version of Checkout API, now in general availability.  This version delivers a number of new robust features. Now, you can integrate payments into any workflow and any channel with minimal coding through a conver…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/reintroducing-checkout-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Build With Bookings API, Now Generally Available]]></title><description><![CDATA[A scalable, customizable booking solution for your application]]></description><link>https://developer.squareup.com/blog/build-with-bookings-api-now-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/build-with-bookings-api-now-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Amanda Lee]]></dc:creator><pubDate>Tue, 24 May 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In December 2020 we released &lt;a href=&quot;https://developer.squareup.com/blog/introducing-bookings-api-beta/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bookings API in beta&lt;/a&gt; to extend the capabilities of &lt;a href=&quot;https://squareup.com/us/en/appointments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Appointments&lt;/a&gt; — our point of sale for scheduling, bookings, and payments — to any third-party software. Since the beta launch, we’ve been close to the developer community, gathering meaningful feedback and working hard to deliver a feature-rich API that lives up…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/build-with-bookings-api-now-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Recap: Square Unboxed 2022]]></title><description><![CDATA[Top highlights of Square Unboxed 2022]]></description><link>https://developer.squareup.com/blog/recap-square-unboxed-2022</link><guid isPermaLink="false">https://developer.squareup.com/blog/recap-square-unboxed-2022</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Sneha Patel]]></dc:creator><pubDate>Fri, 13 May 2022 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We hope you feel inspired after attending Square Unboxed 2022, our sixth annual Developer Platform conference. In case you missed it, we announced new products: Cash App Pay for developers, Bookings API in general availability, the reinvented Checko…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/recap-square-unboxed-2022&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Coming Up: Square Unboxed 2022]]></title><description><![CDATA[Join us at Unboxed on May 12, 2022]]></description><link>https://developer.squareup.com/blog/coming-up-square-unboxed-2022</link><guid isPermaLink="false">https://developer.squareup.com/blog/coming-up-square-unboxed-2022</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Sneha Patel]]></dc:creator><pubDate>Mon, 18 Apr 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We are so thrilled to host the 6th annual Square Unboxed - our developer and partner conference - on May 12, 2022! This year&apos;s event will be virtual, and we’re embracing all that’s different in this new world of commerce with buy now / pay later, cr…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/coming-up-square-unboxed-2022&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[DependenTree, Graph Visualization Library]]></title><description><![CDATA[Visualize dependency graphs at scale]]></description><link>https://developer.squareup.com/blog/dependentree-graph-visualization-library</link><guid isPermaLink="false">https://developer.squareup.com/blog/dependentree-graph-visualization-library</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Amogh Kambale]]></dc:creator><pubDate>Wed, 23 Mar 2022 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://github.com/square/dependentree&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DependenTree&lt;/a&gt; is a visualization library that allows users to visualize large dependency graphs as a &lt;a href=&quot;https://observablehq.com/@d3/tidy-tree&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;tidy tree&lt;/a&gt;. It is built on top of D3.js.&lt;/p&gt;
&lt;p&gt;At Block, we have over 14,000 ETLs. Understanding the data lineage of any given ETL was a tedious task. This involved a combination of gathering information about an individual ETL and examining source code. Previous attempts to visualize this data …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/dependentree-graph-visualization-library&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[API and Webhooks Logs Are Generally Available]]></title><description><![CDATA[Monitor usage, versioning, and partner apps inside the developer dashboard]]></description><link>https://developer.squareup.com/blog/api-and-webhooks-logs-are-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/api-and-webhooks-logs-are-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Chris Lopez]]></dc:creator><pubDate>Wed, 09 Feb 2022 18:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square has continued to develop tooling to make it easier to build applications that integrate with the Square Developer platform. The latest tool, API Logs, was released in beta at Square Unboxed. API Logs has now graduated from Beta to Generally A…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/api-and-webhooks-logs-are-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Afterpay "Buy Now, Pay Later" Now Available]]></title><description><![CDATA[Developers can integrate Afterpay to let customers pay in installments]]></description><link>https://developer.squareup.com/blog/afterpay-buy-now-pay-later-now-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/afterpay-buy-now-pay-later-now-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Wed, 16 Feb 2022 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to announce that Square now offers the ability for developers and partners to integrate &lt;a href=&quot;https://www.afterpay.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Afterpay&lt;/a&gt; into their online checkout flow through the Square Web Payments SDK. Afterpay is a global leader in the buy now, pay later (BNPL) space with &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/afterpay-buy-now-pay-later-now-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Getting Square's iOS build ready for Apple Silicon with Bazel]]></title><description><![CDATA[Building and running iOS builds using the M1 simulator]]></description><link>https://developer.squareup.com/blog/getting-squares-ios-build-ready-for-apple-silicon-with-bazel</link><guid isPermaLink="false">https://developer.squareup.com/blog/getting-squares-ios-build-ready-for-apple-silicon-with-bazel</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jerry Marino]]></dc:creator><pubDate>Thu, 27 Jan 2022 20:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introduction-to-ios-at-square&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction-to-ios-at-square&quot; aria-label=&quot;introduction to ios at square permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction to iOS at Square&lt;/h2&gt;
&lt;p&gt;At Square we use Bazel to build our iOS applications. Bazel is a build tool with an emphasis on performance and correctness. Most of our iOS app code lives in a single git repository. The repository includes over one thousand modules, contains Objec…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/getting-squares-ios-build-ready-for-apple-silicon-with-bazel&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Launches in Spain]]></title><description><![CDATA[The Square developer platform is now available to Spanish developers]]></description><link>https://developer.squareup.com/blog/square-launches-in-spain</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-launches-in-spain</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Karen Faughnan]]></dc:creator><pubDate>Tue, 25 Jan 2022 18:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square continues its European expansion with today’s launch in Spain offering a full stack of integrated business tools along with its developer platform. Following a successful &lt;a href=&quot;https://squareup.com/press/square-announces-early-access-program-to-its-product-ecosystem-for-spanish-businesses&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Early Access Programme&lt;/a&gt; that began last September, now all merchants, enterprises, and developers across Spain can access the Square ecosystem with the tools and APIs that they need to start, run, grow, and adapt their businesses.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-launches-in-spain&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Secure Apache Airflow Using Customer Security Manager]]></title><description><![CDATA[Leverage a human proxy to auto log users in airflow web console]]></description><link>https://developer.squareup.com/blog/secure-apache-airflow-using-customer-security-manager</link><guid isPermaLink="false">https://developer.squareup.com/blog/secure-apache-airflow-using-customer-security-manager</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Yifei Sun]]></dc:creator><pubDate>Wed, 19 Jan 2022 20:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background&quot; aria-label=&quot;background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Background&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://airflow.apache.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Apache Airflow&lt;/a&gt; is an open source orchestration tool to programmatically author, schedule and monitor workflows. Square uses it as a critical infrastructure managing ETL jobs to aggregate metrics for executive dashboards, product analysis, and machine learning.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/secure-apache-airflow-using-customer-security-manager&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the winners of the Build What’s POS_sible Hackathon]]></title><description><![CDATA[Congratulations to the winners!]]></description><link>https://developer.squareup.com/blog/announcing-the-winners-of-the-build-whats-pos_sible-hackathon</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-winners-of-the-build-whats-pos_sible-hackathon</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shaziya Bandukia]]></dc:creator><pubDate>Fri, 17 Dec 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Thank you to everyone who participated in Square’s first-ever &lt;a href=&quot;https://squarecpos.devpost.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Build What’s POS–sible hackathon&lt;/a&gt;. This year, participants got to build innovative applications using at least one of our customer solution APIs, including Customers, Gift Cards, Invoices, Loyalty and Team Management. Square has become known primarily for its payments and point-of-…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-winners-of-the-build-whats-pos_sible-hackathon&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[An Overview of Machine Learning Operations]]></title><description><![CDATA[Building Mature Machine Learning Production Systems through MLOps]]></description><link>https://developer.squareup.com/blog/an-overview-of-machine-learning-operations</link><guid isPermaLink="false">https://developer.squareup.com/blog/an-overview-of-machine-learning-operations</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Erin Wolpert]]></dc:creator><pubDate>Tue, 30 Nov 2021 20:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;what-is-mlops&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-mlops&quot; aria-label=&quot;what is mlops permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What is MLOps?&lt;/h2&gt;
&lt;p&gt;Starting in 2018 the term “MLOps” (short for Machine Learning Operations) started to be used more widely to describe the &lt;em&gt;discipline of standardizing and streamlining the machine learning lifecycle management process&lt;/em&gt;. MLOps advocates for bringing CI/CD practices into the machine learning lifecycle. MLOps lies at the intersection of data engineering, machine learning, and development operations.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/an-overview-of-machine-learning-operations&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Herding Elephants]]></title><description><![CDATA[Wrangling a 3,500-module Gradle project]]></description><link>https://developer.squareup.com/blog/herding-elephants</link><guid isPermaLink="false">https://developer.squareup.com/blog/herding-elephants</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Tony Robalik]]></dc:creator><pubDate>Thu, 04 Nov 2021 11:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Note: please do not attempt to herd any actual elephants&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Every day in Square&apos;s Seller organization, dozens of Android engineers run close to 2,000 local builds, with a cumulative cost of nearly 3 days per day on those builds. Our CI system runs more than 11,000 builds per day, for a cumulative total of ov…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/herding-elephants&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Beyond Mobile First]]></title><description><![CDATA[Bringing app-like experiences to the web]]></description><link>https://developer.squareup.com/blog/beyond-mobile-first</link><guid isPermaLink="false">https://developer.squareup.com/blog/beyond-mobile-first</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ryan O'Neill]]></dc:creator><pubDate>Thu, 04 Nov 2021 09:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Since its introduction around 2010, the concept of mobile first web design has become the de facto standard when creating new websites or web applications. The mobile first concept is especially prevalent in the e-commerce industry because &lt;a href=&quot;https://www.oberlo.com/statistics/mobile-commerce-sales&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;over 70% of e-commerce &lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/beyond-mobile-first&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Square Build What’s POS-sible Hackathon]]></title><description><![CDATA[Build useful tools for sellers using our customer point-of-sale APIs]]></description><link>https://developer.squareup.com/blog/the-square-build-whats-pos-sible-hackathon</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-square-build-whats-pos-sible-hackathon</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shaziya Bandukia]]></dc:creator><pubDate>Tue, 05 Oct 2021 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Our latest hackathon – &lt;a href=&quot;https://squarecpos.devpost.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Build What’s POS-sible&lt;/a&gt; — is now live! While Square has become known primarily for its payments and point-of-sale solutions, there’s so much more. Today, we have APIs that span across every aspect of a business, including customer solutions such as Customers, Gift Cards, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-square-build-whats-pos-sible-hackathon&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Measure, measure, measure]]></title><description><![CDATA[A journey about how to measure build times for Android]]></description><link>https://developer.squareup.com/blog/measure-measure-measure</link><guid isPermaLink="false">https://developer.squareup.com/blog/measure-measure-measure</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ralf Wondratschek]]></dc:creator><pubDate>Tue, 28 Sep 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;How long does it take to implement new features? This is an important metric when it comes to improving the effectiveness of software engineers and will give the company an advantage over its competitors. There are many dimensions to consider, such …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/measure-measure-measure&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Server-to-Server Integration with Server-Side Google Tag Manager]]></title><description><![CDATA[Improving customer data and our ability to track conversions]]></description><link>https://developer.squareup.com/blog/server-to-server-integration-with-server-side-google-tag-manager</link><guid isPermaLink="false">https://developer.squareup.com/blog/server-to-server-integration-with-server-side-google-tag-manager</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Amogh Kambale]]></dc:creator><pubDate>Thu, 23 Sep 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Last August, &lt;a href=&quot;https://blog.google/products/marketingplatform/360/improve-performance-and-security-server-side-tagging/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google released Server-Side Tagging in Google Tag Manager 360&lt;/a&gt;. Though this platform is considered a “Tag Manager” and is conceptually similar to the web container, the implementation is entirely different. Server side tags are simply API endpoints for each marketing vendor that can be configured using the fam…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/server-to-server-integration-with-server-side-google-tag-manager&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Launches in France]]></title><description><![CDATA[The Square developer platform is now available to French developers]]></description><link>https://developer.squareup.com/blog/square-launches-in-france</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-launches-in-france</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Karen Faughnan]]></dc:creator><pubDate>Tue, 21 Sep 2021 15:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today Square launched in France! This marks the second European country that Square has launched with a full stack of integrated business tools along with its developer platform. Following a successful &lt;a href=&quot;https://squareup.com/ie/en/press/square-announces-early-access-programme-france&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Early Access Programme&lt;/a&gt;, now all merchants, enterprises, and developers across France can access the Square ecosystem with the tools and APIs that they need to start, run, grow, and adapt their businesses.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-launches-in-france&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Chrometric: System telemetry for Chrome OS]]></title><description><![CDATA[Making it easy to understand the state of your Chrome OS fleet]]></description><link>https://developer.squareup.com/blog/chrometric-system-telemetry-for-chrome-os</link><guid isPermaLink="false">https://developer.squareup.com/blog/chrometric-system-telemetry-for-chrome-os</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Nate Walck]]></dc:creator><pubDate>Tue, 31 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When it comes to managing Chrome OS in a distributed work environment one of the biggest challenges is understanding how well Chrome OS is performing and the health of the network environment it finds itself in.&lt;/p&gt;
&lt;p&gt;Chrometric is a Chrome OS extension which gathers key telemetry about your Chrome OS machines. These metrics are important to understand as they give insight into what the user is experiencing as well as the network conditions of the current locatio…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/chrometric-system-telemetry-for-chrome-os&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[AWS OIDC Authentication with SPIFFE]]></title><description><![CDATA[Easy authentication with automated AWS credentials]]></description><link>https://developer.squareup.com/blog/aws-oidc-authentication-with-spiffe</link><guid isPermaLink="false">https://developer.squareup.com/blog/aws-oidc-authentication-with-spiffe</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Roy Xu]]></dc:creator><pubDate>Thu, 26 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;As part of Square’s migration to the cloud, we found that we needed an easy way for our datacenter applications to communicate with services in AWS. A majority of our applications are still in the datacenter and often use services in AWS such as SQS…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/aws-oidc-authentication-with-spiffe&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Kotlin-Multiplatform Shared Test Resources]]></title><description><![CDATA[Verifying your code regardless of platform]]></description><link>https://developer.squareup.com/blog/kotlin-multiplatform-shared-test-resources</link><guid isPermaLink="false">https://developer.squareup.com/blog/kotlin-multiplatform-shared-test-resources</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Victoria Gonda]]></dc:creator><pubDate>Tue, 24 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A usual test strategy is to have test fixture files, be it JSON, binary, or plain text files, to consume in tests. You may use these files for test input, test verification, or both. Using this strategy with Kotlin Multiplatform (KMP), you can ensur…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/kotlin-multiplatform-shared-test-resources&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Why Workflow?]]></title><description><![CDATA[Or why does Square make its own application framework?]]></description><link>https://developer.squareup.com/blog/why-workflow</link><guid isPermaLink="false">https://developer.squareup.com/blog/why-workflow</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Stephen Edwards]]></dc:creator><pubDate>Thu, 19 Aug 2021 21:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Last week you heard from Zach Klippenstein about using &lt;a href=&quot;https://developer.squareup.com/blog/jetpack-compose-support-in-workflow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jetpack Compose with the Workflow library&lt;/a&gt;. You may be asking why Square uses Workflow at all!? We ask ourselves this sometimes too — because it is always good to evaluate the tools you use. This post reflects on that question.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/why-workflow&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Upgrading Webpack 4 → 5]]></title><description><![CDATA[Smaller bundles, faster build times, stricter checks, and fully typed]]></description><link>https://developer.squareup.com/blog/upgrading-webpack-4-to-5</link><guid isPermaLink="false">https://developer.squareup.com/blog/upgrading-webpack-4-to-5</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Hiroki Osame]]></dc:creator><pubDate>Wed, 18 Aug 2021 23:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://webpack.js.org/blog/2020-10-10-webpack-5-release/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Webpack 5&lt;/a&gt; was released last year in October. We had been hearing many great things about it in the Ecommerce department at Square, but had been reluctant to go through the upgrade work.&lt;/p&gt;
&lt;p&gt;Upgrading developer tools is usually not pressing, can be time consuming, and modifying a bundler can be high risk. Since we rely on a few Webpack plugins, it also made sense to give the ecosystem time to adapt to the breaking changes. We also read &lt;a href=&quot;https://github.com/webpack/webpack/issues/12102#issuecomment-828673264&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;it might be slower&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/upgrading-webpack-4-to-5&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Subscriptions API is Generally Available]]></title><description><![CDATA[Embed subscriptions functionality on any third-party platform]]></description><link>https://developer.squareup.com/blog/subscriptions-api-is-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/subscriptions-api-is-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shaziya Bandukia]]></dc:creator><pubDate>Wed, 11 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re thrilled to announce the general availability of Subscriptions API. Plus, after hearing from our developers, we learned there was a strong need to be able to manage subscriptions on the backend–this is now available through the Subscriptions a…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/subscriptions-api-is-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Jetpack Compose Support in Workflow]]></title><description><![CDATA[A deep, deep dive into making Square Workflow @Composable]]></description><link>https://developer.squareup.com/blog/jetpack-compose-support-in-workflow</link><guid isPermaLink="false">https://developer.squareup.com/blog/jetpack-compose-support-in-workflow</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Zach Klippenstein]]></dc:creator><pubDate>Tue, 10 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;abstract&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#abstract&quot; aria-label=&quot;abstract permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Abstract&lt;/h2&gt;
&lt;p&gt;Square’s mobile Point of Sale apps are largely built using a library called &lt;a href=&quot;https://github.com/square/workflow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Workflow&lt;/a&gt;, on both &lt;a href=&quot;https://github.com/square/workflow-kotlin&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Android&lt;/a&gt; and &lt;a href=&quot;https://github.com/square/workflow-swift&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;iOS&lt;/a&gt;. We write business logic as declarative state machines, and then build our UI on top of them using the target platform’s UI toolkit — Views on Android.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/jetpack-compose-support-in-workflow&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Square Unboxed Hackathon Winners]]></title><description><![CDATA[Announcing the winners of the overall and special categories sections]]></description><link>https://developer.squareup.com/blog/the-square-unboxed-hackathon-winners</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-square-unboxed-hackathon-winners</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Elsie Phillips]]></dc:creator><pubDate>Wed, 04 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square Unboxed is always an exciting time of year here at Square. For months leading up to the event product teams work to prepare their exciting announcements for the big stage. While we were preparing the announcements we came up with an idea: wha…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-square-unboxed-hackathon-winners&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Threat Hunting with Kubernetes Audit Logs - Part 2]]></title><description><![CDATA[Using the MITRE ATT&CK® Framework to hunt for attackers]]></description><link>https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs-part-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs-part-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ramesh Ramani]]></dc:creator><pubDate>Tue, 17 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome back! If you have arrived here, I assume you have a fair understanding of how Kubernetes audit logs can be useful from the &lt;a href=&quot;https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;previous article&lt;/a&gt;. Now let us dive in a bit deeper and see how we can use these audit logs to hunt for attackers using the MITRE ATT&amp;#x26;CK® framework.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs-part-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Threat Hunting with Kubernetes Audit Logs]]></title><description><![CDATA[Analyzing Kubernetes audit logs to look for potential threats]]></description><link>https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs</link><guid isPermaLink="false">https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ramesh Ramani]]></dc:creator><pubDate>Tue, 03 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;From the official &lt;a href=&quot;https://kubernetes.io/docs/concepts/overview/kubernetes-api/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kubernetes page&lt;/a&gt; - “&lt;em&gt;The core of Kubernetes&apos; control plane is the API server... The Kubernetes API lets you query and manipulate the state of API objects in Kubernetes (for example: Pods, Namespaces, ConfigMaps, and Events)&lt;/em&gt;”.&lt;/p&gt;
&lt;p&gt;The Kubernetes API is quite powerful and malicious actors can use the API to attack a Kubernetes cluster. The Kubernetes audit logs provide visibility into what an attacker is trying to do by providing a clear audit trail of the API calls made to th…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/threat-hunting-with-kubernetes-audit-logs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Expanding Secrets Infrastructure to AWS Lambda]]></title><description><![CDATA[Extending our data center to the cloud]]></description><link>https://developer.squareup.com/blog/expanding-secrets-infrastructure-to-aws-lambda</link><guid isPermaLink="false">https://developer.squareup.com/blog/expanding-secrets-infrastructure-to-aws-lambda</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael Weissbacher]]></dc:creator><pubDate>Wed, 04 Aug 2021 19:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;overview&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#overview&quot; aria-label=&quot;overview permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;This article describes how we extended our Data Center (DC) based secrets infrastructure to enable cloud migration supporting Lambda. We added &lt;a href=&quot;https://spiffe.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SPIFFE&lt;/a&gt; compatibility to our secrets infrastructure and developed a Lambda secrets syncer that Square engineers can deploy via a Terraform module. Our design choices aim to offer the best of both worlds: easy management via an established centralized syste…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/expanding-secrets-infrastructure-to-aws-lambda&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Deploying Server-Side Google Tag Manager on Cloud Run]]></title><description><![CDATA[Moving marketing event processing out of the browser and into the backend]]></description><link>https://developer.squareup.com/blog/deploying-server-side-google-tag-manager-on-cloud-run</link><guid isPermaLink="false">https://developer.squareup.com/blog/deploying-server-side-google-tag-manager-on-cloud-run</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Amogh Kambale]]></dc:creator><pubDate>Thu, 15 Jul 2021 21:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://developers.google.com/tag-manager/serverside/intro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Server-Side Google Tag Manager&lt;/a&gt; (server-side GTM) is a new product from Google Marketing Platform. It moves marketing event processing off the user’s browser to a backend server that you control.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.google.com/tag-manager/serverside/script-user-guide&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The standard deployment method for server-side GTM&lt;/a&gt; consists of automatically setting up an App Engine Flexible application. App Engine is a fully-managed platform-as-a-service deployment solution from Google Cloud Platform (GCP). Users can provision a server by filling out a form in Google Tag Mana…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/deploying-server-side-google-tag-manager-on-cloud-run&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[WorkManager for Background Work in Libraries]]></title><description><![CDATA[Making it easy on applications by cleanly sharing the Singleton]]></description><link>https://developer.squareup.com/blog/workmanager-for-background-work-in-libraries</link><guid isPermaLink="false">https://developer.squareup.com/blog/workmanager-for-background-work-in-libraries</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Stephen Edwards]]></dc:creator><pubDate>Wed, 21 Jul 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://developer.android.com/topic/libraries/architecture/workmanager?gclid=CjwKCAjwn6GGBhADEiwAruUcKnoWRnn9b61QyetIOtC2f9JjzRxmx9FyJy2qjzKcq-UR7qLeBTiL9xoC62oQAvD_BwE&amp;#x26;gclsrc=aw.ds&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;WorkManager&lt;/code&gt;&lt;/a&gt; is an Android Jetpack library for &lt;em&gt;deferrable&lt;/em&gt;, &lt;em&gt;reliable background&lt;/em&gt; work. In other words, the work does not need to be run immediately, but it must be run reliably (even after the app process restarts), and it is usually run off the main thread. &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/workmanager-for-background-work-in-libraries&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Becoming an Organizational Leader]]></title><description><![CDATA[Progressing from a team leader to an organizational leader as an individual contributor]]></description><link>https://developer.squareup.com/blog/becoming-an-organizational-leader</link><guid isPermaLink="false">https://developer.squareup.com/blog/becoming-an-organizational-leader</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael Ortali]]></dc:creator><pubDate>Tue, 13 Jul 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;As your career progresses, it can become increasingly difficult to understand how to move up the ladder as an individual contributor. Extending on our &lt;a href=&quot;https://developer.squareup.com/blog/squares-growth-framework-for-engineers-and-engineering-managers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;Square’s Growth Framework for Engineers&quot;&lt;/a&gt;, we are now sharing in depth what it means to grow from being a team leader (Level 6) to being an organizational leader (Level 7), specifically focused on the journey for individual contributors.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/becoming-an-organizational-leader&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Gift Cards API]]></title><description><![CDATA[Create, redeem, track, and reload gift cards]]></description><link>https://developer.squareup.com/blog/introducing-gift-cards-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-gift-cards-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shaziya Bandukia]]></dc:creator><pubDate>Wed, 16 Jun 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Gift cards provide gift-givers the ultimate flexibility when making purchases for a loved one, while recipients are empowered with choice and potentially, an easy payment method. Plus, gift cards help sellers bring in new customers and drive increme…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-gift-cards-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Cards API]]></title><description><![CDATA[Manage shared cards on file for recurring payments]]></description><link>https://developer.squareup.com/blog/cards-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/cards-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Wed, 16 Jun 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/9iY7rT51PDo?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;A seamless buyer experience starts at checkout. Nothing says “poor experience&apos;&apos; like asking a buyer to rummage for their credit card every time they shop at their favorite store. With the Cards API, you can now store, retrieve, and manage credit and…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/cards-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Caching E-Commerce Data for The Web]]></title><description><![CDATA[On the effectiveness of Cache Tags and caching layers]]></description><link>https://developer.squareup.com/blog/caching-e-commerce-data-for-the-web</link><guid isPermaLink="false">https://developer.squareup.com/blog/caching-e-commerce-data-for-the-web</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Sebastien Armand]]></dc:creator><pubDate>Wed, 26 May 2021 16:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;the-catalog-service&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-catalog-service&quot; aria-label=&quot;the catalog service permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The catalog service&lt;/h2&gt;
&lt;p&gt;The Square Online catalog service provides all the catalog data for the websites we power. This includes products, categories of products, store locations, and many others.&lt;/p&gt;
&lt;p&gt;While some catalog data is fairly simple to present in an API response, other parts are  more costly to calculate. The price of a product, for example, comes from many sources:  SKUs (think a Small vs. Large shirt), modifiers (would you like cheese …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/caching-e-commerce-data-for-the-web&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Loyalty API is Generally Available]]></title><description><![CDATA[Enroll, engage, and reward customers on third-party platforms]]></description><link>https://developer.squareup.com/blog/loyalty-api-is-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/loyalty-api-is-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shaziya Bandukia]]></dc:creator><pubDate>Thu, 20 May 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to announce that Loyalty API is now generally available. Square Loyalty API enables developers to extend the intuitive Square Loyalty rewards program beyond Square’s Point of Sale, Square Online and Cash App to third-party channels–off…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/loyalty-api-is-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Web Payments SDK and ACH Beta]]></title><description><![CDATA[Build responsive online payment experiences and accept ACH bank payments]]></description><link>https://developer.squareup.com/blog/web-payments-sdk-and-ach-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/web-payments-sdk-and-ach-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 20 May 2021 03:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The eCommerce industry is booming. According to a &lt;a href=&quot;https://www.digitalcommerce360.com/2021/02/15/ecommerce-during-coronavirus-pandemic-in-charts/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;recent study&lt;/a&gt; by Digital Commerce 360, consumers spent approximately $861 billion online with U.S. merchants in 2020. That’s the highest annual U.S. eCommerce growth in at least two decades and this trend is not going away any time soon. While businesses scrambl…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/web-payments-sdk-and-ach-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Launches in Ireland]]></title><description><![CDATA[And brings its developer platform to Irish developers]]></description><link>https://developer.squareup.com/blog/square-launches-in-ireland</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-launches-in-ireland</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Tue, 18 May 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today Square launched in Ireland! Following a successful &lt;a href=&quot;https://squareup.com/us/en/press/square-announces-early-access-programme-ireland&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Early Access Programme&lt;/a&gt;, now all merchants, enterprises, and developers across Ireland can access Square’s innovative ecosystem with the tools and APIs that they need to start, run, grow, and adapt their businesses.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-launches-in-ireland&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Snippets API: The first API for Square Online]]></title><description><![CDATA[Insert code directly into the <head> tag of a Square Online site]]></description><link>https://developer.squareup.com/blog/snippets-api-the-first-api-for-square-online</link><guid isPermaLink="false">https://developer.squareup.com/blog/snippets-api-the-first-api-for-square-online</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[John Elliott]]></dc:creator><pubDate>Mon, 17 May 2021 10:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Thousands of sellers are signing up to create websites every day on Square Online. The transition to selling online and developing an omnichannel strategy is top of mind for most entrepreneurs. As they set up their sites and build their online prese…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/snippets-api-the-first-api-for-square-online&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Recap: Square Unboxed 2021]]></title><description><![CDATA[Top highlights of Square Unboxed 2021]]></description><link>https://developer.squareup.com/blog/recap-square-unboxed-2021</link><guid isPermaLink="false">https://developer.squareup.com/blog/recap-square-unboxed-2021</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marisa Almeida]]></dc:creator><pubDate>Fri, 14 May 2021 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We announced two new ways to integrate with Square, brought a Beta API to General Availability, and kicked off a &lt;a href=&quot;http://squareunboxed.devpost.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;hackathon&lt;/a&gt;. And now we’re here to recap it for you.&lt;/p&gt;
&lt;p&gt;We hosted our fifth annual developer and partner conference on May 13. It was so energizing to connect with our community. We all got a chance to hear from Square platform leadership, participate in demos and workshops, learn from developers who hav…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/recap-square-unboxed-2021&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Invoices API is Generally Available]]></title><description><![CDATA[Integrate Square invoices into third-party applications]]></description><link>https://developer.squareup.com/blog/invoices-api-is-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/invoices-api-is-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shaziya Bandukia]]></dc:creator><pubDate>Wed, 21 Apr 2021 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;After a few months in beta, we’re thrilled to announce that Invoices API is now generally available. Since the early days of Square, our vision has been to combine the collective force of our seller-first platform with the power of extensibility fro…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/invoices-api-is-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Curtains]]></title><description><![CDATA[ Lift the curtain on Android Windows!]]></description><link>https://developer.squareup.com/blog/introducing-curtains</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-curtains</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Fri, 05 Mar 2021 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;On Android, every distinct floating thing you see on your device is managed by a distinct window. Every activity, every dialog, every floating menu, every toast (until Android Q), the status bar, the notification bar, the keyboard, the text selectio…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-curtains&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Authorization Tooling – Improved Usability and Security]]></title><description><![CDATA[More granular control of OAuth access tokens]]></description><link>https://developer.squareup.com/blog/new-authorization-tooling-improved-usability-and-security</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-authorization-tooling-improved-usability-and-security</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Mike Ward]]></dc:creator><pubDate>Wed, 16 Dec 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/3gLqCJC6kLI?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;As our developer ecosystem continues to expand, our partnering developer needs have pushed us to improve our Authorization tooling for a better and more secure experience. This update covers three OAuth Access Token improvements which can be used in…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-authorization-tooling-improved-usability-and-security&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Bookings API Beta]]></title><description><![CDATA[Integrate Square Appointments with your booking app or custom website]]></description><link>https://developer.squareup.com/blog/introducing-bookings-api-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-bookings-api-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Wed, 16 Dec 2020 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/_ozev_99BdY?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Hair salons, massage spas, and tattoo parlors all have one thing in common—they rely on appointments software to run their business. With &lt;a href=&quot;https://squareup.com/us/en/appointments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Appointments&lt;/a&gt;, businesses can create a free online booking website that manages scheduling, staffing, inventory, customers, and payments in a single point of sale. Square Appointments simplifies day-to-day operations by enabling automated appointment reminders, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-bookings-api-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Wiring Libraries with Cleanse]]></title><description><![CDATA[Gain control of your dependency graph with Wiring Libraries]]></description><link>https://developer.squareup.com/blog/wiring-libraries-with-cleanse</link><guid isPermaLink="false">https://developer.squareup.com/blog/wiring-libraries-with-cleanse</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Sebastian Shanus]]></dc:creator><pubDate>Wed, 02 Dec 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Cleanse is a Swift dependency injection framework &lt;a href=&quot;https://developer.squareup.com/blog/introducing-cleanse-a-lightweight-dependency-injection-framework-for-swift/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;we introduced in 2016&lt;/a&gt;. Since then, we’ve added several new features and it continues to be a tool that our developers enjoy using to reduce boilerplate and configure their dependency graphs.&lt;/p&gt;
&lt;p&gt;Even with these benefits, we’re always looking for better ways to leverage the power that comes with Cleanse. Today, we’ll discuss how extracting our bindings, modules and components into what we call &quot;wiring libraries&quot; has given us greater control …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/wiring-libraries-with-cleanse&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the New Square Node.js SDK]]></title><description><![CDATA[Use the New Node.js SDK to Integrate Square APIs]]></description><link>https://developer.squareup.com/blog/announcing-the-new-square-node-js-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-new-square-node-js-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 18 Nov 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to announce our &lt;a href=&quot;https://github.com/square/square-nodejs-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;new Node.js SDK&lt;/a&gt; is now available in General Availability! This new &lt;code&gt;square&lt;/code&gt; package is a major update that adds TypeScript support and replaces the deprecated &lt;code&gt;square_connect&lt;/code&gt; package. With JavaScript codebases you can now get type-based hints from your IDE or text editor and with TypeScript codebases you can get full type checking for your SDK usage.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-new-square-node-js-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Square Online Agency Program]]></title><description><![CDATA[Join the Solution Partner program and grow with our ecosystem]]></description><link>https://developer.squareup.com/blog/new-square-online-agency-program</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-square-online-agency-program</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[John Elliott]]></dc:creator><pubDate>Wed, 28 Oct 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/VarA37zAh_o?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Over the last quarter there has been a 6x increase in the number of sellers on Square Online, and 25% of Square’s GPV is now from online sales. There is now a bigger need to help sellers as they continue to transition to an omnichannel sales strateg…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-square-online-agency-program&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Build with Square Terminal API, Now Generally Available]]></title><description><![CDATA[Connect your app to Square Terminal for contactless payments]]></description><link>https://developer.squareup.com/blog/build-with-square-terminal-api-now-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/build-with-square-terminal-api-now-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 15 Oct 2020 18:30:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/kT3--cvQrsI?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Developers and partners building on Square’s platform are rising to the occasion to help businesses safely return to in-person commerce. As we redefine a new normal, businesses can leverage solutions like self-ordering kiosks and order-ahead apps to…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/build-with-square-terminal-api-now-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using AWS Lambda Extensions to Accelerate AWS Secrets Manager Access]]></title><description><![CDATA[Making serverless faster using AWS Lambda Extensions]]></description><link>https://developer.squareup.com/blog/using-aws-lambda-extensions-to-accelerate-aws-secrets-manager-access</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-aws-lambda-extensions-to-accelerate-aws-secrets-manager-access</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael Weissbacher]]></dc:creator><pubDate>Thu, 08 Oct 2020 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;This was a collaboration between Michael Weissbacher from Security Infrastructure and Michele Titolo from Cloud Foundations.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;overview&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#overview&quot; aria-label=&quot;overview permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;AWS Lambda Extensions are a new way for tools to integrate deeply into the Lambda environment, and they can run before the start of a Lambda function. This allows us to perform preparatory tasks that are only necessary on a cold start for example. W…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-aws-lambda-extensions-to-accelerate-aws-secrets-manager-access&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing OAuth Revocation Webhook Events]]></title><description><![CDATA[Making it easier to know when permissions have been revoked]]></description><link>https://developer.squareup.com/blog/introducing-oauth-revocation-webhook-events</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-oauth-revocation-webhook-events</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Mike Ward]]></dc:creator><pubDate>Wed, 16 Sep 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Developers have struggled to navigate failed API calls when revoked access tokens are used, while not understanding which merchants unsubscribed to their application. We recently filled this gap, and are excited to announce the release of OAuth Revo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-oauth-revocation-webhook-events&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Radiography]]></title><description><![CDATA[Text-ray goggles for your Android views]]></description><link>https://developer.squareup.com/blog/introducing-radiography</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-radiography</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Zach Klippenstein]]></dc:creator><pubDate>Fri, 04 Sep 2020 18:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/5pVQ752thyfYz1gU4UxeSS/510d88b2e6b1fc01bfbcc159676b7b2f/Radiography_logo_512.png&quot; alt=&quot;Radiography Logo&quot;&gt;&lt;/p&gt;
&lt;p&gt;As Android developers, a large part of our job is ultimately to show pixels on people’s devices. The rest of our job is making those pixels do something when you touch them. Despite this simple goal, getting the &lt;em&gt;right&lt;/em&gt; pixels to show up can sometimes be a challenge. When something goes wrong and your views don’t look like they should, it’s helpful to be able to peek behind the curtain to see what the views are actually doing.
When you can connect a debugger to yo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-radiography&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square Unboxed 2020]]></title><description><![CDATA[We’re putting the spotlight on how developers are helping sellers adapt]]></description><link>https://developer.squareup.com/blog/announcing-square-unboxed-2020</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-square-unboxed-2020</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marisa Almeida]]></dc:creator><pubDate>Wed, 02 Sep 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re thrilled to be announcing that Square Unboxed, our annual developer and partner conference, is happening – virtually – this year. Registration is now open for the free, 90-minute event on October 15. Register by September 28 to secure your spo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-square-unboxed-2020&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Employees, OAuth, Orders, Reporting, and Inventory APIs]]></title><description><![CDATA[New webhook for OAuth, transition Employees to Labor + Team API, and other API updates]]></description><link>https://developer.squareup.com/blog/employees-oauth-orders-reporting-and-inventory-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/employees-oauth-orders-reporting-and-inventory-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 26 Aug 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’ve had a lot of APIs coming out, with &lt;a href=&quot;https://developer.squareup.com/blog/announcing-subscriptions-api-beta&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Subscriptions&lt;/a&gt;, &lt;a href=&quot;https://developer.squareup.com/blog/introducing-invoices-api-beta&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Invoices&lt;/a&gt;, &lt;a href=&quot;https://developer.squareup.com/blog/manage-team-data-from-any-platform-with-square-team-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Team Management&lt;/a&gt;, &lt;a href=&quot;https://developer.squareup.com/blog/reward-customers-wherever-they-shop-with-loyalty-api-and-customers-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Loyalty&lt;/a&gt;, and &lt;a href=&quot;https://developer.squareup.com/blog/announcing-square-terminal-api-beta&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Terminal API&lt;/a&gt;, it&apos;s nice to take a chance to dig in on some of the smaller but important changes to the Square API. With the latest API release on August 26th, we’ve added in some new functionality for OAuth webhooks and made some changes to Employees, Orders, R…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/employees-oauth-orders-reporting-and-inventory-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Providing mTLS Identities to Lambdas]]></title><description><![CDATA[Securing severless communication with our data centers]]></description><link>https://developer.squareup.com/blog/providing-mtls-identities-to-lambdas</link><guid isPermaLink="false">https://developer.squareup.com/blog/providing-mtls-identities-to-lambdas</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael Weissbacher]]></dc:creator><pubDate>Tue, 25 Aug 2020 19:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;overview&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#overview&quot; aria-label=&quot;overview permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;This article describes how Square issues identity to applications in AWS Lambda so they can make authenticated calls to applications running in our data center, and why we chose mutual TLS to do so. A previous &lt;a href=&quot;https://developer.squareup.com/blog/enabling-serverless-applications-at-square/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;post&lt;/a&gt; describes how we use AWS Lambda at Square on a high level, while diving into security aspects here.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/providing-mtls-identities-to-lambdas&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Square App Marketplace Ratings and Reviews]]></title><description><![CDATA[How to use feedback to improve your products, sales, and service.]]></description><link>https://developer.squareup.com/blog/new-square-app-marketplace-ratings-and-reviews</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-square-app-marketplace-ratings-and-reviews</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[John Elliott]]></dc:creator><pubDate>Mon, 17 Aug 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In order to continuously launch products that sellers want, teams need feedback from multiple channels to improve their product. Square App Marketplace ratings and reviews provide a new feedback channel to gather insights while giving sellers a way …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-square-app-marketplace-ratings-and-reviews&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Subscriptions API Beta]]></title><description><![CDATA[Create subscription plans and enroll customers from any platform]]></description><link>https://developer.squareup.com/blog/announcing-subscriptions-api-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-subscriptions-api-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Wed, 12 Aug 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/sqTT5DzVF9w?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;From monthly wine deliveries to virtual fitness memberships, subscriptions have become a popular way for businesses to handle no-contact commerce. Despite the recent impact to our global economy, the subscriptions market has stayed relatively stable…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-subscriptions-api-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The State of Ruby 3 Typing]]></title><description><![CDATA[Introducing RBS, Ruby’s new type signature language]]></description><link>https://developer.squareup.com/blog/the-state-of-ruby-3-typing</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-state-of-ruby-3-typing</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Soutaro Matsumoto]]></dc:creator><pubDate>Wed, 29 Jul 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We&apos;re pleased to announce Ruby 3’s new language for type signatures, RBS. One of the long-stated goals for Ruby 3 has been to add type checking tooling. After much discussion with Matz and the Ruby committer team, we decided to take the incremental …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-state-of-ruby-3-typing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Invoices API Beta]]></title><description><![CDATA[Create, update, and send invoices from any platform and synchronize invoicing data with Square]]></description><link>https://developer.squareup.com/blog/introducing-invoices-api-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-invoices-api-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Wed, 22 Jul 2020 18:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/bP4oZ-zNCD0?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;For freelancers, contractors, caterers, and other businesses, maintaining a steady cash flow is more important than ever. One of the easiest ways to bill, record, track, and get paid for goods and services quickly is through an invoice. With invoice…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-invoices-api-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Square Small Business Hackathon Winners]]></title><description><![CDATA[Announcing the winners in Retail, Food & Beverage, Healthcare, and Services & Other]]></description><link>https://developer.squareup.com/blog/the-square-small-business-hackathon-winners</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-square-small-business-hackathon-winners</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Elsie Phillips]]></dc:creator><pubDate>Fri, 17 Jul 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The last few months have been challenging for businesses of all sizes. In the wake of shelter-in-place orders, entrepreneurs have needed to adapt their businesses and weather the economic storm. We knew that sellers would need technology solutions t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-square-small-business-hackathon-winners&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using Amundsen to Support User Privacy via Metadata Collection at Square]]></title><description><![CDATA[More scalable, automated data insights while preserving users’ privacy]]></description><link>https://developer.squareup.com/blog/using-amundsen-to-support-user-privacy-via-metadata-collection-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-amundsen-to-support-user-privacy-via-metadata-collection-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alyssa Ransbury]]></dc:creator><pubDate>Tue, 14 Jul 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When I started at Square, one of our primary privacy challenges was that we needed to scale and automate insights into what data we stored, collected, and processed. We relied mostly on manual work by individual teams to understand our data. As a co…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-amundsen-to-support-user-privacy-via-metadata-collection-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Enabling Serverless Applications at Square]]></title><description><![CDATA[Enabling AWS Lambda Functions to call into the Square datacenter’s envoy service mesh]]></description><link>https://developer.squareup.com/blog/enabling-serverless-applications-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/enabling-serverless-applications-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michele Titolo]]></dc:creator><pubDate>Wed, 08 Jul 2020 19:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;square-and-the-cloud&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#square-and-the-cloud&quot; aria-label=&quot;square and the cloud permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Square and the Cloud&lt;/h2&gt;
&lt;p&gt;Square is early in its migration to the cloud and most applications run in our datacenters today. The Platform and Infrastructure Engineering (PIE) organization has historically focused on providing infrastructure and tooling to build and operate in…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/enabling-serverless-applications-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Manage Team Data from Any Platform  with Square Team API]]></title><description><![CDATA[Track and edit large volumes of team member data automatically and 
synchronize data with any third-party platform in real time]]></description><link>https://developer.squareup.com/blog/manage-team-data-from-any-platform-with-square-team-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/manage-team-data-from-any-platform-with-square-team-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 25 Jun 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This year, businesses made the difficult decision to reorganize their teams as they faced financial challenges and shifting business models. Now, as businesses begin to reopen, business owners need an easy and reliable way to make employees’ return …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/manage-team-data-from-any-platform-with-square-team-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Anvil]]></title><description><![CDATA[Make dependency injection with Dagger 2 easier]]></description><link>https://developer.squareup.com/blog/introducing-anvil</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-anvil</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ralf Wondratschek]]></dc:creator><pubDate>Tue, 23 Jun 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Our Point of Sale Android codebase is a large modularized repository consisting of thousands of Gradle modules and hundreds of applications, each with its own unique &lt;a href=&quot;https://dagger.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dagger 2&lt;/a&gt; dependency graph. When creating a new application, one of the biggest bottlenecks we’ve seen in developer productivity was setting up Dagger dependencies. It’s a tedious process and involves many steps:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-anvil&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[API Explorer Moves to General Availability]]></title><description><![CDATA[Check out all of the new improvements made in API Explorer]]></description><link>https://developer.squareup.com/blog/api-explorer-moves-to-general-availability</link><guid isPermaLink="false">https://developer.squareup.com/blog/api-explorer-moves-to-general-availability</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Elsie Phillips]]></dc:creator><pubDate>Tue, 16 Jun 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/5Z7v_dIC0qI?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Today we’re announcing the general availability of the &lt;a href=&quot;https://developer.squareup.com/explorer/square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;API Explorer&lt;/a&gt; after its beta release in December 2019. Developers can use the API Explorer to test endpoint behaviors for all publicly available v2 APIs. They can do this within the browser without having to implement any code or update environment configuration…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/api-explorer-moves-to-general-availability&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square’s New PHP SDK]]></title><description><![CDATA[Use the New PHP SDK to Integrate with Square APIs]]></description><link>https://developer.squareup.com/blog/announcing-squares-new-php-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-squares-new-php-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 10 Jun 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to announce our &lt;a href=&quot;https://github.com/square/square-php-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;new PHP SDK&lt;/a&gt;. You can use the SDK to integrate Square payments into your app. Run your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, Orders, and more.&lt;/p&gt;
&lt;p&gt;There are a few ways to install the &lt;strong&gt;Square&lt;/strong&gt; package.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-squares-new-php-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Reward Customers Wherever They Shop with Loyalty API and Customers API]]></title><description><![CDATA[Offer a seamless omnichannel loyalty experience for Square sellers and automatically synchronize customer data across platforms]]></description><link>https://developer.squareup.com/blog/reward-customers-wherever-they-shop-with-loyalty-api-and-customers-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/reward-customers-wherever-they-shop-with-loyalty-api-and-customers-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Thu, 28 May 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/LFwO9DiwxEs?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Earning customer loyalty is critical in this unprecedented time as businesses try to stay afloat with the support of their customers. One of the ways to maintain a strong customer relationship is through a loyalty program, whether it’s offering a fr…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/reward-customers-wherever-they-shop-with-loyalty-api-and-customers-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Square Small Business Hackathon]]></title><description><![CDATA[Build software applications that help small businesses adapt and recover]]></description><link>https://developer.squareup.com/blog/the-square-small-business-hackathon</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-square-small-business-hackathon</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Elsie Phillips]]></dc:creator><pubDate>Wed, 20 May 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The world has changed a lot in just a few short months. Many business owners must completely rethink how they do business.  We want to make it as easy as possible for them to  make the pivot to contactless commerce and adapt to this challenging new …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-square-small-business-hackathon&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Kubernetes - Pod Security Policies]]></title><description><![CDATA[A fully fleshed out example with exception management]]></description><link>https://developer.squareup.com/blog/kubernetes-pod-security-policies</link><guid isPermaLink="false">https://developer.squareup.com/blog/kubernetes-pod-security-policies</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jason Price]]></dc:creator><pubDate>Thu, 07 May 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;My team is building a general purpose kubernetes cluster at Square.  As a part of that build out, we implemented Pod Security Policies (PSPs) to protect our clusters from many container escape risks.&lt;/p&gt;
&lt;p&gt;This post is focused on how to do a full deployment of Pod Security Policies with everything locked down and how to grant exceptions. For an introduction to PSPs, please go read the &lt;a href=&quot;https://kubernetes.io/docs/concepts/policy/pod-security-policy/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Official Kubernetes PSP documentation&lt;/a&gt;. The official documentation does a good job of showing how to use a simple PSP example, however fails in describing how a fully functioning PSP system would work, how it would be applied by default, and how exceptions could be managed.  This post w…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/kubernetes-pod-security-policies&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Creating Custom Attributes in Catalog]]></title><description><![CDATA[Creating an item library, your way–right away]]></description><link>https://developer.squareup.com/blog/creating-custom-attributes-in-catalog</link><guid isPermaLink="false">https://developer.squareup.com/blog/creating-custom-attributes-in-catalog</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leah Walkiewicz]]></dc:creator><pubDate>Tue, 05 May 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/3w9kg957Uno?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;With an ever-increasing demand for contactless commerce, Square sellers have asked for help growing their digital sales. Sellers rely on the Catalog API to help them represent what they’re selling accurately, in whatever channel they make a sale. Fo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/creating-custom-attributes-in-catalog&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Touch-free Commerce Application Guides]]></title><description><![CDATA[Instructions on adapting a business to be touch-free]]></description><link>https://developer.squareup.com/blog/touch-free-commerce-application-guides</link><guid isPermaLink="false">https://developer.squareup.com/blog/touch-free-commerce-application-guides</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Elsie Phillips]]></dc:creator><pubDate>Thu, 30 Apr 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Sellers right now are looking for solutions to help them run their business in this new environment. They need help taking their businesses online and navigating touch-free commerce. To help address this, we’ve created a new section on the Square Ap…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/touch-free-commerce-application-guides&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Curbside Pickup in the Orders API]]></title><description><![CDATA[Help sellers transition to no-contact commerce]]></description><link>https://developer.squareup.com/blog/introducing-curbside-pickup-in-the-orders-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-curbside-pickup-in-the-orders-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Chada Saetie]]></dc:creator><pubDate>Tue, 28 Apr 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/H8dAQPYJoAM?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;In these unprecedented times, sellers must react to the rapidly changing business environment to survive and even thrive. This means enabling new fulfillment types, including those that reduce in-person interaction. That’s why today, we’re announcin…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-curbside-pickup-in-the-orders-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Resources for Getting Started]]></title><description><![CDATA[Updates and improvements for developer resources]]></description><link>https://developer.squareup.com/blog/new-resources-for-getting-started</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-resources-for-getting-started</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Elsie Phillips]]></dc:creator><pubDate>Fri, 24 Apr 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We know how important it is to be able to quickly and easily find the information you need as you build applications for your users and your clients. For the last several months we’ve been working to make our developer sites and the dashboard more u…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-resources-for-getting-started&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square Terminal API Beta]]></title><description><![CDATA[Enable contactless payments and limit person-to-person contact 
with Square Terminal, connected to any POS]]></description><link>https://developer.squareup.com/blog/announcing-square-terminal-api-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-square-terminal-api-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Wed, 22 Apr 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/zeE4zAXkOi4?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now more than ever, it&apos;s critical to develop a POS solution that adapts to new ways of running a business. Whether you&apos;re developing a custom-built kiosk for ordering and checkout, or a medical practice management system to synchronize patient data,…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-square-terminal-api-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Android In-App Payments SDK Tutorial]]></title><description><![CDATA[Easily and securely take payments on Android]]></description><link>https://developer.squareup.com/blog/android-in-app-payments-sdk-tutorial</link><guid isPermaLink="false">https://developer.squareup.com/blog/android-in-app-payments-sdk-tutorial</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Bobbilee Hartman]]></dc:creator><pubDate>Tue, 24 Mar 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’ll be walking you through our Android In-App Payments SDK so you can implement a secure, customizable payment form in your mobile app. We also have plugins for this SDK that support Flutter and React Native, which you can learn about by watching &lt;a href=&quot;https://www.youtube.com/squaredev&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;our other videos&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/android-in-app-payments-sdk-tutorial&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Dessa: Open sourcing Atlas]]></title><description><![CDATA[Tools for applied deep learning development]]></description><link>https://developer.squareup.com/blog/dessa-open-sourcing-atlas</link><guid isPermaLink="false">https://developer.squareup.com/blog/dessa-open-sourcing-atlas</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Stephen Piron]]></dc:creator><pubDate>Tue, 17 Mar 2020 19:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;This is a post from &lt;a href=&quot;https://www.dessa.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dessa&lt;/a&gt;, an applied deep learning company that became part of the &lt;a href=&quot;https://squareup.com/press/dessa-joins-square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square ecosystem&lt;/a&gt; in February 2020.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Just a month after &lt;a href=&quot;https://www.dessa.com/post/a-new-adventure-begins-at-dessa&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;joining Square&lt;/a&gt;, today we’re excited to announce the open source launch of Atlas, a tool for developing applied deep learning projects.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/dessa-open-sourcing-atlas&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: AuctionZoom]]></title><description><![CDATA[Getting charity auction events running smoothly with AuctionZoom]]></description><link>https://developer.squareup.com/blog/developer-spotlight-auctionzoom</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-auctionzoom</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Thu, 12 Mar 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We&apos;re back, with another round of our Developer Spotlight series, where we highlight developers building with Square. In this installment we spoke with John Foster, CEO of &lt;a href=&quot;https://auctionzoom.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AuctionZoom&lt;/a&gt;. We asked him about his company’s experience building with Square, what kinds of problems they’re solving for merchants, and what led them to choose Square.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-auctionzoom&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Disputes API]]></title><description><![CDATA[Automate the process of retrieving and challenging disputes to save sellers time and money]]></description><link>https://developer.squareup.com/blog/disputes-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/disputes-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leher Pathak]]></dc:creator><pubDate>Tue, 10 Mar 2020 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/h9azPRDt1Tw?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Customer disputes can be frustrating for sellers. Sellers may have to manage numerous chargebacks at once, or need to submit multiple forms of evidence to challenge disputes. Until recently, sellers had to do this manually through their Square Dispu…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/disputes-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Labor, Bank Accounts, & CashDrawerShifts V2 APIs]]></title><description><![CDATA[Labor API updates — Bank Accounts & CashDrawerShifts APIs released]]></description><link>https://developer.squareup.com/blog/labor-bank-accounts-and-cashdrawershifts-v2-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/labor-bank-accounts-and-cashdrawershifts-v2-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 26 Feb 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This month we have several really great updates and releases. The V1 Timecards API functionality is now supported in the V2 Labor API. This change brings in more flexible models for handling shifts, recording time zones, and also V2 Webhook support.&lt;/p&gt;
&lt;p&gt;We have also released our V2 CashDrawerShifts and V2 Bank Accounts APIs. CashDrawerShifts lets you easily manage cash drawer activity for creating bookkeeping reports for cash drawers paired with a Square Point of Sale. The Bank Accounts API allows …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/labor-bank-accounts-and-cashdrawershifts-v2-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Showing the Android Keyboard Reliably]]></title><description><![CDATA[Making the Android keyboard work better]]></description><link>https://developer.squareup.com/blog/showing-the-android-keyboard-reliably</link><guid isPermaLink="false">https://developer.squareup.com/blog/showing-the-android-keyboard-reliably</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Helios Alonso]]></dc:creator><pubDate>Tue, 25 Feb 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When we develop our Android applications, the keyboard is something we rarely think about. It’s a service provided by the platform and it’s crucial it’s that way. It conveys so much functionality and covers so many cases that it would be nearly impo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/showing-the-android-keyboard-reliably&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Card on File with React Native]]></title><description><![CDATA[Safely store and process credit cards with In-App Payments SDK on React Native]]></description><link>https://developer.squareup.com/blog/card-on-file-with-react-native</link><guid isPermaLink="false">https://developer.squareup.com/blog/card-on-file-with-react-native</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Thu, 19 Mar 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In this tutorial, we’ll show you how to accept payments in a React Native application using &lt;a href=&quot;https://developer.squareup.com/in-app-payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square’s In-App Payments SDK&lt;/a&gt; and &lt;a href=&quot;https://github.com/square/in-app-payments-react-native-plugin&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;React Native plugin&lt;/a&gt;. I’ll also show you how to safely store customer card details so that they don’t have to be manually re-entered or re-swiped for future transactions.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/card-on-file-with-react-native&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Instrumenting Firebase Test Lab   ]]></title><description><![CDATA[Automated testing with Firebase Test Lab at Square]]></description><link>https://developer.squareup.com/blog/instrumenting-firebase-test-lab</link><guid isPermaLink="false">https://developer.squareup.com/blog/instrumenting-firebase-test-lab</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 15 Jan 2020 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we rely heavily on automated testing to ensure that our applications work well. Our Point of Sale Android codebase is just shy of 1.5 million lines of code, and we run about &lt;strong&gt;6000 Android instrumentation tests&lt;/strong&gt; on &lt;a href=&quot;https://firebase.google.com/docs/test-lab&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Firebase Test Lab&lt;/a&gt; on &lt;strong&gt;every pull request&lt;/strong&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/instrumenting-firebase-test-lab&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Adopting AWS VPC Endpoints at Square]]></title><description><![CDATA[Secure communication between data centers and the cloud]]></description><link>https://developer.squareup.com/blog/adopting-aws-vpc-endpoints-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/adopting-aws-vpc-endpoints-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Harihara Krishnan Narayanan]]></dc:creator><pubDate>Fri, 20 Dec 2019 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In this post, we share our experiences with adopting &lt;a href=&quot;https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AWS VPC Endpoints&lt;/a&gt; at Square. We want strong security guarantees in our communication with managed AWS services and for that we designed a solution that leverages VPC Endpoints with &lt;a href=&quot;https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;IAM policies&lt;/a&gt;. In a later section, we also highlight some of the issues we faced in our setup and usage of these endpoints.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/adopting-aws-vpc-endpoints-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square’s New Java SDK]]></title><description><![CDATA[Use the New Java SDK to Integrate with Square APIs]]></description><link>https://developer.squareup.com/blog/announcing-squares-new-java-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-squares-new-java-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Wed, 18 Dec 2019 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/N4JsLhuAFZc?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We’re very pleased to announce our new &lt;a href=&quot;https://github.com/square/square-java-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Java SDK&lt;/a&gt;. You can use the SDK to integrate Square payments into your app. Run your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, Orders, and more.&lt;/p&gt;
&lt;p&gt;To install the package, just run&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-squares-new-java-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square’s New .NET SDK]]></title><description><![CDATA[Use the New .NET SDK to Integrate with Square APIs]]></description><link>https://developer.squareup.com/blog/announcing-squares-new-net-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-squares-new-net-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Tue, 17 Dec 2019 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/aU2JA7YGX3A?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We’re excited to announce our new &lt;a href=&quot;https://github.com/square/square-dotnet-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;.NET SDK&lt;/a&gt;. You can use the SDK to integrate Square payments into your app. Run your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, Orders, and more.&lt;/p&gt;
&lt;p&gt;There are a few ways to install the Square package.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-squares-new-net-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Sandbox & Locations Now Generally Available]]></title><description><![CDATA[Sandbox and Locations have moved from beta to GA]]></description><link>https://developer.squareup.com/blog/sandbox-and-locations-now-generally-available</link><guid isPermaLink="false">https://developer.squareup.com/blog/sandbox-and-locations-now-generally-available</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 20 Nov 2019 20:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;sandbox--locations-api-move-to-general-availability&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sandbox--locations-api-move-to-general-availability&quot; aria-label=&quot;sandbox  locations api move to general availability permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sandbox &amp;#x26; Locations API move to General Availability&lt;/h2&gt;
&lt;p&gt;With our &lt;a href=&quot;https://developer.squareup.com/docs/changelog/connect-logs/2019-11-20&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2019-11-20 API release&lt;/a&gt;, we have officially moved Sandbox out of beta and into general availability (GA). Additionally, we have moved the &lt;code&gt;RetrieveLocation&lt;/code&gt; and &lt;code&gt;ListLocations&lt;/code&gt; endpoints of the Locations API from beta to GA. As a result of this release and moving endpoints into GA, we are also announcing some endpoints that are being deprecated. You can find more about our deprecation policy in our docs, along with a sche…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sandbox-and-locations-now-generally-available&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Developer YouTube]]></title><description><![CDATA[We launched a YouTube channel for developers]]></description><link>https://developer.squareup.com/blog/square-developer-youtube</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-developer-youtube</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 06 Nov 2019 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’d love nothing more than to meet developers in person, no matter where in the world they might be. Unfortunately, our accounting department says that would be impractical. So instead we’ve decided to try to meet you all digitally by creating a ne…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-developer-youtube&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the Square Partner Community]]></title><description><![CDATA[A place for partners to connect with Square]]></description><link>https://developer.squareup.com/blog/announcing-the-square-partner-community</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-square-partner-community</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Peter Parker]]></dc:creator><pubDate>Thu, 17 Oct 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today, we are excited to announce the launch of the Square Partner Community, continuing our investment in Square’s partnerships. The Square Partner Community gives Square Partners, including digital agencies and system integrators, access to traini…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-square-partner-community&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Books, an immutable double-entry accounting  database service]]></title><description><![CDATA[Tracking financial transactions at scale]]></description><link>https://developer.squareup.com/blog/books-an-immutable-double-entry-accounting-database-service</link><guid isPermaLink="false">https://developer.squareup.com/blog/books-an-immutable-double-entry-accounting-database-service</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Łukasz Strzałkowski]]></dc:creator><pubDate>Wed, 16 Oct 2019 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square in 2019 looks very different from when we launched almost 10 years ago. We now have at least half a dozen totally independent products, from Caviar, Capital, to the Cash App. As we have scaled our financial infrastructure and moved beyond sim…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/books-an-immutable-double-entry-accounting-database-service&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Webhook Event for Syncing with Square Catalog]]></title><description><![CDATA[Stay in sync with a seller’s catalog using webhooks]]></description><link>https://developer.squareup.com/blog/new-webhook-event-for-syncing-with-square-catalog</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-webhook-event-for-syncing-with-square-catalog</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leah Walkiewicz]]></dc:creator><pubDate>Thu, 03 Oct 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/HkpFBZrWf-Y?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We’re excited to share the new and improved webhook event for updates to Square Catalog, called &lt;code&gt;CatalogVersionUpdated&lt;/code&gt;. &lt;code&gt;CatalogVersionUpdated&lt;/code&gt; is a new webhook event available that helps developers stay in sync with a seller’s catalog and better maintain their omnichannel integrations.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-webhook-event-for-syncing-with-square-catalog&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Open Source Code of Conduct]]></title><description><![CDATA[Our open source code of conduct reflects our expectations for ourselves and our community.]]></description><link>https://developer.squareup.com/blog/open-source-code-of-conduct</link><guid isPermaLink="false">https://developer.squareup.com/blog/open-source-code-of-conduct</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 27 Jan 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we are committed to contributing to the open source community and simplifying the process of releasing and managing open source software. We’ve seen incredible support and enthusiasm from thousands of people who have already contributed t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/open-source-code-of-conduct&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Discounting at Square]]></title><description><![CDATA[Modeling discounts at Square]]></description><link>https://developer.squareup.com/blog/discounting-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/discounting-at-square</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tad Book]]></dc:creator><pubDate>Wed, 04 Sep 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square recently launched a set of &lt;a href=&quot;https://developer.squareup.com/docs/catalog-api/cookbook/auto-apply-discounts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;flexible APIs&lt;/a&gt; to create auto-apply discounts.  I wanted to take some time to explain how they work, why we designed them the way we did, and how they can be used to implement a wide variety of discounting schemes.&lt;/p&gt;
&lt;h2 id=&quot;the-model&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-model&quot; aria-label=&quot;the model permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The Model&lt;/h2&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/discounting-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Item Options for the Catalog API]]></title><description><![CDATA[Use Item Options to streamline your Catalog]]></description><link>https://developer.squareup.com/blog/announcing-item-options-for-the-catalog-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-item-options-for-the-catalog-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Leah Walkiewicz]]></dc:creator><pubDate>Wed, 28 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Previous versions of the Catalog API modeled products for sale as items and item variations. An item represents a product that may be sold while an item variation represents the actual object being sold, typically with distinct name, description, SK…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-item-options-for-the-catalog-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square’s New Python SDK]]></title><description><![CDATA[Use the new Python SDK to integrate with Square APIs]]></description><link>https://developer.squareup.com/blog/announcing-squares-new-python-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-squares-new-python-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Tue, 27 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/jxKH23DjnNA?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We’re excited to announce the release of our new Python SDK. Run your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, Orders, and more.&lt;/p&gt;
&lt;p&gt;To install the Python SDK, just &lt;code&gt;pip install squareup&lt;/code&gt; from the command line. You can alternatively clone the SDK from GitHub and install it using &lt;code&gt;python setup.py install --user &lt;/code&gt;. Next, all you need to do is provide your access token and you’re ready to use Square APIs.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-squares-new-python-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New and Improved Sandbox]]></title><description><![CDATA[Our Sandbox now has full coverage of Connect v2 APIs]]></description><link>https://developer.squareup.com/blog/new-and-improved-sandbox</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-and-improved-sandbox</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Brian Gorby]]></dc:creator><pubDate>Thu, 22 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Developers building on the Square platform now have a powerful new tool available to help them more quickly build, test, and deploy their omnichannel integrations. We’re thrilled to announce a brand-new version of our &lt;a href=&quot;https://developer.squareup.com/docs/testing/sandbox&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sandbox&lt;/a&gt;, now available in beta.&lt;/p&gt;
&lt;p&gt;In talking with developers looking to build applications for Square sellers, we heard three consistent themes of how we could improve the Sandbox experience: full coverage of Connect v2 APIs, the ability to quickly create testing accounts to simulat…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-and-improved-sandbox&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Manage Orders from Anywhere]]></title><description><![CDATA[There are more ways than one to manage and pay for your Orders]]></description><link>https://developer.squareup.com/blog/manage-orders-from-anywhere</link><guid isPermaLink="false">https://developer.squareup.com/blog/manage-orders-from-anywhere</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Chris Wiggins]]></dc:creator><pubDate>Wed, 21 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/wlkcDQqhlcE?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The Orders API provides developers the means to create and &lt;a href=&quot;https://developer.squareup.com/blog/everything-is-an-order/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;read itemized sales&lt;/a&gt; within Square. Now developers can leverage new endpoints to update, manage, and pay for Orders, extending the possible use cases. &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v2#endpoint-orders-updateorder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;UpdateOrder (Beta)&lt;/a&gt; allows itemizations, discounts, taxes, and fulfillment data to be updated on an open order. &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/manage-orders-from-anywhere&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the new Square Payments API]]></title><description><![CDATA[Our new Payments v2 API, that supports gift cards, tips, and more]]></description><link>https://developer.squareup.com/blog/announcing-the-new-square-payments-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-new-square-payments-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Chris Heisel]]></dc:creator><pubDate>Tue, 20 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’m excited to share the new and improved API for taking payments online and in-app - the &lt;a href=&quot;https://developer.squareup.com/docs/payments-api/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Payments API&lt;/a&gt; launches today!&lt;/p&gt;
&lt;p&gt;This new API replaces the Transactions API and launches with key new features like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Paying with a Square Gift Card&lt;/li&gt;
&lt;li&gt;Paying for an order with multiple payments&lt;/li&gt;
&lt;li&gt;Collecting tips at time of payment&lt;/li&gt;
&lt;li&gt;Providing additional information about CVV and AVS statuses, as well as &lt;a href=&quot;https://developer.squareup.com/docs/payments-api/error-codes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;improved card decline reasons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Simplified payment interface: location ID management is not required for creating or refunding payments&lt;/li&gt;&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-new-square-payments-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Expanding Square’s Platform Beyond Payments]]></title><description><![CDATA[At Square, we’re working to create the future of commerce, and we want to inspire developers to build solutions our merchants can use to manage and grow their business.]]></description><link>https://developer.squareup.com/blog/expanding-squares-platform-beyond-payments</link><guid isPermaLink="false">https://developer.squareup.com/blog/expanding-squares-platform-beyond-payments</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Thu, 15 Aug 2019 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today, we are excited to announce a significant expansion of the Square platform to include a new set of APIs and SDKs that developers can leverage to build customized and scalable commerce experiences.&lt;/p&gt;
&lt;p&gt;Over the past couple of years, we’ve released APIs and SDKs that focus on enabling developers to take payments &lt;a href=&quot;https://squareup.com/developers/reader-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;in person&lt;/a&gt;, &lt;a href=&quot;https://squareup.com/developers/online-payment-apis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;online&lt;/a&gt;, and in &lt;a href=&quot;https://squareup.com/developers/in-app-payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;mobile apps&lt;/a&gt;. We’re now expanding our platform and shifting the focus from payments to orders. Orders are now a central component of our platform as they connect payments to items, price modifiers, customers, and more.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/expanding-squares-platform-beyond-payments&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: Postmates]]></title><description><![CDATA[Postmates talks with us about their integration of Orders API]]></description><link>https://developer.squareup.com/blog/developer-spotlight-postmates</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-postmates</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Wed, 14 Aug 2019 10:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In working with Postmates &lt;a href=&quot;https://partner.postmates.com/integrations/square/accept-orders&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;on their integration&lt;/a&gt; of the Square &lt;a href=&quot;https://developer.squareup.com/docs/orders-api/what-it-does&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Orders API&lt;/a&gt;, we wanted to sit down with them and chat a little more about what Postmates is up to and how that process went. For those unfamiliar, Postmates is a logistics platform that connects customers with local couriers who can deliver anything from any s…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-postmates&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Chasing Swallowed Exceptions]]></title><description><![CDATA[Handling uncaught errors and crashes in testing]]></description><link>https://developer.squareup.com/blog/chasing-swallowed-exceptions</link><guid isPermaLink="false">https://developer.squareup.com/blog/chasing-swallowed-exceptions</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ralf Wondratschek]]></dc:creator><pubDate>Tue, 13 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Tests are an essential part of every software project. They give developers confidence that any change they make doesn’t break existing functionality. A test is either successful if the assumptions pass the requirements, or unsuccessful if a verific…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/chasing-swallowed-exceptions&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Shark: Smart Heap Analysis Reports for Kotlin]]></title><description><![CDATA[The heap analyzer that powers LeakCanary 2]]></description><link>https://developer.squareup.com/blog/announcing-shark-smart-heap-analysis-reports-for-kotlin</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-shark-smart-heap-analysis-reports-for-kotlin</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Tue, 06 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Recently I just released &lt;a href=&quot;https://square.github.io/leakcanary/changelog/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LeakCanary 2 Beta 1&lt;/a&gt;, and with it a new standalone library: &lt;em&gt;Smart Heap Analysis Reports for Kotlin&lt;/em&gt;, aka &lt;strong&gt;Shark&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/4ROO0E5ch27WHQ9mo4ozY6/cdc26d9ffe7c326513d1092fc6f37d59/shark.png&quot; alt=&quot;shark&quot;&gt;&lt;/p&gt;
&lt;p&gt;Shark is the heap analyzer that powers LeakCanary 2. It&apos;s a Kotlin standalone heap analysis library that runs at &lt;strong&gt;high speed&lt;/strong&gt; with a &lt;strong&gt;low memory footprint&lt;/strong&gt;.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-shark-smart-heap-analysis-reports-for-kotlin&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Making OpenAPI / Swagger Bearable With Your Own DSL]]></title><description><![CDATA[Taming OpenAPI using Racket to create a DSL]]></description><link>https://developer.squareup.com/blog/making-openapi-swagger-bearable-with-your-own-dsl</link><guid isPermaLink="false">https://developer.squareup.com/blog/making-openapi-swagger-bearable-with-your-own-dsl</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Sebastien Armand]]></dc:creator><pubDate>Fri, 02 Aug 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Problem: while OpenAPI is great for describing APIs, generating client SDK code and defining your API contracts, it&apos;s definitely not a great experience to write OpenAPI documents from scratch.&lt;/p&gt;
&lt;p&gt;Even with the use of references, OpenAPI&apos;s mechanism to avoid repetition, a simple document with less than 10 endpoints described ends up at over 1,000 lines for us. To get a feeling for it, this snippet defines a schema that&apos;s just a list of intege…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/making-openapi-swagger-bearable-with-your-own-dsl&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Value in Early Product Analytics]]></title><description><![CDATA[Power in having visibility from the beginning]]></description><link>https://developer.squareup.com/blog/the-value-in-early-product-analytics</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-value-in-early-product-analytics</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Claire Meyer]]></dc:creator><pubDate>Wed, 31 Jul 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Product Analytics is an increasingly common discipline across product teams. Often, teams think a product should mature to a particular size or age before bringing in dedicated analytics or ‘data people’. At Square, Product Analytics is often engage…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-value-in-early-product-analytics&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s Growth Framework for Engineers and Engineering Managers]]></title><description><![CDATA[A system for leveling up at Square]]></description><link>https://developer.squareup.com/blog/squares-growth-framework-for-engineers-and-engineering-managers</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-growth-framework-for-engineers-and-engineering-managers</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael White]]></dc:creator><pubDate>Tue, 23 Jul 2019 19:00:00 GMT</pubDate><content:encoded>&lt;Admonition type=&quot;info&quot;&gt;
  Since the publication of this post, we have updated our growth framework for engineers and engineering managers. You can learn about our updated growth framework in this [new blog post](https://developer.squareup.com/blog/squares-updated-growth-framework-for-engineers-and-engineering-managers).
&lt;/Admonition&gt;
&lt;p&gt;At Square, we’re building products and services that help consumers and businesses participate and thrive in the economy. To accomplish this, we need to cultivate an environment where engineers can challenge themselves, achieve their goals for profe…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-growth-framework-for-engineers-and-engineering-managers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Effective batching in streaming dataflow jobs]]></title><description><![CDATA[How we make near real time monitoring possible]]></description><link>https://developer.squareup.com/blog/effective-batching-in-streaming-dataflow-jobs</link><guid isPermaLink="false">https://developer.squareup.com/blog/effective-batching-in-streaming-dataflow-jobs</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Fasih Awan]]></dc:creator><pubDate>Mon, 15 Jul 2019 11:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background&quot; aria-label=&quot;background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Background&lt;/h2&gt;
&lt;p&gt;Square processes nearly 2 billion payments annually. With payments being processed all over the world at such a fast rate, it becomes difficult to monitor the state of payments. We want to be able to monitor payment traffic in near real time so we c…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/effective-batching-in-streaming-dataflow-jobs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Story of an Android Q Leak: attachment crazy town!]]></title><description><![CDATA[Debugging leaks for Square POS in Android Q]]></description><link>https://developer.squareup.com/blog/story-of-an-android-q-leak-attachment-crazy-town</link><guid isPermaLink="false">https://developer.squareup.com/blog/story-of-an-android-q-leak-attachment-crazy-town</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 03 Jul 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/kHHOhPPRytc?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;h2 id=&quot;ticket-assignment&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ticket-assignment&quot; aria-label=&quot;ticket assignment permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ticket assignment&lt;/h2&gt;
&lt;p&gt;Our QA team has been testing Square POS on Android Q, and recently assigned the following ticket to me:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/1tunMYPTEBBfCipN6XTbg1/22e86f80ff7173233e3e531a7d61834a/image6.png&quot; alt=&quot;Leak Ticket&quot;&gt;&lt;/p&gt;
&lt;p&gt;We automatically &lt;a href=&quot;https://square.github.io/leakcanary/recipes/#uploading-to-a-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;upload memory leaks&lt;/a&gt; to Bugsnag in our debug builds, so I took a look. Sure enough, the leaks on Q (Android 10) were off the charts:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/story-of-an-android-q-leak-attachment-crazy-town&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Identifying and Scaling a Language Market]]></title><description><![CDATA[Using data to understand where to improve localization]]></description><link>https://developer.squareup.com/blog/identifying-and-scaling-a-language-market</link><guid isPermaLink="false">https://developer.squareup.com/blog/identifying-and-scaling-a-language-market</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Sherry Xia]]></dc:creator><pubDate>Fri, 28 Jun 2019 19:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background&quot; aria-label=&quot;background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Background&lt;/h2&gt;
&lt;p&gt;In 2018, while shadowing Customer Success calls, Square’s internationalization and localization PM noticed that many Square merchants were calling into US Spanish support. Revisiting the product experience in Spanish, she found the user experience t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/identifying-and-scaling-a-language-market&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Spotlight: Robert Harris, CTO at Clutch!]]></title><description><![CDATA[Clutch! is a gameday parking marketplace]]></description><link>https://developer.squareup.com/blog/developer-spotlight-robert-harris-cto-at-clutch</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-spotlight-robert-harris-cto-at-clutch</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Bobbilee Hartman]]></dc:creator><pubDate>Wed, 26 Jun 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In the last few months we’ve been interviewing developers around the world that are using Square APIs. Businesses that vary in size and operate in diverse markets are working with us in many different ways. We’ve learned a lot and have been super in…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-spotlight-robert-harris-cto-at-clutch&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square’s New Ruby SDK]]></title><description><![CDATA[Use the New Ruby SDK Gem to Integrate with Square APIs]]></description><link>https://developer.squareup.com/blog/announcing-square&apos;s-new-ruby-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-square&apos;s-new-ruby-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Mon, 24 Jun 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/tPSa_9jk6S4?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We&apos;re excited to announce &lt;strong&gt;square.rb&lt;/strong&gt;, our new &lt;a href=&quot;https://github.com/square/square-ruby-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ruby SDK gem&lt;/a&gt;. You can use &lt;strong&gt;square.rb&lt;/strong&gt; to integrate Square payments into your app. Run your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, Orders, and more.&lt;/p&gt;
&lt;p&gt;To install the gem, just &lt;code&gt;gem install square.rb&lt;/code&gt; from the command line or add &lt;code&gt;gem: &apos;square.rb&apos;&lt;/code&gt; to your Gemfile. Next, all you need to do is provide your access token and you&apos;re ready to use Square APIs.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-square&apos;s-new-ruby-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Shipping Binary Frameworks With Swift 5.0]]></title><description><![CDATA[How to get a binary framework shipped with Swift 5.0]]></description><link>https://developer.squareup.com/blog/shipping-binary-frameworks-with-swift-5-0</link><guid isPermaLink="false">https://developer.squareup.com/blog/shipping-binary-frameworks-with-swift-5-0</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Chris Williams]]></dc:creator><pubDate>Fri, 31 May 2019 09:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;module-stability&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#module-stability&quot; aria-label=&quot;module stability permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&quot;Module Stability&quot;&lt;/h3&gt;
&lt;p&gt;Swift 5 introduces &quot;ABI Stability&quot;, which means the calling conventions between two binaries is now guaranteed to be consistent. Previously, if two binaries were compiled with two different Swift versions, it was not guaranteed that one could call i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/shipping-binary-frameworks-with-swift-5-0&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[“Everything is an Order”]]></title><description><![CDATA[All Sales, Returns, and Exchanges are now available as Orders (Beta)]]></description><link>https://developer.squareup.com/blog/everything-is-an-order</link><guid isPermaLink="false">https://developer.squareup.com/blog/everything-is-an-order</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tim Hays]]></dc:creator><pubDate>Tue, 21 May 2019 09:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The Orders API is now a one-stop shop for retrieving all of your sales data. Until this point, to build a comprehensive view of your sales, you had to use a combination of the &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v2#endpoint-v1transactions-listpayments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Payments (Connect V1)&lt;/a&gt;, &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v2#endpoint-transactions-listtransactions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Transactions&lt;/a&gt;, and &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v2#type-order&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Orders&lt;/a&gt; APIs. We have now updated the Orders API to return all sales, returns, and exchanges regardless of how or when they entered the Square Ecosystem (e.g. Point of Sale, Invoices, Connect APIs, etc). In the process, we added &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/everything-is-an-order&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Eloquent Labs Joins Square]]></title><description><![CDATA[We’re thrilled that the team from Eloquent Labs will be joining Square.]]></description><link>https://developer.squareup.com/blog/eloquent-labs-joins-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/eloquent-labs-joins-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alyssa Henry]]></dc:creator><pubDate>Tue, 07 May 2019 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Eloquent Labs is a conversational artificial intelligence (AI) services business founded by two leading Natural Language Processing (NLP) researchers. Eloquent specializes in AI approaches to responding to customer questions and feedback, and the te…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/eloquent-labs-joins-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[RubyKaigi and the Path to Ruby 3]]></title><description><![CDATA[Performance, Concurrency, and Static Analysis in Ruby]]></description><link>https://developer.squareup.com/blog/rubykaigi-and-the-path-to-ruby-3</link><guid isPermaLink="false">https://developer.squareup.com/blog/rubykaigi-and-the-path-to-ruby-3</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Mon, 06 May 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://www.flickr.com/photos/ipom/5862768190/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;em&gt;&lt;strong&gt;Original Image by Mathias Meyer CC BY-SA 2.0&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At RubyKaigi in Fukuoka, Japan, Matz spoke at length about Ruby 3—the next major version of the Ruby programming language, scheduled for release on Christmas of 2020. Many of the features planned for Ruby 3 are already well underway and RubyKaigi ha…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rubykaigi-and-the-path-to-ruby-3&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[PySurvival Tutorial: Churn Modeling]]></title><description><![CDATA[Using PySurvival to Model Churn]]></description><link>https://developer.squareup.com/blog/pysurvival-tutorial-churn-modeling</link><guid isPermaLink="false">https://developer.squareup.com/blog/pysurvival-tutorial-churn-modeling</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Stephane Fotso]]></dc:creator><pubDate>Fri, 03 May 2019 14:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This article is the second installment in a four part series, which will include tutorials designed to demonstrate how to easily make the most of the package. You can also find these tutorials on the official website:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pysurvival.io/tutorials/churn.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Churn modeling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pysurvival.io/tutorials/maintenance.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Predictive maintenance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pysurvival.io/tutorials/credit_risk.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Credit risk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/pysurvival-tutorial-churn-modeling&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Flutter, Android, and Process Death]]></title><description><![CDATA[Detecting process death in Flutter & Android]]></description><link>https://developer.squareup.com/blog/flutter-android-and-process-death</link><guid isPermaLink="false">https://developer.squareup.com/blog/flutter-android-and-process-death</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Brandon Cheng]]></dc:creator><pubDate>Fri, 26 Apr 2019 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Back in December 2018, Square launched a shiny new iOS and Android SDK (now 100% Kotlin) called &lt;a href=&quot;https://squareup.com/developers/in-app-payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;In-App Payments&lt;/a&gt; which allows developers to take &lt;a href=&quot;https://www.pcisecuritystandards.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PCI compliant&lt;/a&gt; payments. Since we partnered with Flutter, we also launched with a &lt;a href=&quot;https://github.com/square/in-app-payments-flutter-plugin&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flutter plugin&lt;/a&gt; on the same day. This sparked joy in my heart because we launched on Android, iOS, and Flutter all at the same time. What made me &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/flutter-android-and-process-death&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developing on iOS and Android]]></title><description><![CDATA[The convergence of iOS and Android development]]></description><link>https://developer.squareup.com/blog/developing-on-ios-and-android</link><guid isPermaLink="false">https://developer.squareup.com/blog/developing-on-ios-and-android</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Mon, 22 Apr 2019 19:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Over the past 10 years iOS and Android have not only grown and matured, but increasingly converged as well...&lt;/p&gt;
&lt;p&gt;Early apps were spartan: a few screens built by a solo developer or a small team. Compare that to today’s apps, which offer surface-layer simplicity but implementation complexity that often goes deep. In these iceberg apps, each user sees what they …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developing-on-ios-and-android&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Pricing Subscription Products with a Data-Driven Conscience]]></title><description><![CDATA[Using data to drive pricing a SaaS product]]></description><link>https://developer.squareup.com/blog/pricing-subscription-products-with-a-data-driven-conscience</link><guid isPermaLink="false">https://developer.squareup.com/blog/pricing-subscription-products-with-a-data-driven-conscience</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[David Feng]]></dc:creator><pubDate>Mon, 10 Jul 2017 16:58:35 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;At Square, Product Analytics is embedded within full-stack product teams, which allows each of us to become a data expert for our respective products. Our high-visibility position(s) within each product allows us to drive the decision-making process…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/pricing-subscription-products-with-a-data-driven-conscience&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How we use StackOverflow to support our developers]]></title><description><![CDATA[These are some of the tools and techniques we use to answer your questions about Square’s APIs; they might help you support your community, too!]]></description><link>https://developer.squareup.com/blog/how-we-use-stackoverflow-to-support-our-developers</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-we-use-stackoverflow-to-support-our-developers</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 19 Dec 2017 21:17:48 GMT</pubDate><content:encoded>&lt;p&gt;StackOverflow is an invaluable resource for developers of all skill levels, and is a part of millions of developers’ regular workflow. All of that knowledge is only useful if people are answering questions. We use a combination of tools, design, and…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-we-use-stackoverflow-to-support-our-developers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square In-App Payments SDK for Flutter]]></title><description><![CDATA[Easily Integrate Square Payments into your Flutter App]]></description><link>https://developer.squareup.com/blog/square-in-app-payments-sdk-for-flutter</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-in-app-payments-sdk-for-flutter</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Thu, 18 Apr 2019 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Square’s &lt;a href=&quot;/blog/introducing-square-in-app-payments-sdk&quot;&gt;In-App Payments SDK&lt;/a&gt; lets developers accept Square-powered payments from within their own mobile apps. With the &lt;a href=&quot;https://pub.dartlang.org/packages/square_in_app_payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flutter plugin for In-App Payments SDK&lt;/a&gt; we can take payments in Flutter.&lt;/p&gt;
&lt;p&gt;Let’s look at how to take credit card payments in Flutter!&lt;/p&gt;

                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-in-app-payments-sdk-for-flutter&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Creating a customer with Ruby]]></title><description><![CDATA[Adding customers to your Square account is a snap with a simple ruby script.]]></description><link>https://developer.squareup.com/blog/creating-a-customer-with-ruby</link><guid isPermaLink="false">https://developer.squareup.com/blog/creating-a-customer-with-ruby</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 06 Oct 2017 20:17:40 GMT</pubDate><content:encoded>&lt;p&gt;Customer management via API can be incredibly useful when syncing with other systems, automating marketing tasks, and more. If your &lt;a href=&quot;https://squareup.com/dashboard/customers/directory/all&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Customer Directory&lt;/a&gt; looks empty and you want to add to it, take a look at the following ruby script:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ruby&quot;&gt;# load the gem
require &apos;square_connect&apos;

# setup authorization with a personal access token
SquareConnect.configure do |config|
  config.access_token = &apos;sq0atp-XXXXXXXXXXXXX&apos;
end

#create a new API instance
api_instance = SquareConnect::CustomersApi…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/creating-a-customer-with-ruby&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ruby’s New JIT]]></title><description><![CDATA[Ruby is about to get Way Faster]]></description><link>https://developer.squareup.com/blog/rubys-new-jit</link><guid isPermaLink="false">https://developer.squareup.com/blog/rubys-new-jit</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Wed, 14 Feb 2018 18:52:06 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;CRuby just got a JIT!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There have been many attempts at implementing a JIT for CRuby, the reference implementation of Ruby. None have been merged, until now.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                   ,---.    ,---.     .-./`)  .-./`) ,---------. 
  .     &apos;     ,    |    \  /    |     \ &apos;_ .&apos;)\ .-.&apos;)\          \ 
    _________      |  ,  \/  ,  |    (_ (_) _)/ `-&apos; \ `--.  ,---&apos; 
   /_\/_ _ \/_\    |  |\_   /|  |      / .  \  `-…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rubys-new-jit&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Zooming Out From Engineering]]></title><description><![CDATA[Some insights on leadership, career development, and building teams at scale that Square’s Head of Seller, Alyssa Henry, shared during the 2019 SFELC Summit.]]></description><link>https://developer.squareup.com/blog/zooming-out-from-engineering</link><guid isPermaLink="false">https://developer.squareup.com/blog/zooming-out-from-engineering</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 11 Apr 2019 17:24:50 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Originally seen on &lt;a href=&quot;https://news.greylock.com/zooming-out-from-engineering-43c7c92b9797&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Greylock Partners’ blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Leading an organization of 10 employees is considerably different than leading an organization of 10,000+ employees. As teams increase and communication becomes more challenging, a lot can break down. In this episode of &lt;a href=&quot;https://news.greylock.com/podcasts-and-videos/home&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Greymatter&lt;/a&gt;, we share a fireside discussion from the&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/zooming-out-from-engineering&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Spin Cycle — Automating the Tedious]]></title><description><![CDATA[An orchestration framework to automate anything]]></description><link>https://developer.squareup.com/blog/spin-cycle-automating-the-tedious</link><guid isPermaLink="false">https://developer.squareup.com/blog/spin-cycle-automating-the-tedious</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Felix Plajer]]></dc:creator><pubDate>Tue, 09 Apr 2019 18:16:57 GMT</pubDate><content:encoded>&lt;p&gt;Spin Cycle makes it easy to automate complex infrastructure tasks. The database team at Square uses it for most of our day-to-day operations — provisioning new clusters and decommissioning old ones, upgrading MySQL and Docker, stopping and starting …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/spin-cycle-automating-the-tedious&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing PySurvival]]></title><description><![CDATA[PySurvival is an open source python package for Survival Analysis modeling.]]></description><link>https://developer.squareup.com/blog/introducing-pysurvival</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-pysurvival</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Stephane Fotso]]></dc:creator><pubDate>Fri, 12 Apr 2019 21:06:21 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;h1 id=&quot;pysurvival-is-an-open-source-python-package-for-survival-analysis-modeling&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pysurvival-is-an-open-source-python-package-for-survival-analysis-modeling&quot; aria-label=&quot;pysurvival is an open source python package for survival analysis modeling permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PySurvival is an open source python package for Survival Analysis modeling.&lt;/h1&gt;
&lt;/blockquote&gt;
&lt;p&gt;Today, we’re excited to introduce &lt;a href=&quot;https://www.pysurvival.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;strong&gt;PySurvival&lt;/strong&gt;&lt;/a&gt;, a python package for Survival Analysis modeling.&lt;/p&gt;
&lt;p&gt;This article is the first installment in a four part series, which will include tutorials designed to demonstrate how to easily make the most of the package. You can also find these tutorials on the official website:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-pysurvival&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Our Connect v2 Labor API]]></title><description><![CDATA[Capture employee working hours with breaks and hourly pay rate]]></description><link>https://developer.squareup.com/blog/announcing-our-connect-v2-labor-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-our-connect-v2-labor-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Dina Spitzer]]></dc:creator><pubDate>Thu, 04 Apr 2019 21:38:52 GMT</pubDate><content:encoded>&lt;p&gt;We’re very excited to announce the release of the &lt;a href=&quot;https://developer.squareup.com/docs/more-apis/labor/what-it-does&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Connect v2 Labor API&lt;/a&gt;. Having visibility into daily employee operations and labor costs is a critical part of managing a business. It helps business owners better understand the performance of their business, employees, and ultimately make more informed &amp;#x26; cost-effective…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-our-connect-v2-labor-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Shard Splits with Consistent Snapshots]]></title><description><![CDATA[How to take a copy of something too large to fit in a single shot]]></description><link>https://developer.squareup.com/blog/shard-splits-with-consistent-snapshots</link><guid isPermaLink="false">https://developer.squareup.com/blog/shard-splits-with-consistent-snapshots</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Andrés Taylor]]></dc:creator><pubDate>Tue, 04 Dec 2018 17:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;splitting-shards-into-smaller-shards&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#splitting-shards-into-smaller-shards&quot; aria-label=&quot;splitting shards into smaller shards permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Splitting shards into smaller shards&lt;/h2&gt;
&lt;p&gt;At Square, we have a lot of data being inserted into our databases. To make it possible for MySQL to handle the load, we shard the data using Vitess. Because the amount of data we are receiving is very large and the rate is increasing, we are not do…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/shard-splits-with-consistent-snapshots&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Smooth Signatures]]></title><description><![CDATA[Capturing beautiful signatures on Android]]></description><link>https://developer.squareup.com/blog/smooth-signatures</link><guid isPermaLink="false">https://developer.squareup.com/blog/smooth-signatures</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Eric Burke]]></dc:creator><pubDate>Tue, 27 Jul 2010 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Capturing a signature during a card payment increases security and decreases processing fees. When you pay with Square, instead of signing a receipt with a pen, you sign the screen with your finger:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/6ebruoj4pBDEr6Xq1Z1EXX/192c83347b898511736b703bbeb2ce2f/https___cdn-images-1.medium.com_max_2000_0_CD874Kt_v7IY0gJP.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Tip: Shake the phone to clear the signature.&lt;/p&gt;
&lt;p&gt;The signature shows up on the email receipt and helps Square detect and prevent fraud.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/smooth-signatures&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Integration Testing Resque with Cucumber]]></title><description><![CDATA[Processing asynchronous jobs deterministically]]></description><link>https://developer.squareup.com/blog/integration-testing-resque-with-cucumber</link><guid isPermaLink="false">https://developer.squareup.com/blog/integration-testing-resque-with-cucumber</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 16 Aug 2010 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/z&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Brock&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/matthew&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matthew O’Connor&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square takes &lt;a href=&quot;http://en.wikipedia.org/wiki/Integration_testing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;integration testing&lt;/a&gt; seriously. We use &lt;a href=&quot;http://cukes.info/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cucumber&lt;/a&gt; and &lt;a href=&quot;http://rspec.info/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;RSpec&lt;/a&gt; to test our code during every step of development: on developer pairing machines, continuous integration servers, staging servers and production servers.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/integration-testing-resque-with-cucumber&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Testing Named Scopes]]></title><description><![CDATA[Test your named scopes with Rail code]]></description><link>https://developer.squareup.com/blog/testing-named-scopes</link><guid isPermaLink="false">https://developer.squareup.com/blog/testing-named-scopes</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 14 Oct 2010 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/z&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Brock&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/ceedub&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cameron Walters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Last year Zach wrote a blog post about &lt;a href=&quot;http://pivotallabs.com/users/zach/blog/articles/906-an-easy-way-to-write-named-scope-tests&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;an easy way to test ActiveRecord’s *named_scope&lt;/a&gt;*. It was one of the first snippets he brought with him to the code base here at Square. We’ve been using it extensively ever since. Recently, we made some improvements to the test helper for clarity and ease of use, so we decided it was time to sha…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/testing-named-scopes&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Fsync or Swim Part 1: Error Handling]]></title><description><![CDATA[Heed fsync errors, especially on Android]]></description><link>https://developer.squareup.com/blog/fsync-or-swim-part-1-error-handling</link><guid isPermaLink="false">https://developer.squareup.com/blog/fsync-or-swim-part-1-error-handling</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 17 Mar 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/crazybob&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bob Lee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Welcome to part one of our series on file-based persistence. We’ll talk a lot about Android, but these lessons translate easily to any &lt;a href=&quot;http://en.wikipedia.org/wiki/POSIX&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;POSIX&lt;/a&gt;-compliant platform.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Writing files correctly is notoriously difficult, on par with programming concurrent data structures. In both cases, one must consider data visibility, [re]ordering of operations, and optimizations in the underlying platform. Just like virtual machi…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/fsync-or-swim-part-1-error-handling&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[PostgreSQL: Data is Important]]></title><description><![CDATA[A case for PostgreSQL in a modern web architecture.]]></description><link>https://developer.squareup.com/blog/postgresql-data-is-important</link><guid isPermaLink="false">https://developer.squareup.com/blog/postgresql-data-is-important</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 06 Jun 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/@mikelewis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mike Lewis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At our engineering all-hands meeting, I presented a 5-minute lightning talk on the merits of PostgreSQL. In the spirit of being able to search for data, I converted the deck into the following blog post. Enjoy!&lt;/p&gt;
&lt;h2 id=&quot;postgresql-data-is-important&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#postgresql-data-is-important&quot; aria-label=&quot;postgresql data is important permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PostgreSQL: Data is Important&lt;/h2&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/postgresql-data-is-important&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[BorderPatrol: KML border checking in Ruby]]></title><description><![CDATA[Presenting a gem to import KML files and detect whether or not points are contained within defined regions.]]></description><link>https://developer.squareup.com/blog/borderpatrol-kml-border-checking-in-ruby</link><guid isPermaLink="false">https://developer.squareup.com/blog/borderpatrol-kml-border-checking-in-ruby</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 05 Jul 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/z&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Brock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/square/border_patrol&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BorderPatrol&lt;/a&gt; allows you to easily check if a point exists within a region defined by a KML file. Thanks to Google Map’s KML export and shape drawing, this makes it really easy to define regions of interest and quickly check if points are inside of them. BorderP…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/borderpatrol-kml-border-checking-in-ruby&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Yes, Redis cares about your load balancing strategy]]></title><description><![CDATA[Innocuous details like load balancing web servers can produce downstream results in hard to predict ways.]]></description><link>https://developer.squareup.com/blog/yes-redis-cares-about-your-load-balancing-strategy</link><guid isPermaLink="false">https://developer.squareup.com/blog/yes-redis-cares-about-your-load-balancing-strategy</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 06 Jul 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/squanderingtime&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Chris Chandler&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The funny thing about distributed faults is that they’re largely created by several autonomous systems doing exactly what they’re supposed to do. More often than not the problem is that what they’re normally supposed to do doesn’t translate into how…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/yes-redis-cares-about-your-load-balancing-strategy&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[iOS Integration Testing]]></title><description><![CDATA[A framework for integration testing iOS by simulating user interaction.]]></description><link>https://developer.squareup.com/blog/ios-integration-testing</link><guid isPermaLink="false">https://developer.squareup.com/blog/ios-integration-testing</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 14 Jul 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/firetweet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Firestone&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We love iOS for the fast and versatile experience it offers. But what we think is really cool is that it brings these attributes to the development process as well. The App Store makes short release cycles easy, allowing developers to address feedba…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ios-integration-testing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Cube: Time Series Visualization]]></title><description><![CDATA[Announcing an open-source system for visualizing time series data, built with MongoDB, Node, and D3.]]></description><link>https://developer.squareup.com/blog/cube-time-series-visualization</link><guid isPermaLink="false">https://developer.squareup.com/blog/cube-time-series-visualization</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 15 Sep 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/mbostock&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mike Bostock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We’ve found visualization to be a powerful tool with myriad applications at Square, whether it’s monitoring system performance, analyzing website traffic, helping merchants optimize their business, or finding new ways to combat fraud. So we’re const…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/cube-time-series-visualization&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Codenames]]></title><description><![CDATA[A quick survey of Square codenames.]]></description><link>https://developer.squareup.com/blog/square-codenames</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-codenames</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 29 Sep 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/zachmargolis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Margolis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A lot of engineering projects get codenames. Numbered revisions can sometimes get confusing, and besides, themed names are way cooler anyways. We don’t spend too much time on coming up with codenames, but it’s one of my favorite parts of being a Sof…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-codenames&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Sass Why for the CSS Guy]]></title><description><![CDATA[An intro to Sass and Compass for CSS fans.]]></description><link>https://developer.squareup.com/blog/sass-why-for-the-css-guy</link><guid isPermaLink="false">https://developer.squareup.com/blog/sass-why-for-the-css-guy</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 30 Sep 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/beau&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Beau Smith&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;an-intro-to-sass-and-compass-for-css-fans&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#an-intro-to-sass-and-compass-for-css-fans&quot; aria-label=&quot;an intro to sass and compass for css fans permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;An intro to Sass and Compass for CSS fans.&lt;/h2&gt;
&lt;p&gt;After you start using &lt;a href=&quot;http://sass-lang.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sass&lt;/a&gt; and &lt;a href=&quot;http://compass-style.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Compass&lt;/a&gt; you will never want to write plain CSS ever again. These tools have saved countless hours of development time at Square. This 40-minute video intro (+ slides) should give you a solid overview of how Sass and Compass can change the way you style you…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sass-why-for-the-css-guy&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Why We Pair Interview]]></title><description><![CDATA[An overview of our pairing interviews and why they’re awesome.]]></description><link>https://developer.squareup.com/blog/why-we-pair-interview</link><guid isPermaLink="false">https://developer.squareup.com/blog/why-we-pair-interview</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 05 Oct 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/allenmhc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Allen Cheung&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;this-may-sound-familiar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#this-may-sound-familiar&quot; aria-label=&quot;this may sound familiar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;This May Sound Familiar&lt;/h2&gt;
&lt;p&gt;“&lt;em&gt;Write substr()&lt;/em&gt; for me in order n time.”&lt;/p&gt;
&lt;p&gt;If you’ve ever tried to get a job as a software engineer, you’ve undoubtedly come across the dreaded whiteboard interview: implement this function, and do it efficiently with a clever algorithm. Bonus points for esoteric data structures.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/why-we-pair-interview&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[iOS Integration Testing, Part 2]]></title><description><![CDATA[A continuous integration server for running your tests on every commit.]]></description><link>https://developer.squareup.com/blog/ios-integration-testing-part-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/ios-integration-testing-part-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 04 Nov 2011 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A few months ago, &lt;a href=&quot;https://corner.squareup.com/2011/07/ios-integration-testing.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;we released KIF&lt;/a&gt;, our integration testing framework for iOS. We’ve heard from dozens of teams and companies using KIF to keep their apps functional, and we have &lt;a href=&quot;https://github.com/square/KIF/network&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;over 600 followers and 50 forks on GitHub&lt;/a&gt;. The response has been astounding.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ios-integration-testing-part-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Coding Challenge: The Luhny Bin]]></title><description><![CDATA[Do you have what it takes to escape the Luhny Bin?]]></description><link>https://developer.squareup.com/blog/coding-challenge-the-luhny-bin</link><guid isPermaLink="false">https://developer.squareup.com/blog/coding-challenge-the-luhny-bin</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 14 Nov 2011 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/crazybob&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bob Lee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“To err is human; to forgive, divine.” -Alexander Pope&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mistakes happen. At Square, we accept that human error is inevitable. We anticipate potential slip-ups and implement safety measures to mitigate — and oftentimes completely eliminate — any repercussions.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/coding-challenge-the-luhny-bin&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing SocketRocket: A WebSocket library for Objective-C]]></title><description><![CDATA[SocketRocket is a new WebSocket client library developed by Square’s engineering team]]></description><link>https://developer.squareup.com/blog/introducing-socketrocket-a-websocket-library-for-objective-c</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-socketrocket-a-websocket-library-for-objective-c</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 07 Feb 2012 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/@mikelewis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mike Lewis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://tools.ietf.org/html/rfc6455&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;WebSocket Protocol&lt;/a&gt; is a network protocol designed for the web to enable browsers to have bi-directional communication with a server.&lt;/p&gt;
&lt;p&gt;WebSockets are also useful in native mobile applications. By using WebSockets, you can reuse existing tools built for the web, just like how most mobile apps reuse HTTP for their APIs.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-socketrocket-a-websocket-library-for-objective-c&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Cane: failing your build for code quality problems]]></title><description><![CDATA[A new gem for Ruby 1.9 to assist in keeping code quality high.]]></description><link>https://developer.squareup.com/blog/cane-failing-your-build-for-code-quality-problems</link><guid isPermaLink="false">https://developer.squareup.com/blog/cane-failing-your-build-for-code-quality-problems</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 13 Feb 2012 17:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Code review and pairing are great techniques to keep code quality high, but they are expensive. Automated tools are not.&lt;/p&gt;
&lt;p&gt;The cheapest method for detecting certain classes of problem — method complexity, whitespace issues, missing documentation, missing code coverage — is automation. No one should be distracted by these problems by the time the code gets to review.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/cane-failing-your-build-for-code-quality-problems&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ember and D3: Building responsive analytics]]></title><description><![CDATA[How we bult our web analytics panel with Ember and D3.]]></description><link>https://developer.squareup.com/blog/ember-and-d3-building-responsive-analytics</link><guid isPermaLink="false">https://developer.squareup.com/blog/ember-and-d3-building-responsive-analytics</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 04 Apr 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/allenmhc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Allen Cheung&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A few months back, as we sat down to think about how Square was going to transform the over-the-counter experience with Register 1.0, we also realized that we wanted to augment our users’ understanding of their own businesses with more analytics. We…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ember-and-d3-building-responsive-analytics&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Monitoring Resque with Graphite]]></title><description><![CDATA[Improve the observability of asynchronous jobs by recording and visualizing behavior over time.]]></description><link>https://developer.squareup.com/blog/monitoring-resque-with-graphite</link><guid isPermaLink="false">https://developer.squareup.com/blog/monitoring-resque-with-graphite</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 14 May 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/mbostock&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mike Bostock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square uses &lt;a href=&quot;https://github.com/defunkt/resque&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Resque&lt;/a&gt; to manage scheduling and execution of background jobs. We run millions of jobs every day in prioritized queues, distributing jobs across banks of machines. Resque has a lovely built-in dashboard that shows you the current state of the system: how m…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/monitoring-resque-with-graphite&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using ActionBarSherlock As A Base]]></title><description><![CDATA[Why adding ActionBarSherlock to your applications early will save developer time in the future.]]></description><link>https://developer.squareup.com/blog/using-actionbarsherlock-as-a-base</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-actionbarsherlock-as-a-base</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 15 May 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/1JJt3y9NSjScBK4gyYjnhK/4bdce84483198eb665e8a05d4212cecf/https___cdn-images-1.medium.com_max_2000_1_Z-t95a0o92Wps7D9oEmRmA.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://actionbarsherlock.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ActionBarSherlock&lt;/a&gt; is an open source Android library which aims to bring the full experience of the &lt;a href=&quot;http://developer.android.com/design/patterns/actionbar.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;action bar design pattern&lt;/a&gt; to previous versions of the platform under a unified API and theme. The library delegates to the built-in platform action bar where appropriate and uses a compatibility implementation otherwise.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-actionbarsherlock-as-a-base&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[5 Questions with Eric Burke]]></title><description><![CDATA[An exciting interview with Square Android Engineer Eric Burke.]]></description><link>https://developer.squareup.com/blog/5-questions-with-eric-burke</link><guid isPermaLink="false">https://developer.squareup.com/blog/5-questions-with-eric-burke</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 01 Jun 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/KatieBaynes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Katie&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To kick off our new Corner series “5 Questions With…” I sat down with Android Developer &lt;a href=&quot;https://twitter.com/#!/burke_eric&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Burke&lt;/a&gt; to learn more about what gets him out of bed every morning.&lt;/p&gt;
&lt;h2 id=&quot;what-brought-you-to-square&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-brought-you-to-square&quot; aria-label=&quot;what brought you to square permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What brought you to Square?&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/6rUErnLya2niUh4ii9luEj/de6a16898cfb3c4ef41f6283055f07a3/https___cdn-images-1.medium.com_max_2000_0_fZb5L9nfCQHQkAIw.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;About ten years ago I was working at a St. Louis based consulting company. As luck would have it, I interviewed Bob Lee. As he likes to tell it, I was a terrible interviewer, asking obscure questions about the Servlets and the WEB-INF directory. Bob…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/5-questions-with-eric-burke&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[fdoc: an API Documentation Tool]]></title><description><![CDATA[How we maintain consistent API documentation.]]></description><link>https://developer.squareup.com/blog/fdoc-an-api-documentation-tool</link><guid isPermaLink="false">https://developer.squareup.com/blog/fdoc-an-api-documentation-tool</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 19 Jun 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/@zachmargolis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Margolis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/square/fdoc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;**fdoc&lt;/a&gt;** is a tool we’ve built to help us maintain our API documentation. It provides a schema for our endpoints and a central place for documentation. We’re really excited to open source fdoc today.&lt;/p&gt;
&lt;p&gt;We use fdoc for two things:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/fdoc-an-api-documentation-tool&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Decoupling Android App Communication with Otto]]></title><description><![CDATA[An enhanced Guava-based event bus with emphasis on Android support.]]></description><link>https://developer.squareup.com/blog/decoupling-android-app-communication-with-otto</link><guid isPermaLink="false">https://developer.squareup.com/blog/decoupling-android-app-communication-with-otto</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 02 Jul 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://square.github.com/otto&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Otto&lt;/a&gt; is a tiny but useful library for Android which aims to simplify how
parts of your application communicate with each other.&lt;/p&gt;
&lt;h2 id=&quot;the-situation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-situation&quot; aria-label=&quot;the situation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The Situation&lt;/h2&gt;
&lt;p&gt;As Android applications increase in complexity, ensuring effective communication between different parts becomes more and more difficult.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/decoupling-android-app-communication-with-otto&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Welcome Atlanta Squares]]></title><description><![CDATA[This week, we welcomed a group of talented engineers who will be based in Atlanta.]]></description><link>https://developer.squareup.com/blog/welcome-atlanta-squares</link><guid isPermaLink="false">https://developer.squareup.com/blog/welcome-atlanta-squares</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 20 Jul 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/crazybob&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bob Lee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This week, as part of our largest class of new hires ever, we welcomed to Square a group of talented engineers who will be based in Atlanta. Their experience with various developer tools – like Google Web Toolkit, Google App Engine, Collide, and Dar…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/welcome-atlanta-squares&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Smoother Signatures]]></title><description><![CDATA[Capturing even more beautiful signatures on Android.]]></description><link>https://developer.squareup.com/blog/smoother-signatures</link><guid isPermaLink="false">https://developer.squareup.com/blog/smoother-signatures</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 20 Jul 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@robdickerson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Rob Dickerson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In a &lt;a href=&quot;https://corner.squareup.com/2010/07/smooth-signatures.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;previous post&lt;/a&gt;, we described how Square makes signatures appear smooth on Android devices. In the latest release of Square Card Reader, we’ve made signing on Android devices even smoother, more beautiful, and more responsive. The three major changes are an improv…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/smoother-signatures&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[4 Questions with Madelin Woords]]></title><description><![CDATA[An exciting interview with Square Front-End Engineer Madelin Woods.]]></description><link>https://developer.squareup.com/blog/4-questions-with-madelin-woords</link><guid isPermaLink="false">https://developer.squareup.com/blog/4-questions-with-madelin-woords</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 23 Jul 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/KatieBaynes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Katie&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We know you love the technical details of how we run things at Square, but we thought you might also love to meet the amazing people behind it. Meet &lt;a href=&quot;https://twitter.com/madw&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Madelin&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id=&quot;what-were-you-doing-before-square&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-were-you-doing-before-square&quot; aria-label=&quot;what were you doing before square permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What were you doing before Square?&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/1yxic2eNQvAcWt375Hvo1b/80673633d25ae54aa9d475e095366fe8/https___cdn-images-1.medium.com_max_2000_0_c6YdkjL9KCjdIUZB.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Before Square, I was a designer at a local development agency, and previously worked as a web developer at Make Magazine. It’s an interesting and tough transition between design and code, but has ultimately shaped the way I approach problem solving.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/4-questions-with-madelin-woords&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Chasing a Cunning Android bug]]></title><description><![CDATA[Tracking down a deep Android bug.]]></description><link>https://developer.squareup.com/blog/chasing-a-cunning-android-bug</link><guid isPermaLink="false">https://developer.squareup.com/blog/chasing-a-cunning-android-bug</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 06 Aug 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Most software bugs are small, pesky problems with an obvious cause and a simple solution. But every once in a while I encounter a bug who is more advanced: a bug that hides in the shadows of other bugs, avoiding detection by its coffee-drinking pred…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/chasing-a-cunning-android-bug&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Pump: A Faster Way To Write Cascading Flows]]></title><description><![CDATA[Check out the new helper we’ve released to cut down on the verbosity of Cascading Flows.]]></description><link>https://developer.squareup.com/blog/pump-a-faster-way-to-write-cascading-flows</link><guid isPermaLink="false">https://developer.squareup.com/blog/pump-a-faster-way-to-write-cascading-flows</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 27 Aug 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/bryanduxbury&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bryan Duxbury&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One of the tools that Square uses for “big data” analysis is &lt;a href=&quot;http://cascading.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cascading&lt;/a&gt;. There are plenty of competitors in the same space (&lt;a href=&quot;https://github.com/cloudera/crunch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://pig.apache.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;https://github.com/Yelp/mrjob&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;3&lt;/a&gt;), but we particularly like Cascading because of its language model and its extensibility.&lt;/p&gt;
&lt;p&gt;However, one of the things we don’t like about Cascading is how much code it can take to write even simple Flows. This is an understandable consequence of being a DSL hosted in Java, but it can be a real drag on productivity, particularly when tryin…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/pump-a-faster-way-to-write-cascading-flows&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[PonyDebugger: Remote Debugging Tools for Native iOS Apps]]></title><description><![CDATA[Remote network and data debugging with Chrome Developer Tools.]]></description><link>https://developer.squareup.com/blog/ponydebugger-remote-debugging-tools-for-native-ios-apps</link><guid isPermaLink="false">https://developer.squareup.com/blog/ponydebugger-remote-debugging-tools-for-native-ios-apps</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 30 Aug 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/wlue&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wen-Hao Lue&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/@mikelewis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mike Lewis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Web developers have amazing debugging tools right now with Chrome Developer Tools, WebKit Inspector, and FireBug. The iOS team at Square thought, “Why can’t iOS developers use this toolset for native applications?”&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ponydebugger-remote-debugging-tools-for-native-ios-apps&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Intern Profile — Kingston Tam]]></title><description><![CDATA[What’s a summer as a Square Intern like?]]></description><link>https://developer.squareup.com/blog/intern-profile-kingston-tam</link><guid isPermaLink="false">https://developer.squareup.com/blog/intern-profile-kingston-tam</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 11 Oct 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/KingstonTam&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kingston Tam&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This summer our engineering team was fortunate enough to be joined by fantastic, exuberant talent from schools across the country. From this year’s amazing crop of summer interns, we’d like you to meet Stanford senior Kingston Tam.&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/intern-profile-kingston-tam&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Mockito on Android]]></title><description><![CDATA[Unit testing Android apps with Mockito and DexMaker.]]></description><link>https://developer.squareup.com/blog/mockito-on-android</link><guid isPermaLink="false">https://developer.squareup.com/blog/mockito-on-android</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 22 Oct 2012 16:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square we love unit tests. Our comprehensive test suite helps us to develop Android apps with confidence.&lt;/p&gt;
&lt;p&gt;But without proper tools many scenarios are cumbersome to unit test. For example, suppose we want to pump up the device’s volume in Square Wallet. We have a method that cranks the ringer up to eleven unless the phone is silent:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/mockito-on-android&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Squash: The open-source exception notification tool]]></title><description><![CDATA[Squash makes it easier to find and fix your bugs by providing advanced notification and analysis tools.]]></description><link>https://developer.squareup.com/blog/introducing-squash-the-open-source-exception-notification-tool</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-squash-the-open-source-exception-notification-tool</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 16 Jan 2013 17:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/riscfuture&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tim Morgan&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Squash is a web app and collection of client libraries that records exceptions in your code, and gives you the tools you need to analyze and fix the bugs that caused those exceptions. The main emphasis is finding someone who can take responsibility …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-squash-the-open-source-exception-notification-tool&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Transparency with JPEGs]]></title><description><![CDATA[Combining the compression of JPEGs and the transparency of PNGs for a 90% compression gain.]]></description><link>https://developer.squareup.com/blog/transparency-with-jpegs</link><guid isPermaLink="false">https://developer.squareup.com/blog/transparency-with-jpegs</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 18 Jan 2013 17:01:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/AntiXian666&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Christian Williams&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/kiranryali&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kiran Ryali&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We have some of the best — and most demanding — designers in the world at Square.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/3tod6j0spOB728Knr6VlY8/b570bb6fe7608e833be10d3f1e55b5ac/https___cdn-images-1.medium.com_max_2000_0_E9Moqp_bncc5fESj.gif&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;While pushing the bounds of design, we tend to push the bounds of the platform. For the new version of Wallet, our designers asked for a landing page with high resolution transparent images. These images would animate over each other creating a real…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/transparency-with-jpegs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[TimesSquare: a calendar view for iOS and Android apps]]></title><description><![CDATA[A fast, customizable calendar component with full internationalization support.]]></description><link>https://developer.squareup.com/blog/timessquare-a-calendar-view-for-ios-and-android-apps</link><guid isPermaLink="false">https://developer.squareup.com/blog/timessquare-a-calendar-view-for-ios-and-android-apps</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 31 Jan 2013 17:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/beerandpork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric D&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Have you sent a gift card with &lt;a href=&quot;http://squareup.com/wallet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Wallet&lt;/a&gt; yet? You can treat all of your friends to their favorite neighborhood spot — no matter where you are — instantly from your phone.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/3Yh1LKk6vZR6KOEKS69lZ0/564e325ce8dc0a478f89f104ff0b0089/https___cdn-images-1.medium.com_max_2000_1_l95O_-LYwYTKm7dxZTmaSw.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/DTqX6o2mGj2F9vKlqBG9v/6cfce5bdb2c8d1fe68a2be00642bab6f/https___cdn-images-1.medium.com_max_2000_1_JObV9OWkYPVPwm5k4P4ipA.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;And if you’re one to leave gift-giving to the last minute, Square has you covered. Your sweetheart will never be disappointed when you pre-select the day you want the gift card delivered.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/timessquare-a-calendar-view-for-ios-and-android-apps&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[ES6 Module Transpiler — Tomorrow’s JavaScript module syntax today]]></title><description><![CDATA[Using the draft ES6 module syntax in today’s frameworks and applications.]]></description><link>https://developer.squareup.com/blog/es6-module-transpiler-tomorrows-javascript-module-syntax-today</link><guid isPermaLink="false">https://developer.squareup.com/blog/es6-module-transpiler-tomorrows-javascript-module-syntax-today</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 15 Feb 2013 17:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/eventualbuddha&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brian Donovan&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Modern JavaScript has a number of different ways to modularize your code. Each approach has its own advantages and disadvantages, but none of them strike the right balance. At Square we have a number of different web applications using a variety of …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/es6-module-transpiler-tomorrows-javascript-module-syntax-today&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Hacking Up the Odominator]]></title><description><![CDATA[A look at what a few of our engineers did last Hack Week.]]></description><link>https://developer.squareup.com/blog/hacking-up-the-odominator</link><guid isPermaLink="false">https://developer.squareup.com/blog/hacking-up-the-odominator</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 06 Mar 2013 17:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/bryanduxbury&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bryan Duxbury&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Like most Squares, I like to make things. By day, that means coding up a storm, but by night, you can often find me standing over a laser cutter or inhaling some solder fumes. When our quarterly Hack Week rolls around, I like to try to think of proj…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/hacking-up-the-odominator&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Mapping Square Payments During the Super Bowl]]></title><description><![CDATA[Building on open tools and data to share our payments story under a tight deadline.]]></description><link>https://developer.squareup.com/blog/mapping-square-payments-during-the-super-bowl</link><guid isPermaLink="false">https://developer.squareup.com/blog/mapping-square-payments-during-the-super-bowl</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 11 Mar 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/RandomEtc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tom Carden&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Data visualization touches many aspects of Square’s business, from the &lt;a href=&quot;https://corner.squareup.com/2012/04/building-analytics.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;interactive reports on our merchant dashboards&lt;/a&gt; to our &lt;a href=&quot;https://corner.squareup.com/2011/09/cube.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;internal metrics&lt;/a&gt; and &lt;a href=&quot;https://corner.squareup.com/2012/05/resque-graphite.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;monitoring tools&lt;/a&gt;. In addition to these activities we look for occasional opportunities to visualize the activity around an event or promotion.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/mapping-square-payments-during-the-super-bowl&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Driving Analysis by Managing Data with ETL (a Ruby gem!)]]></title><description><![CDATA[A look at a Ruby gem that Square’s Business Intelligence team wrote to facilitate ETLs.]]></description><link>https://developer.squareup.com/blog/driving-analysis-by-managing-data-with-etl-a-ruby-gem</link><guid isPermaLink="false">https://developer.squareup.com/blog/driving-analysis-by-managing-data-with-etl-a-ruby-gem</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 14 Mar 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jfi&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jeff Iacono&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;business-intelligence-at-square&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#business-intelligence-at-square&quot; aria-label=&quot;business intelligence at square permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Business Intelligence at Square&lt;/h2&gt;
&lt;p&gt;At Square there are two main teams who ensure that data is accessible and accurate for analysis across the company. The Data Engineering team takes data from disparate sources and feeds it into databases that are accessible to analysts. The Business…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/driving-analysis-by-managing-data-with-etl-a-ruby-gem&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square’s Open Source Portal]]></title><description><![CDATA[A central listing of our open source projects.]]></description><link>https://developer.squareup.com/blog/announcing-squares-open-source-portal</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-squares-open-source-portal</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 18 Mar 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I am happy to announce that a listing of all the open source projects from Square can now be found at &lt;a href=&quot;http://square.github.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;**square.github.com&lt;/a&gt;**!&lt;/p&gt;
&lt;p&gt;As a company, Square relies on numerous projects run by the open source community to function. In an effort to contribute back to the community we have open sourced many projects developed internally. Before today the only way to discover these proj…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-squares-open-source-portal&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Java Puzzle: Square Root]]></title><description><![CDATA[Show your Java-fu by calculating the unknown.]]></description><link>https://developer.squareup.com/blog/java-puzzle-square-root</link><guid isPermaLink="false">https://developer.squareup.com/blog/java-puzzle-square-root</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 19 Mar 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@WouterCoekaerts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wouter Coekaerts&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There are several &lt;a href=&quot;http://mathworld.wolfram.com/SquareRootAlgorithms.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;algorithms&lt;/a&gt; &lt;a href=&quot;http://www.wikihow.com/Calculate-a-Square-Root-by-Hand&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;to&lt;/a&gt; &lt;a href=&quot;http://www.amazon.com/Casio-SL-300VC-PK-Standard-Function-Calculator/dp/B003825ODA/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;calculate&lt;/a&gt; a &lt;a href=&quot;http://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;square&lt;/a&gt; root. But to solve this puzzle, you’ll need a different approach.&lt;/p&gt;
&lt;p&gt;Can you find the square root of a huge number, without even looking at it?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;package square**;**

import java.math.BigInteger;
import java.security.SecureRandom;

public class SquareRoot {
  public static final int BITS = 10000;

  private static BigInteger n =
    new BigInteger(BITS, new SecureRandom()).pow(2);

  public s…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/java-puzzle-square-root&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Making TimesSquare fast on iOS]]></title><description><![CDATA[Showing a calendar is easy. Showing it quickly isn’t quite so simple.]]></description><link>https://developer.squareup.com/blog/making-timessquare-fast-on-ios</link><guid isPermaLink="false">https://developer.squareup.com/blog/making-timessquare-fast-on-ios</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 20 Mar 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A couple of months ago, &lt;a href=&quot;https://corner.squareup.com/2013/01/times-square.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;we told you about TimesSquare&lt;/a&gt;, an open-source library for displaying calendars on &lt;a href=&quot;https://github.com/square/objc-TimesSquare&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;iOS&lt;/a&gt; and &lt;a href=&quot;https://github.com/square/android-times-square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Android&lt;/a&gt; that’s fast and flexible.&lt;/p&gt;
&lt;p&gt;Making it flexible was easy enough: use the system calendar APIs to do all of your calculations, put each week into a table row, call it a day. Everybody is pretty good at coming up with custom table rows.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/making-timessquare-fast-on-ios&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Java Puzzle: Square Root — Solution]]></title><description><![CDATA[Show your Java-fu by calculating the unknown.]]></description><link>https://developer.squareup.com/blog/java-puzzle-square-root-solution</link><guid isPermaLink="false">https://developer.squareup.com/blog/java-puzzle-square-root-solution</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 25 Mar 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@WouterCoekaerts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wouter Coekaerts&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here’s the solution to our &lt;a href=&quot;https://corner.squareup.com/2013/03/puzzle-square-root.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;square root puzzle&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;sherlock&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sherlock&quot; aria-label=&quot;sherlock permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sherlock&lt;/h2&gt;
&lt;p&gt;Take another look at that code, and use your imagination. Imagine that you &lt;em&gt;are&lt;/em&gt; the SquareRoot class. You have a square number written on a secret piece of paper in your pocket. Sherlock is interrogating you to figure out its square root. Whenever he makes a guess, you divide your number by that guess (integer division), and i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/java-puzzle-square-root-solution&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Resurrection of Testing for Android]]></title><description><![CDATA[An oft-overlooked aspect of development gets a fresh look.]]></description><link>https://developer.squareup.com/blog/the-resurrection-of-testing-for-android</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-resurrection-of-testing-for-android</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 03 Apr 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When testing Android applications, documentation and tools can be sparse. At Square, verifying the behavior of our applications is an essential part of our day-to-day development — and to make testing easier, we have created and refined a set of too…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-resurrection-of-testing-for-android&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Run All Projects Like Open Source Projects]]></title><description><![CDATA[You can move faster when other people can contribute to your projects and unblock themselves.]]></description><link>https://developer.squareup.com/blog/run-all-projects-like-open-source-projects</link><guid isPermaLink="false">https://developer.squareup.com/blog/run-all-projects-like-open-source-projects</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 09 Apr 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I run all of my internal company projects the same way I run my open source projects.&lt;/p&gt;
&lt;p&gt;Fundamentally this means focusing on stewardship, not ownership. Push feature requests back on to those requesting them. Don’t feel compelled to implement everything everyone asks of you. Fix the most critical bugs, but others should feel encouraged…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/run-all-projects-like-open-source-projects&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Inside a Square Inforad]]></title><description><![CDATA[A dive into the information radiators in use at Square.]]></description><link>https://developer.squareup.com/blog/inside-a-square-inforad</link><guid isPermaLink="false">https://developer.squareup.com/blog/inside-a-square-inforad</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 24 Apr 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by Sean Lazar.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we have inforads (information radiators) hanging all over the office. They display everything from up-to-the-minute metrics about our business, to software build and infrastructure statuses, and even the day’s lunch menu. Other inforads d…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/inside-a-square-inforad&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[What’s It Like To Work At A Startup]]></title><description><![CDATA[Square’s own Engineering Manager Zach Brock recently participated in a live webcast entitled Startup Life. Here are answers to some of the questions they didn’t have time to answer.]]></description><link>https://developer.squareup.com/blog/whats-it-like-to-work-at-a-startup</link><guid isPermaLink="false">https://developer.squareup.com/blog/whats-it-like-to-work-at-a-startup</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 02 May 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/z&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Brock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square’s own Engineering Manager Zach Brock recently participated in a live webcast entitled Startup Life. The webcast was organized by Readyforce, who helps connect students with startups. Zach spent an hour answering questions from students about …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/whats-it-like-to-work-at-a-startup&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Seven Days of Open Source]]></title><description><![CDATA[Releasing major milestones of our open source projects.]]></description><link>https://developer.squareup.com/blog/seven-days-of-open-source</link><guid isPermaLink="false">https://developer.squareup.com/blog/seven-days-of-open-source</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 06 May 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square Engineering is celebrating the arrival of Google’s annual &lt;a href=&quot;https://developers.google.com/events/io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;I/O conference&lt;/a&gt; here in San Francisco by releasing seven open source projects, all of which are major milestones for us.&lt;/p&gt;
&lt;p&gt;Two of the major development platforms in focus at I/O are Android and Java. At Square, we are deeply invested in both of these platforms. As such, all of the releases over the next seven weekdays will be focused on one or both of these great techno…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/seven-days-of-open-source&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing OkHttp]]></title><description><![CDATA[Square’s new HTTP client for Android and Java.]]></description><link>https://developer.squareup.com/blog/announcing-okhttp</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-okhttp</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 06 May 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Android has two HTTP clients built-in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Apache HTTP Client&lt;/strong&gt; is stable yet basic.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;HttpURLConnection&lt;/strong&gt; supports advanced &lt;a href=&quot;http://developer.android.com/reference/android/net/http/HttpResponseCache.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;features&lt;/a&gt;, but suffers a few &lt;a href=&quot;http://android-developers.blogspot.ca/2011/09/androids-http-clients.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;annoying bugs&lt;/a&gt; on older devices.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At Square, we want it all: advanced features that work right on every device. We also want to ship new tech without waiting for new Android releases.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-okhttp&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Slash Your Wiring Code With Dagger]]></title><description><![CDATA[Why we created a new dependency injector for Android.]]></description><link>https://developer.squareup.com/blog/slash-your-wiring-code-with-dagger</link><guid isPermaLink="false">https://developer.squareup.com/blog/slash-your-wiring-code-with-dagger</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 07 May 2013 16:02:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I hate the wiring code that creeps in as my app grows. The SyncService needs an HttpClient and the AccountProfile needs a PhotoPicker. In each case I need either a difficult-to-test direct dependency, or to write a clumsy Factory thingy:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/slash-your-wiring-code-with-dagger&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[MimeCraft, JavaWriter, and ProtoParser]]></title><description><![CDATA[Small and focused libraries doing one task well.]]></description><link>https://developer.squareup.com/blog/mimecraft-javawriter-and-protoparser</link><guid isPermaLink="false">https://developer.squareup.com/blog/mimecraft-javawriter-and-protoparser</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 08 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In any complex project you’ll need a variety of tools to solve a variety of problems. The general rule that we use when developing libraries is “perform one task and perform it well”. Here are three purpose-built libraries which do just that:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/mimecraft-javawriter-and-protoparser&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Better Android Testing with Robolectric 2.0]]></title><description><![CDATA[The essential framework for testing Android applications]]></description><link>https://developer.squareup.com/blog/better-android-testing-with-robolectric-2-0</link><guid isPermaLink="false">https://developer.squareup.com/blog/better-android-testing-with-robolectric-2-0</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 09 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;Written by &lt;a href=&quot;https://twitter.com/AntiXian666&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Christian Williams&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As &lt;a href=&quot;https://corner.squareup.com/2013/04/the-resurrection-of-testing-for-android.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;we have mentioned before on this blog&lt;/a&gt;, verifying the behavior of our applications is an essential part of our day-to-day development. Robolectric is a framework which facilitates writing unit tests for your Android code, which we use extensively at Square. Today we are happy to announc…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/better-android-testing-with-robolectric-2-0&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Boost Your Productivity with IntelliJ Plugins]]></title><description><![CDATA[Plugins to complement Dagger and Otto.]]></description><link>https://developer.squareup.com/blog/boost-your-productivity-with-intellij-plugins</link><guid isPermaLink="false">https://developer.squareup.com/blog/boost-your-productivity-with-intellij-plugins</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 10 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/kiranryali&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kiran Ryali&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As developers, we rely on our tools to keep us productive and focused. The better our tools, the more productive we can be. Today, we are releasing IntelliJ plugins designed to complement two of our popular open source libraries, &lt;a href=&quot;http://square.github.io/dagger/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dagger&lt;/a&gt; and &lt;a href=&quot;http://square.github.io/otto/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Otto&lt;/a&gt;.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/boost-your-productivity-with-intellij-plugins&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square at Google I/O Developer Sandbox]]></title><description><![CDATA[Speak with engineers about our open source offerings]]></description><link>https://developer.squareup.com/blog/square-at-google-i-o-developer-sandbox</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-at-google-i-o-developer-sandbox</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 13 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you are attending &lt;a href=&quot;https://developers.google.com/events/io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google I/O&lt;/a&gt; this year then be sure to stop by Square’s booth in the &lt;a href=&quot;https://developers.google.com/events/io/developer-sandbox#t-android&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Developer Sandbox&lt;/a&gt;! Engineers will be on-hand to show demos and answer questions about our open source tools and libraries.&lt;/p&gt;
&lt;p&gt;Google I/O is an annual developer conference featuring highly technical, in-depth sessions, and showcasing the latest from Google’s product teams and partners. Google I/O returns to San Francisco’s Moscone West Convention Center from May 15–17, 2013.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-at-google-i-o-developer-sandbox&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Easy HTTP Requests with Retrofit]]></title><description><![CDATA[A declarative, type-safe REST client.]]></description><link>https://developer.squareup.com/blog/easy-http-requests-with-retrofit</link><guid isPermaLink="false">https://developer.squareup.com/blog/easy-http-requests-with-retrofit</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 13 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There are few fundamentals to application development. One that is almost always guaranteed is making HTTP requests and reading their responses. Retrofit is an open source library from Square which simplifies HTTP communication by turning remote API…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/easy-http-requests-with-retrofit&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Enhance Your Application Using Picasso]]></title><description><![CDATA[A fluent image downloading and caching library for Android.]]></description><link>https://developer.squareup.com/blog/enhance-your-application-using-picasso</link><guid isPermaLink="false">https://developer.squareup.com/blog/enhance-your-application-using-picasso</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 14 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dnkoutso&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;D. Koutsogiorgas&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today, we would like to introduce and open source Picasso, our solution for image downloading and caching on Android.&lt;/p&gt;
&lt;p&gt;Picasso aims to be fast and simple to use — often requiring only one line of code.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Picasso**.**with**(**context**).**load**(**&quot;http://example.com/logo.png&quot;**).**into**(**imageView**);**
&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/enhance-your-application-using-picasso&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Replacing Google Authenticator with Yubikey on OS X]]></title><description><![CDATA[Two-factor authentication made even easier.]]></description><link>https://developer.squareup.com/blog/replacing-google-authenticator-with-yubikey-on-os-x</link><guid isPermaLink="false">https://developer.squareup.com/blog/replacing-google-authenticator-with-yubikey-on-os-x</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 28 May 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After two consecutive days leaving my phone at home, it started to hit home just how hard it was to do my job on the Production Engineering team without being able to access our datacenters. We require &lt;a href=&quot;http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;two-factor authentication for SSH&lt;/a&gt;, using a TOTP with the freely available &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/replacing-google-authenticator-with-yubikey-on-os-x&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[JRuby at Square]]></title><description><![CDATA[The first of a series of posts highlighting discoveries and insights found while integrating Ruby with our robust Java stack.]]></description><link>https://developer.squareup.com/blog/jruby-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/jruby-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 25 Jun 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;*Written by &lt;a href=&quot;https://medium.com/@daicoden&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*Matt Wilson&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Recently we internally launched Minecart, a project that deeply ties Ruby applications into our Java service infrastructure. To accomplish this we had to dive into the bowels of JRuby. My hope is to share many of our learnings along with a couple of…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/jruby-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Guice for the Rubyist]]></title><description><![CDATA[A little about our infrastructure and some code to showcase integration with Guice for Ruby.]]></description><link>https://developer.squareup.com/blog/guice-for-the-rubyist</link><guid isPermaLink="false">https://developer.squareup.com/blog/guice-for-the-rubyist</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 26 Jun 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/matthewtodd&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matthew Todd&lt;/a&gt; and &lt;a href=&quot;https://medium.com/@daicoden&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matt Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square heavily utilizes &lt;a href=&quot;https://code.google.com/p/google-guice/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Guice&lt;/a&gt; in its Java codebase. Rather than fully wire Ruby into the dependency graph, we’ve built a small API to simulate field injection onto our Ruby objects. This allows our developers to write native-feeling Ruby code while still providing access to the…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/guice-for-the-rubyist&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using Java Protocol Buffers in JRuby]]></title><description><![CDATA[Square communicates between services using Protocol Buffers. These binary formats are great for documenting API’s, small on the wire, and with a little work, easy to use.]]></description><link>https://developer.squareup.com/blog/using-java-protocol-buffers-in-jruby</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-java-protocol-buffers-in-jruby</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 27 Jun 2013 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/hassox&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Daniel Neighman&lt;/a&gt; and &lt;a href=&quot;https://medium.com/@daicoden&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matt Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we use &lt;a href=&quot;https://developers.google.com/protocol-buffers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Protocol Buffers&lt;/a&gt; for communication between services. Ruby has good &lt;a href=&quot;https://github.com/localshred/protobuf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;native Protocol Buffer support&lt;/a&gt;, but by using the compiled Java classes, we can leverage all the benefits of any extensions and infrastructure relying on those extensions. We’ll demonstrate how we utilize Java-backed Protocol Buffers while still enjoying idiomatic Ruby for Protoc…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-java-protocol-buffers-in-jruby&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Ruby Sequel ORM on the Hibernate Connection Pool]]></title><description><![CDATA[We will demonstrate how to unify access to your database by leveraging the same connection in Java and JRuby.]]></description><link>https://developer.squareup.com/blog/the-ruby-sequel-orm-on-the-hibernate-connection-pool</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-ruby-sequel-orm-on-the-hibernate-connection-pool</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 28 Jun 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/hassox&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Daniel Neighman&lt;/a&gt; and &lt;a href=&quot;https://medium.com/@daicoden&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matt Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square’s Java services use either &lt;a href=&quot;http://www.hibernate.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hibernate&lt;/a&gt; or &lt;a href=&quot;http://www.jooq.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jooq&lt;/a&gt; as their ORM. As with the theme of the series, we have some pretty cool infrastructure which instruments and enforces proper use of database connections. In this post we will show how to put the Ruby ORM, &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-ruby-sequel-orm-on-the-hibernate-connection-pool&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Maven, Gems, and a JRuby Console for All]]></title><description><![CDATA[We will show how to add a JRuby console to any maven project… with gems!]]></description><link>https://developer.squareup.com/blog/maven-gems-and-a-jruby-console-for-all</link><guid isPermaLink="false">https://developer.squareup.com/blog/maven-gems-and-a-jruby-console-for-all</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 02 Jul 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@daicoden&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matt Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;How great would it be if your Java and Ruby applications had access to equivalent consoles? At Square, we use &lt;a href=&quot;http://maven.apache.org/plugins/maven-shade-plugin&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shaded jars&lt;/a&gt; to distribute and run applications. A shaded jar contains all the necessary dependencies and allows any app to be started simply via java -jar path-to-jar.jar. We have also been able to bundle our JRuby integration framework (Minecart) into these s…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/maven-gems-and-a-jruby-console-for-all&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Rack Servlet]]></title><description><![CDATA[Embed Rack applications in your Java service.]]></description><link>https://developer.squareup.com/blog/rack-servlet</link><guid isPermaLink="false">https://developer.squareup.com/blog/rack-servlet</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 11 Jul 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/matthewtodd&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matthew Todd&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today we’re releasing &lt;a href=&quot;https://github.com/square/rack-servlet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Rack Servlet&lt;/a&gt;, a small JRuby-backed servlet designed for embedding in your Java application.&lt;/p&gt;
&lt;p&gt;Rack Servlet comes from our ongoing &lt;a href=&quot;https://corner.squareup.com/2013/06/jruby-at-square.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Minecart&lt;/a&gt; work to bring Ruby applications into Square’s sophisticated Java service container.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rack-servlet&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Reversing Bits in C]]></title><description><![CDATA[A small performance investigation into innocent-looking code.]]></description><link>https://developer.squareup.com/blog/reversing-bits-in-c</link><guid isPermaLink="false">https://developer.squareup.com/blog/reversing-bits-in-c</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 01 Aug 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/c_nich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Charles Nicholson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Thanks to readers &lt;strong&gt;rjs&lt;/strong&gt;, &lt;strong&gt;meteorfox&lt;/strong&gt; in the comments, and reader &lt;a href=&quot;http://www.reddit.com/user/lnxturtle&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;lnxturtle&lt;/a&gt; over on the &lt;a href=&quot;http://www.reddit.com/r/programming/comments/1jdhwy/reversing_bits_in_c/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reddit thread&lt;/a&gt; (!) for correcting my poor choice of words. I incorrectly used the phrase &lt;a href=&quot;http://en.wikipedia.org/wiki/Cache_coherence&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cache Coherence&lt;/a&gt; when the correct phrase was &lt;a href=&quot;http://en.wikipedia.org/wiki/Locality_of_reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;(Spatial / Temporal) Cache Locality&lt;/a&gt;. Your attention to detail is appreciated!&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/reversing-bits-in-c&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Small Grunts]]></title><description><![CDATA[Learn the very basics for using Grunt with your Javascript.]]></description><link>https://developer.squareup.com/blog/small-grunts</link><guid isPermaLink="false">https://developer.squareup.com/blog/small-grunts</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 06 Aug 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/strathmeyer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Strathmeyer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we encourage people to not limit their ideas to things they already know how to do. There are plenty of opportunities for people to expand their skills, like programming classes for engineers and non-engineers. Here’s a post I shared on m…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/small-grunts&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Responsive Images with Apropos]]></title><description><![CDATA[A simple way to serve up appropriate images for every visitor.]]></description><link>https://developer.squareup.com/blog/responsive-images-with-apropos</link><guid isPermaLink="false">https://developer.squareup.com/blog/responsive-images-with-apropos</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 21 Aug 2013 16:03:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/_gjg_&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gabriel Gilder&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;有志による日本語訳は&lt;a href=&quot;http://l4d.herokuapp.com/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;こちら&lt;/a&gt;から。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When Square’s front-end engineering team was building our &lt;a href=&quot;https://squareup.com/jp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Japanese website&lt;/a&gt;, we decided early on that we needed to support a wide variety of devices, and that responsive design was the right way to do that. (Who wants to support a completely separate “mobile site”?) However, we weren’t sure how we would serve every visitor…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/responsive-images-with-apropos&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Bluetooth Printing Support for iPad]]></title><description><![CDATA[A retrospective look on the engineering challenges of Bluetooth Printer support on iOS]]></description><link>https://developer.squareup.com/blog/bluetooth-printing-support-for-ipad</link><guid isPermaLink="false">https://developer.squareup.com/blog/bluetooth-printing-support-for-ipad</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 22 Aug 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by Grant Kennell.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;intro&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#intro&quot; aria-label=&quot;intro permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Intro&lt;/h2&gt;
&lt;p&gt;I’m a software engineering intern at Square and have been working on Bluetooth printer support for iPad. This feature was released in our latest Square Register build and brings physical receipt printing using Star printers to a mobile customer base…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/bluetooth-printing-support-for-ipad&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Wire Protocol Buffers]]></title><description><![CDATA[A new, lightweight implementation of Protocol Buffers for Android.]]></description><link>https://developer.squareup.com/blog/introducing-wire-protocol-buffers</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-wire-protocol-buffers</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 23 Aug 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by Dan Rice.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;what-is-wire&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-wire&quot; aria-label=&quot;what is wire permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What is Wire?&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/square/wire&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wire&lt;/a&gt; is a new, open-source implementation of Google’s &lt;a href=&quot;https://code.google.com/p/protobuf/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Protocol Buffers&lt;/a&gt;. It’s meant for Android devices but can be used on anything that runs Java language code.&lt;/p&gt;
&lt;p&gt;At Square, we use Protocol Buffers extensively. Protocol Buffers are a language- and platform-neutral schema for describing and transmitting data. Developers can use the same schemas across diverse environments, including the environments we care ab…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-wire-protocol-buffers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[LGTM: A Validation Library for JavaScript]]></title><description><![CDATA[Simple asynchronous object validation for node.js and the browser.]]></description><link>https://developer.squareup.com/blog/lgtm-a-validation-library-for-javascript</link><guid isPermaLink="false">https://developer.squareup.com/blog/lgtm-a-validation-library-for-javascript</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 26 Aug 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/eventualbuddha&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brian Donovan&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Validating user input and displaying error messages is a core part of nearly any application, especially when that application is a web page. There are many existing solutions to this problem, but too often they make assumptions that don’t work for …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/lgtm-a-validation-library-for-javascript&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Fly Vim, First-Class]]></title><description><![CDATA[A Vim starter kit for OS X. Batteries included.]]></description><link>https://developer.squareup.com/blog/fly-vim-first-class</link><guid isPermaLink="false">https://developer.squareup.com/blog/fly-vim-first-class</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 28 Aug 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/strongriley&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Riley Strong&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Engineers at Square use a wide variety of code editors: Sublime, IntelliJ, Xcode, and Vim are among the most popular. Over time, the Square Vim enthusiasts have compiled settings, shortcuts, and plugins into a single repo we lovingly call &lt;a href=&quot;http://github.com/square/maximum-awesome&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Maximum Awesome&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/fly-vim-first-class&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s Code Camp for High School and College Women Engineering Students]]></title><description><![CDATA[A past participant (and Square convert!)’s experiences with Square’s programs for women in tech.]]></description><link>https://developer.squareup.com/blog/squares-code-camp-for-high-school-and-college-women-engineering-students</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-code-camp-for-high-school-and-college-women-engineering-students</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 04 Sep 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/khhawthorne&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kat Hawthorne&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Last year I participated in Square’s inaugural &lt;a href=&quot;http://www.squareup.com/code-camp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;College Code Camp&lt;/a&gt;, a four-day immersion program for women engineering students from all over the United States and Canada. The program was built around four (we like the number four a lot at Square) foundational goals: leadership, community, engineering ability, and…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-code-camp-for-high-school-and-college-women-engineering-students&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Kochiku: CI for long test suites]]></title><description><![CDATA[A new Continuous Integration tool from Square]]></description><link>https://developer.squareup.com/blog/kochiku-ci-for-long-test-suites</link><guid isPermaLink="false">https://developer.squareup.com/blog/kochiku-ci-for-long-test-suites</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 06 Sep 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/robolson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Rob Olson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/1btgpctVsTqviOWhDMifkO/6db385615b71bf12686eb833689c1cbd/https___cdn-images-1.medium.com_max_2000_0_DuMHfdif28h4w82p.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Back in the summer of 2011, every request to Square’s servers went through a single monolithic Rails application we lovingly call SquareWeb. At the time, SquareWeb had hundreds of models and controllers, all with tests to cover their behavior. In ad…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/kochiku-ci-for-long-test-suites&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Pair Programming Interviews]]></title><description><![CDATA[An Intern’s Interview Experience]]></description><link>https://developer.squareup.com/blog/pair-programming-interviews</link><guid isPermaLink="false">https://developer.squareup.com/blog/pair-programming-interviews</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 11 Sep 2013 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/justaparth&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Parth Upadhyay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;about-me&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#about-me&quot; aria-label=&quot;about me permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;About Me&lt;/h2&gt;
&lt;p&gt;My name is Parth Upadhyay and I’m a rising senior at the University of Texas at Austin, majoring in Computer Science. This summer, I interned at Square on the Register team.&lt;/p&gt;
&lt;h2 id=&quot;interviewing-at-square&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#interviewing-at-square&quot; aria-label=&quot;interviewing at square permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Interviewing At Square&lt;/h2&gt;
&lt;p&gt;When I first started exploring internship opportunities at Square, I didn’t know a lot about the engineering culture at Square — that is until I came in for pair programming interviews. Previously I had only experienced a more standard interview pro…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/pair-programming-interviews&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The @Square Tweetwriter]]></title><description><![CDATA[The story of a new inforad created during our last Hack Week.]]></description><link>https://developer.squareup.com/blog/the-square-tweetwriter</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-square-tweetwriter</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 26 Sep 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/numist&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Scott Perry&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Each quarter, Square sets aside a full week for everyone in the company to build something they believe should exist in the world and transform ideas into working prototypes. Hack Week is an opportunity to create and innovate in the exact same way S…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-square-tweetwriter&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s Open Approach to Code]]></title><description><![CDATA[A quarter of a million lines of code later.]]></description><link>https://developer.squareup.com/blog/squares-open-approach-to-code</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-open-approach-to-code</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 01 Oct 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@opazazzyzen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lindsay Wiese&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Nearly 3 years ago we open sourced our first project at Square: &lt;a href=&quot;http://square.github.io/retrofit/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Retrofit&lt;/a&gt;. Since then we’ve released more than a quarter of a million lines of code in more than 60 open source projects — a project, on average, every 2.5 weeks.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-open-approach-to-code&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How to win at career fairs]]></title><description><![CDATA[The themes that stand out after meeting and reviewing résumés from hundreds of students.]]></description><link>https://developer.squareup.com/blog/how-to-win-at-career-fairs</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-win-at-career-fairs</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 07 Oct 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;College students! Especially those of you in the programming-type vocations!&lt;/p&gt;
&lt;p&gt;It’s recruiting season again — and by “recruiting season” I mean “the school year.” If you’re smart, you’re looking for work, either for next summer or for when you graduate. (Funny story: when I was in college, my advisor famously addressed a room …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-win-at-career-fairs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Hardware at Square]]></title><description><![CDATA[Our philosophy of hardware design and production.]]></description><link>https://developer.squareup.com/blog/hardware-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/hardware-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 09 Oct 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@opazazzyzen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lindsay Wiese&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we are developing hardware in an industry that has seen very little innovation in more than 50 years.&lt;/p&gt;
&lt;p&gt;Our first Square Reader was soldered together in our original office, Jack Dorsey’s apartment. Five years and three major iterations of Square Reader later, we continue to lead all electrical, mechanical, and firmware design and engineering in-house…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/hardware-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Parliament: A Threshold Secret Sharing Service]]></title><description><![CDATA[Making it easy to protect high-value secrets.]]></description><link>https://developer.squareup.com/blog/parliament-a-threshold-secret-sharing-service</link><guid isPermaLink="false">https://developer.squareup.com/blog/parliament-a-threshold-secret-sharing-service</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 23 Oct 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://tobias.lauinger.name/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tobias Lauinger&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;High-value secrets need proper protection. A well-established scheme to achieve this is &lt;a href=&quot;http://en.wikipedia.org/wiki/Secret_sharing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;secret sharing&lt;/a&gt;, which splits a secret into many parts and reveals nothing about the secret unless a quorum of shares is provided. This technique is used during &lt;a href=&quot;http://en.wikipedia.org/wiki/Key_Ceremony&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;key ceremonies&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/parliament-a-threshold-secret-sharing-service&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A journey on the Android Main Thread — PSVM]]></title><description><![CDATA[From PSVM to loopers and handlers]]></description><link>https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-psvm</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-psvm</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 30 Oct 2013 16:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There is an article on coding horror about why we should learn to &lt;a href=&quot;http://www.codinghorror.com/blog/2012/04/learn-to-read-the-source-luke.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;read the source&lt;/a&gt;. One of the great aspects of Android is its open source nature.&lt;/p&gt;
&lt;p&gt;When facing bugs that were related to how we interact with the main thread, I decided to get a closer look at what the main thread really is. This article describes the first part of my journey.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-psvm&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Culture Fit]]></title><description><![CDATA[Square works hard to uncover each candidate’s skills, not just test if they’re a “culture fit”]]></description><link>https://developer.squareup.com/blog/culture-fit</link><guid isPermaLink="false">https://developer.squareup.com/blog/culture-fit</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 21 Nov 2013 17:04:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jackdanger&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jack Danger&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square we talk a lot about our “hiring bar.” If you’ve ever interviewed here you know that we put a &lt;em&gt;lot&lt;/em&gt; of work into each interview. You’ll have a recruiting coordinator ensuring the schedule for your interview day (yes, it’s a full day) is clear and reasonable, and your interviews stay on-time. At the beginning of the day you’ll have time to talk to…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/culture-fit&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Viewfinder Joins Square]]></title><description><![CDATA[Growing our NYC engineering presence with the Viewfinder team.]]></description><link>https://developer.squareup.com/blog/viewfinder-joins-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/viewfinder-joins-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 03 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/crazybob&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bob Lee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We are excited to announce that the &lt;a href=&quot;https://www.viewfinder.co/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Viewfinder&lt;/a&gt; team is joining Square. The team is incredibly talented, having built an app that blends beautiful design and highly technical engineering to create personal, human experiences. This too is our mantra at Square, and the Viewfinder team’s expertise …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/viewfinder-joins-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Pair Programming Interviews, Part II]]></title><description><![CDATA[How to be prepared for a software engineer interview at Square]]></description><link>https://developer.squareup.com/blog/pair-programming-interviews-part-ii</link><guid isPermaLink="false">https://developer.squareup.com/blog/pair-programming-interviews-part-ii</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 04 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/edruder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ed Ruder&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You may have &lt;a href=&quot;https://corner.squareup.com/2013/09/pair-programming-interviews.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;heard&lt;/a&gt; that Square conducts several pair programming interviews when evaluating full-time and intern software engineers. You may also kinda-sorta know what pair programming is, but maybe you’ve never done it before. Or maybe you have but you’re not sure i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/pair-programming-interviews-part-ii&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Securing RubyGems with TUF, Part 1]]></title><description><![CDATA[Applying The Update Framework (TUF) to RubyGems to secure it against nefarious activity.]]></description><link>https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-1</link><guid isPermaLink="false">https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-1</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 06 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Over the last week, a small team¹ here at Square has been working on integrating &lt;a href=&quot;https://updateframework.com/projects/project&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Update Framework&lt;/a&gt; (TUF) with RubyGems to help protect the community from compromises like &lt;a href=&quot;http://venturebeat.com/2013/01/30/rubygems-org-hacked-interrupting-heroku-services-and-putting-millions-of-sites-using-rails-at-risk/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;the one that happened earlier this year&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this series of blog posts, I aim to explain the fundamental concepts of TUF and how they apply to RubyGems. This is not a rigourous explanation or justification of the security properties of TUF (refer to the specification for that). Instead, it …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-1&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Securing RubyGems with TUF, Part 2]]></title><description><![CDATA[Applying The Update Framework (TUF) to RubyGems to secure it against nefarious activity.]]></description><link>https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 09 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is the second part of the &lt;em&gt;Securing RubyGems with TUF&lt;/em&gt; series. Start with &lt;a href=&quot;https://corner.squareup.com/2013/12/securing-rubygems-with-tuf-part-1.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;part 1&lt;/a&gt; if you haven’t read it yet.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&quot;https://corner.squareup.com/2013/12/securing-rubygems-with-tuf-part-1.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;last post&lt;/a&gt;, we covered how &lt;a href=&quot;https://updateframework.com/projects/project&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Update Framework&lt;/a&gt; (TUF) protects clients from installing maliciously modified gems. In this post, we extend that system to allow developers to update their own gems. As a refresher, our current setup looks like this:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Securing RubyGems with TUF, Part 3]]></title><description><![CDATA[Applying The Update Framework (TUF) to RubyGems to secure it against nefarious activity.]]></description><link>https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-3</link><guid isPermaLink="false">https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-3</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 10 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is the third and final part of the &lt;em&gt;Securing RubyGems with TUF&lt;/em&gt; series. Start with &lt;a href=&quot;https://corner.squareup.com/2013/12/securing-rubygems-with-tuf-part-1.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;part 1&lt;/a&gt; and &lt;a href=&quot;https://corner.squareup.com/2013/12/securing-rubygems-with-tuf-part-2.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;part 2&lt;/a&gt; if you haven’t read it yet.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&quot;https://corner.squareup.com/2013/12/securing-rubygems-with-tuf-part-2.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;last post&lt;/a&gt;, we covered how &lt;a href=&quot;https://updateframework.com/projects/project&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Update Framework&lt;/a&gt; (TUF) enables developers to securely sign for their code, protecting clients from installing maliciously modified gems. In this post we cover a grab bag of other features provided by TUF. It defends against many more attacks than I would have thoug…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/securing-rubygems-with-tuf-part-3&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Evenly Joins Square]]></title><description><![CDATA[Working together to provide a beautiful and seamless payment experience.]]></description><link>https://developer.squareup.com/blog/evenly-joins-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/evenly-joins-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 11 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@gokulrajaram&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gokul Rajaram&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we are committed to creating a better experience for our merchants by helping them focus on their customers, rather than on the payment itself. From paying with your name with Square Wallet, to designing Square Stand for conversational or…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/evenly-joins-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Let it snow!]]></title><description><![CDATA[Square Cash makes gift giving a little more festive.]]></description><link>https://developer.squareup.com/blog/let-it-snow</link><guid isPermaLink="false">https://developer.squareup.com/blog/let-it-snow</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 19 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/crazybob&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bob Lee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/RJs9joWSepepqm010Z4N0/3c18a358547c5cb0107070a2a35737f8/https___cdn-images-1.medium.com_max_2000_1_9ia_ee9DAg9HpstwDSb8EA.gif&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;If you sent or received &lt;a href=&quot;https://square.com/cash&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Cash&lt;/a&gt; recently, you might have noticed slight precipitation backdropping our email headers. It all started last week when we decided to do something special for the holidays. I reckon my teammates thought I was joking when I shouted out with glee, “falli…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/let-it-snow&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A journey on the Android Main Thread — Lifecycle bits]]></title><description><![CDATA[Written by Pierre-Yves Ricau.]]></description><link>https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-lifecycle-bits</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-lifecycle-bits</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Thu, 26 Dec 2013 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;Written by &lt;a href=&quot;https://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&quot;http://corner.squareup.com/2013/10/android-main-thread-1.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;previous part&lt;/a&gt; we took a dive into loopers and handlers and how they relate to the Android main thread.&lt;/p&gt;
&lt;p&gt;Today, we will take a closer look at how the main thread interacts with the Android components lifecycle.&lt;/p&gt;
&lt;h2 id=&quot;activities-love-orientation-changes&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#activities-love-orientation-changes&quot; aria-label=&quot;activities love orientation changes permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Activities love orientation changes&lt;/h2&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-lifecycle-bits&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Capture The Flag]]></title><description><![CDATA[A Square/Matasano firmware challenge.]]></description><link>https://developer.squareup.com/blog/capture-the-flag</link><guid isPermaLink="false">https://developer.squareup.com/blog/capture-the-flag</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 17 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/emerose&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sam Quigley&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’m very happy to announce the launch of the &lt;a href=&quot;https://microcorruption.com/login&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matasano/Square Capture the Flag Challenge&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The challenge is based around finding vulnerabilities in some firmware running on an &lt;a href=&quot;http://en.wikipedia.org/wiki/MSP430&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MSP430&lt;/a&gt; chip. The CTF gives you a debugging interface to the system, and each level has a new vulnerability that you’ll have to find and exploit in order to get to the next stage. You’ll learn assembly, overflow buffers, and crack DRM as you advance throug…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/capture-the-flag&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Dynamic Images with Thumbor]]></title><description><![CDATA[Reduce memory, bandwidth, and disk usage.]]></description><link>https://developer.squareup.com/blog/dynamic-images-with-thumbor</link><guid isPermaLink="false">https://developer.squareup.com/blog/dynamic-images-with-thumbor</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 20 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square uses a lot of user-generated images which are displayed on many mediums. An image for a single item can appear in &lt;a href=&quot;https://squareup.com/dashboard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;the Dashboard&lt;/a&gt;, on &lt;a href=&quot;https://squareup.com/market&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;a Market page&lt;/a&gt;, in &lt;a href=&quot;https://squareup.com/register&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;the Register client&lt;/a&gt; (on an iPad, iPhone, or Android), in an email receipt, or &lt;a href=&quot;https://squareup.com/wallet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;in Wallet&lt;/a&gt; (on iPhone or Android). In order to do this in an efficient, consistent, and cross-platform way we leverage an application named Thumbor.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/dynamic-images-with-thumbor&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square From the Trenches, Month One]]></title><description><![CDATA[A new engineer’s first month experience.]]></description><link>https://developer.squareup.com/blog/square-from-the-trenches-month-one</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-from-the-trenches-month-one</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 21 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/petermattis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Peter Mattis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I joined Square’s New York engineering team a little over a month ago. Prior to joining Square, I had been aware of the company and was impressed by their products, but had no clear picture of the culture and the inner workings of teams. This post i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-from-the-trenches-month-one&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Android String Formatting with Phrase]]></title><description><![CDATA[Avoid translation mistakes with this simple Android text formatting library.]]></description><link>https://developer.squareup.com/blog/android-string-formatting-with-phrase</link><guid isPermaLink="false">https://developer.squareup.com/blog/android-string-formatting-with-phrase</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 22 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@ericburke&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Burke&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://github.com/square/phrase/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Phrase&lt;/a&gt; is a micro-library for text token replacement on Android. Phrase solves a few simple problems we noticed after translating Square Register to French and Japanese.&lt;/p&gt;
&lt;p&gt;Suppose &lt;em&gt;strings.xml&lt;/em&gt; contains this string definition.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;#x3C;string name=&quot;greeting&quot;&gt;
  Hello %1$s, today\&apos;s cook yielded %2$d %3$s.
&amp;#x3C;/string&gt;
&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/android-string-formatting-with-phrase&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Simpler Android apps with Flow and Mortar]]></title><description><![CDATA[Bust up your app into tidy little modules with these two libraries.]]></description><link>https://developer.squareup.com/blog/simpler-android-apps-with-flow-and-mortar</link><guid isPermaLink="false">https://developer.squareup.com/blog/simpler-android-apps-with-flow-and-mortar</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 23 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/rjrjr&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ray Ryan&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Doctor, it hurts when I go like that.&lt;/em&gt;
&lt;em&gt;Don’t go like that!&lt;/em&gt;
—Henny Youngman&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When Fragments were introduced to Android the Square Register team jumped on board. We were already chopping activities into subscreens in a clumsy way, and we did ourselves a lot of good moving to the new hotness. But we also bought ourselves a lot…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/simpler-android-apps-with-flow-and-mortar&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Meet Jake]]></title><description><![CDATA[An Android engineer working on a super-secret project.]]></description><link>https://developer.squareup.com/blog/meet-jake</link><guid isPermaLink="false">https://developer.squareup.com/blog/meet-jake</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 24 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@opazazzyzen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lindsay Wiese&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;While &lt;a href=&quot;https://github.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt; cannot divulge what he is currently working on at Square — it’s a “top-secret new project” — he did agree to answer a few questions.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What are you currently working on?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I am currently working on the Android client for a brand new product. Previously, I worked on the Android clients for Square Wallet, Square Register, and to a much lesser degree, Square Cash.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/meet-jake&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Campfire Camaraderie]]></title><description><![CDATA[What I learned from spending four days with 20 women @Square Code Camp.]]></description><link>https://developer.squareup.com/blog/campfire-camaraderie</link><guid isPermaLink="false">https://developer.squareup.com/blog/campfire-camaraderie</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 28 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/shanawho&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Shana Hu&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://squareup.com/code-camp/college-code-camp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*College Code Camp&lt;/a&gt; is our four-day immersion program for women studying computer science. Berkeley student &lt;a href=&quot;http://shanahu.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Shana Hu&lt;/a&gt; shares her experience.*&lt;/p&gt;
&lt;p&gt;Last week, I went camping for the first time. There were no tents or sleeping bags, but there was a fire on the first night. And in its dim glow, 21 women from colleges across the U.S. and Canada milled about a chilly backyard in San Francisco, slow…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/campfire-camaraderie&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[An announcement of almost incalculable value]]></title><description><![CDATA[Some dinosaurs are better than others.]]></description><link>https://developer.squareup.com/blog/an-announcement-of-almost-incalculable-value</link><guid isPermaLink="false">https://developer.squareup.com/blog/an-announcement-of-almost-incalculable-value</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 31 Jan 2014 17:05:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/z&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Brock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It has come to our attention that &lt;a href=&quot;http://blog.reddit.com/2014/01/important-reddit-announcement.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;certain&lt;/a&gt; &lt;a href=&quot;http://analog.la/a-very-very-important-announcement/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;other&lt;/a&gt; companies are running around making misguided claims as to the primacy of certain dinosaurs. We wish to set the record straight.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/5ulORh8E2UN88051IL8sqJ/22a17b2175be1fb18b8f86641ecef7cf/https___cdn-images-1.medium.com_max_2000_0_INKYYzgpkW6b89WE.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Shuvosaurus&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Shuvosaurus&lt;/a&gt; is the greatest dinosaur of all time. Bar none, without exception and basically by definition. Consider that all other dinosaurs were painstakingly unearthed, grain of dirt by grain of dirt. Armies of khaki safari vested graduate students spent tho…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/an-announcement-of-almost-incalculable-value&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Faster RSA in Java with GMP]]></title><description><![CDATA[A new java library that wraps libgmp]]></description><link>https://developer.squareup.com/blog/faster-rsa-in-java-with-gmp</link><guid isPermaLink="false">https://developer.squareup.com/blog/faster-rsa-in-java-with-gmp</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 14 Feb 2014 17:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dragonsinth&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Scott Blum&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we care a lot about seller experience, and part of that is making sure our services run as fast as possible. One service I’ve had the chance to help build is our seller session service. The session service essentially does two things:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/faster-rsa-in-java-with-gmp&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Eliminating stringly-typed code in Objective-C]]></title><description><![CDATA[Sometimes, you just have to meet your tools halfway.]]></description><link>https://developer.squareup.com/blog/eliminating-stringly-typed-code-in-objective-c</link><guid isPermaLink="false">https://developer.squareup.com/blog/eliminating-stringly-typed-code-in-objective-c</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 19 Feb 2014 17:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As iOS developers, we can use &lt;a href=&quot;http://en.wikiquote.org/wiki/Henry_Ford#1920s&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;any development environment we want, as long as it’s Xcode&lt;/a&gt;. Beyond the Objective-C language, Xcode gives us a bunch of really awesome features for app development, including &lt;a href=&quot;https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;storyboards&lt;/a&gt; and &lt;a href=&quot;https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/Recipe.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;asset catalogs&lt;/a&gt;. But all of the great convenience comes with some potential headaches.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/eliminating-stringly-typed-code-in-objective-c&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[BookFresh joins Square]]></title><description><![CDATA[Helping sellers grow and creating a seamless experience for their customers]]></description><link>https://developer.squareup.com/blog/bookfresh-joins-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/bookfresh-joins-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 26 Feb 2014 17:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@gokulrajaram&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gokul Rajaram&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sellers use Square for far more than accepting payments: They manage their point of sale with Square Register, run loyalty programs and promotions for customers, and access important analytics that help them make better business decisions. Sellers o…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/bookfresh-joins-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Market Accepts Bitcoin]]></title><description><![CDATA[Making Commerce Easier]]></description><link>https://developer.squareup.com/blog/square-market-accepts-bitcoin</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-market-accepts-bitcoin</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 31 Mar 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/ajitvarma&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ajit Varma&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sellers should never miss a sale. We’re building tools so sellers can accept any form of payment their customers want to use. Making commerce easy means creating easy ways to exchange value for everything from a &lt;a href=&quot;https://squareup.com/market/invision-massage&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;massage&lt;/a&gt; to a &lt;a href=&quot;https://squareup.com/market/dodocase-2/ipad-dodocase-fog-with-camera-port&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DODOcase for your iPad&lt;/a&gt;.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-market-accepts-bitcoin&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Cash introduces Activity View]]></title><description><![CDATA[View all of your Square Cash activity in one, easy-to-read convesational-style feed.]]></description><link>https://developer.squareup.com/blog/square-cash-introduces-activity-view</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-cash-introduces-activity-view</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 08 Apr 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/Grassadonia&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brian Grassadonia&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square we view commerce as a form of communication — a way for individuals to exchange value with one another, whether it be goods, services, ideas or experiences.&lt;/p&gt;
&lt;p&gt;When we built &lt;a href=&quot;https://square.com/cash&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Cash&lt;/a&gt;, we had this idea of conversation in mind. Our goal was to make it as easy to send money as it is to send an e-mail. We want everyone — no matter where they are or what devices they use to be able to exchange value with their friends and family eff…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-cash-introduces-activity-view&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Buffering data with Okio]]></title><description><![CDATA[The motivation behind our new I/O library.]]></description><link>https://developer.squareup.com/blog/buffering-data-with-okio</link><guid isPermaLink="false">https://developer.squareup.com/blog/buffering-data-with-okio</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 09 Apr 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One of the most challenging projects I’ve worked on is &lt;a href=&quot;http://square.github.io/okhttp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OkHttp&lt;/a&gt;, Square’s HTTP client for Java. It offers interesting problems for API design (how does the application configure caching?), performance (how long should we hold idle connections?) and code structure (how eagerly do we parse headers?). These decisi…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/buffering-data-with-okio&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Square Deal for Women]]></title><description><![CDATA[A College Code Camp participant shares her experience as a women in STEM.]]></description><link>https://developer.squareup.com/blog/a-square-deal-for-women</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-square-deal-for-women</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 30 Apr 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/talimarcus&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tali Marcus&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;College Code Camp is our four-day immersion program for women studying computer science. We’ve been so inspired by what we’ve seen these young women accomplish that we &lt;a href=&quot;http://corner.squareup.com/2014/04/college-code-camp-three.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;decided to host&lt;/a&gt; our second College Code Camp of the year.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;We are now accepting &lt;a href=&quot;https://squareup.com/code-camp/college&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;applications&lt;/a&gt; for College Code Camp, which takes place August 13–16. Wellesley student Tali Marcus shares her experience participating in Code Camp and being a women in STEM.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-square-deal-for-women&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Open Sourcing Viewfinder]]></title><description><![CDATA[More than 250,000 lines of code released.]]></description><link>https://developer.squareup.com/blog/open-sourcing-viewfinder</link><guid isPermaLink="false">https://developer.squareup.com/blog/open-sourcing-viewfinder</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 05 May 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/petermattis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Peter Mattis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Five months ago, our small team at Viewfinder &lt;a href=&quot;http://corner.squareup.com/2013/12/viewfinder-joins-square.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;joined Square&lt;/a&gt;. We were inspired by Square’s mission and eager to join a world-class engineering and design team, but we were also excited by the company’s commitment to open source.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/open-sourcing-viewfinder&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Connection goes down, business stays up]]></title><description><![CDATA[Introducing Offline Mode]]></description><link>https://developer.squareup.com/blog/connection-goes-down-business-stays-up</link><guid isPermaLink="false">https://developer.squareup.com/blog/connection-goes-down-business-stays-up</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 06 May 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/mwwhite&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Michael White&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Like a great employee or business partner, sellers should always be able to count on Square. And there’s nothing more important than being able to accept a payment, no matter where you’re selling. That’s why last week we introduced Offline Mode for …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/connection-goes-down-business-stays-up&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Comparison of Go Web Frameworks]]></title><description><![CDATA[We’re evaluating each popular Go framework to see which is the best fit for us.]]></description><link>https://developer.squareup.com/blog/a-comparison-of-go-web-frameworks</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-comparison-of-go-web-frameworks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 22 May 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/petermattis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Peter Mattis&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/jackdanger&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jack Danger&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A few months ago we introduced &lt;a href=&quot;http://golang.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Go&lt;/a&gt; to our system at Square and it’s quickly become one of our sharpest tools. We recently evaluated Go web frameworks looking for one that fits us best.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: We recommend just using the &lt;a href=&quot;http://golang.org/pkg/net/http/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;net/http&lt;/a&gt; package in the standard library to start. And if you want help with request routing we recommend looking at &lt;a href=&quot;http://www.gorillatoolkit.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gorilla&lt;/a&gt; and &lt;a href=&quot;https://github.com/gocraft/web&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gocraft/web&lt;/a&gt;. Both &lt;a href=&quot;http://revel.github.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Revel&lt;/a&gt; and &lt;a href=&quot;http://martini.codegangsta.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Martini&lt;/a&gt; have too much dependency injection and other magic to make us feel comfortable. Gorilla is the most minimal.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-comparison-of-go-web-frameworks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ruby, Serialization, and Enumeration]]></title><description><![CDATA[In which a curious backtrace uncovers scandalous truths about ActiveSupport and Ruby’s IO object.]]></description><link>https://developer.squareup.com/blog/ruby-serialization-and-enumeration</link><guid isPermaLink="false">https://developer.squareup.com/blog/ruby-serialization-and-enumeration</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Sun, 25 May 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/xshay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xavier Shay&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We came across an interesting Ruby puzzler the other day. Code that had been working fine had started failing during serialization with a scary looking backtrace from within activesupport:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;json.rb:128:in `each&apos;: not opened for reading (IOError)
  from /gems/activesupport-4.1.1/lib/active_support/core_ext/object/json.rb:128:in `to_a&apos;
  from /gems/activesupport-4.1.1/lib/active_support/core_ext/object/json.rb:128:in `as_json&apos;
  from /ge…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ruby-serialization-and-enumeration&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Hello Picasso 2.3]]></title><description><![CDATA[Request replaying and new APIs]]></description><link>https://developer.squareup.com/blog/hello-picasso-2-3</link><guid isPermaLink="false">https://developer.squareup.com/blog/hello-picasso-2-3</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 30 May 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dnkoutso&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;D. Koutsogiorgas&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today we are publishing a new version of &lt;a href=&quot;http://square.github.io/picasso/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Picasso&lt;/a&gt;, our solution for image downloading and caching on Android. One of the highlights of this release is what we refer to as “request replaying.” Before we showcase it, let’s dig into how Picasso is architected and why that helps us provide cool new fe…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/hello-picasso-2-3&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[One Year Later]]></title><description><![CDATA[An engineer’s first year at Square]]></description><link>https://developer.squareup.com/blog/one-year-later</link><guid isPermaLink="false">https://developer.squareup.com/blog/one-year-later</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 06 Jun 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/strongriley&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Riley Strong&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the year since I joined, many aspects of my life at Square have changed. Here are a few of my observations.&lt;/p&gt;
&lt;h2 id=&quot;growth&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#growth&quot; aria-label=&quot;growth permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Growth&lt;/h2&gt;
&lt;p&gt;The most obvious change is our scale. When I started last April, Square was roughly 450 people. Now we are more than 800; and with our growth, previous structures and systems reached their limits. Physically, the number of our offices grew dramatica…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/one-year-later&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[iOS Lightning Talk: Open Source Tour]]></title><description><![CDATA[From Square’s WWDC reception on June 2nd, 2014.]]></description><link>https://developer.squareup.com/blog/ios-lightning-talk-open-source-tour</link><guid isPermaLink="false">https://developer.squareup.com/blog/ios-lightning-talk-open-source-tour</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 13 Jun 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/sHlddLX0MKU?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;strong&gt;Jim Puls - Profile&lt;/strong&gt;
*Eternally curious.*medium.com&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ios-lightning-talk-open-source-tour&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[iOS Lightning Talk: Register Architecture]]></title><description><![CDATA[From Square’s WWDC reception on June 2nd, 2014.]]></description><link>https://developer.squareup.com/blog/ios-lightning-talk-register-architecture</link><guid isPermaLink="false">https://developer.squareup.com/blog/ios-lightning-talk-register-architecture</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 13 Jun 2014 16:06:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/kyleve&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kyle Van Essen&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/JESMJ81MVNQ?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@kyleve&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;strong&gt;Kyle Van Essen - Profile&lt;/strong&gt;
*I work on iOS &amp;#x26; Register at @Square. Great software defers to the customer.*medium.com&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ios-lightning-talk-register-architecture&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square and Girls Who Code]]></title><description><![CDATA[Empowering young women to pursue computer science]]></description><link>https://developer.squareup.com/blog/square-and-girls-who-code</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-and-girls-who-code</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 17 Jun 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/vslavich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vanessa slavich&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From June to August, we are hosting 20 local high school students through Girls Who Code’s &lt;a href=&quot;http://girlswhocode.com/programs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Summer Immersion Program&lt;/a&gt;. Girls Who Code is a national non-profit organization that aims to inspire, educate, and equip young women for futures in the computing-related fields.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-and-girls-who-code&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Generating Thumbor URLs on iOS]]></title><description><![CDATA[Faster image loading, better caching, easy.]]></description><link>https://developer.squareup.com/blog/generating-thumbor-urls-on-ios</link><guid isPermaLink="false">https://developer.squareup.com/blog/generating-thumbor-urls-on-ios</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 18 Jun 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/puls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jim Puls&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A little while back, we talked about &lt;a href=&quot;https://corner.squareup.com/2014/01/dynamic-images-with-thumbor.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;dynamic images with Thumbor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To recap:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://github.com/globocom/thumbor/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*Thumbor&lt;/a&gt; is an open-source, on-demand image service which allows for server-side cropping, resizing, and compositing of images. This is particularly useful for applications where the density and resolution of the target screen can vary wildly. Rather than d…&lt;/p&gt;&lt;/blockquote&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/generating-thumbor-urls-on-ios&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[OkHttp 2.0]]></title><description><![CDATA[Square’s HTTP client for Android and Java has a new API.]]></description><link>https://developer.squareup.com/blog/okhttp-2-0</link><guid isPermaLink="false">https://developer.squareup.com/blog/okhttp-2-0</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 23 Jun 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;OkHttp started as a fork of Android’s HttpURLConnection. That gave us a solid foundation to build upon. Working behind a widely-used API meant that upgrading from AOSP’s HttpURLConnection to ours was easy: just configure URLs stream handler factory.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/okhttp-2-0&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Advanced Embedding with Square Market]]></title><description><![CDATA[Ember an interactive menu into your website using Square Market.]]></description><link>https://developer.squareup.com/blog/advanced-embedding-with-square-market</link><guid isPermaLink="false">https://developer.squareup.com/blog/advanced-embedding-with-square-market</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 09 Jul 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessereiss&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Reiss&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We built Square Market to give businesses a way to participate in and navigate the world of online commerce. Particularly those businesses traditionally not part of online commerce, like cafés, restaurants, and bars.&lt;/p&gt;
&lt;p&gt;First, we built a way for these types of businesses to take more orders with a comprehensive self-service offering so they could sell food and beverages online for pickup.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/advanced-embedding-with-square-market&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s Security Bug Bounty]]></title><description><![CDATA[Crowdsourcing vulnerability discovery]]></description><link>https://developer.squareup.com/blog/squares-security-bug-bounty</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-security-bug-bounty</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 06 Aug 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/iamtheneal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Neal Harris&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;With so many sellers relying on Square to run and grow their business, we’ve made protecting them a priority. We monitor every transaction from swipe to payment, innovate in fraud prevention, and adhere to industry-leading standards to manage our ne…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-security-bug-bounty&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Even More Advanced Interactive Menus]]></title><description><![CDATA[Our interactive menu embeds now turn your website into an online store]]></description><link>https://developer.squareup.com/blog/even-more-advanced-interactive-menus</link><guid isPermaLink="false">https://developer.squareup.com/blog/even-more-advanced-interactive-menus</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 07 Aug 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/sltsim&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Harris Tsim&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/Catharsis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Keith Chu&lt;/a&gt;, and &lt;a href=&quot;https://twitter.com/matthgt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Matthias Reichenbach&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Three weeks ago, &lt;a href=&quot;http://corner.squareup.com/2014/07/market-menu-embeds.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;we introduced Menu Embeds to our merchants&lt;/a&gt;. Since then, thousands of merchants have embedded their store fronts (aka. “menus”) on their sites to drive sales. We received a lot of great feedback and heard a common theme: make the embed experience even more streamlined and efficient. Today, w…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/even-more-advanced-interactive-menus&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Summer of Kochiku]]></title><description><![CDATA[Kochiku is getting plenty of attention from the new CII team.]]></description><link>https://developer.squareup.com/blog/a-summer-of-kochiku</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-summer-of-kochiku</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 08 Aug 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/TheJEversmann&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Josh Eversmann&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Kochiku is an &lt;a href=&quot;https://github.com/square/kochiku&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;open-source&lt;/a&gt; tool which automatically partitions test suites into distributable chunks, or shards. Most of Square’s projects use Kochiku to quickly get test results by sharding the work between a few hundred Kochiku-workers running in Amazon EC2. Since the numb…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-summer-of-kochiku&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[College Code Camp III]]></title><description><![CDATA[An initiative for young women in STEM.]]></description><link>https://developer.squareup.com/blog/college-code-camp-iii</link><guid isPermaLink="false">https://developer.squareup.com/blog/college-code-camp-iii</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 25 Aug 2014 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/vslavich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vanessa slavich&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Two years ago, we &lt;a href=&quot;https://squareup.com/news/releases/2012/square-launches-code-camp-contest-for-women-engineering-students&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;launched&lt;/a&gt; our first College Code Camp, a four-day immersion program for women studying computer science. We held our second College Code Camp in January. Inspired by the program, a Square engineer had the idea for &lt;a href=&quot;https://squareup.com/news/releases/2013/square-announces-code-camp-for-women-engineering-students&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;High School Code Camp&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/college-code-camp-iii&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Sqrome, a Chrome extension]]></title><description><![CDATA[Tackling a different kind of scaling problem.]]></description><link>https://developer.squareup.com/blog/sqrome-a-chrome-extension</link><guid isPermaLink="false">https://developer.squareup.com/blog/sqrome-a-chrome-extension</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 05 Sep 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/tienn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tien Nguyen&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When I joined Square a few months ago, I often ran into email threads where I had no idea who anybody was — thanks to our impressive growth rate and my not-so-impressive memory. Every quarter, Square sets aside a week (we call it &lt;a href=&quot;http://allthingsd.com/20121221/simplify-squares-hyper-focused-hack-week-where-function-meets-fancy/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;hack week&lt;/a&gt;), so that everyone has the opportunity to reach outside of their day-to-day projects, and build something that speaks to them personally. I decided this was a perfect time to solve my email problem, and in the process learn how to make my first Chr…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sqrome-a-chrome-extension&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[//TODO: Talk Openly, Develop Openly]]></title><description><![CDATA[Collaborating to improve open source for companies]]></description><link>https://developer.squareup.com/blog/todo-talk-openly-develop-openly</link><guid isPermaLink="false">https://developer.squareup.com/blog/todo-talk-openly-develop-openly</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 15 Sep 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/1PVvnRjVHtfH7s8XJc6kjX/e87fd38d73341f24ddf1e6c4b314abc9/https___cdn-images-1.medium.com_max_2000_0_IjVnf2H2dCoZlmBP.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;On behalf of Square, I am proud to announce that we are one of the founding companies of &lt;a href=&quot;http://todogroup.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;//TODO&lt;/a&gt;: Talk Openly, Develop Openly, a group dedicated to utilizing and releasing open source software. We all believe we can better improve our open source programs — and our contributions to the open source movement as a whole — by working together.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/todo-talk-openly-develop-openly&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Trying on Pants]]></title><description><![CDATA[With many Java projects in a single repo, we are trying out the Pants build system.]]></description><link>https://developer.squareup.com/blog/trying-on-pants</link><guid isPermaLink="false">https://developer.squareup.com/blog/trying-on-pants</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 16 Sep 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@ericzundel&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Ayers&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For the last few months, we’ve been working to migrate some of our build processes to the up-and-coming &lt;a href=&quot;http://pantsbuild.github.io/announce_201409.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pants&lt;/a&gt; build tool. We are working to replace some of our uses of Apache Maven.&lt;/p&gt;
&lt;h2 id=&quot;the-case-for-changing-build-systems&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-case-for-changing-build-systems&quot; aria-label=&quot;the case for changing build systems permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The Case for Changing Build Systems&lt;/h2&gt;
&lt;p&gt;Pants is compelling to us for a few reasons. First of all, the overall design was inspired by Google’s &lt;a href=&quot;http://google-engtools.blogspot.com/2011/08/build-in-cloud-how-build-system-works.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;internal build system&lt;/a&gt;, which we know scales well to large repos containing many projects. Beyond that, its feature set meshes with our needs, including:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/trying-on-pants&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Logging can be tricky]]></title><description><![CDATA[Debugging Go application latency with strace.]]></description><link>https://developer.squareup.com/blog/logging-can-be-tricky</link><guid isPermaLink="false">https://developer.squareup.com/blog/logging-can-be-tricky</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 22 Sep 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/3ameam&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Evan Miller&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we have a mailing list that we use to discuss extremely technical issues, usually requiring in-depth knowledge of underlying system architecture. We dedicated a group to discuss internals with a focus on learning precisely how and why sys…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/logging-can-be-tricky&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Pair of Android Tech Talks]]></title><description><![CDATA[Presentations on annotation processing and dealing with HTTP.]]></description><link>https://developer.squareup.com/blog/a-pair-of-android-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-pair-of-android-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 26 Sep 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On Tuesday, Jesse Wilson and I gave Android-themed tech talks in our new Kitchener-Waterloo office. (Thanks to everyone who attended!) We know not everyone can make a trip to Canada on a Tuesday, so we are making the talks available online. Enjoy!&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-pair-of-android-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Advocating Against Android Fragments]]></title><description><![CDATA[Alternatives for dealing with (painful) Android fragments.]]></description><link>https://developer.squareup.com/blog/advocating-against-android-fragments</link><guid isPermaLink="false">https://developer.squareup.com/blog/advocating-against-android-fragments</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 08 Oct 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;Recently I gave a tech talk at Droidcon Paris, where I explained the problems Square had with Android fragments and how others could avoid using any fragments.&lt;/p&gt;
&lt;p&gt;In 2011, we decided to use fragments for the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;At this time, we did not yet support tablets — but knew we wanted to eventually. Fragments help build responsive UIs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fragments are view controllers; they hold decoupled chunks of business logic that can be tested.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The fragment API provides backstack management, (i.e. it mirrors the behavior of the activity stack within a single activity).&lt;/p&gt;
&lt;/li&gt;&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/advocating-against-android-fragments&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Our Fourth College Code Camp]]></title><description><![CDATA[The impact of supporting women in technology.]]></description><link>https://developer.squareup.com/blog/our-fourth-college-code-camp</link><guid isPermaLink="false">https://developer.squareup.com/blog/our-fourth-college-code-camp</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 10 Oct 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/vslavich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vanessa slavich&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In 12 hours, women engineering students programmed a web page that will help AIDS organization &lt;a href=&quot;http://www.red.org/en/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;(RED)&lt;/a&gt; spread awareness of its mission. After one conversation with Vivienne Harr, the 10-year-old founder of &lt;a href=&quot;http://makeastand.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Make a Stand&lt;/a&gt;, women engineering students were &lt;a href=&quot;https://twitter.com/vivienneharr/status/480133740429975552&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;inspired to program&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/our-fourth-college-code-camp&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Welcome to Square! Let’s Learn D3!]]></title><description><![CDATA[Our internal tutorial for learning D3.]]></description><link>https://developer.squareup.com/blog/welcome-to-square-lets-learn-d3</link><guid isPermaLink="false">https://developer.squareup.com/blog/welcome-to-square-lets-learn-d3</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 13 Oct 2014 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/zachmargolis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zach Margolis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/S5zVzE7RfOUJpUbTAbsuG/446943454bb20c97b7708f2bf3a0eaa4/https___cdn-images-1.medium.com_max_2000_0_9-GKahJzPcog8dVY.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Recently, I started helping out with Square’s new engineer onboarding program, which we call NEO. NEO covers an engineer’s first 3 weeks at Square. We give these new engineers, or NEObies, a hands-on introduction to the code behind many of Square’s …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/welcome-to-square-lets-learn-d3&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Better Parameterized Tests with Burst]]></title><description><![CDATA[An alternate data variation mechanism for JUnit tests.]]></description><link>https://developer.squareup.com/blog/better-parameterized-tests-with-burst</link><guid isPermaLink="false">https://developer.squareup.com/blog/better-parameterized-tests-with-burst</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 21 Oct 2014 16:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dlubarov&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Daniel Lubarov&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;, and &lt;a href=&quot;https://twitter.com/dnkoutso&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;D. Koutsogiorgas&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we invest a lot of effort in testing to ensure that our software is reliable. Not only do we unit test our business logic, we also use automated UI tests to detect bugs and prevent regressions in our applications. We also use manual testi…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/better-parameterized-tests-with-burst&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Learning Ruby]]></title><description><![CDATA[Knowing where to start]]></description><link>https://developer.squareup.com/blog/learning-ruby</link><guid isPermaLink="false">https://developer.squareup.com/blog/learning-ruby</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 22 Oct 2014 16:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/strathmeyer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Strathmeyer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When I was an undergrad studying computer science, I thought I’d eventually settle on a single programming language, gain mastery, and use that language for the rest of my career. I couldn’t have been more wrong. It seems like I learn a new language…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/learning-ruby&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Human Botnet Part 1]]></title><description><![CDATA[Scaling application security with metrics and automation.]]></description><link>https://developer.squareup.com/blog/human-botnet-part-1</link><guid isPermaLink="false">https://developer.squareup.com/blog/human-botnet-part-1</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 07 Nov 2014 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/mitchbreathely&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tom Daniels&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is the first in a series of posts from the Square Information Security Team. Over the course of these posts, we’ll detail some of the initiatives we’ve undertaken in order to scale security as the organization grows while still managing our ris…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/human-botnet-part-1&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Anders Hejlsberg Tech Talk on Typescript]]></title><description><![CDATA[A Square hosted event]]></description><link>https://developer.squareup.com/blog/anders-hejlsberg-tech-talk-on-typescript</link><guid isPermaLink="false">https://developer.squareup.com/blog/anders-hejlsberg-tech-talk-on-typescript</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 21 Nov 2014 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by Andrew Kimball.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/ahejlsberg&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anders Hejlsberg&lt;/a&gt;, author of &lt;a href=&quot;http://en.wikipedia.org/wiki/Turbo_Pascal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Turbo Pascal&lt;/a&gt; and lead architect of C# at Microsoft, recently gave a tech talk on &lt;a href=&quot;http://en.wikipedia.org/wiki/TypeScript&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Typescript&lt;/a&gt; at Square. Typescript is a strict superset of Javascript that adds optional static typing and object-oriented constructs.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/anders-hejlsberg-tech-talk-on-typescript&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Webhooks in the Square Connect API]]></title><description><![CDATA[Setting up real-time payment notifications]]></description><link>https://developer.squareup.com/blog/webhooks-in-the-square-connect-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/webhooks-in-the-square-connect-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 16 Dec 2014 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/HkpFBZrWf-Y?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/barlow_vo&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Stephen Barlow&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square’s partners have contributed an &lt;a href=&quot;https://squareup.com/app-marketplace&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;expansive collection&lt;/a&gt; of app integrations to our platform over the past year. From accounting solutions like Intuit Quickbooks and Xero, to the Fresh KDS kitchen display system, these integrations give merchants even more tools to help them run their business — and they…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/webhooks-in-the-square-connect-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Everything I wish I didn’t know about concurrency]]></title><description><![CDATA[From concepts and idioms to war stories and anecdotes]]></description><link>https://developer.squareup.com/blog/everything-i-wish-i-didnt-know-about-concurrency</link><guid isPermaLink="false">https://developer.squareup.com/blog/everything-i-wish-i-didnt-know-about-concurrency</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 12 Jan 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/maniksurtani&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Manik Surtani&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Everything we do as engineers involves concurrency. Thanks to limitations in &lt;a href=&quot;http://www.wired.com/2008/09/battling-the-co/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;heat dissipation technology&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Moore%27s_law&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Moore’s Law&lt;/a&gt; hit practical limits over a decade ago and the only way computing has progressed has been to cram more cores onto a die, and/or use more CPUs. And &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/everything-i-wish-i-didnt-know-about-concurrency&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing: Our Open Source Code of Conduct]]></title><description><![CDATA[Our commitment to providing a welcoming and inspiring open source community]]></description><link>https://developer.squareup.com/blog/our-open-source-code-of-conduct</link><guid isPermaLink="false">https://developer.squareup.com/blog/our-open-source-code-of-conduct</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 27 Jan 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/vslavich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vanessa slavich&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we’re committed to contributing to the open source community and simplifying the process of releasing and managing open source software. We’ve seen incredible support and enthusiasm from thousands of people who have already contributed to…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/our-open-source-code-of-conduct&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing JavaPoet]]></title><description><![CDATA[Square has a new library for generating Java code.]]></description><link>https://developer.squareup.com/blog/introducing-javapoet</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-javapoet</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 29 Jan 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I used to hate generated code. Early implementations of JSPs, EJBs, and protocol buffers spewed out huge, misformatted files littered with warnings and fully-qualified type names:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;*/***
*     * &amp;#x3C;code&gt;optional string error_text = 2;&amp;#x3C;/code&gt;*
*     */*
    **public** Builder **setErrorText(**
        java**.**lang**.**String value**)** **{**
      **if** **(**value **==** **null)** **{**
  **throw** **new** **NullPointerExceptio…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-javapoet&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Our New High School Code Camp]]></title><description><![CDATA[An in-house immersion program for San Francisco students]]></description><link>https://developer.squareup.com/blog/our-new-high-school-code-camp</link><guid isPermaLink="false">https://developer.squareup.com/blog/our-new-high-school-code-camp</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 09 Feb 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/vslavich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vanessa slavich&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Two years ago, we learned only &lt;a href=&quot;http://www.aauw.org/files/2013/02/Why-So-Few-Women-in-Science-Technology-Engineering-and-Mathematics.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;1% of high school girls&lt;/a&gt; believed coding would be part of their educational or professional future. We wanted to encourage more young women to pursue STEM and &lt;a href=&quot;https://squareup.com/news/square-announces-code-camp-for-women-engineering-students&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;launched&lt;/a&gt; High School Code Camp, an eight-month, after-school program designed to prepare young women in San Francisco for the AP Computer Science exam. Square engineers built the computer science curriculum, and over the school year helped the young women &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/our-new-high-school-code-camp&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[SQLBrite: A reactive Database Foundation]]></title><description><![CDATA[RxJava-based wrapper around SQLite for Android.]]></description><link>https://developer.squareup.com/blog/sqlbrite-a-reactive-database-foundation</link><guid isPermaLink="false">https://developer.squareup.com/blog/sqlbrite-a-reactive-database-foundation</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 25 Feb 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Storing, accessing, and modifying persisted data on Android has been an ever-changing landscape since the platform’s inception. Last year, after evaluating 16 libraries on a spectrum of strict requirements, we determined that nothing existed which m…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sqlbrite-a-reactive-database-foundation&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[gRPC — cross-platform open source RPC over HTTP/2]]></title><description><![CDATA[Collaborating with Google on open sourcing gRPC]]></description><link>https://developer.squareup.com/blog/grpc-cross-platform-open-source-rpc-over-http-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/grpc-cross-platform-open-source-rpc-over-http-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 26 Feb 2015 17:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/maniksurtani&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Manik Surtani&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Several months ago, we evaluated open sourcing our proprietary, internal RPC library (which is based on protocol buffers). Along the way, we also decided to move this framework to &lt;a href=&quot;https://http2.github.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HTTP/2&lt;/a&gt;. Luckily before putting forth too much effort, we learned Google was attempting to open source something similar — and was much further along. We paused our efforts and reached out to Google to see how we could help.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/grpc-cross-platform-open-source-rpc-over-http-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Scaling Square Register]]></title><description><![CDATA[Learn about Register iOS development processes and tooling.]]></description><link>https://developer.squareup.com/blog/scaling-square-register</link><guid isPermaLink="false">https://developer.squareup.com/blog/scaling-square-register</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 26 Mar 2015 16:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/kyleve&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kyle Van Essen&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently I had the opportunity to write about Register iOS development for &lt;a href=&quot;http://objc.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;objc.io&lt;/a&gt;. My article focused on the tools and processes we chose at Square to help scale and streamline the engineering process. If this sounds interesting to you, you can check out the article here: &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/scaling-square-register&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Our Fifth College Code Camp]]></title><description><![CDATA[And a look back at College Code Camp no. 4]]></description><link>https://developer.squareup.com/blog/our-fifth-college-code-camp</link><guid isPermaLink="false">https://developer.squareup.com/blog/our-fifth-college-code-camp</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 06 Apr 2015 16:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/vslavich&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vanessa slavich&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://squareup.com/code-camp/college-code-camp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*College Code Camp&lt;/a&gt; is our five-day, in-house immersion program for women studying computer science. Spelman student &lt;a href=&quot;https://www.linkedin.com/pub/brianna-m-fugate/66/99b/488&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brianna Fugate&lt;/a&gt; shares her experience.*&lt;/p&gt;
&lt;p&gt;In January, I had the privilege of participating in Square’s College Code Camp with 22 other women engineering students from all over North America. We were a diverse group with a variety of backgrounds, but we all shared a passion and intellectual …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/our-fifth-college-code-camp&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Protecting infrastructure secrets with Keywhiz]]></title><description><![CDATA[Our newly open-sourced secret management and distribution service]]></description><link>https://developer.squareup.com/blog/protecting-infrastructure-secrets-with-keywhiz</link><guid isPermaLink="false">https://developer.squareup.com/blog/protecting-infrastructure-secrets-with-keywhiz</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 14 Apr 2015 16:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/justincummins&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Justin Cummins&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, our number one priority is security. We needed something to protect secrets, especially as their number increased with our adoption of a service-orientedmicroservice architecture. Although protecting &lt;a href=&quot;https://journal.paul.querna.org/articles/2013/11/09/security-of-infrastructure-secrets/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;infrastructure secrets&lt;/a&gt; is a common need, we weren’t able to find an adequate secret management system. (More on this under &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/protecting-infrastructure-secrets-with-keywhiz&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[LeakCanary: Detect all memory leaks!]]></title><description><![CDATA[A memory leak detection library for Android and Java.]]></description><link>https://developer.squareup.com/blog/leakcanary-detect-all-memory-leaks</link><guid isPermaLink="false">https://developer.squareup.com/blog/leakcanary-detect-all-memory-leaks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Fri, 08 May 2015 16:08:00 GMT</pubDate><content:encoded>&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;java.lang.OutOfMemoryError
        at android.graphics.Bitmap.nativeCreate(Bitmap.java:-2)
        at android.graphics.Bitmap.createBitmap(Bitmap.java:689)
        at com.squareup.ui.SignView.createSignatureBitmap(SignView.java:121)
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;nobody-likes-outofmemoryerror-crashes&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nobody-likes-outofmemoryerror-crashes&quot; aria-label=&quot;nobody likes outofmemoryerror crashes permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Nobody likes OutOfMemoryError crashes&lt;/h2&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/leakcanary-detect-all-memory-leaks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Open Source Security Bug Bounty]]></title><description><![CDATA[A new way to get paid for bug reports]]></description><link>https://developer.squareup.com/blog/open-source-security-bug-bounty</link><guid isPermaLink="false">https://developer.squareup.com/blog/open-source-security-bug-bounty</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 11 May 2015 16:08:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/iamtheneal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Neal Harris&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today, we’re excited to announce our security bug bounty program for our open source software. We recognize the important contributions the security research community can make when it comes to finding bugs, and we’re asking for your help to report …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/open-source-security-bug-bounty&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[OkHttp’s New URL Class]]></title><description><![CDATA[Java URLs are painful. HttpURL is here to help.]]></description><link>https://developer.squareup.com/blog/okhttps-new-url-class</link><guid isPermaLink="false">https://developer.squareup.com/blog/okhttps-new-url-class</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 26 May 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Android and Java developers have several options when it comes to manipulating URLs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.android.com/reference/java/net/URL.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;java.net.URL&lt;/a&gt; is 20 years old and shows its age. It works but suffers some implementation problems.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.android.com/reference/java/net/URI.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;java.net.URI&lt;/a&gt; is too strict, because it rejects real-world URLs like &lt;a href=&quot;http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&amp;#x26;zoom=13&amp;#x26;size=370x250&amp;#x26;maptype=roadmap%20&amp;#x26;markers=color:blue%7Clabel:S%7C40.702147,-74.015794&amp;#x26;markers=color:green%7Clabel:G%7C40.711614,-74.012318%20&amp;#x26;markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&amp;#x26;sensor=false&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;this one&lt;/a&gt;, and too lenient, because it accepts partial URLs like “”.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.android.com/reference/android/net/Uri.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;android.net.Uri&lt;/a&gt; is optimistic: It doesn’t validate its input. This saves unnecessary work in some situations but limits its utility in others.&lt;/p&gt;
&lt;/li&gt;&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/okhttps-new-url-class&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Week of iOS]]></title><description><![CDATA[Open source and insight leading up to WWDC]]></description><link>https://developer.squareup.com/blog/a-week-of-ios</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-week-of-ios</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 01 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/shuvosaurus&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shuvo chatterjee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we’re big fans of &lt;a href=&quot;https://developer.apple.com/wwdc/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;WWDC&lt;/a&gt;. Our iOS developers come together to learn about the latest trends and technologies in iOS, and share best practices with the community. Today, we’re kicking off something new.&lt;/p&gt;
&lt;p&gt;This week leading up to WWDC, we’re sharing some of our own best practices and open sourcing several of our iOS projects. And to wrap up the week on June 9, &lt;strong&gt;we’re hosting a tech talk&lt;/strong&gt;. We’ll give demos and present lightning talks (including a continuation of &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-week-of-ios&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Build Stability]]></title><description><![CDATA[How we stopped rerunning failed tests and kept it that way]]></description><link>https://developer.squareup.com/blog/build-stability</link><guid isPermaLink="false">https://developer.squareup.com/blog/build-stability</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 01 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@mtauraso&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Michael Tauraso&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Every developer at a company that practices continuous integration (CI) has the following conversation at some point about their builds:&lt;/p&gt;
&lt;p&gt;Dev 1: “My build failed, but I didn’t change anything related to &lt;em&gt;testSwissCheeseController&lt;/em&gt;”
Dev 2: “Oh just re-run it. That test has been failing for everyone. It’s not your fault”&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/build-stability&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Aardvark: Your Logs Slurped, Your Bugs Licked]]></title><description><![CDATA[An iOS library that delivers timely and actionable bug reports]]></description><link>https://developer.squareup.com/blog/aardvark-your-logs-slurped-your-bugs-licked</link><guid isPermaLink="false">https://developer.squareup.com/blog/aardvark-your-logs-slurped-your-bugs-licked</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 02 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@dfed&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dan Federman&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-dreaded-email&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-dreaded-email&quot; aria-label=&quot;the dreaded email permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The dreaded email&lt;/h2&gt;
&lt;p&gt;We’ve all experienced the frustration of getting a bug report and not having enough information to track it down. The email hits your inbox: “Hey, I tried to do X and it didn’t work.” There’s no build number, no screenshot, and no explanation of wha…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/aardvark-your-logs-slurped-your-bugs-licked&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[[ Space Commader]: Take Command of Objective-C Whitespace]]></title><description><![CDATA[A set of tools for teams to setup, customize, and enforce Objective-C formatting.]]></description><link>https://developer.squareup.com/blog/space-commader-take-command-of-objective-c-whitespace</link><guid isPermaLink="false">https://developer.squareup.com/blog/space-commader-take-command-of-objective-c-whitespace</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 03 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dunbar151&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alan Fineberg&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/5BFfT1IdOci5AGVwd6k2a7/1e7be096334e7554d35ebedc6622eecb/https___cdn-images-1.medium.com_max_2400_0_dLbvcjUtV8vkYLk6.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Square is releasing &lt;strong&gt;[ Space Commander]&lt;/strong&gt; on &lt;a href=&quot;http://github.com/square/spacecommander&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;. &lt;strong&gt;[ Space Commander]&lt;/strong&gt; is a set of tools we use to setup, customize, and enforce Objective-C formatting across our Register iOS team, and reclaim time that would be spent manually formatting code.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/space-commader-take-command-of-objective-c-whitespace&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Valet: A Better Place to Put Your Keys]]></title><description><![CDATA[Store your secrets securely without ever reading Apple’s SecItem.h]]></description><link>https://developer.squareup.com/blog/valet-a-better-place-to-put-your-keys</link><guid isPermaLink="false">https://developer.squareup.com/blog/valet-a-better-place-to-put-your-keys</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 04 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@dfed&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dan Federman&lt;/a&gt; and &lt;a href=&quot;http://@TheProfessor22&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Muller.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;keychain-is-terrifying&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#keychain-is-terrifying&quot; aria-label=&quot;keychain is terrifying permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Keychain is terrifying&lt;/h2&gt;
&lt;p&gt;If you’ve ever had to pore over SecItem.h or interact with the Keychain, you’re well aware that it’s a terrifying API. You pass in a dictionary and then you get an error back that lets you know that at least one of your parameters was wrong. Want to…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/valet-a-better-place-to-put-your-keys&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Dependency Injection: Give Your iOS Code a Shot in the Arm]]></title><description><![CDATA[Applying the dependency injection design pattern to Objective-C or Swift codebases.]]></description><link>https://developer.squareup.com/blog/dependency-injection-give-your-ios-code-a-shot-in-the-arm</link><guid isPermaLink="false">https://developer.squareup.com/blog/dependency-injection-give-your-ios-code-a-shot-in-the-arm</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 05 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/firetweet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Firestone&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;what-is-dependency-injection&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-dependency-injection&quot; aria-label=&quot;what is dependency injection permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What Is Dependency Injection?&lt;/h2&gt;
&lt;p&gt;Dependency injection (DI) is a popular design pattern in many languages, such as &lt;a href=&quot;http://square.github.io/dagger/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Java&lt;/a&gt; and &lt;a href=&quot;https://msdn.microsoft.com/en-us/library/vstudio/hh323705%28v=vs.100%29.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;C#&lt;/a&gt; , but it hasn’t seen wide adoption in Objective-C. This article aims to give a brief introduction to dependency injection using Objective-C examples, as well as practical methods for using dependency injection in Objective-C code. Although the arti…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/dependency-injection-give-your-ios-code-a-shot-in-the-arm&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Presents: Streamlining Android Apps]]></title><description><![CDATA[Technical talks featuring Jake Wharton and Pierre-Yves Ricau]]></description><link>https://developer.squareup.com/blog/square-presents-streamlining-android-apps</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-presents-streamlining-android-apps</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 08 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@ericburke&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Burke&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On June 25 we’re hosting an Android-themed tech talk at our San Francisco office featuring &lt;a href=&quot;https://twitter.com/jakewharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;. There will also be time to meet one another over snacks and drinks.&lt;/p&gt;
&lt;p&gt;Jake kicks off the event with a talk on “Eliminating Code Overhead,” demonstrating techniques that both libraries and applications can implement to minimize CPU and memory usage.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-presents-streamlining-android-apps&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building Portable Binaries]]></title><description><![CDATA[Attempting to self-contain application dependencies]]></description><link>https://developer.squareup.com/blog/building-portable-binaries</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-portable-binaries</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 15 Jun 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/alexcoomans&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alex Coomans&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Deploying your code is the last major hurdle in getting shiny new features or important bug fixes out to users. However, making sure your application has everything it needs can be a chore. Three typical approaches for preparing your application for…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-portable-binaries&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Stricter Tests for Expectations Set on Nil in RSpec]]></title><description><![CDATA[Make your RSpec tests fail when expectations are set on nil.]]></description><link>https://developer.squareup.com/blog/stricter-tests-for-expectations-set-on-nil-in-rspec</link><guid isPermaLink="false">https://developer.squareup.com/blog/stricter-tests-for-expectations-set-on-nil-in-rspec</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 19 Jun 2015 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/lizmrush&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;liz rush&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When I started on one of my first pieces of code here at Square, I was tasked with making sure a Ruby program from the Data Platform team didn’t continuously retry queries on data when the program hit a non-transient error. Our logs were getting fil…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/stricter-tests-for-expectations-set-on-nil-in-rspec&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Application visibility]]></title><description><![CDATA[A sneak peek into various monitoring and alerting systems used at Square.]]></description><link>https://developer.squareup.com/blog/application-visibility</link><guid isPermaLink="false">https://developer.squareup.com/blog/application-visibility</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 10 Jul 2015 07:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by Syam Puranam.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background&quot; aria-label=&quot;background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Background&lt;/h2&gt;
&lt;p&gt;Square has experienced tremendous growth over the past five years. Our technology stack evolved from a handful of monolithic rails applications to a microservices architecture. The change and growth in our services brought new challenges for applica…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/application-visibility&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Dude, Where’s My char[]?]]></title><description><![CDATA[Looking for String.value in Android M]]></description><link>https://developer.squareup.com/blog/dude-wheres-my-char</link><guid isPermaLink="false">https://developer.squareup.com/blog/dude-wheres-my-char</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Mon, 20 Jul 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article started as a thread on an internal mailing list and I thought it would also be of interest to people outside of Square.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When Android M preview 2 was released, I started receiving reports of &lt;a href=&quot;http://squ.re/leakcanary&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LeakCanary&lt;/a&gt;crashing when parsing heap dumps. LeakCanary reached into the char array of a String object to read a thread name, but in Android M that char array wasn’t there anymore.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/dude-wheres-my-char&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Tech Talks — A Peek Into iOS Engineering at Square]]></title><description><![CDATA[Demos and lightning talks on iOS engineering now available]]></description><link>https://developer.squareup.com/blog/tech-talks-a-peek-into-ios-engineering-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/tech-talks-a-peek-into-ios-engineering-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 23 Jul 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/shuvosaurus&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shuvo chatterjee&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;During the week of WWDC, we hosted a &lt;a href=&quot;https://corner.squareup.com/2015/06/a-week-of-ios.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;tech talk&lt;/a&gt; to share some of the things we’re doing at Square in iOS engineering. We enjoyed getting to chat with so many of you. For those who weren’t able to attend (or would like to relive the tech talks), we recorded the event and uploaded the videos to Yo…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/tech-talks-a-peek-into-ios-engineering-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[iOS Build Infrastructure]]></title><description><![CDATA[How we configured our Mac minis to run builds]]></description><link>https://developer.squareup.com/blog/ios-build-infrastructure</link><guid isPermaLink="false">https://developer.squareup.com/blog/ios-build-infrastructure</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 28 Jul 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@mtauraso&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Michael Tauraso&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Square has dozens of iOS engineers working on &lt;a href=&quot;https://squareup.com/register&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Register&lt;/a&gt;. Additionally, Square publishes multiple iOS apps to the App Store and distributes several iOS apps internally. To support the work of our application programmers, we’ve invested in a continuous integration and test cluster.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ios-build-infrastructure&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A small leak will sink a great ship]]></title><description><![CDATA[Prior to Android Lollipop, alert dialogs may cause memory leaks in your Android apps.]]></description><link>https://developer.squareup.com/blog/a-small-leak-will-sink-a-great-ship</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-small-leak-will-sink-a-great-ship</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Thu, 20 Aug 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post started as an internal email thread when I was building LeakCanary. I found a strange memory leak and started digging in order to figure out what was happening.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;TL;DR: Prior to Android Lollipop, alert dialogs may cause memory leaks in your Android apps.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-small-leak-will-sink-a-great-ship&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Streamlining Android Apps Tech Talks]]></title><description><![CDATA[Presentations on eliminating code overhead and LeakCanary.]]></description><link>https://developer.squareup.com/blog/streamlining-android-apps-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/streamlining-android-apps-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 24 Aug 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, &lt;a href=&quot;https://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PY&lt;/a&gt; and I gave tech talks at our “Streamlining Android Apps” event in Square’s San Francisco office. (Thanks to everyone who attended!) These talks were recorded and are now available on our Square Engineering YouTube channel. Enjoy!&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/streamlining-android-apps-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Atlanta is growing]]></title><description><![CDATA[The future of the Atlanta office, and a bonus: our first tech talk]]></description><link>https://developer.squareup.com/blog/square-atlanta-is-growing</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-atlanta-is-growing</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 03 Sep 2015 16:09:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jlabanca&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;John LaBanca&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It’s hard to believe that Square’s Atlanta office just celebrated its three year anniversary! Our engineering presence has nearly quadrupled since we &lt;a href=&quot;https://corner.squareup.com/2012/07/atlanta.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;planted our roots&lt;/a&gt; in July 2012, and it continues to thrive as we hire more engineers to take on additional projects. Today, the enginering team works on infrastructure and helps build tools that sellers use to manage their business and employees. We’re also big fans…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-atlanta-is-growing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[FieldKit: A Simple Library for Complex Input Formatting]]></title><description><![CDATA[Real-time, input text field formatting as a user types.]]></description><link>https://developer.squareup.com/blog/fieldkit-a-simple-library-for-complex-input-formatting</link><guid isPermaLink="false">https://developer.squareup.com/blog/fieldkit-a-simple-library-for-complex-input-formatting</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 09 Sep 2015 16:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@jmt3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Joe Taylor&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/eventualbuddha&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brian Donovan&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To create the best user experience, we strive to build a beautiful and simple interface for our products. So when we set out to build a checkout flow for our &lt;a href=&quot;http://squareup.com/shop&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;online store&lt;/a&gt;, we wanted customers to have the same great experience they’d have on native apps when entering credit card and contact information. This would require a lot of work, but we knew we needed to banish the &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/fieldkit-a-simple-library-for-complex-input-formatting&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Applications now open: College Code Camp 6]]></title><description><![CDATA[Plus, Code-Camper-turned-Square-engineer reflects on College Code Camp 2]]></description><link>https://developer.squareup.com/blog/applications-now-open-college-code-camp-6</link><guid isPermaLink="false">https://developer.squareup.com/blog/applications-now-open-college-code-camp-6</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 07 Oct 2015 16:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/arpohahau&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alyssa&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This January marks two years since I attended Square’s College Code Camp. Looking back, the most valuable aspect of Code Camp for me was the community we built. My fellow campers were intelligent, passionate, and opinionated, and their interests spa…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/applications-now-open-college-code-camp-6&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Presents: Enabling Android Teams]]></title><description><![CDATA[Lightning talks and panel discussion with expert Android engineers from Square, Twitter, and Slack]]></description><link>https://developer.squareup.com/blog/square-presents-enabling-android-teams</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-presents-enabling-android-teams</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 22 Oct 2015 16:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@ericburke&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Burke&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On Tuesday, November 10, we’re hosting an Android event at Square’s San Francisco office with our friends from Slack and Twitter. If you’re in the Bay Area, join us for a night of technical discussion and lightning talks with expert engineers &lt;a href=&quot;https://twitter.com/haley&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Haley Smith&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-presents-enabling-android-teams&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Short Guide to Kernel Debugging]]></title><description><![CDATA[A story about finding a kernel bug on a production system]]></description><link>https://developer.squareup.com/blog/a-short-guide-to-kernel-debugging</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-short-guide-to-kernel-debugging</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 27 Oct 2015 16:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by Benjamin Wester.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article began as an internal email describing a problem that was found on Square’s production hosts. The story is written to serve as an introduction to the tools and practice of debugging the Linux kernel, though it assumes a quite a bit of fa…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-short-guide-to-kernel-debugging&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Even Better Protocol Buffers With Wire 2]]></title><description><![CDATA[The new Wire release can shrink your schema.]]></description><link>https://developer.squareup.com/blog/even-better-protocol-buffers-with-wire-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/even-better-protocol-buffers-with-wire-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 28 Oct 2015 16:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We’ve been making steady progress on &lt;a href=&quot;https://github.com/square/wire/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wire&lt;/a&gt;, our implementation of compact, immutable protocol buffers for Android and Java. Today I’m happy to announce Wire 2.0, which further refines our take on what protocol buffers should be.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/even-better-protocol-buffers-with-wire-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing git fastclone]]></title><description><![CDATA[How to make your clones go by much faster.]]></description><link>https://developer.squareup.com/blog/introducing-git-fastclone</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-git-fastclone</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 16 Nov 2015 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@jamescat&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;james chang&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;why-fastclone&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#why-fastclone&quot; aria-label=&quot;why fastclone permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Why fastclone?&lt;/h2&gt;
&lt;p&gt;When your application and organization are growing, module boundaries get redefined. This can take the form of splitting large components, or combining and rewriting several related smaller components. When pursuing these efforts, you may find yours…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-git-fastclone&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Optimizing ruby-protobuf deserialization by 50%]]></title><description><![CDATA[How to use ruby-prof to find hotspots in code]]></description><link>https://developer.squareup.com/blog/optimizing-ruby-protobuf-deserialization-by-50</link><guid isPermaLink="false">https://developer.squareup.com/blog/optimizing-ruby-protobuf-deserialization-by-50</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 23 Nov 2015 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@zanker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zachary Anker&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’m on a team colloquially called “WebScale” at Square, which deals with extracting legacy payments data from our monorail. One of our recent tasks has been the rollout of a new internal service to search for payments on Square. We mostly use protob…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/optimizing-ruby-protobuf-deserialization-by-50&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Enabling Android Teams Tech Talks]]></title><description><![CDATA[Lightning talks and panel discussion videos.]]></description><link>https://developer.squareup.com/blog/enabling-android-teams-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/enabling-android-teams-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 30 Nov 2015 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, &lt;a href=&quot;https://twitter.com/haley&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Haley Smith&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/rjrjr&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ray Ryan&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/tsmith&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ty Smith&lt;/a&gt;, and &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt; gave lightning talks and participated in a panel discussion at our “Enabling Android Teams” event in Square’s San Francisco office. (Thanks to everyone who attended!) These talks were recorded and are now available on our Square Engineering YouTube…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/enabling-android-teams-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Welcome to the (Color) Matrix]]></title><description><![CDATA[Combining Picasso with color matrices to transform images.]]></description><link>https://developer.squareup.com/blog/welcome-to-the-color-matrix</link><guid isPermaLink="false">https://developer.squareup.com/blog/welcome-to-the-color-matrix</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 09 Dec 2015 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post started as an internal email thread to share a cool trick. I have little formal knowledge on the matter described below and took an empiric approach. Feedback is welcome in the comments!&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;specs&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#specs&quot; aria-label=&quot;specs permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Specs&lt;/h2&gt;
&lt;p&gt;I was working on a new screen that showed a downloaded image with a title on top and these constraints:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/welcome-to-the-color-matrix&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ace the Square pairing interview]]></title><description><![CDATA[What to expect and how to succeed.]]></description><link>https://developer.squareup.com/blog/ace-the-square-pairing-interview</link><guid isPermaLink="false">https://developer.squareup.com/blog/ace-the-square-pairing-interview</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 14 Dec 2015 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/loganj&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Logan Johnson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;An engineer friend recently decided to apply to Square and asked me for interviewing tips. Luckily, I do a lot of interviews! I put together some notes, then shared them with other interviewers at Square and asked for comments. This is our collectiv…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ace-the-square-pairing-interview&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ziggurat iOS App Architecture]]></title><description><![CDATA[Several steps beyond model view controller]]></description><link>https://developer.squareup.com/blog/ziggurat-ios-app-architecture</link><guid isPermaLink="false">https://developer.squareup.com/blog/ziggurat-ios-app-architecture</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 18 Dec 2015 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dunbar151&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alan Fineberg&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Back in June, I gave a talk on &lt;a href=&quot;https://www.youtube.com/watch?v=dgOdsh1Bq10&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Preventing Massive View Controllers&lt;/a&gt; and described an app architecture with a one-way data flow in Swift. At the time, the architecture didn’t have an accompanying blog post or even a name. Now, it has both. I’d like to introduce &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ziggurat-ios-app-architecture&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Breaking up with your MonoRail]]></title><description><![CDATA[Planning an extraction from a monolithic Rails app.]]></description><link>https://developer.squareup.com/blog/breaking-up-with-your-monorail</link><guid isPermaLink="false">https://developer.squareup.com/blog/breaking-up-with-your-monorail</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 13 Jan 2016 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@zanker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zachary Anker&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, I work on our Payments Scalability team. In 2015, our task was to modernize our payments infrastructure by extracting it from Square/Web, our monolithic Rails app backed by a single MySQL instance. Square/Web has been a core component in …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/breaking-up-with-your-monorail&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Shared App Functionality via JavaScript]]></title><description><![CDATA[How we created a flexible way to view Square Cash payments offline.]]></description><link>https://developer.squareup.com/blog/shared-app-functionality-via-javascript</link><guid isPermaLink="false">https://developer.squareup.com/blog/shared-app-functionality-via-javascript</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 19 Jan 2016 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/alanppaulin&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alan Paulin&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When building version 2.9 of the &lt;a href=&quot;https://cash.me/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Cash app&lt;/a&gt;, we ran across an interesting challenge. The app was fetching payment objects from our server that needed to be displayed to the user. This basically involved choosing a template for each payment and formatting the data. For simplicity, let’s say t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/shared-app-functionality-via-javascript&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Presents: The Journey of Android Engineers]]></title><description><![CDATA[Lightning talks and panel discussion with expert Android engineers from Square, Udemy, and Highlight.]]></description><link>https://developer.squareup.com/blog/square-presents-the-journey-of-android-engineers</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-presents-the-journey-of-android-engineers</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 26 Jan 2016 17:10:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@ericburke&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Burke&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Join us on &lt;a href=&quot;https://www.showclix.com/event/square-presents-feb&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Thursday, February 18th&lt;/a&gt; for the third edition of our Square Presents Series. It’ll be a night of discussion and lightning talks from Square and our friends at Udemy and Highlight. The event starts with lightning talks from &lt;a href=&quot;https://twitter.com/jrodbx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;John Rodriguez&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/CodingChick&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Effie Barak&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-presents-the-journey-of-android-engineers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Query Sniper]]></title><description><![CDATA[Controlling runaway queries.]]></description><link>https://developer.squareup.com/blog/query-sniper</link><guid isPermaLink="false">https://developer.squareup.com/blog/query-sniper</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Manik Surtani]]></dc:creator><pubDate>Wed, 27 Jan 2016 22:17:00 GMT</pubDate><content:encoded>&lt;p&gt;Picture this: your service receives a request and kicks off a database query; the request times out and leaves the query running — leading to an unnecessary database load and possibly starving the database of resources. When services automatically r…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/query-sniper&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Open sourcing Square’s WomEng Handbook]]></title><description><![CDATA[Everything you need to start, or expand, a Women in Engineering group in your community.]]></description><link>https://developer.squareup.com/blog/open-sourcing-squares-womeng-handbook</link><guid isPermaLink="false">https://developer.squareup.com/blog/open-sourcing-squares-womeng-handbook</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 03 Feb 2016 17:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/arpohahau&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alyssa&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At &lt;a href=&quot;https://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt;, we have a strong, supportive, and empowering community of women engineers and allies. We come together as a group: WomEng. Our group grew from a mailing list to regular, in-person gatherings. Today, WomEng has expanded outside of Square and includ…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/open-sourcing-squares-womeng-handbook&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Journey of Android Engineers: Tech Talks]]></title><description><![CDATA[Lightning talks and panel discussion videos.]]></description><link>https://developer.squareup.com/blog/the-journey-of-android-engineers-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-journey-of-android-engineers-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 03 Mar 2016 17:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, &lt;a href=&quot;https://twitter.com/jrodbx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;John Rodriguez&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/CodingChick&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Effie Barak&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/burke_eric&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Burke&lt;/a&gt;, and &lt;a href=&quot;https://twitter.com/RunChristinaRun&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Christina Lee&lt;/a&gt; gave lightning talks and participated in a panel discussion at our “Journey of Android Engineers” event in Square’s San Francisco office. (Thanks to everyone who attended!) These talks were recorded and are now available on our &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-journey-of-android-engineers-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Vulnerability in OkHttp’s Certificate Pinner]]></title><description><![CDATA[We fixed a bug that could have been used to defeat certificate pinning]]></description><link>https://developer.squareup.com/blog/vulnerability-in-okhttps-certificate-pinner</link><guid isPermaLink="false">https://developer.squareup.com/blog/vulnerability-in-okhttps-certificate-pinner</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 11 Mar 2016 17:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jessewilson&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jesse Wilson&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Security researcher John Kozyrakis from &lt;a href=&quot;https://www.cigital.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cigital&lt;/a&gt; recently discovered a vulnerability in OkHttp’s &lt;em&gt;CertificatePinner&lt;/em&gt;. He responsibly disclosed the issue to us via &lt;a href=&quot;https://hackerone.com/square-open-source&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square’s open source bug bounty program&lt;/a&gt; at HackerOne.&lt;/p&gt;
&lt;p&gt;After feeling just a little bit embarrassed, I implemented a fix and released it as &lt;a href=&quot;https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-320&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OkHttp 3.2.0&lt;/a&gt;. We also backported the fix to &lt;a href=&quot;https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-275&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OkHttp 2.7.5&lt;/a&gt;. If you’re using OkHttp in your application, please upgrade to the latest release.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/vulnerability-in-okhttps-certificate-pinner&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Framed Data Team Joins Square]]></title><description><![CDATA[Written by Jacqueline Reses.]]></description><link>https://developer.squareup.com/blog/framed-data-team-joins-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/framed-data-team-joins-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 14 Mar 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@jacquelinereses&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jacqueline Reses&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From the early days of Square, we built a discipline in data science that allowed us to take a differentiated approach to risk management, and thus reduce the barriers to entry for our sellers to accept credit cards. Our data scientists are constant…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/framed-data-team-joins-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Square’s Register API and E-commerce API]]></title><description><![CDATA[Enabling developers to help sellers accept payments wherever their buyers are: in person and online]]></description><link>https://developer.squareup.com/blog/introducing-squares-register-api-and-e-commerce-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-squares-register-api-and-e-commerce-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 30 Mar 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://github.com/zhao-squareup&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jianliang Zhao&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Have you ever looked at Square’s hardware offerings (maybe our newest EMV and NFC card reader) and thought, “I could build something amazing using that”? Historically, payments and hardware development were often associated with archaic and difficul…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-squares-register-api-and-e-commerce-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Android Spring Cleaning Tech Talks]]></title><description><![CDATA[Lightning talks and panel discussion videos]]></description><link>https://developer.squareup.com/blog/android-spring-cleaning-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/android-spring-cleaning-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 08 Apr 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, &lt;a href=&quot;https://twitter.com/jrodbx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;John Rodriguez&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/niftynei&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lisa Neigut&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/JakeWharton&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jake Wharton&lt;/a&gt;, and &lt;a href=&quot;https://twitter.com/lisawrayz&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lisa Wray&lt;/a&gt; gave lightning talks and participated in a panel discussion at our “Android Spring Cleaning” event in Square’s New York City office. (Thanks to everyone who attended!) These talks were recorded and are now available on our Square Engineering YouTub…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/android-spring-cleaning-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[pair, a git author tool]]></title><description><![CDATA[Simplifying authorship in pair programming.]]></description><link>https://developer.squareup.com/blog/pair-a-git-author-tool</link><guid isPermaLink="false">https://developer.squareup.com/blog/pair-a-git-author-tool</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 13 Apr 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/eventualbuddha&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brian Donovan&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Software engineers at Square sometimes write code by themselves, and sometimes with others. When we write code with others at the same computer we call that “&lt;a href=&quot;https://en.wikipedia.org/wiki/Pair_programming&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pair programming&lt;/a&gt;” or “pairing”. We use this technique &lt;a href=&quot;https://corner.squareup.com/2015/12/ace-the-square-pairing-interview.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;in our interviews&lt;/a&gt;, and in our work when appropriate. When we’re ready to commit our work in our version control system, git, we want to ensure that all the authors are listed for posterity.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/pair-a-git-author-tool&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Shift — Safe and Easy Database Migrations]]></title><description><![CDATA[A service that helps you run online schema migrations for MySQL databases.]]></description><link>https://developer.squareup.com/blog/shift-safe-and-easy-database-migrations</link><guid isPermaLink="false">https://developer.squareup.com/blog/shift-safe-and-easy-database-migrations</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 15 Apr 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://github.com/michaelfinch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Michael Finch&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Shift is an application that makes it easy to run online schema migrations for MySQL databases. We use it at Square to run thousands of databases migrations every month. Today we are happy to be open sourcing the project, which can be found on GitHu…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/shift-safe-and-easy-database-migrations&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[iOS 9 upgrade: Why did my unit tests grind to a halt?]]></title><description><![CDATA[An investigation into why upgrading from iOS 8 to 9 SDK led to slow tests.]]></description><link>https://developer.squareup.com/blog/ios-9-upgrade-why-did-my-unit-tests-grind-to-a-halt</link><guid isPermaLink="false">https://developer.squareup.com/blog/ios-9-upgrade-why-did-my-unit-tests-grind-to-a-halt</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 27 Apr 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/dunbar151&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Alan Fineberg&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;While upgrading Square Register from iOS 8 to iOS 9, we found that our unit test behavior changed in a way that was difficult to diagnose. We investigated the issue and retraced our steps to arrive at the root cause. Ultimately we found that the und…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ios-9-upgrade-why-did-my-unit-tests-grind-to-a-halt&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Tailoring Pants for Square]]></title><description><![CDATA[The Pants build system announced a 1.0 release.]]></description><link>https://developer.squareup.com/blog/tailoring-pants-for-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/tailoring-pants-for-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 02 May 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@ericzundel&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Eric Ayers&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This week, the Pants project &lt;a href=&quot;http://www.pantsbuild.org/1.0.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;announced&lt;/a&gt; a 1.0 release of the open source Pants Build System. The 1.0 release of Pants indicates that the tool is ready for more widespread adoption.&lt;/p&gt;
&lt;p&gt;Square is a proud contributor to Pants. Developers at Square have been using and contributing to Pants &lt;a href=&quot;https://corner.squareup.com/2014/09/trying-on-pants.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;since 2014&lt;/a&gt; to develop our Java services. When we first joined the project, we found a tool that required lots of customization and insider knowledge to install and operate. Today the tool has a streamlined installation process, extensive documentation, a clea…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/tailoring-pants-for-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Content Security Policy for Single Page Web Apps]]></title><description><![CDATA[Deploying comprehensive CSP that supports template bootstrapping.]]></description><link>https://developer.squareup.com/blog/content-security-policy-for-single-page-web-apps</link><guid isPermaLink="false">https://developer.squareup.com/blog/content-security-policy-for-single-page-web-apps</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 19 May 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/terrilldent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Terrill Dent&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This week we fully enabled CSP on &lt;a href=&quot;https://cash.me/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cash.me&lt;/a&gt;. It’s been months in the making and the result is a safer experience for all our customers. This is how we did it.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Implementing Content Security Policy (CSP) on an established website is like flipping over a rock while you’re on a hike, exposing a world of creepy crawlers that you know are there but don’t really expect. It surfaces all the connections, sources, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/content-security-policy-for-single-page-web-apps&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Square’s Register API for Android]]></title><description><![CDATA[Developers can now build custom Android point-of-sale applications that take swipe, dip, or tap payments through Square hardware, and integrate with Square’s software and services.]]></description><link>https://developer.squareup.com/blog/introducing-squares-register-api-for-android</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-squares-register-api-for-android</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 25 May 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/Piwai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pierre-Yves Ricau&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Following our launch of &lt;a href=&quot;https://corner.squareup.com/2016/03/introducing-squares-register-api-and-ecommerce-api.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Register API for iOS&lt;/a&gt; in March, beginning today, developers can now build custom Android point-of-sale applications that take swipe, dip, or tap payments through Square hardware, and integrate with Square’s software and services. This builds on our existing API offering…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-squares-register-api-for-android&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[XCKnife: faster distributed tests for iOS]]></title><description><![CDATA[Simple tool for optimizing XCTest runs across machines]]></description><link>https://developer.squareup.com/blog/xcknife-faster-distributed-tests-for-ios</link><guid isPermaLink="false">https://developer.squareup.com/blog/xcknife-faster-distributed-tests-for-ios</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 07 Jun 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/metaphysicaldev&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Daniel Ribeiro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At Square, we highly value the efficiency of our engineers. As our codebases grow and our test suite reaches tens of thousands of tests, our engineers wait longer and longer for their builds to be green in our Continuous Integration system.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/xcknife-faster-distributed-tests-for-ios&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Caviar iOS: Migrating from AdvancedCollectionView to PJFDataSource]]></title><description><![CDATA[Behind-the-scenes look at the evolution of PJFDataSource in our Caviar iOS app.]]></description><link>https://developer.squareup.com/blog/caviar-ios-migrating-from-advancedcollectionview-to-pjfdatasource</link><guid isPermaLink="false">https://developer.squareup.com/blog/caviar-ios-migrating-from-advancedcollectionview-to-pjfdatasource</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Mon, 13 Jun 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/mikethole&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Michael Thole&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In December 2014, we released the first version of our iOS app for &lt;a href=&quot;https://www.trycaviar.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Caviar&lt;/a&gt;, our high quality restaurant delivery service. The view controller architecture of the app was largely based on the framework laid out in Apple’s 2014 WWDC Talk: &lt;a href=&quot;https://developer.apple.com/videos/play/wwdc2014/232/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Advanced User Interfaces with Collection Views&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/caviar-ios-migrating-from-advancedcollectionview-to-pjfdatasource&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Cleanse: A Lightweight Dependency Injection Framework For Swift]]></title><description><![CDATA[Cleanse is a pure Swift dependency injection library.]]></description><link>https://developer.squareup.com/blog/introducing-cleanse-a-lightweight-dependency-injection-framework-for-swift</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-cleanse-a-lightweight-dependency-injection-framework-for-swift</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 14 Jun 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;http://twitter.com/@mikelewis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mike Lewis&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/76dvufIEiIm9Ecnn4atex8/bb96da5f85acef8ed4687a31db409785/https___cdn-images-1.medium.com_max_6840_1_121y-g03_twwV3f6wd8Ubg.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;dependency-injection-for-all-mobile-devices&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dependency-injection-for-all-mobile-devices&quot; aria-label=&quot;dependency injection for all mobile devices permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Dependency Injection for All (Mobile Devices)&lt;/h2&gt;
&lt;p&gt;Several years ago, I was introduced to &lt;a href=&quot;https://en.wikipedia.org/wiki/Dependency_injection&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;dependency injection&lt;/a&gt;(DI) working on a Java service here. Our Java “Service Container” is built on top of &lt;a href=&quot;https://github.com/google/guice&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Guice&lt;/a&gt;. After a small learning curve, it clearly became one of those technologies I couldn’t live without. DI enables software to be &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-cleanse-a-lightweight-dependency-injection-framework-for-swift&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[SuperDelegate: The Better App Delegate]]></title><description><![CDATA[A Swift framework that provides a consistent and bug-free App Delegate API across all iOS SDKs.]]></description><link>https://developer.squareup.com/blog/superdelegate-the-better-app-delegate</link><guid isPermaLink="false">https://developer.squareup.com/blog/superdelegate-the-better-app-delegate</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 15 Jun 2016 16:11:00 GMT</pubDate><content:encoded>&lt;p&gt;A Swift framework that provides a consistent and bug-free App Delegate API across all iOS SDKs.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@dfed&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dan Federman&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;we-deserve-better&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#we-deserve-better&quot; aria-label=&quot;we deserve better permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;We deserve better&lt;/h2&gt;
&lt;p&gt;If you’ve written an iOS application, you’ve implemented a UIApplicationDelegate. UIApplicationDelegate is central to how our apps interact with iOS, but the API is incredibly idiosyncratic. When an app is launched due to a Quick Action via 3D Touch…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/superdelegate-the-better-app-delegate&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Valet Beats the OS X Keychain Access Control List Zero-Day Vulnerability]]></title><description><![CDATA[How we used test driven development to replicate an attack vector and harden our code against it]]></description><link>https://developer.squareup.com/blog/valet-beats-the-os-x-keychain-access-control-list-zero-day-vulnerability</link><guid isPermaLink="false">https://developer.squareup.com/blog/valet-beats-the-os-x-keychain-access-control-list-zero-day-vulnerability</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Sun, 19 Jun 2016 16:12:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://medium.com/@dfed&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dan Federman&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-world-is-on-fire&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-world-is-on-fire&quot; aria-label=&quot;the world is on fire permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The world is on fire&lt;/h2&gt;
&lt;p&gt;On June 17th, &lt;a href=&quot;http://www.theregister.co.uk/2015/06/17/apple_hosed_boffins_drop_0day_mac_ios_research_blitzkrieg&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Register reported&lt;/a&gt; that there was a zero-day vulnerability in the iOS and OS X Keychain that compromised secure data stored in the Keychain. The article claimed that data written to the keychain could be read by a malicious application. At Square, we write iOS code t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/valet-beats-the-os-x-keychain-access-control-list-zero-day-vulnerability&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square WomEng Hear + Now Tech Talks: June 2016]]></title><description><![CDATA[Lightning talks by women engineers on the theme “How to _____? 10 Minute Guides to Get You Started.”]]></description><link>https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-june-2016</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-june-2016</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 26 Jul 2016 16:12:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/mariechatfield&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Marie Chatfield&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://squ.re/womenghandbook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square WomEng&lt;/a&gt; hosts a quarterly lightning talk series, Hear + Now, that gives a voice to accomplished engineers across the tech industry. Women, genderqueer, trans, and nonbinary engineers and allies are welcome and encouraged to attend.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-june-2016&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s First-Ever Hack Night]]></title><description><![CDATA[Square held Hack Night 0, where teams competed to build on Square’s growing commerce platform using existing and newly-released APIs. Sign up to join next time!]]></description><link>https://developer.squareup.com/blog/squares-first-ever-hack-night</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-first-ever-hack-night</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 02 Aug 2016 16:12:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Written by &lt;a href=&quot;https://twitter.com/jawspeak&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jonathan Andrew Wolter&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On July 19th, Square held its “Hack Night 0”, where teams competed to build on Square’s growing &lt;a href=&quot;http://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;commerce platform&lt;/a&gt; using its existing and newly-released APIs.&lt;/p&gt;
&lt;p&gt;Winner &lt;a href=&quot;https://twitter.com/ethanyfan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ethan Fan’s&lt;/a&gt; creation, “Chatbot Ordering”, integrated with Square’s Items, Inventory and Register APIs to enable users to order ahead from a favorite food truck or restaurant by messaging a chat bot on Slack, then head straight to the register for quick pickup.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-first-ever-hack-night&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Careers]]></title><description><![CDATA[Building the future of commerce.]]></description><link>https://developer.squareup.com/blog/careers</link><guid isPermaLink="false">https://developer.squareup.com/blog/careers</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square]]></dc:creator><pubDate>Wed, 10 Aug 2016 00:40:09 GMT</pubDate><content:encoded>&lt;p&gt;Square creates products and services that push boundaries and innovate business. We’re looking for curious, hard-working leaders to join our team and help empower our global community of sellers. Have an idea? Pitch it — entrepreneurial minds thrive…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/careers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Stay Connected]]></title><description><![CDATA[Square.com]]></description><link>https://developer.squareup.com/blog/stay-connected</link><guid isPermaLink="false">https://developer.squareup.com/blog/stay-connected</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square]]></dc:creator><pubDate>Wed, 10 Aug 2016 00:41:13 GMT</pubDate><content:encoded>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square.com&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://twitter.com/square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@Square&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/SquareCareers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@SquareCareers&lt;/a&gt;, and &lt;a href=&quot;http://twitter.com/squareeng&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@SquareEng&lt;/a&gt; on Twitter&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://square.github.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt; on GitHub&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://caviarfeed.me/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Caviar’s blog&lt;/a&gt; on Medium&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://caviarfeed.me&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;strong&gt;Try Caviar&lt;/strong&gt;
*Caviar is the easiest way to order from America’s best independent restaurants. We partner directly with restaurants to…*caviarfeed.me&lt;/a&gt;
&lt;a href=&quot;https://developer.squareup.com/blog&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;strong&gt;Square Corner Blog&lt;/strong&gt;
*As Square engineers, we regularly contribute to the open source community and enjoy sharing our thoughts on algorithms…*medium.com&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/stay-connected&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[About Square Engineering]]></title><description><![CDATA[Square began with a simple idea: everyone should be able to accept credit cards. We’ve been rethinking buying and selling ever since.]]></description><link>https://developer.squareup.com/blog/about-square-engineering</link><guid isPermaLink="false">https://developer.squareup.com/blog/about-square-engineering</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 10 Aug 2016 00:44:11 GMT</pubDate><content:encoded>&lt;p&gt;Square began with a simple idea: everyone should be able to accept credit cards. We’ve been rethinking buying and selling ever since.&lt;/p&gt;
&lt;p&gt;For sellers, we’re creating one cohesive service to run your entire business, from a register in your pocket and analytics on your laptop, to small business financing and marketing tools that drive new sales. For buyers, we’re making it faster to or…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/about-square-engineering&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Upgrading a Reverse Proxy from Netty 3 to 4]]></title><description><![CDATA[Tracon is our reverse HTTP proxy powered by Netty. We recently completed an upgrade to Netty 4 and wanted to share our experience.]]></description><link>https://developer.squareup.com/blog/upgrading-a-reverse-proxy-from-netty-3-to-4</link><guid isPermaLink="false">https://developer.squareup.com/blog/upgrading-a-reverse-proxy-from-netty-3-to-4</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 09 Aug 2016 16:12:00 GMT</pubDate><content:encoded>&lt;p&gt;Written by Chris Conroy and Matt Davenport.&lt;/p&gt;
&lt;h2 id=&quot;tracon-squares-reverse-proxy&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tracon-squares-reverse-proxy&quot; aria-label=&quot;tracon squares reverse proxy permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Tracon: Square’s reverse proxy&lt;/h2&gt;
&lt;p&gt;Tracon is our reverse HTTP proxy powered by &lt;a href=&quot;http://netty.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Netty&lt;/a&gt;. Several years ago, as we started to move to a microservice architecture, we realized that we needed a reverse proxy to coordinate the migration of APIs from our legacy monolith to our rapidly expanding set of microservices.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/upgrading-a-reverse-proxy-from-netty-3-to-4&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[gRPC reaches 1.0]]></title><description><![CDATA[Last year, in collaboration with Google, we introduced gRPC to the world. Internally, the Traffic Engineering team at Square has been…]]></description><link>https://developer.squareup.com/blog/grpc-reaches-1-0</link><guid isPermaLink="false">https://developer.squareup.com/blog/grpc-reaches-1-0</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Manik Surtani]]></dc:creator><pubDate>Mon, 22 Aug 2016 18:10:03 GMT</pubDate><content:encoded>&lt;p&gt;Last year, in collaboration with Google, we introduced &lt;a href=&quot;https://developer.squareup.com/blog/grpc-cross-platform-open-source-rpc-over-http-2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gRPC&lt;/a&gt; to the world. Internally, the Traffic Engineering team at Square has been working on integrating gRPC with Square’s infrastructure — I recently presented some of our work:&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/-2sWDr3Z0Wo?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Over the course of a year of active development, we’ve seen a fast-growing community, a &lt;a href=&quot;https://github.com/grpc-ecosystem&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;repository of contributions&lt;/a&gt;, and even get-togethers in &lt;a href=&quot;http://www.meetup.com/gRPC-Meet-Up&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;meatspace&lt;/a&gt;.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/grpc-reaches-1-0&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Optimizing Ember Templates]]></title><description><![CDATA[Templates make up 60% of your Ember app. Now what?]]></description><link>https://developer.squareup.com/blog/optimizing-ember-templates</link><guid isPermaLink="false">https://developer.squareup.com/blog/optimizing-ember-templates</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Terrill Dent]]></dc:creator><pubDate>Wed, 31 Aug 2016 16:27:18 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/3TbiUDBbdnukhV74uQA2oQ/49eb1965c910cd33cbbe610abcab2a1f/https___cdn-images-1.medium.com_max_5440_1_RZFCFalUhLVCZM47GpgVBw_2x.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update: Ember’s base performance has improved a lot since this article was first published! Ember 2.10 shipped with a new rendering engine that makes some of these optimizations unnecessary. If you’re working on an older app, 2.9 or less, keep readi…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/optimizing-ember-templates&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Empowering Businesses: What It’s Like to Intern at Square]]></title><description><![CDATA[Square is focused on economic empowerment and making commerce easy. As an engineering intern at Square, I had the opportunity to build…]]></description><link>https://developer.squareup.com/blog/empowering-businesses-what-its-like-to-intern-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/empowering-businesses-what-its-like-to-intern-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Raymond Yin]]></dc:creator><pubDate>Tue, 13 Sep 2016 19:52:17 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/5f1C3jZdEDuEaqlFAYj3Iy/0ecca7c05f30e8683f7afdf0cfa3b1b4/https___cdn-images-1.medium.com_max_2000_1_XHeUSxEsXfBcV0WFmdcU8g.jpeg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;I worked on the web app for Square Appointments, an online scheduling tool that helps sellers manage their appointments. Imagine a hair salon with multiple locations, numerous employees, varying hours of business, and hundreds of appointments daily.…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/empowering-businesses-what-its-like-to-intern-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Becoming a Well-Rounded Square]]></title><description><![CDATA[Lessons learned at Square’s College Code Camp]]></description><link>https://developer.squareup.com/blog/becoming-a-well-rounded-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/becoming-a-well-rounded-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Elana Tee]]></dc:creator><pubDate>Tue, 13 Sep 2016 18:10:41 GMT</pubDate><content:encoded>&lt;p&gt;A couple weeks ago, I had the opportunity to hang out at &lt;a href=&quot;https://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt;’s New York City office with 16 other talented women engineers for &lt;a href=&quot;https://squareup.com/code-camp/college&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square College Code Camp&lt;/a&gt;, a five-day immersive program for women studying engineering that focuses on developing technical and leadership skills.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/becoming-a-well-rounded-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Brief Guide to Square’s Product Manager Intern Program]]></title><description><![CDATA[Two weeks ago was my last day as a Product Manager intern at Square. The summer went quickly and I wanted to share some thoughts in hopes…]]></description><link>https://developer.squareup.com/blog/a-brief-guide-to-squares-product-manager-intern-program</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-brief-guide-to-squares-product-manager-intern-program</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Tyler Sanchez]]></dc:creator><pubDate>Wed, 14 Sep 2016 20:20:25 GMT</pubDate><content:encoded>&lt;p&gt;Two weeks ago was my last day as a Product Manager intern at Square. The summer went quickly and I wanted to share some thoughts in hopes that they may be useful to others hoping to break into the world of Product Management. Soon I’ll be heading ba…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-brief-guide-to-squares-product-manager-intern-program&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing the Vendor Security Alliance]]></title><description><![CDATA[At Square, we protect data like our business depends on it — because it does. We adhere to industry-leading standards to manage our…]]></description><link>https://developer.squareup.com/blog/announcing-the-vendor-security-alliance</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-the-vendor-security-alliance</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Samantha Verdile]]></dc:creator><pubDate>Thu, 15 Sep 2016 15:22:47 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we protect data like our business depends on it — because it does. We adhere to industry-leading standards to manage our network, secure our web and client applications, and set policies across our organization.&lt;/p&gt;
&lt;p&gt;We believe our external partners should follow the same standards to which we ourselves adhere. We dedicate significant time and resources to vetting vendors: reviewing their policies, providing feedback, and pushing for stricter and stronger standa…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-the-vendor-security-alliance&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Android leak pattern: subscriptions in views]]></title><description><![CDATA[Avoid memory leaks by properly handling view subscriptions ]]></description><link>https://developer.squareup.com/blog/android-leak-pattern-subscriptions-in-views</link><guid isPermaLink="false">https://developer.squareup.com/blog/android-leak-pattern-subscriptions-in-views</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Tue, 20 Sep 2016 00:55:57 GMT</pubDate><content:encoded>&lt;p&gt;In Square Register Android, we rely on custom views to structure our app. Sometimes a view listens to changes from an object that lives longer than that view.&lt;/p&gt;
&lt;p&gt;For instance, a HeaderView might want to listen to username changes coming from an Authenticator singleton:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/android-leak-pattern-subscriptions-in-views&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Low Power Mode: Managing Your Emotional and Creative Energy]]></title><description><![CDATA[Slides and speaker notes from a talk originally given at AlterConf in Portland on October 1, 2016.]]></description><link>https://developer.squareup.com/blog/low-power-mode-managing-your-emotional-and-creative-energy</link><guid isPermaLink="false">https://developer.squareup.com/blog/low-power-mode-managing-your-emotional-and-creative-energy</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Marie Chatfield]]></dc:creator><pubDate>Sun, 02 Oct 2016 05:02:10 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/2TymnFFzN9lx61vaywyom1/f65ad7181d523e4017b8e8576dc1fa27/https___cdn-images-1.medium.com_max_2048_1_2Pbr9g_S6jXVdoSd30RxxA.png&quot; alt=&quot;Low Power Mode: managing your emotional and creative energy. @mariechatfield // Art Credit: “Crocodile” by Gwenn Seemel, licensed under CC BY 2.0&quot;&gt;&lt;em&gt;Low Power Mode: managing your emotional and creative energy. @mariechatfield // Art Credit: “&lt;a href=&quot;https://flic.kr/p/tTNwbg&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Crocodile&lt;/a&gt;” by Gwenn Seemel, licensed under CC BY 2.0&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Good afternoon! My name is Marie Chatfield, and I am so honored to be here with you today. I’m originally from Houston, and now live in San Francisco, where I work on a front-end infrastructure team at Square.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/low-power-mode-managing-your-emotional-and-creative-energy&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Bikeshop]]></title><description><![CDATA[Pedaling steadily toward cleaner code.]]></description><link>https://developer.squareup.com/blog/the-bikeshop</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-bikeshop</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Ella Polo]]></dc:creator><pubDate>Wed, 05 Oct 2016 20:06:33 GMT</pubDate><content:encoded>&lt;p&gt;When I joined the Developers team at Square a few weeks ago, I was told that, as part of onboarding, every new team member makes a sample application using our APIs. Rich sample applications are great because they not only show developers how the AP…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-bikeshop&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[No Cause for Concern — RxJava and Retrofit Throwing a Tantrum]]></title><description><![CDATA[Last week, we found an interesting API design issue in the Throwable class of the JDK that led to bugs in RxJava and Retrofit. This is a…]]></description><link>https://developer.squareup.com/blog/no-cause-for-concern-rxjava-and-retrofit-throwing-a-tantrum</link><guid isPermaLink="false">https://developer.squareup.com/blog/no-cause-for-concern-rxjava-and-retrofit-throwing-a-tantrum</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 02 Nov 2016 19:47:30 GMT</pubDate><content:encoded>&lt;p&gt;Last week, we found an interesting API design issue in the &lt;code&gt;Throwable&lt;/code&gt; class of the JDK that led to bugs in RxJava and Retrofit. This is a write-up of how we found those bugs.&lt;/p&gt;
&lt;h2 id=&quot;assembly-tracking&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#assembly-tracking&quot; aria-label=&quot;assembly tracking permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Assembly tracking&lt;/h2&gt;
&lt;p&gt;Monday morning, &lt;a href=&quot;https://twitter.com/nellyspageli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nelson Osacky&lt;/a&gt; opens a pull request to enable RxJava &lt;a href=&quot;http://reactivex.io/RxJava/javadoc/rx/plugins/RxJavaHooks.html#enableAssemblyTracking()&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Assembly Tracking&lt;/a&gt; in the &lt;strong&gt;debug&lt;/strong&gt; build of Square Register Android.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/no-cause-for-concern-rxjava-and-retrofit-throwing-a-tantrum&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Advice from the Insider: Landing Your Dream Engineering Job]]></title><description><![CDATA[This blog post originated from a presentation originally given by Alyssa Pohahau at Barnard College.]]></description><link>https://developer.squareup.com/blog/advice-from-the-insider-landing-your-dream-engineering-job</link><guid isPermaLink="false">https://developer.squareup.com/blog/advice-from-the-insider-landing-your-dream-engineering-job</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Remi Levoff]]></dc:creator><pubDate>Wed, 09 Nov 2016 19:11:43 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;This blog post originated from a presentation originally given by Alyssa Pohahau at Barnard College.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When it comes to scoring a full-time position as an engineer, it’s no secret that competition is fierce. That said, if joining an innovative, cutting-edge community of sharp minds strikes your fancy, a bit of prep and determination will serve you we…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/advice-from-the-insider-landing-your-dream-engineering-job&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Inclusion up and to the right: how we’re improving Hear + Now tech talks]]></title><description><![CDATA[tl;dr Square WomEng cares about inclusion, which is why we’re acknowledging how our tech talk series Hear + Now has failed to be as…]]></description><link>https://developer.squareup.com/blog/inclusion-up-and-to-the-right-how-were-improving-hear-now-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/inclusion-up-and-to-the-right-how-were-improving-hear-now-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Marie Chatfield]]></dc:creator><pubDate>Thu, 10 Nov 2016 19:30:58 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;tl;dr Square WomEng cares about inclusion, which is why we’re acknowledging how our tech talk series &lt;a href=&quot;https://hear-now-nov2016.splashthat.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hear + Now&lt;/a&gt; has failed to be as inclusive as we’d like, and committing to improvements.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hear-now-nov2016.splashthat.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hear + Now&lt;/a&gt; is a quarterly tech talk series hosted by &lt;a href=&quot;https://squareup.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt; WomEng. When we first started Hear + Now a year ago, we were focused on creating a space for engineers who identified primarily as women to have their voices heard. &lt;a href=&quot;https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-june-2016#.9fgw5z6pz&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;We’ve had some really amazing women speak about their experiences and their areas of expertise&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/inclusion-up-and-to-the-right-how-were-improving-hear-now-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New York Tech Talk Videos]]></title><description><![CDATA[Recently, Ron Shapiro and David P. Baker from Google joined me to present a pair of tech talks in Square’s New York City office. (Thanks to…]]></description><link>https://developer.squareup.com/blog/new-york-tech-talk-videos</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-york-tech-talk-videos</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jake Wharton]]></dc:creator><pubDate>Thu, 10 Nov 2016 21:50:05 GMT</pubDate><content:encoded>&lt;p&gt;Recently, &lt;a href=&quot;https://twitter.com/rdshapiro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ron Shapiro&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/netdpb&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;David P. Baker&lt;/a&gt; from Google joined me to present a pair of tech talks in Square’s New York City office. (Thanks to everyone who attended!) These talks were recorded and are now available on our &lt;a href=&quot;https://www.youtube.com/user/SquareEngineering&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Engineering YouTube&lt;/a&gt; channel. Enjoy!&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-york-tech-talk-videos&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing enhancements to Square’s Register API]]></title><description><![CDATA[Square has released a set of new features and enhancements to its developer platform.]]></description><link>https://developer.squareup.com/blog/introducing-enhancements-to-squares-register-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-enhancements-to-squares-register-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Fri, 02 Dec 2016 22:26:59 GMT</pubDate><content:encoded>&lt;p&gt;Square has released a set of new features and enhancements to its developer platform. These enhancements are part of the Register API and include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The ability to pass a Customer ID to a register app and keep the customer’s card details on file;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Removing the requirement to build out the OAuth flow for merchants using a developer app; and&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Android Web API.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-enhancements-to-squares-register-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Web Sockets now shipping in OkHttp 3.5!]]></title><description><![CDATA[Stream fully bi-directional messages between your client and server.]]></description><link>https://developer.squareup.com/blog/web-sockets-now-shipping-in-okhttp-3-5</link><guid isPermaLink="false">https://developer.squareup.com/blog/web-sockets-now-shipping-in-okhttp-3-5</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jake Wharton]]></dc:creator><pubDate>Fri, 02 Dec 2016 14:00:01 GMT</pubDate><content:encoded>&lt;p&gt;Unlike the traditional request/response model of HTTP, web sockets provide fully bi-directional streaming of messages. This means that both the client and the server can send any number of messages to the other peer at any time. With today’s version…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/web-sockets-now-shipping-in-okhttp-3-5&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Developer Night Recap]]></title><description><![CDATA[A few weeks ago, we invited a small group of local developers to come visit the Square offices and take a figurative peek behind the…]]></description><link>https://developer.squareup.com/blog/developer-night-recap</link><guid isPermaLink="false">https://developer.squareup.com/blog/developer-night-recap</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Mon, 05 Dec 2016 21:46:37 GMT</pubDate><content:encoded>&lt;p&gt;A few weeks ago, we invited a small group of local developers to come visit the Square offices and take a figurative peek behind the curtains to see how our APIs are made, and what we are working on in the near future.&lt;/p&gt;
&lt;p&gt;We’re so excited about the things we are working on that we wanted to share them publicly—so everyone who is building with Square can share in our excitement!&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/developer-night-recap&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Anonymous Sandbox]]></title><description><![CDATA[You might have noticed that we have a new section in the sample code section of our API reference. Say hello to your new Anonymous Sandbox!]]></description><link>https://developer.squareup.com/blog/anonymous-sandbox</link><guid isPermaLink="false">https://developer.squareup.com/blog/anonymous-sandbox</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 08 Dec 2016 19:06:27 GMT</pubDate><content:encoded>&lt;p&gt;You might have noticed that we have a new section in the sample code section of our API reference. Say hello to your new Anonymous Sandbox!&lt;/p&gt;
&lt;p&gt;We created what we call Anonymous Sandbox to make it easy to try out and explore the functionality of our APIs. You can find your credentials at the top of the page in our &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v2/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;API Reference&lt;/a&gt;, which allow you to interact with a sandboxed environment without logging in or creating a Square account. We made these credentials persistent, so you should be able to use the exact same credentials the next time you visit the documentation.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/anonymous-sandbox&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Looking Back on the Grace Hopper Celebration]]></title><description><![CDATA[This fall, 25 Squares attended The Grace Hopper Celebration of Women in Computing (GHC). The event may have concluded in October, but the…]]></description><link>https://developer.squareup.com/blog/looking-back-on-the-grace-hopper-celebration</link><guid isPermaLink="false">https://developer.squareup.com/blog/looking-back-on-the-grace-hopper-celebration</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 09 Dec 2016 21:02:01 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;This fall, 25 Squares attended &lt;a href=&quot;http://ghc.anitaborg.org/http://ghc.anitaborg.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Grace Hopper Celebration of Women in Computing &lt;/a&gt;(GHC). The event may have concluded in October, but the learnings from GHC continue to impact Squares. Gloria Kimbawala and Rodion Steshenko took time to reflect on their personal experiences at GHC. Read on for more details.&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/looking-back-on-the-grace-hopper-celebration&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The traits you need as a Product Manager that you won’t find in job descriptions]]></title><description><![CDATA[You’ve read the job descriptions, familiarized yourself with the responsibilities, and understand where PMs fit in at a company. But what…]]></description><link>https://developer.squareup.com/blog/traits-that-are-important-for-product-managers-that-you-wouldnt-find-in-job-descriptions</link><guid isPermaLink="false">https://developer.squareup.com/blog/traits-that-are-important-for-product-managers-that-you-wouldnt-find-in-job-descriptions</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Koun Han]]></dc:creator><pubDate>Fri, 06 Jan 2017 21:39:50 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;You’ve read the job descriptions, familiarized yourself with the responsibilities, and understand where PMs fit in at a company. But what really makes a successful PM?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Almost all job descriptions for tech company Product Managers (PM) have something similar to the following:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/traits-that-are-important-for-product-managers-that-you-wouldnt-find-in-job-descriptions&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How a Square developer is helping small business owners wear their favorite hat]]></title><description><![CDATA[We’re highlighting a series of Square developers who have successfully grown their businesses after integrating Build With Square (APIs) into their platform.]]></description><link>https://developer.squareup.com/blog/how-a-square-developer-is-helping-small-business-owners-wear-their-favorite-hat</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-a-square-developer-is-helping-small-business-owners-wear-their-favorite-hat</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Tue, 10 Jan 2017 16:47:38 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;The Inspiration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It all started when Donovan Janus’ wife, Allison, decided to pursue her true passion of photography. When she started a photography business in 2011, business took off immediately. The problem was that, while an exceptional photographer, she didn’t …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-a-square-developer-is-helping-small-business-owners-wear-their-favorite-hat&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Product managing an integrated hardware product at Square]]></title><description><![CDATA[The PM perspective: Pivoting from software to hardware]]></description><link>https://developer.squareup.com/blog/product-managing-an-integrated-hardware-product-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/product-managing-an-integrated-hardware-product-at-square</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Koun Han]]></dc:creator><pubDate>Mon, 20 Feb 2017 20:59:16 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;The PM perspective: Pivoting from software to hardware&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I am a lead Hardware Product Manager at Square, where I’ve worked most recently on &lt;a href=&quot;https://squareup.com/contactless-chip-reader&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;our contactless and chip reader&lt;/a&gt;. But when I started at Square 3 years ago, I worked on pure software products (as I had also done for 6 years previously at Facebook). I’ve always loved that Square provides an integrated solution to small businesses with both hardware and software…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/product-managing-an-integrated-hardware-product-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square at WeCode Harvard]]></title><description><![CDATA[Empowerment, enthusiasm, and inspiration at the “Grace Hopper of the Northeast”.]]></description><link>https://developer.squareup.com/blog/square-at-wecode-harvard</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-at-wecode-harvard</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 01 Mar 2017 00:21:20 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;By &lt;a href=&quot;https://twitter.com/callmesaqi&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Saqi Mehta&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Earlier this month, I had the privilege to again attend &lt;a href=&quot;http://www.wecodeharvard.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;**WeCode Harvard&lt;/a&gt;** at Harvard University. Each year, the conference — which stands for Women Engineers Code — brings together 500 women from around the world who are passionate about technology and entrepreneurship. The weekend was filled with incredible activities…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-at-wecode-harvard&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Taking Our Show on the Road]]></title><description><![CDATA[Conferences and Hackathons We’re Visiting This Month.]]></description><link>https://developer.squareup.com/blog/taking-our-show-on-the-road</link><guid isPermaLink="false">https://developer.squareup.com/blog/taking-our-show-on-the-road</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 02 Mar 2017 22:22:57 GMT</pubDate><content:encoded>&lt;p&gt;Come meet members of our team and learn more about our APIs at some upcoming events across the country!&lt;/p&gt;
&lt;h3 id=&quot;fowardjsforwardswift&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fowardjsforwardswift&quot; aria-label=&quot;fowardjsforwardswift permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;FowardJS/ForwardSwift&lt;/h3&gt;
&lt;p&gt;Our first stop was at the local &lt;a href=&quot;https://forwardjs.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ForwardJS&lt;/a&gt;/&lt;a href=&quot;https://forwardswift.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ForwardSwift&lt;/a&gt; conferences here in San Francisco on March 1st &amp;#x26; 2nd. We had a few Squares in attendance to learn about the upcoming technologies in Javascript and Swift, as well as a booth where we discussed some of the new features of our APIs and even some of o…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/taking-our-show-on-the-road&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ok Google, Charge $2 for Coffee]]></title><description><![CDATA[When I received my Google Home, I immediately felt the urge to build something with it. After a good night’s sleep, I had an idea: Baristas…]]></description><link>https://developer.squareup.com/blog/ok-google-charge-2-for-coffee</link><guid isPermaLink="false">https://developer.squareup.com/blog/ok-google-charge-2-for-coffee</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Fri, 10 Mar 2017 21:54:16 GMT</pubDate><content:encoded>&lt;p&gt;When I received my Google Home, I immediately felt the urge to build something with it. After a good night’s sleep, I had an idea: Baristas and business owners usually have their hands full behind the counter. What if they could complete transaction…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ok-google-charge-2-for-coffee&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Incident Summary: 2017–03–16]]></title><description><![CDATA[Authors: Erik Bourget, Toby Reyelts, and Xavier Shay]]></description><link>https://developer.squareup.com/blog/incident-summary-2017-03-16</link><guid isPermaLink="false">https://developer.squareup.com/blog/incident-summary-2017-03-16</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Fri, 17 Mar 2017 20:13:05 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Authors: Erik Bourget, Toby Reyelts, and Xavier Shay&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On March 16, beginning at 10:02 a.m. PDT, Square’s serving infrastructure experienced a service disruption. Most of Square’s products and services were affected in this outage, including payment processing, Point of Sale, Dashboard, Appointments, an…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/incident-summary-2017-03-16&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Getting started with Postman and Square’s APIs]]></title><description><![CDATA[Being able to try out an API as quickly as possible is important when learning about its features. One of the tools to help you get up and…]]></description><link>https://developer.squareup.com/blog/getting-started-with-postman-and-squares-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/getting-started-with-postman-and-squares-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 22 Mar 2017 23:15:49 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/28BepY2DI2QCfbxNgen4CN/c344c0c7f179f95b4564cea26b0843f5/https___cdn-images-1.medium.com_max_2980_1_9sNb8j2cdj_ODGejOUhldQ.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;step-0-install-postman&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-0-install-postman&quot; aria-label=&quot;step 0 install postman permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 0: Install Postman&lt;/h2&gt;
&lt;p&gt;Before you can use Postman, you need to install it. Visit &lt;a href=&quot;https://www.getpostman.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.getpostman.com/&lt;/a&gt; and download the preferred version for your system.&lt;/p&gt;
&lt;h2 id=&quot;step-1-get-the-postman-collection&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-1-get-the-postman-collection&quot; aria-label=&quot;step 1 get the postman collection permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 1: Get the Postman collection&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://app.getpostman.com/run-collection/5236465-5827b5b7-4b61-4003-8044-8fc0254dd547-SVYxovAy&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/1sHuHRROdF7ifCjy4QKVXk/a44e85c6138dbe13126c4ede8650cf29/https___cdn-images-1.medium.com_max_2000_1_O0OZO4m6nbwwnYAtkSQO0g.png&quot; alt=&quot;Run in Postman&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This step is easy. Just click on the big &lt;em&gt;Run in Postman&lt;/em&gt; button on this page and you’ll be prompted to import the collection inside of Postman. You can also find this button in the &lt;a href=&quot;https://developer.squareup.com/docs/testing/postman&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square API documentation&lt;/a&gt;.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/getting-started-with-postman-and-squares-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Anatomy of an HAProxy <-> Java TLS bug]]></title><description><![CDATA[Adding SSL health checks to HAProxy uncovered an interesting interaction with Java servers.]]></description><link>https://developer.squareup.com/blog/anatomy-of-an-haproxy-java-tls-bug</link><guid isPermaLink="false">https://developer.squareup.com/blog/anatomy-of-an-haproxy-java-tls-bug</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Steven Davidovitz]]></dc:creator><pubDate>Mon, 27 Mar 2017 19:23:27 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;TL;DR: Java interprets the TLS specification strictly and does not allow session resumption when the connection is closed uncleanly.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;While deploying an internal load balancing project based on HAProxy to our staging environment with a configuration that included 100s of services and backends, HAProxy immediately pegged CPU usage at 100%. Since there was no traffic flowing through…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/anatomy-of-an-haproxy-java-tls-bug&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Moshi, another JSON Processor]]></title><description><![CDATA[It’s rare for a programmer to get to work on the same problem twice. Either the first is good enough and you’re done, or it wasn’t and…]]></description><link>https://developer.squareup.com/blog/moshi-another-json-processor</link><guid isPermaLink="false">https://developer.squareup.com/blog/moshi-another-json-processor</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Mon, 27 Mar 2017 19:50:19 GMT</pubDate><content:encoded>&lt;p&gt;It’s rare for a programmer to get to work on the same problem twice. Either the first is good enough and you’re done, or it wasn’t and you’re foolish to try again. Circumstance and hubris have given me two opportunities to make another attempt.&lt;/p&gt;
&lt;h2 id=&quot;guice-a-dependency-injector&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#guice-a-dependency-injector&quot; aria-label=&quot;guice a dependency injector permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Guice, a Dependency Injector&lt;/h2&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/moshi-another-json-processor&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Build with Square is creating waves in Australia!]]></title><description><![CDATA[Australian developers are loving our APIs and building all kind of cool apps, and now, two of our largest partners are ready to take payments with Square Down Under.]]></description><link>https://developer.squareup.com/blog/build-with-square-is-creating-waves-in-australia</link><guid isPermaLink="false">https://developer.squareup.com/blog/build-with-square-is-creating-waves-in-australia</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Tue, 28 Mar 2017 23:09:00 GMT</pubDate><content:encoded>&lt;p&gt;Since the U.S. launch of Build with Square in March 2016, Square has been committed to bringing our tools to more developers and sellers of all sizes. Our collection of APIs enable developers to build custom solutions for sellers to empower them to …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/build-with-square-is-creating-waves-in-australia&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[See Square in the Northeast and learn about our APIs]]></title><description><![CDATA[From Boston to Baltimore, we hope to see you in April!]]></description><link>https://developer.squareup.com/blog/see-square-in-the-north-east-and-learn-about-our-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/see-square-in-the-north-east-and-learn-about-our-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 13 Apr 2017 19:14:27 GMT</pubDate><content:encoded>&lt;p&gt;In April, we are going to show some love to Boston, Baltimore, and New York, and we would love to see you at some of these events!&lt;/p&gt;
&lt;h3 id=&quot;droidcon-boston&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#droidcon-boston&quot; aria-label=&quot;droidcon boston permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Droidcon Boston&lt;/h3&gt;
&lt;p&gt;First off, we will be at Droidcon Boston, one of the best community-driven Android conferences, on April 10th &amp;#x26; 11th. It is being hosted in Boston this year for the first time ever, and we’ll be there showing off our Android point of Sale API and ou…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/see-square-in-the-north-east-and-learn-about-our-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How Square writes commit messages]]></title><description><![CDATA[Explain the change.]]></description><link>https://developer.squareup.com/blog/how-square-writes-commit-messages</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-square-writes-commit-messages</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Logan Johnson]]></dc:creator><pubDate>Tue, 18 Apr 2017 17:51:45 GMT</pubDate><content:encoded>&lt;p&gt;Commit messages are an important form of communication for us at Square, so writing them well is a great way for us to give time back to each other. Often we wish we’d done a better job earlier. The commits from those days are still in our history, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-square-writes-commit-messages&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Improving the Square Register API Payment Experience]]></title><description><![CDATA[We recently introduced new functionality in the Square Point of Sale iOS and Android apps that greatly improves the payment experience when…]]></description><link>https://developer.squareup.com/blog/improving-the-square-register-api-payment-experience</link><guid isPermaLink="false">https://developer.squareup.com/blog/improving-the-square-register-api-payment-experience</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Gabriel Jinich]]></dc:creator><pubDate>Tue, 25 Apr 2017 01:00:19 GMT</pubDate><content:encoded>&lt;p&gt;We recently introduced new functionality in the Square Point of Sale iOS and Android apps that greatly improves the payment experience when using Register API.&lt;/p&gt;
&lt;p&gt;On iOS, we’ve added functionality that keeps your &lt;a href=&quot;https://squareup.com/contactless-chip-reader&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square contactless &amp;#x26; chip card reader&lt;/a&gt; connected in the background (note: this is already available on Android). And, on Android, we’ve enabled a transparent background for Register API customers.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/improving-the-square-register-api-payment-experience&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing new versions of our client SDKs]]></title><description><![CDATA[We are releasing a big update to our first-party SDKs, as well as a new Slack community for developers!]]></description><link>https://developer.squareup.com/blog/announcing-our-new-versions-of-our-client-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-our-new-versions-of-our-client-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 28 Apr 2017 22:18:28 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;[Update: the beta is now over; you can download the most up to date versions of our client SDKs &lt;a href=&quot;https://developer.squareup.com/docs/sdks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;here&lt;/a&gt;.]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At Square, we want to make building integrations with our platform as fast and easy as possible. To help with that, we are working on a big update to our SDKs to expand their functionality and make them even easier to use. We are also launching a Sl…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-our-new-versions-of-our-client-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How to install Square’s beta SDKs]]></title><description><![CDATA[We recently released a big update to SDKs—here’s how to upgrade.]]></description><link>https://developer.squareup.com/blog/how-to-install-the-beta-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-install-the-beta-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 02 May 2017 22:34:15 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;&lt;strong&gt;[Update: the beta has completed, download the latest version of our SDKs &lt;a href=&quot;https://developer.squareup.com/docs/sdks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;here&lt;/a&gt;]&lt;/strong&gt; As a reminder, if you want help with installation, to give us feedback on the new design and features, or simply to learn more about the APIs, request an invite to our new&lt;/em&gt; &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-install-the-beta-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Setup up HTTPS for your e-commerce site with Let’s Encrypt and Google App Engine.]]></title><description><![CDATA[HTTPS is an important part of keeping your customer’s information secure on the web—here’s a quick tutorial on how to set up HTTPS on your App Engine website to use our e-commerce APIs.]]></description><link>https://developer.squareup.com/blog/setting-up-https-for-your-e-commerce-website-with-lets-encrypt-and-google-app-engine</link><guid isPermaLink="false">https://developer.squareup.com/blog/setting-up-https-for-your-e-commerce-website-with-lets-encrypt-and-google-app-engine</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 09 May 2017 00:37:36 GMT</pubDate><content:encoded>&lt;p&gt;Security on the web is hugely important, especially when someone is trusting you with their payment card information. Even though Square handles the complex parts of PCI compliance for you, we do require your e-commerce forms to be served from an HT…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/setting-up-https-for-your-e-commerce-website-with-lets-encrypt-and-google-app-engine&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Rolling out @Nullable]]></title><description><![CDATA[We’re helping the type system to help you to help your customers]]></description><link>https://developer.squareup.com/blog/rolling-out-nullable</link><guid isPermaLink="false">https://developer.squareup.com/blog/rolling-out-nullable</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Fri, 12 May 2017 16:26:05 GMT</pubDate><content:encoded>&lt;p&gt;Lots of us have strong opinions on null. I don’t think it’s evil, or that using null is sloppy. I just want to be deliberate: wherever a parameter or return value can be null, the interpretation of that should be explicit.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/** 
 * Consumes the next line of text and returns it.
 * Returns null if there are no more lines. 
 */
String readUtf8Line() throws IOException;
&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rolling-out-nullable&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Open Source ♥s Kotlin]]></title><description><![CDATA[Improving the developer experience of Square’s libraries in Kotlin.]]></description><link>https://developer.squareup.com/blog/square-open-source-loves-kotlin</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-open-source-loves-kotlin</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jake Wharton]]></dc:creator><pubDate>Fri, 12 May 2017 15:25:04 GMT</pubDate><content:encoded>&lt;p&gt;Consumers of Square’s open source libraries may remember our &lt;a href=&quot;https://developer.squareup.com/blog/seven-days-of-open-source&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;“Seven Days of Open Source”&lt;/a&gt; prior to Google I/O 2013. We released major versions of some of our projects in the days leading up to the event. This culminated in us also having a booth inside the developer space at I/O and getting to meet and chat with you all about those proj…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-open-source-loves-kotlin&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Non-null is the Default]]></title><description><![CDATA[Using annotations to make Java’s type system better]]></description><link>https://developer.squareup.com/blog/non-null-is-the-default</link><guid isPermaLink="false">https://developer.squareup.com/blog/non-null-is-the-default</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Sat, 13 May 2017 17:27:56 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/2gkmSXPJzUAGK5PZkaRak7/d321ca93a5a434bbca3904ad7d07d70d/https___cdn-images-1.medium.com_max_2896_1_OPRBM1tn4RPk9BuIiUsq9g.png&quot; alt=&quot;IntelliJ warns about potential NullPointerExceptions&quot;&gt;&lt;em&gt;IntelliJ warns about potential NullPointerExceptions&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;@Nullable&lt;/code&gt; imposes an obligation on the consumers of the value: they must prepare for it to be null. But what happens when I’m the one producing the value? Suppose that I’m calling the method above.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/non-null-is-the-default&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[An Optional’s place in Kotlin]]></title><description><![CDATA[With nullability being a first-class citizen in Kotlin’s type system, is there any need for an Optional type?]]></description><link>https://developer.squareup.com/blog/an-optionals-place-in-kotlin</link><guid isPermaLink="false">https://developer.squareup.com/blog/an-optionals-place-in-kotlin</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jake Wharton]]></dc:creator><pubDate>Sun, 14 May 2017 16:18:21 GMT</pubDate><content:encoded>&lt;p&gt;With nullability being a first-class citizen in Kotlin’s type system, the need for an &lt;code&gt;Optional&lt;/code&gt; type seems all but diminished. Just because you can explicitly express nullability, however, does not mean that null is always allowed.&lt;/p&gt;
&lt;p&gt;For example, Retrofit provides adapters for RxJava 1.x and 2.x which allow modeling your requests as a single-element stream.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/an-optionals-place-in-kotlin&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Kotlin’s a great language for JSON]]></title><description><![CDATA[Why you should model your JSON documents with Kotlin]]></description><link>https://developer.squareup.com/blog/kotlins-a-great-language-for-json</link><guid isPermaLink="false">https://developer.squareup.com/blog/kotlins-a-great-language-for-json</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Mon, 15 May 2017 17:28:26 GMT</pubDate><content:encoded>&lt;p&gt;Though it has its wrinkles, I really like JSON. It’s easy to read, pretty fast to parse, and refreshingly simple. Here’s a sample message from &lt;a href=&quot;https://developer.github.com/v3/issues/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub’s exemplar API&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;url&quot;: &quot;https://api.github.com/repos/square/okio/issues/156&quot;,
  &quot;id&quot;: 91393390,
  &quot;number&quot;: 156,
  &quot;title&quot;: &quot;ByteString CharSequence idea&quot;,
  &quot;state&quot;: &quot;open&quot;,
  &quot;created_at&quot;: &quot;2015-06-27T00:49:40.000Z&quot;,
  &quot;body&quot;: &quot;Let&apos;s make CharSequence that&apos;s …&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/kotlins-a-great-language-for-json&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Generating Kotlin code with KotlinPoet]]></title><description><![CDATA[Java code generation has become a popular solution to simplifying library code. Dagger generates interface implementations, Butter Knife…]]></description><link>https://developer.squareup.com/blog/generating-kotlin-code-with-kotlinpoet</link><guid isPermaLink="false">https://developer.squareup.com/blog/generating-kotlin-code-with-kotlinpoet</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jake Wharton]]></dc:creator><pubDate>Tue, 16 May 2017 16:36:46 GMT</pubDate><content:encoded>&lt;p&gt;Java code generation has become a popular solution to simplifying library code. &lt;a href=&quot;https://github.com/google/dagger/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dagger&lt;/a&gt; generates interface implementations, &lt;a href=&quot;https://github.com/JakeWharton/butterknife/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Butter Knife&lt;/a&gt; generates Android UI boilerplate, and &lt;a href=&quot;https://github.com/square/wire&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wire&lt;/a&gt; generates implementations of value classes for binary encoding of data.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/generating-kotlin-code-with-kotlinpoet&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Washington, DC Taxis Are Moving to New Digital Meter Apps That Connect with Square]]></title><description><![CDATA[Soon you will see new taxi meter apps around the city powered by Square.]]></description><link>https://developer.squareup.com/blog/washington-dc-taxis-are-moving-to-new-digital-meter-apps-that-connect-with-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/washington-dc-taxis-are-moving-to-new-digital-meter-apps-that-connect-with-square</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Wed, 17 May 2017 13:15:48 GMT</pubDate><content:encoded>&lt;p&gt;Most taxis are still running outdated, legacy metering hardware that doesn’t integrate with the point of sale or credit card reader. As technology changes the way we pay, taxis have to be able to innovate quickly and keep up with technology shifts.&lt;/p&gt;
&lt;p&gt;Today, Washington, DC’s Department of For-Hire Vehicles (DFHV) announced that all the city’s taxis will shift to new apps to replace antiquated payment terminals and legacy metering hardware. We’re proud that Square will be powering the first digita…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/washington-dc-taxis-are-moving-to-new-digital-meter-apps-that-connect-with-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using Square’s REST APIs to Build a Sandbox Dashboard Part 1: Authentication & Locations.]]></title><description><![CDATA[One of the things we hear most often from our developers is the lack of a dashboard for their sandbox accounts. This will be the first post…]]></description><link>https://developer.squareup.com/blog/using-squares-rest-apis-to-build-a-sandbox-dashboard-part-1-authentication-locations</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-squares-rest-apis-to-build-a-sandbox-dashboard-part-1-authentication-locations</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 18 May 2017 23:05:43 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/5Qd2xx6JAQwL5gTsuJBk5a/576e73149e4c1867e103e8d08044bb4a/https___cdn-images-1.medium.com_max_6528_1_VfVufLIm0dCRT6nsu8wlnA.jpeg&quot; alt=&quot;initial sketch… or entry in world’s worst handwriting contest?&quot;&gt;&lt;em&gt;initial sketch… or entry in world’s worst handwriting contest?&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&quot;building-the-square-dashboard&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#building-the-square-dashboard&quot; aria-label=&quot;building the square dashboard permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;strong&gt;Building the Square Dashboard&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;At Square, there is a whole team dedicated to our Dashboard, and I’m not going to get close to replicating all the work they have done. I will however start with some boilerplate HTML that sets up the general structure of the page, as well as some J…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-squares-rest-apis-to-build-a-sandbox-dashboard-part-1-authentication-locations&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building Jukebox: A viral way to share music when a simple text, meme, or gif isn’t enough]]></title><description><![CDATA[Two hackathon veterans discovered Square’s APIs at the SXSW Hackathon and the infinite possibilities they offer to improve their existing and new apps.]]></description><link>https://developer.squareup.com/blog/building-jukebox-a-viral-way-to-share-music-when-a-simple-text-meme-or-gif-isnt-enough</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-jukebox-a-viral-way-to-share-music-when-a-simple-text-meme-or-gif-isnt-enough</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Fri, 19 May 2017 22:32:29 GMT</pubDate><content:encoded>&lt;p&gt;Eric King and Damola Omotosho are two old friends who met at Virginia Tech while earning their engineering degrees. After graduation, they both ended up pursuing a master’s degree in engineering before working full-time in tech. While they were off …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-jukebox-a-viral-way-to-share-music-when-a-simple-text-meme-or-gif-isnt-enough&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing the new Square Catalog API]]></title><description><![CDATA[The new Square Catalog API exposes all of our platform improvements while also allowing developers to improve the efficiency of their item library solutions.]]></description><link>https://developer.squareup.com/blog/introducing-the-new-square-catalog-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-the-new-square-catalog-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Tue, 23 May 2017 17:28:21 GMT</pubDate><content:encoded>&lt;p&gt;Exposing APIs which allow our partners to build meaningful and delightful experiences for Square sellers is fundamental to meeting the needs of our diverse community of sellers. For most sellers their item library is critical to their success, so wh…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-the-new-square-catalog-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Code Camp Takes Atlanta]]></title><description><![CDATA[Square’s immersion program aims to inspire future engineers and further their pursuit of a career in computer science.]]></description><link>https://developer.squareup.com/blog/code-camp-takes-atlanta</link><guid isPermaLink="false">https://developer.squareup.com/blog/code-camp-takes-atlanta</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 24 May 2017 18:40:18 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://squareup.com/code-camp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Code Camp&lt;/a&gt; — Square’s immersion program for college women interested in pursuing careers in tech — is coming to Square’s Atlanta office for the first time!&lt;/p&gt;
&lt;p&gt;We developed &lt;a href=&quot;https://squareup.com/code-camp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Code Camp&lt;/a&gt; five years ago in San Francisco, then took it to &lt;a href=&quot;https://developer.squareup.com/blog/becoming-a-well-rounded-square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;New York City&lt;/a&gt;, and are excited to expand to another city that’s integral to our robust engineering team. In August, participants will join us in our Atlanta office for five life-changing (so we’ve heard!) days of coding workshops, leadership sessions, and networ…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/code-camp-takes-atlanta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square’s Register API is now Point of Sale API]]></title><description><![CDATA[We recently announced a new name for the Square Register app to better reflect everything it can do to help run your business: Square Point…]]></description><link>https://developer.squareup.com/blog/squares-register-api-is-now-point-of-sale-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/squares-register-api-is-now-point-of-sale-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Gabriel Jinich]]></dc:creator><pubDate>Tue, 30 May 2017 20:20:13 GMT</pubDate><content:encoded>&lt;p&gt;We recently announced a new name for the Square Register app to better reflect everything it can do to help run your business: &lt;a href=&quot;https://squareup.com/pos&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Point of Sale&lt;/a&gt;. You can use the app to take payments, track sales, manage customers and employees, and more — everything you need from a complete point of sale.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/squares-register-api-is-now-point-of-sale-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Five Ways to Make the Most of Your Internship]]></title><description><![CDATA[Each summer we see an infusion of fresh energy in the office, which means that intern season has officially kicked off! The Bay Area…]]></description><link>https://developer.squareup.com/blog/five-ways-to-make-the-most-of-your-internship</link><guid isPermaLink="false">https://developer.squareup.com/blog/five-ways-to-make-the-most-of-your-internship</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Saqi Mehta]]></dc:creator><pubDate>Thu, 08 Jun 2017 17:20:49 GMT</pubDate><content:encoded>&lt;p&gt;Each summer we see an infusion of fresh energy in the office, which means that intern season has officially kicked off! The Bay Area increases by a few thousand students looking to work on some of the most challenging but intellectually satisfying p…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/five-ways-to-make-the-most-of-your-internship&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Text for your sales reports using Twilio Functions and Square]]></title><description><![CDATA[Square’s Developer team just got back from SIGNAL 2017, where we made a mash-up of the Twilio and Square APIs.]]></description><link>https://developer.squareup.com/blog/text-for-your-sales-using-twilio-functions-and-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/text-for-your-sales-using-twilio-functions-and-square</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 09 Jun 2017 19:54:35 GMT</pubDate><content:encoded>&lt;h3 id=&quot;the-idea&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-idea&quot; aria-label=&quot;the idea permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The Idea&lt;/h3&gt;
&lt;p&gt;When building an application for your business (or many businesses) notifications are an important layer to that experience. Twilio has a number of products that allow you to add communications and messaging to your app, but we tried out out the new…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/text-for-your-sales-using-twilio-functions-and-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[RRULE expansion in Ruby]]></title><description><![CDATA[On the Square Appointments team, we often need to deal with events that repeat — from simple cases (like a weekly lunch meeting) to more…]]></description><link>https://developer.squareup.com/blog/rrule-expansion-in-ruby</link><guid isPermaLink="false">https://developer.squareup.com/blog/rrule-expansion-in-ruby</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ryan Mitchell]]></dc:creator><pubDate>Mon, 12 Jun 2017 17:39:41 GMT</pubDate><content:encoded>&lt;p&gt;On the Square Appointments team, we often need to deal with events that repeat — from simple cases (like a weekly lunch meeting) to more complex ones (like a haircut every other month on the second-to-last Tuesday, except for September 19th). Fortun…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rrule-expansion-in-ruby&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building a Sandbox Dashboard Pt. 2: Adding a Transactions List]]></title><description><![CDATA[Following Part 1 of our series building out a sandbox Dashboard, we’ll show you how to add transaction reporting functionality.]]></description><link>https://developer.squareup.com/blog/building-a-sandbox-dashboard-pt-2-adding-a-transactions-list</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-a-sandbox-dashboard-pt-2-adding-a-transactions-list</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 16 Jun 2017 18:52:40 GMT</pubDate><content:encoded>&lt;p&gt;At the end of the last post, we created a basic copy of your Square Dashboard that was able to retrieve your location information. In this post we’ll use Square’s transaction reporting APIs to list out completed transactions within the sandbox accou…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-a-sandbox-dashboard-pt-2-adding-a-transactions-list&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Faster App Recovery With Bounded Queues]]></title><description><![CDATA[Get your app back up more rapidly using bounded queues]]></description><link>https://developer.squareup.com/blog/faster-app-recovery-with-bounded-queues</link><guid isPermaLink="false">https://developer.squareup.com/blog/faster-app-recovery-with-bounded-queues</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Zachary Anker]]></dc:creator><pubDate>Wed, 21 Jun 2017 18:08:07 GMT</pubDate><content:encoded>&lt;p&gt;A problem we’ve encountered in the past is when a Ruby app becomes unresponsive due to downstream issues. After the issue is resolved, the app continues to be unresponsive or very slow to process requests. While a restarts clear it up immediately, b…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/faster-app-recovery-with-bounded-queues&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Square Checkout]]></title><description><![CDATA[An out-of-the-box, hosted checkout payment solution for Square developers who are looking for a one-stop integration.]]></description><link>https://developer.squareup.com/blog/introducing-square-checkout</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-square-checkout</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Thu, 22 Jun 2017 16:13:34 GMT</pubDate><content:encoded>&lt;p&gt;Over a year ago we introduced &lt;a href=&quot;https://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Build with Square&lt;/a&gt;, our online and offline payment platform alongside our reporting APIs. Since then, we’ve worked closely with developers and our sellers to identify how we can make it easier to start &lt;a href=&quot;https://squareup.com/ecommerce&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;selling online&lt;/a&gt; while harnessing the power of our APIs. One of the pieces of feedback we keep hearing from sellers is: &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-square-checkout&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[ActiveMerchantSquare for Square’s e-commerce API]]></title><description><![CDATA[A gem for Ruby developer's to use in their eCommerce application]]></description><link>https://developer.squareup.com/blog/activemerchantsquare-for-squares-e-commerce-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/activemerchantsquare-for-squares-e-commerce-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Francisco Rojas]]></dc:creator><pubDate>Mon, 26 Jun 2017 18:29:08 GMT</pubDate><content:encoded>&lt;p&gt;We released &lt;a href=&quot;https://rubygems.org/gems/active_merchant_square&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ActiveMerchantSquare&lt;/a&gt; for developers who want to use Square’s &lt;a href=&quot;https://developer.squareup.com/docs/articles/paymentform-overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;e-commerce API&lt;/a&gt; with the ActiveMerchant rubygem. If you are a ruby developer you may use the popular ActiveMerchant gem as a common abstraction layer (in production use since 2006) to work with many payments gateways.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/activemerchantsquare-for-squares-e-commerce-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Leadership, Management, and Tribes]]></title><description><![CDATA[There are a lot of great books about leadership and management. One is Tribes by Seth Godin, which is a great read for any aspiring leader…]]></description><link>https://developer.squareup.com/blog/leadership-management-and-tribes</link><guid isPermaLink="false">https://developer.squareup.com/blog/leadership-management-and-tribes</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alan Paulin]]></dc:creator><pubDate>Mon, 26 Jun 2017 19:17:59 GMT</pubDate><content:encoded>&lt;p&gt;There are a lot of great books about leadership and management. One is &lt;a href=&quot;https://www.amazon.com/Tribes-We-Need-You-Lead/dp/1591842336&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*Tribes&lt;/a&gt;* by Seth Godin, which is a great read for any aspiring leader. &lt;em&gt;Tribes&lt;/em&gt; talks a lot about leaders versus managers and, as an Engineering Manager, it got me thinking about my own views on leadership and management. Every organization needs great leaders as well as great managers, but are they the same people? And what r…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/leadership-management-and-tribes&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[No Billing Postal Code? No Problem!]]></title><description><![CDATA[How To Remove the Postal Code Field (Square Payment Form)]]></description><link>https://developer.squareup.com/blog/no-billing-postal-code-no-problem</link><guid isPermaLink="false">https://developer.squareup.com/blog/no-billing-postal-code-no-problem</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Thu, 06 Jul 2017 17:23:35 GMT</pubDate><content:encoded>&lt;p&gt;As Square’s &lt;a href=&quot;https://squareup.com/developers#ecommerce&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;eCommerce platform&lt;/a&gt; expands outside the United States and Canada, we’ve heard feedback from developers in other countries (e.g. Japan &amp;#x26; Australia), where requesting billing postal codes is uncommon, that they’d like to remove the postal code field in their &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/no-billing-postal-code-no-problem&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Paralayout]]></title><description><![CDATA[From the Cash team at Square, a new iOS open-source project that makes UI development quick, easy, and pixel-perfect.]]></description><link>https://developer.squareup.com/blog/introducing-paralayout</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-paralayout</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Peter Westen]]></dc:creator><pubDate>Thu, 06 Jul 2017 19:03:01 GMT</pubDate><content:encoded>&lt;p&gt;You know the feeling: the design spec comes in, polished and perfect, and you know at a glance that you’ve got two ways to go:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;implement precisely to spec, but with a horrific mess of code and UI configuration behind it (and probably a couple of days late) or&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ship on time, with a simpler implementation that gets the UI, you know, mostly right — and avoid looking at yourself in the mirror the next morning.&lt;/p&gt;
&lt;/li&gt;&lt;/ol&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-paralayout&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Always Be Closing]]></title><description><![CDATA[The Tale of a Go Resource Leak]]></description><link>https://developer.squareup.com/blog/always-be-closing</link><guid isPermaLink="false">https://developer.squareup.com/blog/always-be-closing</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alec Holmes]]></dc:creator><pubDate>Tue, 11 Jul 2017 19:31:01 GMT</pubDate><content:encoded>&lt;p&gt;This is the story of a resource leak in one of Square’s Go services and the process of uncovering the root cause. Facing spiky and mysterious system metrics, we used a variety of standard and homemade tools to uncover a subtle bug in one of our core…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/always-be-closing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Surfacing Hidden Change to Pull Requests]]></title><description><![CDATA[Programming frequently deals in visible changes. It’s equally as important to pay attention to hidden changes during code review.]]></description><link>https://developer.squareup.com/blog/surfacing-hidden-change-to-pull-requests</link><guid isPermaLink="false">https://developer.squareup.com/blog/surfacing-hidden-change-to-pull-requests</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jake Wharton]]></dc:creator><pubDate>Thu, 13 Jul 2017 19:34:14 GMT</pubDate><content:encoded>&lt;p&gt;Programming frequently deals in visible changes: the logic in your code, the dependencies you declare, the API you expose. There is, however, quite a bit of associated hidden change: transitive dependencies, generated code, and manifest files.&lt;/p&gt;
&lt;p&gt;In code review we focus on the visible because that is what is presented to us in the diff.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/surfacing-hidden-change-to-pull-requests&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Recurring charges with PHP and Card on File]]></title><description><![CDATA[Whether you have a subscription service, or regular clients that you want to charge repeatedly, you can use Square’s e-commerce APIs and…]]></description><link>https://developer.squareup.com/blog/recurring-charges-with-php-and-card-on-file</link><guid isPermaLink="false">https://developer.squareup.com/blog/recurring-charges-with-php-and-card-on-file</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 20 Jul 2017 17:01:41 GMT</pubDate><content:encoded>&lt;p&gt;Whether you have a subscription service, or regular clients that you want to charge repeatedly, you can use Square’s e-commerce APIs and Card on File.&lt;/p&gt;
&lt;p&gt;Keeping a customer’s card on file is almost identical to charging it with Square’s e-commerce APIs. The key difference is that instead of submitting a card nonce to a the &lt;code&gt;charge&lt;/code&gt; endpoint, you attach it to a customer and then submit that customer’s attached card to be charged.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/recurring-charges-with-php-and-card-on-file&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How Square makes its SDKs]]></title><description><![CDATA[At Square we leverage the OpenAPI standard, Swagger Codegen & GitHub to build and deliver our client SDKs in a scalable way.]]></description><link>https://developer.squareup.com/blog/how-square-makes-its-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-square-makes-its-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 28 Jul 2017 23:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The developer platform team at Square is a little different than most. Rather than build separate APIs for our developer products, we focus on exposing the APIs that our first-party product use to create a seamless experience for developers. We have…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-square-makes-its-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square WomEng Hear + Now Tech Talks: July 2017]]></title><description><![CDATA[Lightning talks on the theme “Nerd Out Loud.”]]></description><link>https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-july-2017</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-july-2017</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Meghan McNeil]]></dc:creator><pubDate>Tue, 01 Aug 2017 01:21:36 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Lightning talks on the theme “Nerd Out Loud.”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We just wrapped up another edition of Hear + Now, Square’s quarterly series of lightning tech talks that we offer to marginalized groups as a non-intimidating space to present.&lt;/p&gt;
&lt;p&gt;After one of our WomEng members attended AlterConf, we decided to open up the speakers to anyone who identifies as belonging to a marginalized group (&lt;a href=&quot;https://developer.squareup.com/blog/inclusion-up-and-to-the-right-how-were-improving-hear-now-tech-talks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;and wrote a blog post explaining these changes&lt;/a&gt;).&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-womeng-hear-now-tech-talks-july-2017&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Coffee Shop Kiosk]]></title><description><![CDATA[A kiosk application for a coffee shop built using Point of Sale SDK]]></description><link>https://developer.squareup.com/blog/the-coffee-shop-kiosk</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-coffee-shop-kiosk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[James Smith]]></dc:creator><pubDate>Tue, 01 Aug 2017 23:00:04 GMT</pubDate><content:encoded>&lt;p&gt;When I joined the Developers team at Square, the first thing I did was build an application that uses our APIs. Every new engineer on the team does this (you can read about my colleague’s example Android app &lt;a href=&quot;https://developer.squareup.com/blog/the-bikeshop&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;here&lt;/a&gt;) so that we can walk in our customers’ shoes. It’s become a great tool to reinforce feedback from developers when building real world applications. For my project, I chose to build a customer-facing kiosk application as we’re seeing more and more d…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-coffee-shop-kiosk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Peek into Machine Learning at Square]]></title><description><![CDATA[We’ll be posting more about specific projects, methods, and how we use machine learning in our day-to-day work — stay tuned! For now…]]></description><link>https://developer.squareup.com/blog/a-peek-into-machine-learning-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-peek-into-machine-learning-at-square</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Sara Vera]]></dc:creator><pubDate>Fri, 04 Aug 2017 17:34:16 GMT</pubDate><content:encoded>&lt;p&gt;We’ll be posting more about specific projects, methods, and how we use machine learning in our day-to-day work — stay tuned! For now, here’s a glimpse into machine learning at Square.&lt;/p&gt;
&lt;p&gt;Square has a large, unique data set that covers businesses across the U.S., Canada, Australia, Japan, and the UK. Machine learning is a key way we are taking a data-driven approach to automating both our internal tools and customer-facing experience…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-peek-into-machine-learning-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Deep Dive on Ember Events]]></title><description><![CDATA[The difference between Ember actions and DOM events and why it matters, plus a really rad flowchart.]]></description><link>https://developer.squareup.com/blog/deep-dive-on-ember-events</link><guid isPermaLink="false">https://developer.squareup.com/blog/deep-dive-on-ember-events</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marie Chatfield]]></dc:creator><pubDate>Tue, 08 Aug 2017 20:41:09 GMT</pubDate><content:encoded>&lt;p&gt;A few days ago, I was working on a really exciting new feature. As part of rolling out these changes, I implemented an onboarding tour — a sequence of tooltips that teach users how to interact with the different parts.&lt;/p&gt;
&lt;p&gt;I made one small change to a template in one of our Ember apps, and everything broke. Can you guess what happened?&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/deep-dive-on-ember-events&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Sandbox Dashboard part 3: Customers]]></title><description><![CDATA[A continuation on how to make a dashboard for your sandbox developer account]]></description><link>https://developer.squareup.com/blog/sandbox-dashboard-part-3-customers</link><guid isPermaLink="false">https://developer.squareup.com/blog/sandbox-dashboard-part-3-customers</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 11 Aug 2017 17:25:01 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;This is the third post in our series illustrating how to make a dashboard for your sandbox developer account. For more context, take a peek at &lt;a href=&quot;https://developer.squareup.com/blog/using-squares-rest-apis-to-build-a-sandbox-dashboard-part-1-authentication-locations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Part 1&lt;/a&gt; and &lt;a href=&quot;https://developer.squareup.com/blog/building-a-sandbox-dashboard-pt-2-adding-a-transactions-list&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Part 2&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In previous posts, we added the ability to &lt;a href=&quot;https://developer.squareup.com/blog/using-squares-rest-apis-to-build-a-sandbox-dashboard-part-1-authentication-locations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;view location information&lt;/a&gt; as well as a full &lt;a href=&quot;https://developer.squareup.com/blog/building-a-sandbox-dashboard-pt-2-adding-a-transactions-list&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;record of all transactions&lt;/a&gt;. For the third installment of our Sandbox Dashboard series, we’ll add functionality to display and interact with our sandbox customers. Let’s take a look at where we ended up last time:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sandbox-dashboard-part-3-customers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Live from Atlanta: Square Code Camp 2017]]></title><description><![CDATA[This week, Square’s Atlanta Office welcomes 13 college-aged women pursuing careers in engineering.]]></description><link>https://developer.squareup.com/blog/live-from-atlanta-code-camp-2017</link><guid isPermaLink="false">https://developer.squareup.com/blog/live-from-atlanta-code-camp-2017</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jackie Reses]]></dc:creator><pubDate>Tue, 15 Aug 2017 05:21:10 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;This week, Square’s Atlanta Office welcomes 13 college-aged women pursuing careers in engineering.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We launched &lt;a href=&quot;https://squareup.com/code-camp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Code Camp&lt;/a&gt; in 2012 to inspire, educate, and empower the next generation of women in technology. Today we’re kicking off the inaugural &lt;a href=&quot;https://developer.squareup.com/blog/code-camp-takes-atlanta&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Code Camp Atlanta&lt;/a&gt;, and we’re excited to show off a Square office that’s integral to our robust engineering team.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/live-from-atlanta-code-camp-2017&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Debugging a series of miscalculations in osquery]]></title><description><![CDATA[What is osquery?]]></description><link>https://developer.squareup.com/blog/debugging-a-series-of-miscalculations-in-osquery</link><guid isPermaLink="false">https://developer.squareup.com/blog/debugging-a-series-of-miscalculations-in-osquery</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Vishwa Shah]]></dc:creator><pubDate>Fri, 18 Aug 2017 18:59:37 GMT</pubDate><content:encoded>&lt;h2 id=&quot;what-is-osquery&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-osquery&quot; aria-label=&quot;what is osquery permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What is osquery?&lt;/h2&gt;
&lt;p&gt;osquery is an an open source tool by Facebook that provides a SQL interface for system information.&lt;/p&gt;
&lt;p&gt;Over the course of the summer I’ve been working on integrating osquery results into our internal asset tracker for automation/validation purposes. It’s been incredibly useful for monitoring various stats, and the SQL interface makes it easy to use.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/debugging-a-series-of-miscalculations-in-osquery&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Easing your development with ngrok]]></title><description><![CDATA[Make connecting your local dev enviroment to the world easier]]></description><link>https://developer.squareup.com/blog/easing-your-development-with-ngrok</link><guid isPermaLink="false">https://developer.squareup.com/blog/easing-your-development-with-ngrok</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Mon, 21 Aug 2017 19:09:04 GMT</pubDate><content:encoded>&lt;p&gt;ngrok let’s you easily test your local code, webhooks &amp;#x26; more with one a simple command.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Last week I was working on a presentation for PDX PHP about how to accept in person payments using a PHP-based point of sale and Square’s APIs. Most PHP development workflows involve using a local development server and then pushing to your producti…&lt;/p&gt;&lt;/blockquote&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/easing-your-development-with-ngrok&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building web-based points of sale for Android & iOS]]></title><description><![CDATA[With Square, you can build a web app that switches to the Square Point of Sale app to accept in-person payments. The best part is that you…]]></description><link>https://developer.squareup.com/blog/building-web-based-points-of-sale-for-android-ios</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-web-based-points-of-sale-for-android-ios</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 25 Aug 2017 19:36:37 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/3l0gTn5MX3kSj9N5JBkh7f/27f99664eaf3e79b9439fd6acc0e2009/https___cdn-images-1.medium.com_max_7692_1_p9gyP5djmvJVRqI21FLErA.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;In order to make a cross platform web app, we need logic to detect what platform the target device is running. Doing this accurately can be *really hard, *and there are whole libraries dedicated to parsing out user agents. To keep this example simpl…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-web-based-points-of-sale-for-android-ios&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Version 2.2.1 of our SDKs Are Now Live]]></title><description><![CDATA[See what’s new and what we fixed in the latest version of our client libraries.]]></description><link>https://developer.squareup.com/blog/version-2-2-1-of-our-sdks-are-now-live</link><guid isPermaLink="false">https://developer.squareup.com/blog/version-2-2-1-of-our-sdks-are-now-live</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 29 Aug 2017 21:59:48 GMT</pubDate><content:encoded>&lt;p&gt;If you want to better understand how we make our SDKs, and how our API specification works with templates to create a complete SDK, check out &lt;a href=&quot;https://developer.squareup.com/blog/how-square-makes-its-sdks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;How Square makes its SDKs&lt;/a&gt;. Below we’ll get into what’s new and improved in version 2.2.1 of our SDKs.&lt;/p&gt;
&lt;h3 id=&quot;api-specification-changes&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#api-specification-changes&quot; aria-label=&quot;api specification changes permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;API specification changes&lt;/h3&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/version-2-2-1-of-our-sdks-are-now-live&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Improving Conversion Rates with Analytics, Design Principles, and UX]]></title><description><![CDATA[Co-Authors: Rohini Pandhi (Product), Jeremy Lubin (Design), Rajat Mittal (Engineering), Rachel Smith (Analytics)]]></description><link>https://developer.squareup.com/blog/boosting-conversion-rates-with-analytics-design-principles-and-ux</link><guid isPermaLink="false">https://developer.squareup.com/blog/boosting-conversion-rates-with-analytics-design-principles-and-ux</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Rohini Pandhi]]></dc:creator><pubDate>Tue, 29 Aug 2017 23:55:20 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Co-Authors: Rohini Pandhi (Product), Jeremy Lubin (Design), Rajat Mittal (Engineering), Rachel Smith (Analytics)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;customer-experience-friction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#customer-experience-friction&quot; aria-label=&quot;customer experience friction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;strong&gt;Customer experience friction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;We have big plans for &lt;a href=&quot;http://square.com/invoices&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Invoices&lt;/a&gt;, and we are constantly building new features to help our sellers easily send invoices and get paid fast.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/boosting-conversion-rates-with-analytics-design-principles-and-ux&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using Word2Vec to Power a Recommendation Engine]]></title><description><![CDATA[By Nicole Mitchell & Joy Wang]]></description><link>https://developer.squareup.com/blog/using-word2vec-to-power-a-recommendation-engine</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-word2vec-to-power-a-recommendation-engine</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Nicole Mitchell]]></dc:creator><pubDate>Thu, 31 Aug 2017 17:12:47 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;About Us&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nicole is a rising junior at Rice University and Joy is a rising senior at University of Pennsylvania, and we are both software engineering interns at Square this summer. Square hosts an Intern Hack Week every summer, allowing interns the opportunit…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-word2vec-to-power-a-recommendation-engine&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Tips and tricks for API pagination]]></title><description><![CDATA[Sometimes you need more from your API than what you get from the first set of returned results.]]></description><link>https://developer.squareup.com/blog/tips-and-tricks-for-api-pagination</link><guid isPermaLink="false">https://developer.squareup.com/blog/tips-and-tricks-for-api-pagination</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 07 Sep 2017 17:01:31 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the world of pagination — spreading out results over a number of pages or sections. I’ll provide an overview into some basic pagination concepts, and dive deep into how we do things at Square.&lt;/p&gt;
&lt;h2 id=&quot;introduction-to-pagination&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction-to-pagination&quot; aria-label=&quot;introduction to pagination permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction to pagination&lt;/h2&gt;
&lt;p&gt;The concept of pagination originally comes from books, but I think it’s easier to describe in terms of lists. You see pagination all the time on blogs, news sites, image sharing sites, etc. Whenever there isn’t enough room on the page to show all of…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/tips-and-tricks-for-api-pagination&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Ember Run Loop and Asynchronous Testing]]></title><description><![CDATA[You can’t run away from the Run Loop]]></description><link>https://developer.squareup.com/blog/the-ember-run-loop-and-asynchronous-testing</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-ember-run-loop-and-asynchronous-testing</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ariel Jackson]]></dc:creator><pubDate>Tue, 12 Sep 2017 22:10:18 GMT</pubDate><content:encoded>&lt;p&gt;This summer, I interned on the Square Seller Dashboard team, which works on the web application that &lt;a href=&quot;https://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt; merchants use for everything from checking sales, to managing their payroll, to signing up for &lt;a href=&quot;https://squareup.com/capital&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Capital&lt;/a&gt;. For some context, I’m a rising senior at the University of Chicago and before this summer I’d never worked on a web application.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-ember-run-loop-and-asynchronous-testing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Transitioning from v1 Items to Catalog APIs]]></title><description><![CDATA[Item management can be an important piece of any application. Here is what you need to know if you are moving from the v1 items APIs to the new Catalog endpoints.]]></description><link>https://developer.squareup.com/blog/transitioning-from-v1-items-to-catalog-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/transitioning-from-v1-items-to-catalog-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 13 Sep 2017 18:09:33 GMT</pubDate><content:encoded>&lt;p&gt;Earlier this year, &lt;a href=&quot;https://developer.squareup.com/blog/introducing-the-new-square-catalog-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square released new catalog endpoints&lt;/a&gt; to help manage your items in a more streamlined and scalable way. You might be familiar with the v1 endpoints &lt;code&gt;create&lt;/code&gt;,&lt;code&gt;retrieve&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt; and &lt;code&gt;delete&lt;/code&gt; (CRUD) operations with items and their associated variations, modifier lists, modifier options, discounts, fees, etc. Catalog endpoints streamline all of these different entities into a single &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/transitioning-from-v1-items-to-catalog-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Autoscaling based on request queuing]]></title><description><![CDATA[Modern web development often includes traffic-heavy web applications and APIs. These services are tasked with a double-whammy: they need to…]]></description><link>https://developer.squareup.com/blog/autoscaling-based-on-request-queuing</link><guid isPermaLink="false">https://developer.squareup.com/blog/autoscaling-based-on-request-queuing</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Derek Hammer]]></dc:creator><pubDate>Wed, 13 Sep 2017 21:37:36 GMT</pubDate><content:encoded>&lt;p&gt;Modern web development often includes traffic-heavy web applications and APIs. These services are tasked with a double-whammy: they need to be able to do a &lt;em&gt;ton&lt;/em&gt; of work and to be able to do it for a significant number of requests. For example, a single application can be responsible for user authentication, request routing, view rendering (both HTML and JSON), business logic, and accessing data from a perm…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/autoscaling-based-on-request-queuing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building for an omni-channel business with Square’s APIs has never been easier]]></title><description><![CDATA[Use the full power of Square’s Connect APIs and reporting tools to supercharge your online or omni-channel business.]]></description><link>https://developer.squareup.com/blog/building-for-an-omni-channel-business-with-squares-apis-has-never-been-easier</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-for-an-omni-channel-business-with-squares-apis-has-never-been-easier</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Thu, 14 Sep 2017 16:37:12 GMT</pubDate><content:encoded>&lt;p&gt;Starting with the launch of our &lt;a href=&quot;https://developer.squareup.com/docs/payment-form/what-it-does&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;E-Commerce API&lt;/a&gt;, we’ve worked to create a powerful commerce platform for both online-only and multi-channel businesses. In the last few months we’ve introduced our &lt;a href=&quot;https://developer.squareup.com/blog/introducing-the-new-square-catalog-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Catalog API&lt;/a&gt;, a tool to help businesses manage their products more efficiently, as well as &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-for-an-omni-channel-business-with-squares-apis-has-never-been-easier&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Version 2.3.0 of our Client Libraries]]></title><description><![CDATA[If you are familiar with How Square makes its SDKs then you know that one of the best ways to see what’s new in our latest SDK version is…]]></description><link>https://developer.squareup.com/blog/announcing-version-2-3-0-of-our-client-libraries</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-version-2-3-0-of-our-client-libraries</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 22 Sep 2017 17:27:27 GMT</pubDate><content:encoded>&lt;p&gt;If you are familiar with &lt;a href=&quot;https://developer.squareup.com/blog/how-square-makes-its-sdks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;How Square makes its SDKs&lt;/a&gt; then you know that one of the best ways to see what’s new in our latest SDK version is looking at the diff in our API specification on github (&lt;a href=&quot;https://github.com/square/connect-api-specification/compare/0a2c7c18685bbfd30c83ef6c6d6052fe619dfa6b...master&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;link&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Let’s dive into each change:&lt;/p&gt;
&lt;h3 id=&quot;orders-support&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#orders-support&quot; aria-label=&quot;orders support permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Orders Support&lt;/h3&gt;
&lt;p&gt;The largest update in this release is support for Orders endpoints. The new Orders endpoints allow you to create itemized transactions online, and are a big improvement in reporting for online sales. You can read more in the official &lt;a href=&quot;https://developer.squareup.com/blog/building-for-an-omni-channel-business-with-squares-apis-has-never-been-easier&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;announcement&lt;/a&gt; or jump right into the &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-version-2-3-0-of-our-client-libraries&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Apple Pay on the Web for Square’s APIs]]></title><description><![CDATA[Add Apple Pay as a digital wallet option using Square]]></description><link>https://developer.squareup.com/blog/introducing-apple-pay-on-the-web-for-squares-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-apple-pay-on-the-web-for-squares-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Wed, 27 Sep 2017 17:03:41 GMT</pubDate><content:encoded>&lt;p&gt;As many of you know, Square’s&lt;a href=&quot;https://squareup.com/contactless-chip-reader&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; latest reader&lt;/a&gt; supports Apple Pay for payments made in-store. Today, we’re excited to announce that we are expanding our APIs to enable buyers to pay with Apple Pay on the web as well.&lt;/p&gt;
&lt;p&gt;In the same way Apple Pay reduces lines and expedites checkout at a physical business,&lt;a href=&quot;https://developer.apple.com/apple-pay/get-started/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Apple Pay for web improves checkout speed and conversion online&lt;/a&gt; since buyers don’t have to enter credit card details and can authenticate the payment with Touch ID. With consumers increasingly making purchases on their mobile devices, we want to make it as easy and seamless as possible to provide that optimized…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-apple-pay-on-the-web-for-squares-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Tips From a GHC Vet]]></title><description><![CDATA[This will be my sixth year attending Grace Hopper. I have seen it grow from a small conference to over 10,000 employees. Square recently…]]></description><link>https://developer.squareup.com/blog/tips-from-a-ghc-vet</link><guid isPermaLink="false">https://developer.squareup.com/blog/tips-from-a-ghc-vet</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Meghan McNeil]]></dc:creator><pubDate>Thu, 28 Sep 2017 17:31:08 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;This will be my sixth year attending Grace Hopper. I have seen it grow from a small conference to over 10,000 employees. Square recently hosted a kick-off event where I talked through what I learned over the past couple of years. This post is meant …&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/tips-from-a-ghc-vet&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A new partnership with Eventbrite, and the future of Square’s commerce platform]]></title><description><![CDATA[At Square, we’re working to create the future of commerce as the lines of online and offline continue to fade.]]></description><link>https://developer.squareup.com/blog/a-new-partnership-with-eventbrite-and-the-future-of-squares-commerce-platform</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-new-partnership-with-eventbrite-and-the-future-of-squares-commerce-platform</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Carl Yates Perry]]></dc:creator><pubDate>Thu, 28 Sep 2017 13:01:14 GMT</pubDate><content:encoded>&lt;p&gt;Today, we’re excited to share that we’ll be working closely with Eventbrite to ultimately provide their event creators with a single platform to accept online, mobile, and in-person payments using Square. These omni-channel payment capabilities will…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-new-partnership-with-eventbrite-and-the-future-of-squares-commerce-platform&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Let’s Encrypt & App Engine, pt. 2]]></title><description><![CDATA[The easier way to renew Let’s Encrypt certificates on an app engine site]]></description><link>https://developer.squareup.com/blog/lets-encrypt-app-engine-pt-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/lets-encrypt-app-engine-pt-2</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 29 Sep 2017 19:18:01 GMT</pubDate><content:encoded>&lt;p&gt;*For more background on using &lt;a href=&quot;https://letsencrypt.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*Let’s Encrypt&lt;/a&gt; &lt;em&gt;with &lt;a href=&quot;https://cloud.google.com/appengine/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*Google’s App Engine&lt;/a&gt;&lt;/em&gt;, read the original post &lt;a href=&quot;https://developer.squareup.com/blog/setting-up-https-for-your-e-commerce-website-with-lets-encrypt-and-google-app-engine&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;*Setting up https for your website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When it came time to renew my Let’s Encrypt certificates for Google’s App Engine, I wanted to see whether I could improve the process. For my first attempt, I tried out the DNS verification method. I updated the appropriate &lt;code&gt;TXT&lt;/code&gt; records for my domain, but either wasn’t able to do it correctly, or wasn’t patient enough for the caches to refresh fully, so I went back to good ol’ https verification instead. This ended up being a good choice when I decided to add more automati…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/lets-encrypt-app-engine-pt-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Helping merchants easily integrate online forms into their e-commerce site]]></title><description><![CDATA[A drag and drop form builder that was designed to let anyone — skilled developers to technophobes — create online forms in a few clicks.]]></description><link>https://developer.squareup.com/blog/building-a-successful-business-by-helping-merchants-easily-integrate-online-forms-into-their-e</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-a-successful-business-by-helping-merchants-easily-integrate-online-forms-into-their-e</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marylise Tauzia]]></dc:creator><pubDate>Tue, 03 Oct 2017 18:27:01 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;A drag and drop form builder that was designed to let anyone — skilled developers to technophobes — create online forms in a few clicks.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.jotform.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jotform&lt;/a&gt; started as a way for anyone to publish online forms that could take contact info and online applications. After building a strong base, JotForm realized that Square was a popular payment platform for their existing customers.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-a-successful-business-by-helping-merchants-easily-integrate-online-forms-into-their-e&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Using neural networks to predict customers’ needs]]></title><description><![CDATA[Deep learning for browsing and path analysis.]]></description><link>https://developer.squareup.com/blog/using-neural-networks-to-predict-customers-needs</link><guid isPermaLink="false">https://developer.squareup.com/blog/using-neural-networks-to-predict-customers-needs</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Ik-Hwan Kim]]></dc:creator><pubDate>Thu, 05 Oct 2017 18:09:46 GMT</pubDate><content:encoded>&lt;p&gt;Square provides a powerful analytics tool called &lt;em&gt;Seller Dashboard&lt;/em&gt; that gives our sellers insights into, and tracking of, their businesses. Using this tool, Square sellers can view their daily sales summary, manage inventory, confirm deposits, and do much more to untangle complicated tasks they face every day.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/using-neural-networks-to-predict-customers-needs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[See your location ID without the API call]]></title><description><![CDATA[Our latest refresh of the Square Developer Portal includes locations IDs]]></description><link>https://developer.squareup.com/blog/see-your-location-id-without-the-api-call</link><guid isPermaLink="false">https://developer.squareup.com/blog/see-your-location-id-without-the-api-call</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 11 Oct 2017 17:57:13 GMT</pubDate><content:encoded>&lt;p&gt;When merchants sign up for Square they create what we called a “location.” This location represents a distinct place that they do business. It could be a physical store, an e-commerce site, or even a mobile location like a food truck. These location…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/see-your-location-id-without-the-api-call&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Keeping the Daggers Sharp]]></title><description><![CDATA[Dagger 2 is a great dependency injection library, but its sharp edges can be tricky to handle. Let’s go over a few best practices that…]]></description><link>https://developer.squareup.com/blog/keeping-the-daggers-sharp</link><guid isPermaLink="false">https://developer.squareup.com/blog/keeping-the-daggers-sharp</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Wed, 11 Oct 2017 17:41:33 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/2tHP8PREuGiDxrqJDjdxED/2ef8b871cef26ad6111430f55e7b37a2/https___cdn-images-1.medium.com_max_5000_1_5fsp9x_JcuJijFVotF1NQA.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;favor-constructor-injection-over-field-injection&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#favor-constructor-injection-over-field-injection&quot; aria-label=&quot;favor constructor injection over field injection permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Favor constructor injection over field injection&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Field injection requires the fields to be non final and non private.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;// BAD
class CardConverter {

  @Inject PublicKeyManager publicKeyManager;

  @Inject public CardConverter() {}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Forgetting an &lt;code&gt;@Inject&lt;/code&gt; on a field introduces a &lt;code&gt;NullPointerException&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/keeping-the-daggers-sharp&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Listing your locations with Python]]></title><description><![CDATA[Getting your location details should be the easiest part of your integration.]]></description><link>https://developer.squareup.com/blog/listing-your-locations-with-python</link><guid isPermaLink="false">https://developer.squareup.com/blog/listing-your-locations-with-python</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Mon, 16 Oct 2017 16:54:41 GMT</pubDate><content:encoded>&lt;p&gt;Listing your locations programmatically can be important for managing applications for large companies or even multiple companies. Here is how you can get a list of your locations using our Python SDK.&lt;/p&gt;
&lt;h3 id=&quot;prepare&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#prepare&quot; aria-label=&quot;prepare permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Prepare&lt;/h3&gt;
&lt;p&gt;The first thing you’ll need to do is make sure that you have python working and install &lt;a href=&quot;https://github.com/square/connect-python-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square’s Python SDK&lt;/a&gt;. You can find the installation instructions here: &lt;a href=&quot;https://github.com/square/connect-python-sdk#installation--usage&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/square/connect-python-sdk#installation--usage&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/listing-your-locations-with-python&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Check out the new example in the sandbox section of Square’s developer docs]]></title><description><![CDATA[We are rolling out a new tool to help you explore our APIs, right from the documentation.]]></description><link>https://developer.squareup.com/blog/check-out-the-new-example-in-the-sandbox-section-of-squares-developer-docs</link><guid isPermaLink="false">https://developer.squareup.com/blog/check-out-the-new-example-in-the-sandbox-section-of-squares-developer-docs</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 18 Oct 2017 21:06:35 GMT</pubDate><content:encoded>&lt;p&gt;From one point of view, applications built on top of Square’s APIs are just a series of API requests and code to display, store, or manipulate the data that gets returned. Wouldn’t it be interesting to see app in its simplest form — as an interactiv…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/check-out-the-new-example-in-the-sandbox-section-of-squares-developer-docs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Product planning for machine learning]]></title><description><![CDATA[What you should know in order to plan machine-learning-based solutions.]]></description><link>https://developer.squareup.com/blog/product-planning-for-machine-learning</link><guid isPermaLink="false">https://developer.squareup.com/blog/product-planning-for-machine-learning</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Juan Hernandez]]></dc:creator><pubDate>Thu, 19 Oct 2017 17:46:52 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;By Juan Hernandez and Arthur Xu&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When it comes to applied machine learning, the algorithm is often what captures the popular imagination. Most machine learning articles highlight the method to derive the model rather than the operating conditions needed to use the model successfull…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/product-planning-for-machine-learning&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Creating a Customer in PHP]]></title><description><![CDATA[Using Square's Customers API using PHP]]></description><link>https://developer.squareup.com/blog/creating-a-customer-in-php</link><guid isPermaLink="false">https://developer.squareup.com/blog/creating-a-customer-in-php</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 20 Oct 2017 21:24:46 GMT</pubDate><content:encoded>&lt;p&gt;You can’t have a business if you don’t have any customers, but importing customers from an existing system can be a pain, and sometimes you need to be able to do so programmatically. In PHP, our &lt;a href=&quot;https://github.com/square/connect-php-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PHP SDK&lt;/a&gt; makes it fairly easy to create these customers using one simple script:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/creating-a-customer-in-php&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[What’s new in version 2.4.1 of our SDKs]]></title><description><![CDATA[We’ve just released the latest iteration of our client libraries. Here’s what’s new from the 2.3.0 release:]]></description><link>https://developer.squareup.com/blog/whats-new-in-version-2-4-1-of-our-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/whats-new-in-version-2-4-1-of-our-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 24 Oct 2017 23:46:48 GMT</pubDate><content:encoded>&lt;p&gt;We’ve just released the latest iteration of our client libraries. Here’s what’s new from the 2.3.0 release:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;**Support for Apple Pay. &lt;strong&gt;This&lt;/strong&gt; **includes support for the associated data models and endpoints. You can read all about our Apple Pay web support in &lt;a href=&quot;https://developer.squareup.com/blog/introducing-apple-pay-on-the-web-for-squares-apis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;this blog post&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;**SDK support for mobile locations. **Now the SDKs can return whether a location is a physical, brick-and-mortar storefront, or mobile, like a food truck.&lt;/p&gt;
&lt;/li&gt;&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/whats-new-in-version-2-4-1-of-our-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A Fresh Update to our Platform Docs]]></title><description><![CDATA[Thoroughness, accuracy, and consistency are important tenets for any platform’s documentation. At Square we take our technical writing…]]></description><link>https://developer.squareup.com/blog/a-fresh-update-to-our-platform-docs</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-fresh-update-to-our-platform-docs</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Brian Gorby]]></dc:creator><pubDate>Fri, 27 Oct 2017 20:03:52 GMT</pubDate><content:encoded>&lt;p&gt;Thoroughness, accuracy, and consistency are important tenets for any platform’s documentation. At Square we take our technical writing seriously and strive to ensure our documentation meets these tenets for our developers. But we also challenge ours…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-fresh-update-to-our-platform-docs&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Creating an employee with Python]]></title><description><![CDATA[Employee management was one of the first APIs; here is how to use it with Python.]]></description><link>https://developer.squareup.com/blog/creating-an-employee-with-python</link><guid isPermaLink="false">https://developer.squareup.com/blog/creating-an-employee-with-python</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 27 Oct 2017 18:44:12 GMT</pubDate><content:encoded>&lt;p&gt;In this post we’ll go through the steps to create a new employee record attached to your Square business. If only actually hiring employees was as easy!&lt;/p&gt;
&lt;p&gt;You’ll likely use this employee creation script as a part of some import or syncing script, but for this example we’ll make a standalone snippet that creates an employee.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/creating-an-employee-with-python&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How to add Masterpass support to your site]]></title><description><![CDATA[Get Masterpass digital wallet on your eCommerce site]]></description><link>https://developer.squareup.com/blog/how-to-add-masterpass-support-to-your-site-through-squares-ecommerce-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-add-masterpass-support-to-your-site-through-squares-ecommerce-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Mon, 30 Oct 2017 18:17:30 GMT</pubDate><content:encoded>&lt;p&gt;As part of our continuous work to make it easier for our developers to support the growing range of online payment methods, we are happy to announce that now Square’s E-commerce API will support &lt;a href=&quot;https://masterpass.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Masterpass&lt;/a&gt; for our U.S. sellers. By doing this we guarantee that our sellers will be able to close their sales with every method buyers are interested in paying with.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-add-masterpass-support-to-your-site-through-squares-ecommerce-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A new way for developers to monetize on Square’s platform]]></title><description><![CDATA[Following our announcement in September that we’re working with Eventbrite to expand our offering for marketplaces, we’re excited to share…]]></description><link>https://developer.squareup.com/blog/a-new-way-for-developers-to-monetize-on-squares-platform</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-new-way-for-developers-to-monetize-on-squares-platform</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Matan-Paul Shetrit]]></dc:creator><pubDate>Thu, 02 Nov 2017 17:26:55 GMT</pubDate><content:encoded>&lt;p&gt;Following our &lt;a href=&quot;https://developer.squareup.com/blog/a-new-partnership-with-eventbrite-and-the-future-of-squares-commerce-platform&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;announcement&lt;/a&gt; in September that we’re working with Eventbrite to expand our offering for marketplaces, we’re excited to share that now marketplaces and platforms using our eCommerce API or Square Checkout can pay out their merchants and get paid themselves.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-new-way-for-developers-to-monetize-on-squares-platform&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Adding card on file details with Python]]></title><description><![CDATA[Attaching a customer’s card on file to their Square profile is an important part of setting up recurring payments. Here’s how to do it with Python.]]></description><link>https://developer.squareup.com/blog/adding-card-on-file-details-with-python</link><guid isPermaLink="false">https://developer.squareup.com/blog/adding-card-on-file-details-with-python</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 08 Nov 2017 16:36:09 GMT</pubDate><content:encoded>&lt;p&gt;In this post we’ll be using the &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v2#endpoint-createcustomercard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;CustomerCard&lt;/code&gt;&lt;/a&gt; endpoints to add a card on file to a customer that you could then use for subscription billing online or in-person. But remember, you should not link a card on file to a customer without the customer’s express permission. For example, you can inclu…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/adding-card-on-file-details-with-python&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[So You Have Some Clusters, Now What?]]></title><description><![CDATA[How to Add Value to Your Clusters]]></description><link>https://developer.squareup.com/blog/so-you-have-some-clusters-now-what</link><guid isPermaLink="false">https://developer.squareup.com/blog/so-you-have-some-clusters-now-what</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Inna Kaler]]></dc:creator><pubDate>Thu, 09 Nov 2017 00:11:19 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;How to Add Value to Your Clusters&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Written by &lt;a href=&quot;https://medium.com/@fan_zhang&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fan Zhang&lt;/a&gt;, &lt;a href=&quot;https://medium.com/@innakaler&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Inna Kaler&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the most common ways to apply &lt;a href=&quot;https://en.wikipedia.org/wiki/Unsupervised_learning&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;unsupervised learning&lt;/a&gt; to a dataset is &lt;a href=&quot;https://en.wikipedia.org/wiki/Cluster_analysis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;clustering&lt;/a&gt;, specifically &lt;a href=&quot;https://en.wikipedia.org/wiki/Cluster_analysis#Centroid-based_clustering&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;centroid-based clustering&lt;/a&gt;. Clustering takes a mass of observations and separates them into distinct groups based on similarities.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/so-you-have-some-clusters-now-what&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[CreateCheckout options explained.]]></title><description><![CDATA[We released Square Checkout as a way for developers to accept payments without having to deal with a card nonce or building a payment form…]]></description><link>https://developer.squareup.com/blog/createcheckout-options-explained</link><guid isPermaLink="false">https://developer.squareup.com/blog/createcheckout-options-explained</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 10 Nov 2017 16:43:43 GMT</pubDate><content:encoded>&lt;p&gt;We &lt;a href=&quot;https://developer.squareup.com/blog/introducing-square-checkout&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;released Square Checkout&lt;/a&gt; as a way for developers to accept payments without having to deal with a card nonce or building a payment form user interface. In this post, we’ll dive deep on the different options available to you when generating a checkout form.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/createcheckout-options-explained&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Updating from FactoryGirl to FactoryBot]]></title><description><![CDATA[On October 24th, 2017 the ThoughtBot team renamed their popular Ruby testing library FactoryGirl to FactoryBot. They explained their…]]></description><link>https://developer.squareup.com/blog/updating-from-factorygirl-to-factorybot</link><guid isPermaLink="false">https://developer.squareup.com/blog/updating-from-factorygirl-to-factorybot</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[David Haley]]></dc:creator><pubDate>Tue, 14 Nov 2017 02:02:45 GMT</pubDate><content:encoded>&lt;p&gt;On October 24th, 2017 the ThoughtBot team renamed their popular Ruby testing library FactoryGirl to &lt;a href=&quot;https://github.com/thoughtbot/factory_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FactoryBot&lt;/a&gt;. They &lt;a href=&quot;https://robots.thoughtbot.com/factory_bot#why&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;explained their reasoning&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Those who were bothered by the name shared a concern that female-gendered names (for software libraries and tools) in male-dominated spaces can be problematic. […] We concluded that, even though not everyone agreed, lack of concern from many shouldn…&lt;/p&gt;&lt;/blockquote&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/updating-from-factorygirl-to-factorybot&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[What’s new in version 2.5.0 of our client SDKs.]]></title><description><![CDATA[The latest version of our SDKs includes our big release of multi-party transactions.]]></description><link>https://developer.squareup.com/blog/whats-new-in-version-2-5-0-of-our-client-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/whats-new-in-version-2-5-0-of-our-client-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 15 Nov 2017 22:11:37 GMT</pubDate><content:encoded>&lt;p&gt;Here’s a rundown of the changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multi-Party transactions:&lt;/strong&gt; This has been a big feature request from developers like you, as well as larger marketplaces and other platforms looking to integrate with Square. You can read more about this exciting release here: &lt;a href=&quot;https://developer.squareup.com/blog/a-new-way-for-developers-to-monetize-on-squares-platform&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;A new way for developers to monetize on Square’s platform&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/whats-new-in-version-2-5-0-of-our-client-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A deep dive into authorization and delayed capture.]]></title><description><![CDATA[In this post we’ll dig into what options are available in holding an amount from a card and capturing or cancelling it later.]]></description><link>https://developer.squareup.com/blog/a-deep-dive-into-authorization-and-delayed-capture</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-deep-dive-into-authorization-and-delayed-capture</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Fri, 17 Nov 2017 20:20:19 GMT</pubDate><content:encoded>&lt;p&gt;Placing a hold on a card, or “pre-auth”-ing a transaction is very similar in practice as charging a card directly with the APIs.&lt;/p&gt;
&lt;h3 id=&quot;when-to-delay-capture&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#when-to-delay-capture&quot; aria-label=&quot;when to delay capture permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;When to delay capture?&lt;/h3&gt;
&lt;p&gt;Choosing to delay capture on a transaction instead of directly charging is usually decided by the type of business you have. You could place a hold on someone’s card while they borrow equipment or rent property. Other common use cases involve needin…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-deep-dive-into-authorization-and-delayed-capture&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Version 2.5.1 of our Client SDKs]]></title><description><![CDATA[The holidays aren’t here just yet, but with all these releases it might feel like Christmas!]]></description><link>https://developer.squareup.com/blog/version-2-5-1-of-our-client-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/version-2-5-1-of-our-client-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Mon, 20 Nov 2017 20:42:23 GMT</pubDate><content:encoded>&lt;p&gt;We’re always working to expand our APIs and client libraries to give developers the tools they need to build their integrations with Square businesses. Here’s what’s new in our most recent version (2.5.1):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A new field (&lt;code&gt;ordinal&lt;/code&gt;) was added to the &lt;code&gt;CatalogItemVariation&lt;/code&gt; model. The ordinal is the order in which the item is displayed for the Square Point of Sale App.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;location&lt;/code&gt; model includes a field for &lt;code&gt;website_url&lt;/code&gt;, which is the website that a merchant inputs when making their Square account.&lt;/p&gt;
&lt;/li&gt;&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/version-2-5-1-of-our-client-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Creating a personalized, professional ticketing experience for any business, powered by Square APIs]]></title><description><![CDATA[SimpleTix is growing their platform through a differentiated experience and leveraging the new multi-party settlement feature through Square’s E-commerce API.]]></description><link>https://developer.squareup.com/blog/creating-a-personalized-professional-ticketing-experience-for-any-business-powered-by-square-apis</link><guid isPermaLink="false">https://developer.squareup.com/blog/creating-a-personalized-professional-ticketing-experience-for-any-business-powered-by-square-apis</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marisa Almeida]]></dc:creator><pubDate>Mon, 27 Nov 2017 19:48:32 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;Building a unique product&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SimpleTix founder Aron Kansal first started tinkering with an event ticketing solution in college, over ten years ago. What began as a ticketing page he built in Adobe Dreamweaver for a small theater in Canada has now evolved into a flexible, full-s…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/creating-a-personalized-professional-ticketing-experience-for-any-business-powered-by-square-apis&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[OAuth with PHP, Part One: getting access tokens.]]></title><description><![CDATA[Implementing OAuth can be the hardest part of your integration, but it’s a must if you’re opening your app to other merchants. Here’s some help if you’re using PHP.]]></description><link>https://developer.squareup.com/blog/oauth-with-php-part-one-getting-access-tokens</link><guid isPermaLink="false">https://developer.squareup.com/blog/oauth-with-php-part-one-getting-access-tokens</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 30 Nov 2017 18:22:04 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;This blog post contains information that is out of date and uses deprecated endpoints. Please visit &lt;a href=&quot;https://developer.squareup.com/docs/oauth-api/migrate-to-refresh-tokens&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;migrating to refresh tokens&lt;/a&gt; for information on upgrading. To just implement the latest OAuth, you can follow our guide &lt;a href=&quot;https://developer.squareup.com/docs/oauth-api/build-with-oauth&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;OAuth is an important part in safely controlling access between developers’ applications and Square merchant accounts. If you are building your application for multiple Square accounts to use, you’ll need to implement it.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/oauth-with-php-part-one-getting-access-tokens&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[OAuth with PHP Part Two: refreshing & revoking tokens]]></title><description><![CDATA[Part 2 on using OAuth tokens with PHP]]></description><link>https://developer.squareup.com/blog/oauth-with-php-part-two-refreshing-revoking-tokens</link><guid isPermaLink="false">https://developer.squareup.com/blog/oauth-with-php-part-two-refreshing-revoking-tokens</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 05 Dec 2017 17:27:29 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;This blog post contains information that is out of date and uses deprecated endpoints. Please visit &lt;a href=&quot;https://developer.squareup.com/docs/oauth-api/migrate-to-refresh-tokens&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;migrating to refresh tokens&lt;/a&gt; for information on upgrading. To just implement the latest OAuth, you can follow our guide &lt;a href=&quot;https://developer.squareup.com/docs/oauth-api/build-with-oauth&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a follow up to &lt;a href=&quot;https://developer.squareup.com/blog/oauth-with-php-part-one-getting-access-tokens&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;part 1&lt;/a&gt; that talks about creating access tokens from authorization codes.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/oauth-with-php-part-two-refreshing-revoking-tokens&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Storing customer card information securely using Point of Sale API.]]></title><description><![CDATA[You can use Square’s Point of Sale API to save payment information to a customer profile directly from the Square Point of Sale app. Once a card is stored, you can use the Transaction API to charge this card in the future, unlocking fast remote billing an]]></description><link>https://developer.squareup.com/blog/storing-customer-card-information-securely-using-point-of-sale-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/storing-customer-card-information-securely-using-point-of-sale-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Wed, 13 Dec 2017 21:15:24 GMT</pubDate><content:encoded>&lt;h3 id=&quot;turn-on-card-on-file&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#turn-on-card-on-file&quot; aria-label=&quot;turn on card on file permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Turn on Card on File&lt;/h3&gt;
&lt;p&gt;You can enable Card on File right from the Square Point of Sale app:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the Square app and tap on the menu icon.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tap Settings &gt; Customer Management.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Toggle on Charge and Save Cards to Customer Profiles to save your customers’ payment card information from your in-app Customer Directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To save a card after a sale, toggle on Show Save Card Button After Checkout.&lt;/p&gt;
&lt;/li&gt;&lt;/ol&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/storing-customer-card-information-securely-using-point-of-sale-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing the Square Connect Node SDK]]></title><description><![CDATA[As part of our goal of empowering our developers to innovate, build, and create, the developer platform team is happy to announce a new…]]></description><link>https://developer.squareup.com/blog/introducing-the-square-connect-node-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-the-square-connect-node-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Nisola Shobayo]]></dc:creator><pubDate>Fri, 15 Dec 2017 22:22:18 GMT</pubDate><content:encoded>&lt;p&gt;As part of our goal of empowering our developers to innovate, build, and create, the developer platform team is happy to announce a new addition to the Square SDK family: the Square Connect Node SDK. With the release of the Square Connect Node SDK, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-the-square-connect-node-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Topic Modeling]]></title><description><![CDATA[Optimizing for Human Interpretability]]></description><link>https://developer.squareup.com/blog/topic-modeling-optimizing-for-human-interpretability</link><guid isPermaLink="false">https://developer.squareup.com/blog/topic-modeling-optimizing-for-human-interpretability</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Alyssa Wisdom]]></dc:creator><pubDate>Wed, 20 Dec 2017 22:38:24 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Have you ever skimmed through a large amount of text and wanted to quickly understand the general trends, topics, or themes that it contains? This ranges from that book you never finished for book club to parsing through user feedback and comments a…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/topic-modeling-optimizing-for-human-interpretability&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Accessible Colors for Data Visualization]]></title><description><![CDATA[Part 1: Open-source style guide.]]></description><link>https://developer.squareup.com/blog/accessible-colors-for-data-visualization</link><guid isPermaLink="false">https://developer.squareup.com/blog/accessible-colors-for-data-visualization</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Zach Grosser]]></dc:creator><pubDate>Thu, 11 Jan 2018 00:01:35 GMT</pubDate><content:encoded>&lt;p&gt;A good graph is easy to read. A goal when creating data visualizations is to convey information in a clear and concise way. One of the most prominent features of most data visualizations is color, but what happens to a graph for someone who has diff…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/accessible-colors-for-data-visualization&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Implementing Square’s Payment Form in Reaction Commerce]]></title><description><![CDATA[Get Square's payment form implemented in your Reaction Commerce App]]></description><link>https://developer.squareup.com/blog/implementing-sqpaymentform-in-reaction-commerce</link><guid isPermaLink="false">https://developer.squareup.com/blog/implementing-sqpaymentform-in-reaction-commerce</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Fri, 12 Jan 2018 00:59:44 GMT</pubDate><content:encoded>&lt;p&gt;Under the Payment Card Industry Data Security Standard (&lt;a href=&quot;https://squareup.com/guides/pci-compliance&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PCI-DSS&lt;/a&gt;), to process payments securely, you must minimize the amount of sensitive cardholder data that you handle. If you don’t, you could be vulnerable to a breach, lose your ability to process payments, or incur fines from your processor.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/implementing-sqpaymentform-in-reaction-commerce&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Soft-skills Reading List]]></title><description><![CDATA[As an engineering manager here at Square, I am often asked by engineers and other managers for advice on all sorts of different topics. If…]]></description><link>https://developer.squareup.com/blog/soft-skills-reading-list</link><guid isPermaLink="false">https://developer.squareup.com/blog/soft-skills-reading-list</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Xavier Shay]]></dc:creator><pubDate>Tue, 16 Jan 2018 19:56:11 GMT</pubDate><content:encoded>&lt;p&gt;As an engineering manager here at Square, I am often asked by engineers and other managers for advice on all sorts of different topics. If I’m lucky, they enjoy reading as much as I do, and I get the opportunity to recommend a book! Over the years, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/soft-skills-reading-list&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Free Square plugin now available for WooCommerce]]></title><description><![CDATA[WooCommerce integrated Square’s Transactions, Catalog, and Inventory APIs in one easy-to-install extension to make selling online and…]]></description><link>https://developer.squareup.com/blog/free-square-plugin-now-available-for-woocommerce</link><guid isPermaLink="false">https://developer.squareup.com/blog/free-square-plugin-now-available-for-woocommerce</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Marisa Almeida]]></dc:creator><pubDate>Wed, 24 Jan 2018 17:30:14 GMT</pubDate><content:encoded>&lt;p&gt;WooCommerce integrated Square’s Transactions, Catalog, and Inventory APIs in one easy-to-install extension to make selling online and in-person simpler.&lt;/p&gt;
&lt;p&gt;For developers who manage WordPress or WooCommerce sites for clients: we wanted to make sure you saw that the Square &lt;a href=&quot;https://woocommerce.com/products/square/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;extension&lt;/a&gt; for WooCommerce is now available to install for free. This has been a top request from sellers and developers alike, and we’re excited it’s now a reality.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/free-square-plugin-now-available-for-woocommerce&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Caviar’s Word2Vec Tagging For Menu Item Recommendations]]></title><description><![CDATA[By Christopher Skeels and Yash Patel]]></description><link>https://developer.squareup.com/blog/caviars-word2vec-tagging-for-menu-item-recommendations</link><guid isPermaLink="false">https://developer.squareup.com/blog/caviars-word2vec-tagging-for-menu-item-recommendations</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Christopher Skeels]]></dc:creator><pubDate>Mon, 29 Jan 2018 19:41:15 GMT</pubDate><content:encoded>&lt;h2 id=&quot;background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background&quot; aria-label=&quot;background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Background&lt;/h2&gt;
&lt;h3 id=&quot;recommendation-collections&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#recommendation-collections&quot; aria-label=&quot;recommendation collections permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Recommendation Collections&lt;/h3&gt;
&lt;p&gt;At Caviar, &lt;a href=&quot;https://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt;’s &lt;a href=&quot;https://itunes.apple.com/us/app/caviar-food-delivery/id931355786?mt=8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;food ordering app&lt;/a&gt;, one way we connect diners to great food is with &lt;a href=&quot;/blog/caviars-food-recommendation-platform&quot;&gt;restaurant and menu item recommendations&lt;/a&gt;. Rather than presenting a single overwhelming stream of recommendations, we segment them into distinct recommendation collections, each characterized by a common theme (e.g., “Delivery Under 30 Minutes”, “Pizza”, and “Recommended For You”). Individ…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/caviars-word2vec-tagging-for-menu-item-recommendations&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Getting Started Exploring SDKs with REPL-Driven Development in Node.js,]]></title><description><![CDATA[Exploring SDKs Interactively]]></description><link>https://developer.squareup.com/blog/getting-started-exploring-sdks-with-repl-driven-development-in-node-js</link><guid isPermaLink="false">https://developer.squareup.com/blog/getting-started-exploring-sdks-with-repl-driven-development-in-node-js</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Tue, 30 Jan 2018 23:08:26 GMT</pubDate><content:encoded>&lt;p&gt;The faster it is to get up and running with an API the better. SDKs help speed up that on-boarding process by providing an already-written, pre-made API client that &lt;em&gt;just works&lt;/em&gt; in the language you’re already using. The &lt;a href=&quot;https://developer.squareup.com/docs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Connect API&lt;/a&gt;, for example, has SDKs in half a dozen languages.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/getting-started-exploring-sdks-with-repl-driven-development-in-node-js&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Lightning Talks: Let’s build a Markdown parser!]]></title><description><![CDATA[Every month, Square Engineers give lightning talks internally. We’re excited to share some of our favorites!]]></description><link>https://developer.squareup.com/blog/lets-build-a-markdown-parser</link><guid isPermaLink="false">https://developer.squareup.com/blog/lets-build-a-markdown-parser</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 30 Jan 2018 18:23:33 GMT</pubDate><content:encoded>&lt;p&gt;Every month, Square Engineers give lightning talks internally. We’re excited to share some of our favorites!&lt;/p&gt;
&lt;p&gt;Enjoy this lightning talk where Winnie Wu explored how her team built a markdown parser in their Ruby on Rails app.&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/5FjiGsO-ITw?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/3DWSuWFWRNljwZd7r6LDi3/494b1ab2ce0b8628f04f12ff23669f56/https___cdn-images-1.medium.com_max_2764_1_mKF3NqtXOfLmDF-9Jx49uw.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/lets-build-a-markdown-parser&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Stop Using Servers to Handle Webhooks]]></title><description><![CDATA[Why you do not need to spin up a server to process a webhook anymore]]></description><link>https://developer.squareup.com/blog/stop-using-servers-to-handle-webhooks</link><guid isPermaLink="false">https://developer.squareup.com/blog/stop-using-servers-to-handle-webhooks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Mon, 05 Feb 2018 18:01:02 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/HkpFBZrWf-Y?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Webhooks are increasingly becoming the main method to get real time data from different services. &lt;a href=&quot;https://developer.github.com/webhooks/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;, &lt;a href=&quot;https://api.slack.com/custom-integrations/outgoing-webhooks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Slack&lt;/a&gt;, &lt;a href=&quot;https://sendgrid.com/docs/API_Reference/Webhooks/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SendGrid&lt;/a&gt;, and even &lt;a href=&quot;https://developer.squareup.com/docs/api/connect/v1#webhooks-overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square &lt;/a&gt;use webhooks to let you see data or be notified of events happening on your account. Webhooks are awesome, since they are fairly easy to deal with and prevent developers from having to build some archaic polling system that ends up being fairly wast…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/stop-using-servers-to-handle-webhooks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Uncovering Inconsistent Keychain Behavior]]></title><description><![CDATA[Fixing a Valet iOS Bug]]></description><link>https://developer.squareup.com/blog/uncovering-inconsistent-keychain-behavior-while-fixing-a-valet-ios-bug</link><guid isPermaLink="false">https://developer.squareup.com/blog/uncovering-inconsistent-keychain-behavior-while-fixing-a-valet-ios-bug</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Kevin Leong]]></dc:creator><pubDate>Thu, 22 Feb 2018 16:55:59 GMT</pubDate><content:encoded>&lt;p&gt;A few months ago, a developer sent the following error stack trace to Square from their iOS app:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-objective-c&quot;&gt;2017-08-07 21:41:37.458 [**App name redacted**][5316:2314238] *** 
Terminating app due to uncaught exception &apos;NSInvalidArgumentException&apos;, 
reason: &apos;-[__NSCFData isEqualToString:]: unrecognized selector sent to instance 0x6080000b97b0&apos;

*** First th…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/uncovering-inconsistent-keychain-behavior-while-fixing-a-valet-ios-bug&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Deep Learning + Survival Analysis: Our Approach to Multi-Task Frameworks]]></title><description><![CDATA[At Square, we’ve experimented with survival analysis models to predict a variety of outcomes: from Seller churn and product conversions, to…]]></description><link>https://developer.squareup.com/blog/deep-neural-networks-for-survival-analysis-based-on-a-multi-task-framework</link><guid isPermaLink="false">https://developer.squareup.com/blog/deep-neural-networks-for-survival-analysis-based-on-a-multi-task-framework</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Stephane Fotso]]></dc:creator><pubDate>Mon, 26 Feb 2018 22:00:52 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we’ve experimented with survival analysis models to predict a variety of outcomes: from Seller churn and product conversions, to loan defaults on Capital. Predicting these key events in a seller’s lifetime allow us to provide a better use…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/deep-neural-networks-for-survival-analysis-based-on-a-multi-task-framework&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[You Are Your Own Best Hype Person]]></title><description><![CDATA[Learn how to accurately and effectively advocate for yourself and grow in your career by recording your accomplishments.]]></description><link>https://developer.squareup.com/blog/you-are-your-own-best-hype-person</link><guid isPermaLink="false">https://developer.squareup.com/blog/you-are-your-own-best-hype-person</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Marie Chatfield]]></dc:creator><pubDate>Mon, 26 Feb 2018 20:36:46 GMT</pubDate><content:encoded>&lt;p&gt;At some point in your career, you’re going to have to prove to someone that you’re worth it: worth hiring, worth promoting, worth the raise, worth taking a risk on. If you’re lucky, you might have someone who has seen your work first hand, who belie…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/you-are-your-own-best-hype-person&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Lightning Talks: How to Create and Deliver a Successful Tech Talk]]></title><description><![CDATA[Every month, Square Engineers give lightning talks internally. We just started sharing some of our favorites.]]></description><link>https://developer.squareup.com/blog/how-to-create-and-deliver-a-successful-tech-talk</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-create-and-deliver-a-successful-tech-talk</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Tue, 27 Feb 2018 18:06:38 GMT</pubDate><content:encoded>&lt;p&gt;Every month, Square Engineers give lightning talks internally. We &lt;a href=&quot;https://developer.squareup.com/blog/lets-build-a-markdown-parser&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;just started&lt;/a&gt; sharing some of our favorites.&lt;/p&gt;
&lt;p&gt;Over the last two years, I’ve provided speakers with early feedback on their technical presentations. Eventually, it made sense to compile these tips into their own lightning talk. Here are some pointers on how to create a successful tech talk that …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-create-and-deliver-a-successful-tech-talk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Understanding Composition Browser Events]]></title><description><![CDATA[What’s an IME, and why do I care?]]></description><link>https://developer.squareup.com/blog/understanding-composition-browser-events</link><guid isPermaLink="false">https://developer.squareup.com/blog/understanding-composition-browser-events</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jeff Lloyd]]></dc:creator><pubDate>Thu, 01 Mar 2018 22:48:02 GMT</pubDate><content:encoded>&lt;p&gt;Our Square sellers need a consolidated view of their whole business — that’s where Dashboard comes in. Dashboard is a large frontend Ember application that enables sellers to run their business effectively through analytics, reporting, and various s…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/understanding-composition-browser-events&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[How To Be a More Influential Engineer]]></title><description><![CDATA[Spoiler alert: you need skills.]]></description><link>https://developer.squareup.com/blog/how-to-be-a-more-influential-engineer</link><guid isPermaLink="false">https://developer.squareup.com/blog/how-to-be-a-more-influential-engineer</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Derek Hammer]]></dc:creator><pubDate>Wed, 07 Mar 2018 22:03:12 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/6VCTPH4vZUo2moYNyiFHVr/03cc217772070d46800e9c92586751c4/https___cdn-images-1.medium.com_max_2000_0_u9eWWcXCa13uI7Pt.&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;One of the most significant transitions for an engineer’s career is when they break dependence on senior team members and start to actively contribute to the team’s decision-making process. Once this transition is complete, the engineer is contribut…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/how-to-be-a-more-influential-engineer&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Product Analytics at Square]]></title><description><![CDATA[Product Analysts at Square leverage engineering, analytics, and machine learning to empower data-driven decision making in the full…]]></description><link>https://developer.squareup.com/blog/product-analytics-at-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/product-analytics-at-square</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Fan Zhang]]></dc:creator><pubDate>Mon, 12 Mar 2018 23:25:35 GMT</pubDate><content:encoded>&lt;p&gt;Product Analysts at Square leverage engineering, analytics, and machine learning to empower data-driven decision making in the full lifecycle of product development. We lead experimentation and growth initiatives, develop automation solutions to per…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/product-analytics-at-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[OAuth, wherefore art thou?]]></title><description><![CDATA[Why do we have to use OAuth?]]></description><link>https://developer.squareup.com/blog/oauth-wherefore-art-thou</link><guid isPermaLink="false">https://developer.squareup.com/blog/oauth-wherefore-art-thou</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Tue, 20 Mar 2018 16:19:34 GMT</pubDate><content:encoded>&lt;p&gt;Shakespeare’s plays are wonderful expressions of beauty and romance. His plays are also complicated, tragic, and hard to understand. Working with OAuth can feel a lot like Shakespeare. It sounds overly complicated, but the more time you spend with i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/oauth-wherefore-art-thou&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ember and Yarn Workspaces]]></title><description><![CDATA[Breaking up an Ember monolith without driving yourself crazy]]></description><link>https://developer.squareup.com/blog/ember-and-yarn-workspaces</link><guid isPermaLink="false">https://developer.squareup.com/blog/ember-and-yarn-workspaces</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Lenny Burdette]]></dc:creator><pubDate>Wed, 28 Mar 2018 20:04:58 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/9CARps2uLotPFJVmRtqT5/0d1492854dac58fc9e4bfb3f414639ff/https___cdn-images-1.medium.com_max_3672_1_6Fm_W0hJE0mwnnOd_9uVoQ.png&quot; alt=&quot;Square Dashboard circa 2012 versus Square Dashboard in the near future&quot;&gt;&lt;em&gt;Square Dashboard circa 2012 versus Square Dashboard in the near future&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Building so much functionality into a single application allowed us to move quickly with new products and bug fixes. Until late last year, we didn’t have another option—we were using a bespoke Rails-based build pipeline that didn’t understand Ember …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/ember-and-yarn-workspaces&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Making AI Interpretable with Generative Adversarial Networks]]></title><description><![CDATA[Authors: Juan Hernandez | @damienrj]]></description><link>https://developer.squareup.com/blog/making-ai-interpretable-with-generative-adversarial-networks</link><guid isPermaLink="false">https://developer.squareup.com/blog/making-ai-interpretable-with-generative-adversarial-networks</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Juan Hernandez]]></dc:creator><pubDate>Wed, 04 Apr 2018 16:48:24 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Authors: &lt;a href=&quot;https://twitter.com/juanmahvelez&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Juan Hernandez&lt;/a&gt;&lt;/em&gt; | &lt;a href=&quot;http://twitter.com/damienrj&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@damienrj&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;AI has made tremendous advances in technology, business, and science in the past decades, and this progress continues to accelerate today. Many of our experiences in daily life are influenced by AI and machine learning. For example, music is recomme…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/making-ai-interpretable-with-generative-adversarial-networks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Lightning Talks: A Tour of Duty at the U.S. Digital Service]]></title><description><![CDATA[Every month, Square Engineers give lightning talks internally. We’re excited to share some of our favorites!]]></description><link>https://developer.squareup.com/blog/lightning-talks-a-tour-of-duty-at-the-u-s-digital-service</link><guid isPermaLink="false">https://developer.squareup.com/blog/lightning-talks-a-tour-of-duty-at-the-u-s-digital-service</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Thu, 12 Apr 2018 21:20:12 GMT</pubDate><content:encoded>&lt;p&gt;Every month, Square Engineers give lightning talks internally. We’re excited to share &lt;a href=&quot;https://developer.squareup.com/blog/how-to-create-and-deliver-a-successful-tech-talk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;some of&lt;/a&gt; &lt;a href=&quot;https://developer.squareup.com/blog/lets-build-a-markdown-parser&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;our favorites&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Zach talks about working with the USDS, some of their core values, and his work on &lt;a href=&quot;http://login.gov/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;login.gov&lt;/a&gt;. In learning about the values of the USDS, we can see how the government aims to better serve people in the future as we become more reliant upon the internet and digital services.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/lightning-talks-a-tour-of-duty-at-the-u-s-digital-service&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Documentation Details Matter]]></title><description><![CDATA[A Designer Delves into the World of Developers]]></description><link>https://developer.squareup.com/blog/documentation-details-matter</link><guid isPermaLink="false">https://developer.squareup.com/blog/documentation-details-matter</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Alex Jacque]]></dc:creator><pubDate>Thu, 12 Apr 2018 12:01:01 GMT</pubDate><content:encoded>&lt;p&gt;Not too long ago I joined the &lt;a href=&quot;http://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Developer Platform&lt;/a&gt; team at Square as a product designer. One of the first things I was tasked with was addressing some quick-hit, tactical improvements we could make to our existing site to improve the developer experience.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/documentation-details-matter&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Super Simple Serverless eCommerce]]></title><description><![CDATA[Get started by adding some serverless into your eCommerce stack]]></description><link>https://developer.squareup.com/blog/super-simple-serverless-ecommerce</link><guid isPermaLink="false">https://developer.squareup.com/blog/super-simple-serverless-ecommerce</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Thu, 19 Apr 2018 18:22:08 GMT</pubDate><content:encoded>&lt;p&gt;A lot of companies have been taking the plunge into utilizing serverless eCommerce in order to enhance their tech stacks (e.g., Nordstrom, &lt;a href=&quot;https://medium.com/netflix-techblog/developer-experience-lessons-operating-a-serverless-like-platform-at-netflix-a8bbd5b899a0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Netflix&lt;/a&gt;, and &lt;a href=&quot;https://aws.amazon.com/serverless/videos/video-lambda-coca-cola/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Coca-Cola&lt;/a&gt;). It may seem like serverless is just a growing fad, but that was the same line of thought many people had about &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/super-simple-serverless-ecommerce&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ruby’s New Infinite Range Syntax: (0..)]]></title><description><![CDATA[This Christmas, Ruby 2.6 will be released with support for a new syntax denoting an infinite range!]]></description><link>https://developer.squareup.com/blog/rubys-new-infinite-range-syntax-0</link><guid isPermaLink="false">https://developer.squareup.com/blog/rubys-new-infinite-range-syntax-0</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Fri, 20 Apr 2018 01:54:08 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introducing-ruby-26s-endless-range&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introducing-ruby-26s-endless-range&quot; aria-label=&quot;introducing ruby 26s endless range permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introducing Ruby 2.6’s Endless Range&lt;/h2&gt;
&lt;p&gt;On Christmas Day, 2018, Ruby 2.6 will be released with support for a new syntax denoting an endless range:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;42..
#=&gt; 42..nil # yes, this is infinite!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So why do we need this new syntax? Up to this point, it has been a bit clunky in Ruby to create an infinite range:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rubys-new-infinite-range-syntax-0&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Migrating to Warmer Times Ahead]]></title><description><![CDATA[Caviar’s consumer web frontend architecture has changed a lot over the years. It was built as one large Rails application with Slim used as…]]></description><link>https://developer.squareup.com/blog/migrating-to-warmer-times-ahead</link><guid isPermaLink="false">https://developer.squareup.com/blog/migrating-to-warmer-times-ahead</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Robbin Xu]]></dc:creator><pubDate>Mon, 23 Apr 2018 23:26:02 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://www.trycaviar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Caviar’s&lt;/a&gt; consumer web frontend architecture has changed a lot over the years. It was built as one large &lt;a href=&quot;http://rubyonrails.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Rails&lt;/a&gt; application with &lt;a href=&quot;http://slim-lang.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Slim&lt;/a&gt; used as the templating engine, and &lt;a href=&quot;https://jquery.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jQuery&lt;/a&gt; and &lt;a href=&quot;http://coffeescript.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CoffeeScript&lt;/a&gt; added to handle client-side logic. They were the tools most familiar to the people who used them at that time.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/migrating-to-warmer-times-ahead&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[New Class Naming Rules in Ruby]]></title><description><![CDATA[There were 26 valid characters. Now there are 1,853!]]></description><link>https://developer.squareup.com/blog/new-class-naming-rules-in-ruby</link><guid isPermaLink="false">https://developer.squareup.com/blog/new-class-naming-rules-in-ruby</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Thu, 03 May 2018 17:23:23 GMT</pubDate><content:encoded>&lt;h2 id=&quot;in-ruby-25-and-prior&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#in-ruby-25-and-prior&quot; aria-label=&quot;in ruby 25 and prior permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;In Ruby 2.5 and prior:&lt;/h2&gt;
&lt;p&gt;It’s been a longstanding rule in Ruby that you must use a capital ASCII letter as the first character of a Class or Module name. This limited you to just these 26 characters:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ABCDEFGHIJKLMNOPQRSTUVWXYZ&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;new-in-ruby-26&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#new-in-ruby-26&quot; aria-label=&quot;new in ruby 26 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;New in Ruby 2.6:&lt;/h2&gt;
&lt;p&gt;In Ruby 2.6, non-ASCII upper case characters are allowed. By my count, that makes a total of 1,853 options! Here are the 1,827 new characters that can start a Class or Module name in Ruby 2.6:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/new-class-naming-rules-in-ruby&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Ruby’s New Exception Keyword Arguments]]></title><description><![CDATA[exception: false and exception: true]]></description><link>https://developer.squareup.com/blog/rubys-new-exception-keyword-arguments</link><guid isPermaLink="false">https://developer.squareup.com/blog/rubys-new-exception-keyword-arguments</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Tue, 15 May 2018 14:00:56 GMT</pubDate><content:encoded>&lt;p&gt;In Ruby 2.6, a variety of Kernel methods get a new &lt;code&gt;exception: false&lt;/code&gt; or &lt;code&gt;exception: true&lt;/code&gt; keyword argument. When Kernel methods fail, some raise an error and some just return &lt;code&gt;nil&lt;/code&gt;. This new feature lets you override that default behavior.&lt;/p&gt;
&lt;h3 id=&quot;tldr-in-ruby-26-these-examples-will-all-work&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tldr-in-ruby-26-these-examples-will-all-work&quot; aria-label=&quot;tldr in ruby 26 these examples will all work permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TL;DR: In Ruby 2.6 these examples will all work:&lt;/h3&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/rubys-new-exception-keyword-arguments&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Creating a Chatbot with Square Checkout and Twilio Studio]]></title><description><![CDATA[Learn how to create a bot to talk to your customers and help make sales!]]></description><link>https://developer.squareup.com/blog/creating-a-chatbot-with-square-checkout-and-twilio-studio</link><guid isPermaLink="false">https://developer.squareup.com/blog/creating-a-chatbot-with-square-checkout-and-twilio-studio</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 17 May 2018 19:28:33 GMT</pubDate><content:encoded>&lt;h2 id=&quot;try-it-out-text-479-8885188-to-talk-to-the-bot-&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#try-it-out-text-479-8885188-to-talk-to-the-bot-&quot; aria-label=&quot;try it out text 479 8885188 to talk to the bot  permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Try it out! Text (479)-888–5188 to talk to the bot 📲&lt;/h2&gt;
&lt;p&gt;From voice commands to chatbots, consumers are engaging with (and buying) things in totally new ways. But this isn’t something only for multi-billion dollar tech companies. New tools make chatbots achievable for even the smallest developer, so anyon…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/creating-a-chatbot-with-square-checkout-and-twilio-studio&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Are hotdogs a sandwich?]]></title><description><![CDATA[And other important naming conversations.]]></description><link>https://developer.squareup.com/blog/are-hotdogs-a-sandwich</link><guid isPermaLink="false">https://developer.squareup.com/blog/are-hotdogs-a-sandwich</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Derek Hammer]]></dc:creator><pubDate>Thu, 24 May 2018 17:11:43 GMT</pubDate><content:encoded>&lt;p&gt;There is an ongoing, raging debate at Caviar about sandwiches, hot dogs, and all manner of food. As you can image, as a food company we encounter all kinds of fun, quirky takes on food and as a result we get ourselves into a ye olde semantic debates…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/are-hotdogs-a-sandwich&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[measureBlock: How Does Performance Testing Work In iOS?]]></title><description><![CDATA[I was working on a mini project at Square involving performance unit testing for iOS — essentially, looking into how we could introduce…]]></description><link>https://developer.squareup.com/blog/measureblock-how-does-performance-testing-work-in-ios</link><guid isPermaLink="false">https://developer.squareup.com/blog/measureblock-how-does-performance-testing-work-in-ios</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Thomas Lextrait]]></dc:creator><pubDate>Tue, 29 May 2018 23:05:34 GMT</pubDate><content:encoded>&lt;p&gt;I was working on a mini project at &lt;a href=&quot;http://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt; involving performance unit testing for iOS — essentially, looking into how we could introduce performance unit testing, what our options are, and how it would scale on our CI (continuous integration). In focusing on the one tool Apple provides as p…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/measureblock-how-does-performance-testing-work-in-ios&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Design your custom payment form with SqPaymentForm]]></title><description><![CDATA[Customize your payment form using Square’s SqPaymentForm and some CSS.]]></description><link>https://developer.squareup.com/blog/design-your-custom-payment-form-with-sqpaymentform</link><guid isPermaLink="false">https://developer.squareup.com/blog/design-your-custom-payment-form-with-sqpaymentform</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Stephen Josey]]></dc:creator><pubDate>Tue, 29 May 2018 16:58:10 GMT</pubDate><content:encoded>&lt;p&gt;Do you currently use the &lt;code&gt;SqPaymentForm&lt;/code&gt;, but you want it to look sleek and professional? Now is your chance to figure out how to make it look like anything you want! Let’s get started.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An aside: I assume that you have at least looked over the &lt;code&gt;SqPaymentForm&lt;/code&gt; &lt;a href=&quot;https://developer.squareup.com/docs/payment-form/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Overview page&lt;/a&gt; on Square’s doc site. If not, please do so now, because this article will refer to items from the doc site.*&lt;/p&gt;
&lt;/blockquote&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/design-your-custom-payment-form-with-sqpaymentform&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Four Steps to use 
Sketch Libraries Efficiently]]></title><description><![CDATA[What is the height of a button?]]></description><link>https://developer.squareup.com/blog/four-steps-to-use-sketch-libraries-efficiently</link><guid isPermaLink="false">https://developer.squareup.com/blog/four-steps-to-use-sketch-libraries-efficiently</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Josef Khoo]]></dc:creator><pubDate>Mon, 04 Jun 2018 07:58:45 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;h1 id=&quot;what-is-the-height-of-a-button&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-the-height-of-a-button&quot; aria-label=&quot;what is the height of a button permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What is the height of a button?&lt;/h1&gt;
&lt;h1 id=&quot;where-do-i-find-this-calendar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#where-do-i-find-this-calendar&quot; aria-label=&quot;where do i find this calendar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Where do I find this calendar?&lt;/h1&gt;
&lt;h1 id=&quot;when-was-the-gray-updated&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#when-was-the-gray-updated&quot; aria-label=&quot;when was the gray updated permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;When was the gray updated?&lt;/h1&gt;
&lt;h1 id=&quot;why-is-the-heading-size-inconsistent&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#why-is-the-heading-size-inconsistent&quot; aria-label=&quot;why is the heading size inconsistent permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Why is the heading size inconsistent?&lt;/h1&gt;
&lt;/blockquote&gt;
&lt;p&gt;For a long time, sharing UI libraries and systems was a very manual process that often crumbled under the effort to maintain and keep everything updated. A stale style guide was very common; every time a new one was created, everyone would once agai…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/four-steps-to-use-sketch-libraries-efficiently&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Taking Payments Online with Square and Vue.js]]></title><description><![CDATA[Learn how to use Vue with the Square payment form!]]></description><link>https://developer.squareup.com/blog/taking-payments-online-with-square-and-vue-js</link><guid isPermaLink="false">https://developer.squareup.com/blog/taking-payments-online-with-square-and-vue-js</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Tue, 05 Jun 2018 14:06:01 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://vuejs.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Vue.js&lt;/a&gt; is a popular choice when it comes to front-end JavaScript frameworks. It has handy features like data binding and easy rendering control out of the box, all while having the performance and extensibility you need. But what if you want to take some …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/taking-payments-online-with-square-and-vue-js&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Caviar’s Food Recommendation Platform]]></title><description><![CDATA[By Christopher Skeels]]></description><link>https://developer.squareup.com/blog/caviars-food-recommendation-platform</link><guid isPermaLink="false">https://developer.squareup.com/blog/caviars-food-recommendation-platform</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Christopher Skeels]]></dc:creator><pubDate>Wed, 13 Jun 2018 23:26:23 GMT</pubDate><content:encoded>&lt;h2 id=&quot;intro&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#intro&quot; aria-label=&quot;intro permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;strong&gt;Intro&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;At Caviar, &lt;a href=&quot;https://squareup.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt;’s &lt;a href=&quot;https://itunes.apple.com/us/app/caviar-food-delivery/id931355786?mt=8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;food ordering app&lt;/a&gt;, one way we connect diners with great food is our home feed of recommendations. We have a large variety of recommendations to make, and we want to constantly test and evaluate them. To support this, we’ve created a flexible, powerful recommendation…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/caviars-food-recommendation-platform&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Challenge — Table of Contents Generator]]></title><description><![CDATA[Introducing developer challenges! This is a new series where we post challenges inspired by real world applications.]]></description><link>https://developer.squareup.com/blog/challenge-table-of-contents-generator</link><guid isPermaLink="false">https://developer.squareup.com/blog/challenge-table-of-contents-generator</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Brandon Weaver]]></dc:creator><pubDate>Tue, 19 Jun 2018 19:56:38 GMT</pubDate><content:encoded>&lt;p&gt;While solutions are present later in the article, we encourage you to give the challenge a try first! We’ll be highlighting the top solutions we get over on Twitter at &lt;a href=&quot;https://twitter.com/SquareDev&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@SquareDev&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/7x6VU0VyJuZwSdG3KYaniP/e658b2d4a8b3543e52b8c37e5e76de21/https___cdn-images-1.medium.com_max_5800_1_M554vJvZJPOYpM2jFgsfkw.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-problem&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-problem&quot; aria-label=&quot;the problem permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The Problem&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/2MNXxZ3vvLv8KxgSau3p4b/e53f0e6e2d855c446b21b31063df1092/https___cdn-images-1.medium.com_max_2000_1_NSWGCTnlFmhY-je5K3IJ7w.png&quot; alt=&quot;Questions questions, we’ve got a question.&quot;&gt;&lt;em&gt;Questions questions, we’ve got a question.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Given an HTML page with multiple headers, we want to extract the headers to make a table of contents:&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/challenge-table-of-contents-generator&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Keeping API Errors Clean]]></title><description><![CDATA[At Caviar, we build a good number of APIs. We build APIs for our internal service-to-service communication, APIs for our mobile apps to…]]></description><link>https://developer.squareup.com/blog/keeping-api-errors-clean</link><guid isPermaLink="false">https://developer.squareup.com/blog/keeping-api-errors-clean</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Derek Hammer]]></dc:creator><pubDate>Mon, 25 Jun 2018 17:57:22 GMT</pubDate><content:encoded>&lt;p&gt;At Caviar, we build a good number of APIs. We build APIs for our internal service-to-service communication, APIs for our mobile apps to consume, APIs for our web apps to consume, APIs for external partners, and probably a couple of APIs that I’m eve…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/keeping-api-errors-clean&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing cocoapods-generate]]></title><description><![CDATA[Here at Square, we use CocoaPods as a core part of our iOS development workflow, with extensive libraries within the Square Point of Sale…]]></description><link>https://developer.squareup.com/blog/announcing-cocoapods-generate</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-cocoapods-generate</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Samuel E. Giddins]]></dc:creator><pubDate>Mon, 25 Jun 2018 18:00:56 GMT</pubDate><content:encoded>&lt;p&gt;Here at Square, we use CocoaPods as a core part of our iOS development workflow, with extensive libraries within the Square Point of Sale app alone, in addition to libraries used within our test suites. Many of these libraries live inside our main i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-cocoapods-generate&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Serverless Instant Checkout Links with Square]]></title><description><![CDATA[Build your own serverless instant checkout links using Square.]]></description><link>https://developer.squareup.com/blog/serverless-instant-checkout-links-with-square</link><guid isPermaLink="false">https://developer.squareup.com/blog/serverless-instant-checkout-links-with-square</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Tue, 26 Jun 2018 17:11:12 GMT</pubDate><content:encoded>&lt;p&gt;Servers beware! Watch out containers! Our serverless overlords are here! There is a lot of hype around serverless and talk about it being the end of containers, but we’re still not seeing a whole lot of major adoption of the technology (at least not…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/serverless-instant-checkout-links-with-square&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Connect 2.8.0 SDKs]]></title><description><![CDATA[New release of Square Connect SDKs]]></description><link>https://developer.squareup.com/blog/square-connect-2-8-0-sdks</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-connect-2-8-0-sdks</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Thu, 05 Jul 2018 17:36:00 GMT</pubDate><content:encoded>&lt;p&gt;We’ve got some new and useful features with the latest version of our SDKs. If you haven’t already implemented, you’re in luck, and if you already have, read on about the cool new features you can get by upgrading.&lt;/p&gt;
&lt;h3 id=&quot;whats-in-this-release&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#whats-in-this-release&quot; aria-label=&quot;whats in this release permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What’s in this release&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We added sorting functionality to the Connect v2 Customer API&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Updated the Connect v1 Payments API to include information about surcharges&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Made improvements to the Item data type.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-connect-2-8-0-sdks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[API Versioning for Connect v2]]></title><description><![CDATA[Announcement of API Versioning for Square's Connect v2 endpoints]]></description><link>https://developer.squareup.com/blog/api-versioning-for-connect-v2</link><guid isPermaLink="false">https://developer.squareup.com/blog/api-versioning-for-connect-v2</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Fri, 13 Jul 2018 16:59:14 GMT</pubDate><content:encoded>&lt;p&gt;We’ve got an exciting update coming for our Connect v2 developers! We have released &lt;a href=&quot;https://developer.squareup.com/docs/changelog/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;versioning for all Connect v2 endpoints&lt;/a&gt; for Square’s APIs. This will allow us to deliver more functionality and features faster than ever before. No need to worry though, our APIs will remain backwards-compatible and will allow you to upgrade when you’re most comfortable. This means you …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/api-versioning-for-connect-v2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[LeakCanary 1.6 🐤]]></title><description><![CDATA[We just released a new version of LeakCanary, and it’s got several new features!]]></description><link>https://developer.squareup.com/blog/leakcanary-1-6</link><guid isPermaLink="false">https://developer.squareup.com/blog/leakcanary-1-6</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Tue, 24 Jul 2018 18:00:58 GMT</pubDate><content:encoded>&lt;p&gt;We just released a new version of LeakCanary, and it’s got several new features!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;dependencies {
  debugImplementation &apos;com.squareup.leakcanary:leakcanary-android:1.6.1&apos;
  releaseImplementation &apos;com.squareup.leakcanary:leakcanary-android-no-op:1.6.1&apos;
  // Optional, if you use support library fragments:
  debugImplementation &apos;com.…&lt;/code&gt;&lt;/pre&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/leakcanary-1-6&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Women Who Make]]></title><description><![CDATA[This month is WomEng Spotlight Month at Square, and so we took it as a time to celebrate women engineers—in the company and outside of it…]]></description><link>https://developer.squareup.com/blog/women-who-make</link><guid isPermaLink="false">https://developer.squareup.com/blog/women-who-make</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jackie Luo]]></dc:creator><pubDate>Thu, 26 Jul 2018 19:44:31 GMT</pubDate><content:encoded>&lt;p&gt;This month is WomEng Spotlight Month at Square, and so we took it as a time to celebrate women engineers—in the company and outside of it. We organized a Square seller pop-up at our office, featuring women engineers and designers… who happen to be m…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/women-who-make&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square WomEng Hear + Now 2018: Lightning Talks]]></title><description><![CDATA[Hear + Now is a tech lightning talk series hosted by Square’s WomEng organization. The purpose of Hear + Now is to amplify the voices of…]]></description><link>https://developer.squareup.com/blog/square-womeng-hear-now-2018-lightning-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-womeng-hear-now-2018-lightning-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 01 Aug 2018 20:49:04 GMT</pubDate><content:encoded>&lt;p&gt;Hear + Now is a tech lightning talk series hosted by Square’s WomEng organization. The purpose of Hear + Now is to amplify the voices of people from marginalized groups within the tech industry.&lt;/p&gt;
&lt;p&gt;This year’s topic was “The Struggle,” with speakers sharing their technical struggles, workplace struggles, and more.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-womeng-hear-now-2018-lightning-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Square Reader SDK]]></title><description><![CDATA[An integrated in-person payment solution for Android and iOS developers, using Square hardware.]]></description><link>https://developer.squareup.com/blog/introducing-square-reader-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-square-reader-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Gabriel Jinich]]></dc:creator><pubDate>Thu, 02 Aug 2018 17:00:19 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/Wki9e54yFp8?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;It’s been two years since we introduced &lt;a href=&quot;https://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Developer&lt;/a&gt;, our platform that empowers developers to build custom solutions for Square sellers. Since then, developers have used &lt;a href=&quot;https://developer.squareup.com/docs/payments/pos/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Point of Sale API&lt;/a&gt; to build custom solutions used by thousands of sellers, leveraging Square hardware.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-square-reader-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Spiking Out a GUI Employee Time Clock]]></title><description><![CDATA[Using Tk Backed by Square’s Ruby SDK]]></description><link>https://developer.squareup.com/blog/spiking-out-a-gui-employee-time-clock</link><guid isPermaLink="false">https://developer.squareup.com/blog/spiking-out-a-gui-employee-time-clock</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Wed, 08 Aug 2018 17:51:14 GMT</pubDate><content:encoded>&lt;p&gt;As small companies get bigger, they sometimes decide to start using time clocks to track employee hours. Stakeholders often ask engineering for a solution that’s easy to use. As Rubyists, we usually create command line apps or web apps, but sometime…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/spiking-out-a-gui-employee-time-clock&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Comparing Two Forward Feature Selection Algorithms]]></title><description><![CDATA[Speed vs. customizability]]></description><link>https://developer.squareup.com/blog/comparing-two-forward-feature-selection-algorithms</link><guid isPermaLink="false">https://developer.squareup.com/blog/comparing-two-forward-feature-selection-algorithms</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Patrick Callier]]></dc:creator><pubDate>Wed, 08 Aug 2018 21:52:26 GMT</pubDate><content:encoded>&lt;h2 id=&quot;i-introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#i-introduction&quot; aria-label=&quot;i introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;I. Introduction&lt;/h2&gt;
&lt;p&gt;In this post, we review some things we learned from our first experiments on production feature selection applications. We focus on two variants of stepwise selection: (1) The linear stepwise selection method of Efroymson [&lt;a href=&quot;#f13e&quot;&gt;2&lt;/a&gt;], herein known as *linear *forward stepwise, and (2) a custom logistic regression stepwise selection method using two passes through the data that we dub &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/comparing-two-forward-feature-selection-algorithms&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Risky Business: Interning on Square’s Risk Team]]></title><description><![CDATA[Square’s main purpose is economic empowerment. Most people associate the company most strongly with its credit card processing product, the…]]></description><link>https://developer.squareup.com/blog/risky-business-interning-on-squares-risk-team</link><guid isPermaLink="false">https://developer.squareup.com/blog/risky-business-interning-on-squares-risk-team</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Tatiana Doyle]]></dc:creator><pubDate>Fri, 10 Aug 2018 22:58:32 GMT</pubDate><content:encoded>&lt;p&gt;Square’s main purpose is&lt;a href=&quot;https://squareup.com/about&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; economic empowerment&lt;/a&gt;. Most people associate the company most strongly with its credit card processing product, the iconic Square Reader.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/3idjTtUNt3mnXeSRApx0Jy/77dd92128bdab07cb02c6ef6403c07ac/https___cdn-images-1.medium.com_max_2000_0_M6O3mBPk1caSv1rY&quot; alt=&quot;Square’s credit card reader&quot;&gt;&lt;em&gt;Square’s credit card reader&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Allowing small businesses to accept credit cards has enabled them to grow their businesses in an era where everything is going digital. Today, I can tap my phone to buy groceries without ever pulling out a physical card. However, credit cards are an…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/risky-business-interning-on-squares-risk-team&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Keeping Your Customers up to date.]]></title><description><![CDATA[Learn how you can leverage some new API features when syncing your customers with Square’s APIs.]]></description><link>https://developer.squareup.com/blog/keeping-your-customers-up-to-date</link><guid isPermaLink="false">https://developer.squareup.com/blog/keeping-your-customers-up-to-date</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 16 Aug 2018 17:31:00 GMT</pubDate><content:encoded>&lt;p&gt;Square customer management can usually meet all your needs, but at times you might need to keep your customer directory in sync with another customer database or order management system. Luckily some new changes to our APIs make that easier than eve…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/keeping-your-customers-up-to-date&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Connect SDKs: Instant Profiles & Search Customers]]></title><description><![CDATA[Access all customer profiles on your Square account and search through them.]]></description><link>https://developer.squareup.com/blog/square-connect-sdks-instant-profiles-search-customers</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-connect-sdks-instant-profiles-search-customers</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Fri, 24 Aug 2018 18:07:43 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/c5OcTbiY7Zg?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The release of version 2.9.0 (now 2.20180712.1, with the release of API versioning) of the Square SDKs brought some really cool functionality along with it.&lt;/p&gt;
&lt;p&gt;You now get access to &lt;em&gt;all&lt;/em&gt; of your customer profiles via the &lt;a href=&quot;https://developer.squareup.com/docs/customers-api/what-it-does&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Customers API&lt;/a&gt;. Before, you could only retrieve customer profiles that you’d created using the API, but now you can also see &lt;a href=&quot;https://developer.squareup.com/docs/customers-api/what-it-does#instant-profiles&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Instant Profiles&lt;/a&gt; as well.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-connect-sdks-instant-profiles-search-customers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Okio 2]]></title><description><![CDATA[Our I/O library is converting to Kotlin.]]></description><link>https://developer.squareup.com/blog/okio-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/okio-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Mon, 27 Aug 2018 18:51:38 GMT</pubDate><content:encoded>&lt;p&gt;At Square, we’re excited about Kotlin. It’s a capable language to build Java libraries and applications with. We love to write code that is both compact and efficient.&lt;/p&gt;
&lt;p&gt;We’re also eager to adopt Kotlin’s powerful new features. &lt;a href=&quot;https://kotlinlang.org/docs/reference/native-overview.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kotlin/Native&lt;/a&gt; will allow us to share code between iOS and Android. &lt;a href=&quot;https://kotlinlang.org/docs/reference/coroutines.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Coroutines&lt;/a&gt; make concurrent programs easier to create and maintain.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/okio-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[A silent meeting is worth a thousand words]]></title><description><![CDATA[Building a culture where all thoughts can be voiced (or written as the case may be).]]></description><link>https://developer.squareup.com/blog/a-silent-meeting-is-worth-a-thousand-words</link><guid isPermaLink="false">https://developer.squareup.com/blog/a-silent-meeting-is-worth-a-thousand-words</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Tue, 04 Sep 2018 18:51:01 GMT</pubDate><content:encoded>&lt;p&gt;Picture this: a room full of senior Square leads, gathered for an important review meeting. Everyone is looking at their computer, in complete silence, interrupted by bursts of clickety clack. 30 minutes later, the conversation starts.&lt;/p&gt;
&lt;p&gt;What is going on? Is everyone waiting for the meeting to start? Are they practicing some form of silent retreat microdosing?&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/a-silent-meeting-is-worth-a-thousand-words&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Women Who Make (Part 2)]]></title><description><![CDATA[At Square, each of our community groups has a spotlight month. WomEng Spotlight Month at Square ran through July, celebrating women…]]></description><link>https://developer.squareup.com/blog/women-who-make-part-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/women-who-make-part-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Ken Sin]]></dc:creator><pubDate>Thu, 06 Sep 2018 21:18:30 GMT</pubDate><content:encoded>&lt;p&gt;At Square, each of our community groups has a spotlight month. WomEng Spotlight Month at Square ran through July, celebrating women engineers both inside Square and outside. We organized a Square seller pop-up at the SF office, which we covered in P…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/women-who-make-part-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Building a photo booth for Droidcon NYC]]></title><description><![CDATA[A month ago, my team at Square released the Reader SDK. We had the opportunity to show a demo at Droidcon NYC. How could we make payments…]]></description><link>https://developer.squareup.com/blog/building-a-photo-booth-for-droidcon-nyc</link><guid isPermaLink="false">https://developer.squareup.com/blog/building-a-photo-booth-for-droidcon-nyc</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[P-Y Ricau]]></dc:creator><pubDate>Fri, 07 Sep 2018 00:52:10 GMT</pubDate><content:encoded>&lt;p&gt;A month ago, my team at Square released the &lt;a href=&quot;http://squ.re/reader-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reader SDK&lt;/a&gt;. We had the opportunity to show a demo at Droidcon NYC. How could we make payments cool?&lt;/p&gt;
&lt;p&gt;We set up to build SquickPic, a fun Android photo booth: pay a dollar 💳, choose a filter, smile, Snap! 📸 The photo booth prints the picture and tweets it 🐦 (&lt;a href=&quot;https://twitter.com/squickpic&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@SquickPic&lt;/a&gt;).&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/building-a-photo-booth-for-droidcon-nyc&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing Square Connect v2 Inventory API]]></title><description><![CDATA[We are very pleased to announce the release of Inventory API to Connect v2. With this release, we’ve significantly upgraded functionality…]]></description><link>https://developer.squareup.com/blog/announcing-square-connect-v2-inventory-api</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-square-connect-v2-inventory-api</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Lior Koren]]></dc:creator><pubDate>Tue, 18 Sep 2018 17:39:00 GMT</pubDate><content:encoded>&lt;p&gt;We are very pleased to announce the release of Inventory API to Connect v2. With this release, we’ve significantly upgraded functionality for the Inventory API. If you haven’t implemented the Connect v1 Inventory API, you’re coming in at the right t…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-square-connect-v2-inventory-api&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Google Pay in Square Online Payments APIs and Square Invoices]]></title><description><![CDATA[Today, we are delighted to announce that Square online payments APIs and Square Invoices now support Google Pay.]]></description><link>https://developer.squareup.com/blog/introducing-google-pay-in-square-online-payments-apis-and-square-invoices</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-google-pay-in-square-online-payments-apis-and-square-invoices</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Ajay Anandan]]></dc:creator><pubDate>Fri, 21 Sep 2018 17:23:50 GMT</pubDate><content:encoded>&lt;p&gt;Today, we are delighted to announce that Square online payments APIs and Square Invoices now support Google Pay. This new integration allows developers and sellers to enable a fast and frictionless checkout experience on their websites or online sto…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-google-pay-in-square-online-payments-apis-and-square-invoices&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square implementation with Laravel]]></title><description><![CDATA[A guest contribution written for Square by our friend Nikola Gavrić]]></description><link>https://developer.squareup.com/blog/square-implementation-with-laravel</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-implementation-with-laravel</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Nikola Gavrić]]></dc:creator><pubDate>Mon, 24 Sep 2018 16:41:47 GMT</pubDate><content:encoded>&lt;h2 id=&quot;background-and-introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#background-and-introduction&quot; aria-label=&quot;background and introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;em&gt;Background and introduction&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Hello! I’m Nikola Gavrić, a Software Engineer in Niš, Serbia. I was using &lt;a href=&quot;https://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt; for several projects and after searching to find a library for the &lt;a href=&quot;https://laravel.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Laravel framework&lt;/a&gt; (there were basically no Square integrations with Laravel), I decided to create my own. After receiving emails from developers requesting various features, I decided to make Laravel Square developer-friendly and easy-to-use with low-effort required…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-implementation-with-laravel&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Reader SDK for React Native]]></title><description><![CDATA[We’ve released a plugin for React Native for our Reader SDK.]]></description><link>https://developer.squareup.com/blog/square-reader-sdk-for-react-native</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-reader-sdk-for-react-native</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Thu, 27 Sep 2018 17:27:33 GMT</pubDate><content:encoded>&lt;p&gt;In the beginning of August, we announced the release of our &lt;a href=&quot;https://squareup.com/developers/reader-sdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reader SDK&lt;/a&gt; for iOS and Android to allow developers to build their own custom in-person payment experiences.&lt;/p&gt;
&lt;p&gt;Now, we’ve taken that ground-breaking SDK and wrapped it up in a React Native plugin that you can use in your own React Native project. So whether you’re a cross-platform guru looking to creating the ultimate in-person payment experience or just a R…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-reader-sdk-for-react-native&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Useful tools: Headless Chrome & puppeteer for browser automation & testing.]]></title><description><![CDATA[Learn about some of the new tools that can make end-to-end testing easier & more accurate, as well as automate anything you can do in a web browser!]]></description><link>https://developer.squareup.com/blog/useful-tools-headless-chrome-puppeteer-for-browser-automation-testing</link><guid isPermaLink="false">https://developer.squareup.com/blog/useful-tools-headless-chrome-puppeteer-for-browser-automation-testing</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 11 Oct 2018 19:06:26 GMT</pubDate><content:encoded>&lt;p&gt;Websites have become more complicated than ever. Instead of a single html page, modern sites are often composed of multiple component files that are packaged together and then optimized. When a site loads these files, it makes dozens of different as…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/useful-tools-headless-chrome-puppeteer-for-browser-automation-testing&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[SqR00t Offensive Security Tech Talks]]></title><description><![CDATA[Square’s Information Security team runs a quarterly security meetup, Square R00t, which features several security and data privacy related…]]></description><link>https://developer.squareup.com/blog/sqr00t-offensive-security-tech-talks</link><guid isPermaLink="false">https://developer.squareup.com/blog/sqr00t-offensive-security-tech-talks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Flee]]></dc:creator><pubDate>Mon, 15 Oct 2018 17:37:20 GMT</pubDate><content:encoded>&lt;p&gt;Square’s Information Security team runs a quarterly security meetup, Square R00t, which features several security- and data privacy-related lightning talks.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/4kDSmGEOBLiYLuKglG0o2z/2db58cc84e8b2c5a6656c7cbe415fe08/https___cdn-images-1.medium.com_max_5116_1_BAWjD9FkQcR7SIIdceyDwQ.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Recently, Jason Haddix, Chris Rohlf, Jake Heath, and Michael Roberts gave infosec talks at our “Square SqR00t — Offensive Security” event in Square’s San Francisco office. (Thanks to everyone who attended!) Two of these talks were recorded and are n…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sqr00t-offensive-security-tech-talks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Women of Bitcoin]]></title><description><![CDATA[Today, we’re excited to kick off our “Women of BTC” blog series. In this series, we’ll hear from members of Square’s Cash App team about…]]></description><link>https://developer.squareup.com/blog/women-of-bitcoin</link><guid isPermaLink="false">https://developer.squareup.com/blog/women-of-bitcoin</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 17 Oct 2018 17:19:46 GMT</pubDate><content:encoded>&lt;p&gt;In the first edition of our “Women of BTC” series, we’ll talk with two influential Cash App team members: **Liang Shi **on the Marketing team and **Rebecca Corcillo **on Engineering.&lt;/p&gt;
&lt;p&gt;Liang has been at Square just about a year and is already making a massive impact on the experiential marketing front. Before she came to Square, Liang was organizing design and experiential events, including a dessert festival in NYC and LA.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/women-of-bitcoin&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Open Sourcing Subzero]]></title><description><![CDATA[Square’s Bitcoin Cold Storage Solution]]></description><link>https://developer.squareup.com/blog/open-sourcing-subzero</link><guid isPermaLink="false">https://developer.squareup.com/blog/open-sourcing-subzero</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alok Menghrajani]]></dc:creator><pubDate>Tue, 23 Oct 2018 01:12:46 GMT</pubDate><content:encoded>&lt;p&gt;Late last year, Square began offering the ability to &lt;a href=&quot;https://cash.app/help/US/en-us/1110-bitcoin#&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;buy and sell Bitcoin with Cash App&lt;/a&gt;. As part of that launch we invested heavily in building out our cryptocurrency infrastructure to help protect our customers’ funds, and Square itself, from both internal and external threats.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/open-sourcing-subzero&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Women of Bitcoin: Volume 2]]></title><description><![CDATA[Last week, we kicked off our “Women of BTC” blog series, where we’ll hear from members of Square’s Cash App team about the incredible work…]]></description><link>https://developer.squareup.com/blog/women-of-bitcoin-volume-2</link><guid isPermaLink="false">https://developer.squareup.com/blog/women-of-bitcoin-volume-2</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Wed, 24 Oct 2018 21:24:26 GMT</pubDate><content:encoded>&lt;p&gt;In the second edition of our “Women of BTC” series, we talked to members of the Finance and Legal departments: &lt;strong&gt;Emily Pirnack&lt;/strong&gt; and &lt;strong&gt;Crissy Solh&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Emily is part of Square’s Finance &amp;#x26; Analytics group’s Treasury team. She joined two years ago from Hitachi where she worked on FX trading. When the Cash App team first started building Bitcoin functionality, they needed someone to lead the trading i…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/women-of-bitcoin-volume-2&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Top 10 things I learnt coding on the side]]></title><description><![CDATA[Automate everything]]></description><link>https://developer.squareup.com/blog/top-10-things-i-learnt-coding-on-the-side</link><guid isPermaLink="false">https://developer.squareup.com/blog/top-10-things-i-learnt-coding-on-the-side</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Liching Li]]></dc:creator><pubDate>Sun, 28 Oct 2018 07:44:38 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Liching is a machine learning engineer on the Cash App team in Square’s Melbourne office working on risk and fraud detection. She is new to machine learning, but loves coding on the side and has learnt some really valuable lessons she’d like to shar…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/top-10-things-i-learnt-coding-on-the-side&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Enabling Modern JavaScript in Rails with Webpack(er)]]></title><description><![CDATA[When I joined Caviar in 2016, I was fully bought into React and all the good stuff around building modular systems. jQuery was no longer…]]></description><link>https://developer.squareup.com/blog/enabling-modern-javascript-in-rails-with-webpack-er</link><guid isPermaLink="false">https://developer.squareup.com/blog/enabling-modern-javascript-in-rails-with-webpack-er</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Tingshen Chen]]></dc:creator><pubDate>Tue, 06 Nov 2018 02:33:27 GMT</pubDate><content:encoded>&lt;p&gt;When I joined Caviar in 2016, I was fully bought into React and all the good stuff around building modular systems. jQuery was no longer the cool kid around the block. NPM was the place to go to get any missing dependencies. ES6 was starting to gain…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/enabling-modern-javascript-in-rails-with-webpack-er&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Sharding Cash]]></title><description><![CDATA[A good problem to have: Scaling up the @CashApp database with Vitess.]]></description><link>https://developer.squareup.com/blog/sharding-cash</link><guid isPermaLink="false">https://developer.squareup.com/blog/sharding-cash</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jon Tirsen]]></dc:creator><pubDate>Wed, 07 Nov 2018 19:19:54 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;As we approach the end of 2018, we’re celebrating the anniversary of the first shard split for Cash App with a series of blog posts explaining how we used Vitess to scale out. Rapid growth is hard, and it’s not always a smooth ride. We’re excited to…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/sharding-cash&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Inferring Label Hierarchies with hLDA]]></title><description><![CDATA[The Problem: Organizing Square Support Center Articles]]></description><link>https://developer.squareup.com/blog/inferring-label-hierarchies-with-hlda</link><guid isPermaLink="false">https://developer.squareup.com/blog/inferring-label-hierarchies-with-hlda</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Wafa Soofi]]></dc:creator><pubDate>Wed, 14 Nov 2018 01:34:48 GMT</pubDate><content:encoded>&lt;h3 id=&quot;the-problem-organizing-square-support-center-articles&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-problem-organizing-square-support-center-articles&quot; aria-label=&quot;the problem organizing square support center articles permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;The Problem: Organizing Square Support Center Articles&lt;/h3&gt;
&lt;p&gt;At Square, we get businesses up and running quickly. We also work hard to make sure sellers get their questions answered quickly. When Square sellers encounter a problem with a Square product, one of the first lines of defense is Square’s Support Ce…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/inferring-label-hierarchies-with-hlda&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Exploring Ruby 2.6 — Enumerator, Hash, and Enumerable Changes]]></title><description><![CDATA[New features to try in the upcoming ruby-2.6.0-preview3]]></description><link>https://developer.squareup.com/blog/exploring-ruby-2-6-enumerator-hash-and-enumerable-changes</link><guid isPermaLink="false">https://developer.squareup.com/blog/exploring-ruby-2-6-enumerator-hash-and-enumerable-changes</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Brandon Weaver]]></dc:creator><pubDate>Wed, 14 Nov 2018 00:49:34 GMT</pubDate><content:encoded>&lt;p&gt;As we get closer to Christmas, we’re going to see more and more features for Ruby 2.6. Some of them haven’t been discussed much, including Enumerable and Enumerator, and I’ve found those changes particularly interesting. Let’s take a look.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/EMBSFGQPhqGZrZLlumtNm/13fdbcf7ffa84a3ec4171dc327771b4a/https___cdn-images-1.medium.com_max_2000_1_Y1YL2FrgkcXCnq30qT7Apw.png&quot; alt=&quot;Christmas is coming, and with it some fun new presents in Ruby!&quot;&gt;&lt;em&gt;Christmas is coming, and with it some fun new presents in Ruby!&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/exploring-ruby-2-6-enumerator-hash-and-enumerable-changes&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Combining Behavior and E-mail Content to Improve Customer Support]]></title><description><![CDATA[How Square Uses Deep Learning to Provide Exceptional Customer Service]]></description><link>https://developer.squareup.com/blog/combining-behavior-and-e-mail-content-to-improve-customer-support</link><guid isPermaLink="false">https://developer.squareup.com/blog/combining-behavior-and-e-mail-content-to-improve-customer-support</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Stephane Fotso]]></dc:creator><pubDate>Wed, 14 Nov 2018 22:37:11 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction&quot; aria-label=&quot;introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction&lt;/h2&gt;
&lt;p&gt;One of our primary objectives at Square is to provide exceptional customer experience, especially when the customers are entrusting the company with their financing. This is even more critical for us at &lt;a href=&quot;https://squareup.com/capital&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Capital, the lending arm of Square&lt;/a&gt;, where our sellers are also borrowers. Our operations team is devoted to this goal and provides consistent, fast and tailored responses to seller inquiries regarding loan products.
​
Every year, the team receives tens of thousands of emails from se…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/combining-behavior-and-e-mail-content-to-improve-customer-support&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Remodeling Cash App Payments]]></title><description><![CDATA[Before we could partition our database we needed to prepare our data model. Here’s how we turned a simple normalized data model into one…]]></description><link>https://developer.squareup.com/blog/remodeling-cash-app-payments</link><guid isPermaLink="false">https://developer.squareup.com/blog/remodeling-cash-app-payments</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Fri, 16 Nov 2018 18:24:08 GMT</pubDate><content:encoded>&lt;p&gt;Before we could partition our database we needed to prepare our data model. Here’s how we turned a simple normalized data model into one that could be partitioned for scale.&lt;/p&gt;
&lt;h3 id=&quot;normalized-data-is-beautiful&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#normalized-data-is-beautiful&quot; aria-label=&quot;normalized data is beautiful permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Normalized Data is Beautiful&lt;/h3&gt;
&lt;p&gt;The Cash App started as a simple service for sending money. Our MySQL database tracked customers, their linked debit cards, and the payments between them.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/remodeling-cash-app-payments&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[K-Means for Building Better Product Experiences]]></title><description><![CDATA[Square for Retail was released in 2017 as Square’s first vertical-specific Point of Sale — solutions geared toward a particular subset of…]]></description><link>https://developer.squareup.com/blog/k-means-for-building-better-product-experiences</link><guid isPermaLink="false">https://developer.squareup.com/blog/k-means-for-building-better-product-experiences</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Andrew Currie]]></dc:creator><pubDate>Tue, 20 Nov 2018 23:15:27 GMT</pubDate><content:encoded>&lt;p&gt;As the team continued to iterate on and improve Square for Retail, we wanted to understand behaviors that led some sellers to convert from a free trial to a paid subscription. We also wanted to understand how they use some of Square for Retail’s key…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/k-means-for-building-better-product-experiences&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Women of Bitcoin: Volume 3]]></title><description><![CDATA[In our third and final post of our series, “Women of BTC”, we’ll hear from Tobi Kral on the Engineering team and Alaina Tyrer on Executive Admin. Both Tobi and Alaina are invaluable assets to the team and bring rich experience to their respective roles.]]></description><link>https://developer.squareup.com/blog/women-of-bitcoin-volume-3</link><guid isPermaLink="false">https://developer.squareup.com/blog/women-of-bitcoin-volume-3</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Square Engineering]]></dc:creator><pubDate>Tue, 27 Nov 2018 22:17:30 GMT</pubDate><content:encoded>&lt;p&gt;Tobi has been at Square for just over two years, after joining us from Microsoft, and is a key member of our server engineering team. She works specifically with the Cash balance and Cash Card workstreams, but pinch hits across Cash App’s various en…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/women-of-bitcoin-volume-3&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Online Payments with React + Square]]></title><description><![CDATA[Create a custom payment form using React and Square]]></description><link>https://developer.squareup.com/blog/online-payments-form-react</link><guid isPermaLink="false">https://developer.squareup.com/blog/online-payments-form-react</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Tue, 27 Nov 2018 22:41:49 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;The info found here is now out of date, as SqPaymentForm has been replaced with Web Payments SDK. &lt;strong&gt;Check out our &lt;a href=&quot;https://developer.squareup.com/blog/online-payments-form-react&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;updated blog post&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There are &lt;em&gt;a lot&lt;/em&gt; of ways to accept payments online. Wouldn’t it be nice to implement a single form that could accept as many payment methods as we want at a single time? Let’s take a look at implementing a custom payment form using &lt;a href=&quot;https://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square&lt;/a&gt; and &lt;a href=&quot;https://reactjs.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;React&lt;/a&gt;. This form will enable us to take credit cards online, &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/online-payments-form-react&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Abstracting Sharding with Vitess and Distributed Deadlocks]]></title><description><![CDATA[One of the main reasons Vitess was such a success for Cash App is that it abstracts database sharding away from the application code. This…]]></description><link>https://developer.squareup.com/blog/abstracting-sharding-with-vitess-and-distributed-deadlocks</link><guid isPermaLink="false">https://developer.squareup.com/blog/abstracting-sharding-with-vitess-and-distributed-deadlocks</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Mike Gershunovsky]]></dc:creator><pubDate>Tue, 27 Nov 2018 19:32:05 GMT</pubDate><content:encoded>&lt;p&gt;One of the main reasons Vitess was such a success for Cash App is that it abstracts database sharding away from the application code. This allowed us to shard our database without rewriting thousands of transactions in our application.&lt;/p&gt;
&lt;p&gt;When the application issues write operations on two entity groups that are on different shards, Vitess will automatically open transactions on all shards that are necessary to complete the operation.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/abstracting-sharding-with-vitess-and-distributed-deadlocks&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Reliable Webhooks Using Serverless Architecture]]></title><description><![CDATA[How we made our webhooks more reliable using SQS and Lambda]]></description><link>https://developer.squareup.com/blog/reliable-webhooks-using-serverless-architecture</link><guid isPermaLink="false">https://developer.squareup.com/blog/reliable-webhooks-using-serverless-architecture</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Victor Zhu]]></dc:creator><pubDate>Tue, 27 Nov 2018 22:30:32 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/HkpFBZrWf-Y?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;For those who are already &lt;a href=&quot;https://squareup.com/developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Developers&lt;/a&gt;, you probably already heard our announcement of webhooks being more reliable. If you haven’t: in October, we released more robust and reliable webhooks to better serve events to developer’s applications. Today, we’re sharing how we achieved that.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/reliable-webhooks-using-serverless-architecture&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Cross-Shard Queries & Lookup Tables]]></title><description><![CDATA[Sharding Cash’s database with Vitess was a massive undertaking that set us up for the future, but it was just the start of the journey…]]></description><link>https://developer.squareup.com/blog/cross-shard-queries-lookup-tables</link><guid isPermaLink="false">https://developer.squareup.com/blog/cross-shard-queries-lookup-tables</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Aaron Young]]></dc:creator><pubDate>Tue, 04 Dec 2018 18:13:08 GMT</pubDate><content:encoded>&lt;p&gt;Sharding Cash’s database with Vitess was a &lt;a href=&quot;https://developer.squareup.com/blog/sharding-cash&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;massive&lt;/a&gt; &lt;a href=&quot;https://developer.squareup.com/blog/remodeling-cash-app-payments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;undertaking&lt;/a&gt; that set us up for the future, but it was just the start of the journey. The sheer rate of growth of our traffic necessitated a focus on splitting the data to multiple machines as quickly as possible. Migrating from a traditional database to a dist…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/cross-shard-queries-lookup-tables&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square + Flutter: Beautiful, fast mobile payment apps]]></title><description><![CDATA[Take In-App and In-Person Payments with Square Flutter Plugins]]></description><link>https://developer.squareup.com/blog/square-flutter-beautiful-fast-mobile-payment-apps</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-flutter-beautiful-fast-mobile-payment-apps</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Shannon Skipper]]></dc:creator><pubDate>Tue, 04 Dec 2018 17:20:19 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://flutter.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flutter&lt;/a&gt; is Google’s new framework for building beautiful native apps on iOS and Android from a single codebase. Today, we’re excited to announce that Square and Flutter have partnered to &lt;a href=&quot;https://squareup.com/flutter&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;create plugins&lt;/a&gt; to take in-app and in-person payments from Flutter apps!&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-flutter-beautiful-fast-mobile-payment-apps&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Build a digital wallet only checkout to boost online sales.]]></title><description><![CDATA[Square Payment Form now supports express checkout experiences with digital wallets.]]></description><link>https://developer.squareup.com/blog/build-a-digital-wallet-only-checkout-to-boost-online-sales</link><guid isPermaLink="false">https://developer.squareup.com/blog/build-a-digital-wallet-only-checkout-to-boost-online-sales</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Ajay Anandan]]></dc:creator><pubDate>Wed, 05 Dec 2018 22:24:30 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/4HVzgzjG7KA?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Cyber Monday 2018, the busiest day for online shopping, hit new highs in 2018 with &lt;a href=&quot;http://exploreadobe.com/retail-shopping-insights/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;$7.9 billion in sales&lt;/a&gt;. Mobile devices (phones and tablets) accounted for more than 57% of the traffic but only for 39% of the sales. This is because conversion rates are typically lower on mobile devices compared to desktops.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/build-a-digital-wallet-only-checkout-to-boost-online-sales&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[KotlinPoet 1.0 is here!]]></title><description><![CDATA[KotlinPoet is a collection of Kotlin API that makes generating .kt files easy. It’s inspired by JavaPoet, a Java code generation library…]]></description><link>https://developer.squareup.com/blog/kotlinpoet-1-0-is-here</link><guid isPermaLink="false">https://developer.squareup.com/blog/kotlinpoet-1-0-is-here</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Egor Andreevich]]></dc:creator><pubDate>Fri, 14 Dec 2018 21:19:41 GMT</pubDate><content:encoded>&lt;p&gt;KotlinPoet is a collection of Kotlin API that makes generating &lt;code&gt;.kt&lt;/code&gt; files easy. It’s inspired by &lt;a href=&quot;https://github.com/square/javapoet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;JavaPoet&lt;/a&gt;, a Java code generation library, which powers a number of widely used frameworks, such as &lt;a href=&quot;https://github.com/google/dagger&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dagger&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;KotlinPoet has been around for over a year and is used by a number of popular libraries, such as &lt;a href=&quot;https://github.com/square/moshi&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Moshi&lt;/a&gt; and &lt;a href=&quot;https://github.com/square/sqldelight&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SQLDelight&lt;/a&gt;. It’s sweet, it’s battle-tested, it’s ready for prime-time, and today we’re announcing KotlinPoet 1.0! 🎉&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/kotlinpoet-1-0-is-here&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Scaling Christmas — An Illustrated Adventure]]></title><description><![CDATA[The lemurs are back! This time they’ve come for a special Christmas-themed adventure about how Christmas scales, using practical lessons…]]></description><link>https://developer.squareup.com/blog/scaling-christmas-an-illustrated-adventure</link><guid isPermaLink="false">https://developer.squareup.com/blog/scaling-christmas-an-illustrated-adventure</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Brandon Weaver]]></dc:creator><pubDate>Tue, 18 Dec 2018 00:42:23 GMT</pubDate><content:encoded>&lt;p&gt;The lemurs are back! This time they’ve come for a special Christmas-themed adventure about how Christmas scales, using practical lessons in holiday operations.&lt;/p&gt;
&lt;p&gt;Now let’s see what they’re up to today.&lt;/p&gt;
&lt;h2 id=&quot;meet-red&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#meet-red&quot; aria-label=&quot;meet red permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Meet Red&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;//images.ctfassets.net/1wryd5vd9xez/2TscbzWOotGO4aJVTzNzOO/6f571b08fa2f40a00e638fe25c52a756/https___cdn-images-1.medium.com_max_3072_1_VJ0bJnTTE3wbzmyDIMQihQ.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;You may have already met Red some time in the past from other talks and events. For those of you who haven’t had the pleasure, Red is a magical lemur. He’s also particularly fond of Christmas, especially presents.&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/scaling-christmas-an-illustrated-adventure&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Operating Vitess]]></title><description><![CDATA[Ripping Vitess apart and putting it back together.]]></description><link>https://developer.squareup.com/blog/operating-vitess</link><guid isPermaLink="false">https://developer.squareup.com/blog/operating-vitess</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Michael Pawliszyn]]></dc:creator><pubDate>Tue, 18 Dec 2018 19:00:32 GMT</pubDate><content:encoded>&lt;p&gt;It has been quite the challenge bringing Vitess online over our existing MySQL database, then sharding and operating it at greater scale over time. Individuals love using the Cash App, and while that is a great thing, being unprepared for peak load …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/operating-vitess&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Making the Invisible Visible: A Look at Building Tools for Square Developers]]></title><description><![CDATA[A Look at Building Tools for Square Developers]]></description><link>https://developer.squareup.com/blog/making-the-invisible-visible-a-look-at-building-tools-for-square-developers</link><guid isPermaLink="false">https://developer.squareup.com/blog/making-the-invisible-visible-a-look-at-building-tools-for-square-developers</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Lindy Zeng]]></dc:creator><pubDate>Wed, 09 Jan 2019 01:23:07 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/HkpFBZrWf-Y?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;At Square, the Developers team exposes APIs that allow third-party developers to build custom business-processing solutions. On October 18, we announced to developers using our APIs that webhooks would now support retries. If a webhook cannot be del…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/making-the-invisible-visible-a-look-at-building-tools-for-square-developers&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Announcing SQLDelight 1.0]]></title><description><![CDATA[Make writing SQL safer and easier]]></description><link>https://developer.squareup.com/blog/announcing-sqldelight-1-0</link><guid isPermaLink="false">https://developer.squareup.com/blog/announcing-sqldelight-1-0</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Alec Strong]]></dc:creator><pubDate>Tue, 08 Jan 2019 19:21:46 GMT</pubDate><content:encoded>&lt;p&gt;SQLDelight started as a project 4 years ago on the ContentValues and SQLiteOpenHelper APIs from Android with the goal of making writing SQL easy and safe. The library was an early adopter of Kotlin internally, but has been generating Java since its …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/announcing-sqldelight-1-0&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Introducing Square In-App Payments SDK]]></title><description><![CDATA[A secure, customizable in-app payment solution for iOS, Android, and Flutter.]]></description><link>https://developer.squareup.com/blog/introducing-square-in-app-payments-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/introducing-square-in-app-payments-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Ajay Anandan]]></dc:creator><pubDate>Wed, 09 Jan 2019 17:00:07 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/4fVQFBDgovs?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;It’s no surprise that mobile commerce continues to gain popularity. For example, in 2018, &lt;a href=&quot;https://www.pixelunion.net/blog/mobile-ecommerce-stats/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;mobile accounted for 66% of sales&lt;/a&gt; during Black Friday and Cyber Monday. As we’ve built out the Square developer platform over the past few years, our developer community has been asking for the ability to take payments through Square natively within their mobile app running on a bu…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/introducing-square-in-app-payments-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Understanding the Essentials: Idempotency]]></title><description><![CDATA[Idempotency is something you might not see every day, but it is an important concept, especially when you are taking payments.]]></description><link>https://developer.squareup.com/blog/understanding-the-essentials-idempotency</link><guid isPermaLink="false">https://developer.squareup.com/blog/understanding-the-essentials-idempotency</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Tristan Sokol]]></dc:creator><pubDate>Thu, 24 Jan 2019 19:08:32 GMT</pubDate><content:encoded>&lt;p&gt;As a developer, you are always wanting things to go smoothly, but in the world of REST APIs, that isn’t always the case. Client failures, networking errors, or just poorly written code can all spell trouble for an API call (and your end user experie…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/understanding-the-essentials-idempotency&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square Elected to a Third Term on the PCI SSC’s Board of Advisors]]></title><description><![CDATA[We’re excited to share that Square has been elected to a third term on the Payment Card Industry Security Standards Council’s board of…]]></description><link>https://developer.squareup.com/blog/square-elected-to-a-third-term-on-the-payment-card-industry-security-standards-councils-board-of</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-elected-to-a-third-term-on-the-payment-card-industry-security-standards-councils-board-of</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Shane Bauer]]></dc:creator><pubDate>Fri, 25 Jan 2019 20:03:44 GMT</pubDate><content:encoded>&lt;p&gt;We’re excited to share that Square has been elected to a third term on the Payment Card Industry Security Standards Council’s board of advisors.&lt;/p&gt;
&lt;p&gt;The Payment Card Industry Security Standards Council (PCI SSC) leads a global, cross-industry effort to increase payment security by providing industry-driven, flexible and effective data security standards and programs that help businesses detect, …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-elected-to-a-third-term-on-the-payment-card-industry-security-standards-councils-board-of&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[OkHttp 3.13 Requires Android 5+]]></title><description><![CDATA[Today we’re releasing OkHttp 3.13]]></description><link>https://developer.squareup.com/blog/okhttp-3-13-requires-android-5</link><guid isPermaLink="false">https://developer.squareup.com/blog/okhttp-3-13-requires-android-5</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Jesse Wilson]]></dc:creator><pubDate>Tue, 05 Feb 2019 16:50:59 GMT</pubDate><content:encoded>&lt;p&gt;Today we’re releasing OkHttp 3.13. With this update we’re bumping the project’s requirements from this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Android 2.3+ / API 9+ (released December 2010)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java 7+ (released July 2011)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;to this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Android 5.0+ / API 21+ (released November 2014)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java 8+ (released March 2014)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/okhttp-3-13-requires-android-5&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Store a Card on File using Reader SDK]]></title><description><![CDATA[New Feature in Square Reader SDK]]></description><link>https://developer.squareup.com/blog/store-a-card-on-file-using-reader-sdk</link><guid isPermaLink="false">https://developer.squareup.com/blog/store-a-card-on-file-using-reader-sdk</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Gabriel Jinich]]></dc:creator><pubDate>Wed, 13 Feb 2019 19:00:13 GMT</pubDate><content:encoded>&lt;p&gt;Last year, we announced the release of &lt;a href=&quot;https://medium.com/p/introducing-square-reader-sdk-939a9ec2d197&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Square Reader SDK&lt;/a&gt; for iOS and Android, along with plugins for &lt;a href=&quot;https://medium.com/p/square-reader-sdk-for-react-native-a1b6fc19c5c2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;React Native&lt;/a&gt; and &lt;a href=&quot;https://medium.com/p/square-flutter-beautiful-fast-mobile-payment-apps-539995d2e23a&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flutter&lt;/a&gt;. While Reader SDK makes it easy to take in-person payments within your own app using Square hardware, you may also want to store customer card information securely to use in the future (for example, to create a recurring billing plan).&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/store-a-card-on-file-using-reader-sdk&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Orders Push Beta]]></title><description><![CDATA[Create Pickup Orders that are surfaced and managed in Square Point of Sale]]></description><link>https://developer.squareup.com/blog/orders-push-public-beta</link><guid isPermaLink="false">https://developer.squareup.com/blog/orders-push-public-beta</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Chris Wiggins]]></dc:creator><pubDate>Wed, 13 Feb 2019 22:08:55 GMT</pubDate><content:encoded>&lt;p&gt;Buyers are everywhere. And I really do mean everywhere. They’re purchasing on websites, web apps, native mobile apps, and even in messaging apps. There has been an explosion of places where buyers are making these purchases, and we’re here to connec…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/orders-push-public-beta&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Engineering Management Philosophies and Why They Matter Even if You Are Not a Manager]]></title><description><![CDATA[Let’s define what the role of an Engineering Manager is and how management philosophies guide an individual to fill that role.]]></description><link>https://developer.squareup.com/blog/engineering-management-philosophies-and-why-they-matter-even-if-you-are-not-a-manager</link><guid isPermaLink="false">https://developer.squareup.com/blog/engineering-management-philosophies-and-why-they-matter-even-if-you-are-not-a-manager</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Annie Zhou]]></dc:creator><pubDate>Tue, 12 Mar 2019 21:23:57 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Annie is a software engineering manager leading a platform team within Square’s platform &amp;#x26; infrastructure engineering organization. Prior to Square, she worked at a number of startups across a spectrum of industries from consumer products to enterpr…&lt;/em&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/engineering-management-philosophies-and-why-they-matter-even-if-you-are-not-a-manager&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[What you need to know about Strong Customer Authentication (SCA)]]></title><description><![CDATA[Strong Customer Authentication (SCA) is a new European requirement]]></description><link>https://developer.squareup.com/blog/what-you-need-to-know-about-strong-customer-authentication-sca</link><guid isPermaLink="false">https://developer.squareup.com/blog/what-you-need-to-know-about-strong-customer-authentication-sca</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Thu, 14 Mar 2019 12:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Last updated on December 23, 2020&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;what-is-sca&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#what-is-sca&quot; aria-label=&quot;what is sca permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;What is SCA?&lt;/h2&gt;
&lt;p&gt;Strong Customer Authentication (SCA) is a new European requirement to make online and in-person payments more secure in the &lt;a href=&quot;https://www.gov.uk/eu-eea&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;European Economic Area&lt;/a&gt; (EEA).&lt;/p&gt;
&lt;p&gt;Currently, when paying online, customers need to enter their card number, expiry, CVV, and postal code to make a payment. When SCA enforcement begins, customers will be required to complete two of the three factors of authentication when initiating …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/what-you-need-to-know-about-strong-customer-authentication-sca&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Square In-App Payments SDK for React Native]]></title><description><![CDATA[A React Native Plugin for the Square In-App Payments SDK]]></description><link>https://developer.squareup.com/blog/square-in-app-payments-sdk-for-react-native</link><guid isPermaLink="false">https://developer.squareup.com/blog/square-in-app-payments-sdk-for-react-native</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Richard Moot]]></dc:creator><pubDate>Fri, 15 Mar 2019 16:36:30 GMT</pubDate><content:encoded>&lt;p&gt;&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.49999999999999%; position: relative; height: 0; overflow: hidden; &quot; &gt; &lt;div class=&quot;embedVideo-container&quot;&gt; &lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/PoVuik5jqxI?rel=0&quot; class=&quot;embedVideo-iframe&quot; style=&quot;border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot; loading=&quot;eager&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; &lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Since the release of our In-App Payments SDK, we’ve been getting a lot of requests for when this would be available for React Native. It is officially here! You can simply &lt;code&gt;npm install — save react-native-square-in-app-payments&lt;/code&gt; inside your React Native project and follow the setup guide over &lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/square-in-app-payments-sdk-for-react-native&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Streamline Checkout with Shipping Options in Apple Pay]]></title><description><![CDATA[Use Apple Pay to Handle Selecting Shipping Options]]></description><link>https://developer.squareup.com/blog/streamline-checkout-with-shipping-options-in-apple-pay</link><guid isPermaLink="false">https://developer.squareup.com/blog/streamline-checkout-with-shipping-options-in-apple-pay</guid><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Ajay Anandan]]></dc:creator><pubDate>Thu, 28 Mar 2019 18:12:50 GMT</pubDate><content:encoded>&lt;p&gt;A little over a year ago, we added support for Apple Pay on the Web in our Online Payments APIs to help developers easily integrate Apple Pay into their websites. However, we know eCommerce checkouts don’t stop with payments — you also need to colle…&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/streamline-checkout-with-shipping-options-in-apple-pay&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[Mobile Web Performance @ Caviar]]></title><description><![CDATA[Across any e-commerce website, page load times are directly correlated with conversion rate. Faced with a page that takes longer than 3…]]></description><link>https://developer.squareup.com/blog/mobile-web-performance-caviar</link><guid isPermaLink="false">https://developer.squareup.com/blog/mobile-web-performance-caviar</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Evelyn Chan]]></dc:creator><pubDate>Thu, 28 Mar 2019 22:46:48 GMT</pubDate><content:encoded>&lt;p&gt;Across any e-commerce website, page load times are directly correlated with conversion rate. Faced with a page that takes longer than 3 seconds to load, &lt;a href=&quot;https://www.thinkwithgoogle.com/marketing-resources/data-measurement/mobile-page-speed-new-industry-benchmarks/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;53% of users drop off&lt;/a&gt;, perhaps never to return. &lt;a href=&quot;http://loadstorm.com/2014/04/infographic-web-performance-impacts-conversion-rates/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;A 1 second delay in load time results in a 7% loss in conversions, 11% fewer page views, and 16% decrease in customer satisfaction.&lt;/a&gt;&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/mobile-web-performance-caviar&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item><item><title><![CDATA[The Road to an Envoy Service Mesh]]></title><description><![CDATA[How Square migrated to an Envoy based service mesh]]></description><link>https://developer.squareup.com/blog/the-road-to-an-envoy-service-mesh</link><guid isPermaLink="false">https://developer.squareup.com/blog/the-road-to-an-envoy-service-mesh</guid><category><![CDATA[Engineering]]></category><dc:creator><![CDATA[Snow Pettersen]]></dc:creator><pubDate>Fri, 29 Mar 2019 15:36:51 GMT</pubDate><content:encoded>&lt;p&gt;At Square we’ve been running a microservices architecture for years, primarily using three different languages: Java, Ruby and Go. Running such a diverse stack can make interoperability between the different languages/frameworks challenging, and in …&lt;/p&gt;
                  &lt;div style=&quot;margin-top=55px; font-style: italic;&quot;&gt;(This is an article posted at https://developer.squareup.com/blog/. You can read it online by &lt;a href=&quot;https://developer.squareup.com/blog/the-road-to-an-envoy-service-mesh&quot;&gt;clicking here&lt;/a&gt;.)&lt;/div&gt;
                </content:encoded></item></channel></rss>