<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://goshacmd.com</id>
    <title>Gosha Spark</title>
    <updated>2025-09-08T23:00:42.976Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>Gosha Spark</name>
        <email>me@goshacmd.com</email>
    </author>
    <link rel="alternate" href="https://goshacmd.com"/>
    <logo>https://goshacmd.com/apple-touch-icon.png</logo>
    <icon>https://goshacmd.com/favicon.ico</icon>
    <rights>All rights reserved 2025, Gosha Spark</rights>
    <entry>
        <title type="html"><![CDATA[Objective-C: Rubyist's insight]]></title>
        <id>https://goshacmd.com/objective-c-rubyists-insight/</id>
        <link href="https://goshacmd.com/objective-c-rubyists-insight/"/>
        <updated>2011-08-19T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Freelancing]]></title>
        <id>https://goshacmd.com/freelancing/</id>
        <link href="https://goshacmd.com/freelancing/"/>
        <updated>2012-03-24T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[My toolbox]]></title>
        <id>https://goshacmd.com/my-toolbox/</id>
        <link href="https://goshacmd.com/my-toolbox/"/>
        <updated>2012-08-06T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[On being a polyglot]]></title>
        <id>https://goshacmd.com/on-being-a-polyglot/</id>
        <link href="https://goshacmd.com/on-being-a-polyglot/"/>
        <updated>2012-08-21T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tracking events in analytics systems]]></title>
        <id>https://goshacmd.com/tracking-events-in-analytics-systems/</id>
        <link href="https://goshacmd.com/tracking-events-in-analytics-systems/"/>
        <updated>2013-01-23T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Analytics: Analyzing tracked events]]></title>
        <id>https://goshacmd.com/analytics-analyzing-tracked-events/</id>
        <link href="https://goshacmd.com/analytics-analyzing-tracked-events/"/>
        <updated>2013-02-07T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introducing Sleek]]></title>
        <id>https://goshacmd.com/introducing-sleek/</id>
        <link href="https://goshacmd.com/introducing-sleek/"/>
        <updated>2013-05-10T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[State Ageism and Cryptocurrencies]]></title>
        <id>https://goshacmd.com/state-ageism-and-cryptocurrencies/</id>
        <link href="https://goshacmd.com/state-ageism-and-cryptocurrencies/"/>
        <updated>2014-08-18T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to use bundler if the target node has no internet connection?]]></title>
        <id>https://goshacmd.com/bundler-offline/</id>
        <link href="https://goshacmd.com/bundler-offline/"/>
        <updated>2016-02-11T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to accomplish OR operator with Rails 4 (and lower) query?]]></title>
        <id>https://goshacmd.com/rails-activerecord-query-or/</id>
        <link href="https://goshacmd.com/rails-activerecord-query-or/"/>
        <updated>2016-02-15T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[5 signs you are ready for that Junior Rails Developer position]]></title>
        <id>https://goshacmd.com/am-i-ready-for-that-junior-rails-developer-position/</id>
        <link href="https://goshacmd.com/am-i-ready-for-that-junior-rails-developer-position/"/>
        <updated>2016-02-28T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Are you a Rails developer and afraid of SQL? Don't be!]]></title>
        <id>https://goshacmd.com/rails-developers-dont-be-afraid-of-sql/</id>
        <link href="https://goshacmd.com/rails-developers-dont-be-afraid-of-sql/"/>
        <updated>2016-03-06T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to squash work-in-progress migrations]]></title>
        <id>https://goshacmd.com/squash-clutter-migrations/</id>
        <link href="https://goshacmd.com/squash-clutter-migrations/"/>
        <updated>2016-03-13T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Just finished the Hartl tutorial and wondering what's next?]]></title>
        <id>https://goshacmd.com/finished-hartl-tutorial-whats-next/</id>
        <link href="https://goshacmd.com/finished-hartl-tutorial-whats-next/"/>
        <updated>2016-03-20T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Should you use MongoDB as a drop-in SQL replacement?]]></title>
        <id>https://goshacmd.com/should-you-use-mongodb-as-a-drop-in-replacement-for-sql/</id>
        <link href="https://goshacmd.com/should-you-use-mongodb-as-a-drop-in-replacement-for-sql/"/>
        <updated>2016-03-27T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Can hybrid apps cut your mobile development costs?]]></title>
        <id>https://goshacmd.com/cut-mobile-costs/</id>
        <link href="https://goshacmd.com/cut-mobile-costs/"/>
        <updated>2016-06-17T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Learn enough CSS to mark up a PSD]]></title>
        <id>https://goshacmd.com/enough-css-to-psd/</id>
        <link href="https://goshacmd.com/enough-css-to-psd/"/>
        <updated>2016-06-22T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[3 Rails hosting options]]></title>
        <id>https://goshacmd.com/rails-hosting-options/</id>
        <link href="https://goshacmd.com/rails-hosting-options/"/>
        <updated>2016-06-28T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Getting started with multi-tenancy on Rails]]></title>
        <id>https://goshacmd.com/multitenancy/</id>
        <link href="https://goshacmd.com/multitenancy/"/>
        <updated>2016-07-04T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Making custom renderers for React]]></title>
        <id>https://goshacmd.com/react-custom-renderers/</id>
        <link href="https://goshacmd.com/react-custom-renderers/"/>
        <updated>2016-07-10T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Do I need to learn Webpack when starting with React?]]></title>
        <id>https://goshacmd.com/you-dont-need-learn-webpack-first-with-react/</id>
        <link href="https://goshacmd.com/you-dont-need-learn-webpack-first-with-react/"/>
        <updated>2016-07-16T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Redux vs MobX vs Flux vs... Do you even need that?]]></title>
        <id>https://goshacmd.com/redux-vs-mobx-vs-flux-etoomanychoices/</id>
        <link href="https://goshacmd.com/redux-vs-mobx-vs-flux-etoomanychoices/"/>
        <updated>2016-07-25T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Is your developer ripping you off?]]></title>
        <id>https://goshacmd.com/is-your-developer-ripping-you-off/</id>
        <link href="https://goshacmd.com/is-your-developer-ripping-you-off/"/>
        <updated>2016-08-01T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Where do I get ideas for my learning projects?]]></title>
        <id>https://goshacmd.com/learning-project-ideas/</id>
        <link href="https://goshacmd.com/learning-project-ideas/"/>
        <updated>2016-08-08T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[One way NOT to abuse Redux]]></title>
        <id>https://goshacmd.com/one-way-not-to-abuse-redux/</id>
        <link href="https://goshacmd.com/one-way-not-to-abuse-redux/"/>
        <updated>2016-08-16T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Redux anti-pattern: dumb mapStateToProps]]></title>
        <id>https://goshacmd.com/redux-antipattern-mapstatetoprops/</id>
        <link href="https://goshacmd.com/redux-antipattern-mapstatetoprops/"/>
        <updated>2016-09-22T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Why doesn't Redux support AJAX out of the box?]]></title>
        <id>https://goshacmd.com/redux-no-ajax-by-default/</id>
        <link href="https://goshacmd.com/redux-no-ajax-by-default/"/>
        <updated>2016-09-28T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Using iOS Image Picker with React Native]]></title>
        <id>https://goshacmd.com/react-native-camera-roll-image-picker/</id>
        <link href="https://goshacmd.com/react-native-camera-roll-image-picker/"/>
        <updated>2016-10-14T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[3 cases where JavaScript generators rock (+ understanding them)]]></title>
        <id>https://goshacmd.com/javascript-generators-understanding-sample-use-cases/</id>
        <link href="https://goshacmd.com/javascript-generators-understanding-sample-use-cases/"/>
        <updated>2016-10-20T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Lazy registration with Redux and Sagas]]></title>
        <id>https://goshacmd.com/lazy-auth-redux-saga-flow/</id>
        <link href="https://goshacmd.com/lazy-auth-redux-saga-flow/"/>
        <updated>2016-10-30T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Controlled and uncontrolled form inputs in React don't have to be complicated]]></title>
        <id>https://goshacmd.com/controlled-vs-uncontrolled-inputs-react/</id>
        <link href="https://goshacmd.com/controlled-vs-uncontrolled-inputs-react/"/>
        <updated>2016-11-07T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Should you store your form state in Redux?]]></title>
        <id>https://goshacmd.com/should-i-put-form-state-into-redux/</id>
        <link href="https://goshacmd.com/should-i-put-form-state-into-redux/"/>
        <updated>2016-11-21T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Form recipe: Conditionally disabling the Submit button]]></title>
        <id>https://goshacmd.com/form-recipe-disable-submit-button-react/</id>
        <link href="https://goshacmd.com/form-recipe-disable-submit-button-react/"/>
        <updated>2016-11-28T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Different mobile and desktop layouts with React]]></title>
        <id>https://goshacmd.com/different-mobile-desktop-tablet-layouts-react/</id>
        <link href="https://goshacmd.com/different-mobile-desktop-tablet-layouts-react/"/>
        <updated>2016-12-20T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Collecting data from a wizard form]]></title>
        <id>https://goshacmd.com/wizard-form-collect-info/</id>
        <link href="https://goshacmd.com/wizard-form-collect-info/"/>
        <updated>2016-12-27T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Instant form field validation with React's controlled inputs]]></title>
        <id>https://goshacmd.com/instant-form-fields-validation-react/</id>
        <link href="https://goshacmd.com/instant-form-fields-validation-react/"/>
        <updated>2017-01-03T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[You don't need a tutorial for every-freaking-thing]]></title>
        <id>https://goshacmd.com/no-tutorial-for-everything/</id>
        <link href="https://goshacmd.com/no-tutorial-for-everything/"/>
        <updated>2017-01-14T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Making dynamic form inputs with React]]></title>
        <id>https://goshacmd.com/array-form-inputs/</id>
        <link href="https://goshacmd.com/array-form-inputs/"/>
        <updated>2017-01-18T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[3 common approaches to side-effects in Redux apps]]></title>
        <id>https://goshacmd.com/redux-side-effect-approaches/</id>
        <link href="https://goshacmd.com/redux-side-effect-approaches/"/>
        <updated>2017-02-21T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[The building blocks of React Native animations]]></title>
        <id>https://goshacmd.com/react-native-animated-building-blocks/</id>
        <link href="https://goshacmd.com/react-native-animated-building-blocks/"/>
        <updated>2017-03-08T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How do you make a React form start out with some values prefilled when editing?]]></title>
        <id>https://goshacmd.com/react-forms-for-editing/</id>
        <link href="https://goshacmd.com/react-forms-for-editing/"/>
        <updated>2017-03-21T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Animating appearance & disappearance in React Native]]></title>
        <id>https://goshacmd.com/react-native-animated-appearance-disappearance/</id>
        <link href="https://goshacmd.com/react-native-animated-appearance-disappearance/"/>
        <updated>2017-04-24T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How do you go from React to React Native?]]></title>
        <id>https://goshacmd.com/how-do-you-go-from-react-to-react-native/</id>
        <link href="https://goshacmd.com/how-do-you-go-from-react-to-react-native/"/>
        <updated>2017-05-02T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Where does authentication fit in a React Native app?]]></title>
        <id>https://goshacmd.com/auth-in-react-native-apps/</id>
        <link href="https://goshacmd.com/auth-in-react-native-apps/"/>
        <updated>2017-05-17T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to integrate React with a Rails/PHP/X backend?]]></title>
        <id>https://goshacmd.com/integrating-react-with-rails-php-backends/</id>
        <link href="https://goshacmd.com/integrating-react-with-rails-php-backends/"/>
        <updated>2017-05-23T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[What do you get out of Expo?]]></title>
        <id>https://goshacmd.com/is-expo-worth-it/</id>
        <link href="https://goshacmd.com/is-expo-worth-it/"/>
        <updated>2017-06-01T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Why not field-level validations?]]></title>
        <id>https://goshacmd.com/y-no-field-level-validations/</id>
        <link href="https://goshacmd.com/y-no-field-level-validations/"/>
        <updated>2017-07-04T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to show an iOS network activity indicator when a request is in progress?]]></title>
        <id>https://goshacmd.com/react-native-activity-indicator-fetch/</id>
        <link href="https://goshacmd.com/react-native-activity-indicator-fetch/"/>
        <updated>2017-07-12T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Analytics on easy mode with Redux-Saga]]></title>
        <id>https://goshacmd.com/analytics-easy-redux-saga/</id>
        <link href="https://goshacmd.com/analytics-easy-redux-saga/"/>
        <updated>2017-07-18T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Transitioning from uncontrolled inputs to controlled]]></title>
        <id>https://goshacmd.com/turn-uncontrolled-into-controlled/</id>
        <link href="https://goshacmd.com/turn-uncontrolled-into-controlled/"/>
        <updated>2017-07-25T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Is JSX still relevant? Are there other options?]]></title>
        <id>https://goshacmd.com/jsx-relevancy-options/</id>
        <link href="https://goshacmd.com/jsx-relevancy-options/"/>
        <updated>2017-08-09T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[The making of a floating-label input with React Native's Animated API]]></title>
        <id>https://goshacmd.com/floating-label-input-rn-animated/</id>
        <link href="https://goshacmd.com/floating-label-input-rn-animated/"/>
        <updated>2017-08-15T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[So you completed the official React tutorial. What's next?]]></title>
        <id>https://goshacmd.com/next-steps-official-react-tutorial/</id>
        <link href="https://goshacmd.com/next-steps-official-react-tutorial/"/>
        <updated>2017-08-29T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Validating a React form upon submit]]></title>
        <id>https://goshacmd.com/submit-time-validation-react/</id>
        <link href="https://goshacmd.com/submit-time-validation-react/"/>
        <updated>2017-09-05T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to handle validations involving several fields?]]></title>
        <id>https://goshacmd.com/validations-several-fields/</id>
        <link href="https://goshacmd.com/validations-several-fields/"/>
        <updated>2017-09-13T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Here's what you can do to make migrating your forms to Redux easier in the future]]></title>
        <id>https://goshacmd.com/prep-forms-for-redux/</id>
        <link href="https://goshacmd.com/prep-forms-for-redux/"/>
        <updated>2017-10-01T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Detecting state changes with Redux-Saga]]></title>
        <id>https://goshacmd.com/detect-state-change-redux-saga/</id>
        <link href="https://goshacmd.com/detect-state-change-redux-saga/"/>
        <updated>2017-10-11T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[5 practical tips to finally learn React in 2018]]></title>
        <id>https://goshacmd.com/tips-finally-learn-react/</id>
        <link href="https://goshacmd.com/tips-finally-learn-react/"/>
        <updated>2018-01-10T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[4 places to draw inspiration from for practicing React Native]]></title>
        <id>https://goshacmd.com/get-inspired-for-react-native-ui/</id>
        <link href="https://goshacmd.com/get-inspired-for-react-native-ui/"/>
        <updated>2018-01-16T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Reasons I use a mock API in React Native apps]]></title>
        <id>https://goshacmd.com/why-i-mock-api-in-mobile-apps/</id>
        <link href="https://goshacmd.com/why-i-mock-api-in-mobile-apps/"/>
        <updated>2018-02-05T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Simplest, no-dependency router is... state]]></title>
        <id>https://goshacmd.com/min-viable-router-is-state/</id>
        <link href="https://goshacmd.com/min-viable-router-is-state/"/>
        <updated>2018-04-09T00:00:00.000Z</updated>
    </entry>
    <entry>
        <title type="html"><![CDATA[Typesafe handling of remote APIs with Flow]]></title>
        <id>https://goshacmd.com/flow-type-safe-remote-api/</id>
        <link href="https://goshacmd.com/flow-type-safe-remote-api/"/>
        <updated>2018-07-08T00:00:00.000Z</updated>
    </entry>
</feed>