<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title>Michael Harry Scepaniak - Software Development Posts</title>
    <subtitle>Michael Harry Scepaniak&#39;s blog</subtitle>
    <link href="https://michaelscepaniak.com/category/software-dev/feed.xml" rel="self" type="application/atom+xml" hreflang="en" />
    <link href="https://michaelscepaniak.com/category/software-dev/" rel="alternate" type="text/html" hreflang="en" /><updated>2022-01-10T18:48:50Z</updated>
    <id>https://michaelscepaniak.com/category/software-dev/</id>
    <author>
        <name>Michael Scepaniak</name>
        <email>remove-every-f-from-the-following--mfikfe@mfilefstofneinfc.cofm</email>
    </author>
    
    	<category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" />
    
    <icon>https://michaelscepaniak.com/favicon.ico</icon>
    <rights>© 2010–2025 Milestone Systems Consulting</rights>

    
    
    
            
            <entry>
                <title>Giving to Freely Given Software - The How</title>
                <link href="https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-how/" rel="alternate" type="text/html" hreflang="en" />
                <published>2022-01-10T18:48:50Z</published>
                	<updated>2022-01-23T15:53:40Z</updated>
                
                <id>https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-how/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2022/lead-images/sunlight-streaming-trees-doanes-falls-autumn-royalston-900x675-300x225.webp 1x, https://michaelscepaniak.com/assets/media-library/2022/lead-images/sunlight-streaming-trees-doanes-falls-autumn-royalston-900x675-600x450.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2022/lead-images/sunlight-streaming-trees-doanes-falls-autumn-royalston-900x675-300x225.jpg 1x, https://michaelscepaniak.com/assets/media-library/2022/lead-images/sunlight-streaming-trees-doanes-falls-autumn-royalston-900x675-600x450.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2022/lead-images/sunlight-streaming-trees-doanes-falls-autumn-royalston-900x675-300x225.jpg&quot; alt=&quot;Sunlight streaming through trees along Doane&amp;#39;s Falls in Autumn - Royalston, Massachusetts, USA | by Michael Scepaniak&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;As you may or may not be aware, a relatively recent development in my life has been the decision to start paying (in earnest) for the open-source software that I use. I&#39;ve already explained &lt;a href=&quot;https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-why/&quot;&gt;my thoughts on why to sponsor open-source&lt;/a&gt;. I&#39;m now going to explain, in detail, &lt;strong&gt;how&lt;/strong&gt; I go about doing the actual sponsoring. (I&#39;m using the present tense here, as I intend for my sponsorship efforts to be an ongoing endeavor.)&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-how/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;&lt;img src=&quot;https://michaelscepaniak.com/cdn/log-blog.png?u=%2Fcategory%2Fsoftware-dev%2Ffeed%2F&amp;amp;s=200&quot;&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>Giving to Freely Given Software - The Why</title>
                <link href="https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-why/" rel="alternate" type="text/html" hreflang="en" />
                <published>2022-01-05T00:25:10Z</published>
                	<updated>2022-01-10T18:49:10Z</updated>
                
                <id>https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-why/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2022/lead-images/centennial-lake-beneath-fluffy-white-clouds-900x699-300x233.webp 1x, https://michaelscepaniak.com/assets/media-library/2022/lead-images/centennial-lake-beneath-fluffy-white-clouds-900x699-600x466.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2022/lead-images/centennial-lake-beneath-fluffy-white-clouds-900x699-300x233.jpg 1x, https://michaelscepaniak.com/assets/media-library/2022/lead-images/centennial-lake-beneath-fluffy-white-clouds-900x699-600x466.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2022/lead-images/centennial-lake-beneath-fluffy-white-clouds-900x699-300x233.jpg&quot; alt=&quot;Centennial Lake beneath fluffy white clouds in Summer - Ellicott City, Maryland, USA | by Deborah Silverman&quot; width=&quot;300&quot; height=&quot;233&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;Very fortunate. I feel &lt;strong&gt;very&lt;/strong&gt; fortunate to have started into software development when I did (around 1996/97), because it was then that two things were happening:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The World Wide Web was coming into its own and going mainstream.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Open_source&quot;&gt;open-source&lt;/a&gt; software movement was about to get started.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At that point in my life (and career), I didn&#39;t have the experience or perspective necessary to understand or appreciate the massive importance of both of those developments - not just for my future self, but for the world at-large. Twenty-plus years and a career later, I can now see clearly what was fuzzy to me then.&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2020s/giving-to-freely-given-software-the-why/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>Vimeo Disabled My Account for Submitting HTML</title>
                <link href="https://michaelscepaniak.com/2010s/vimeo-disabled-my-account-for-submitting-html/" rel="alternate" type="text/html" hreflang="en" />
                <published>2019-07-23T22:28:51Z</published>
                	<updated>2019-07-23T22:28:51Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/vimeo-disabled-my-account-for-submitting-html/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2019/lead-images/close-up-mushrooms-on-bark-of-tree-900x1200-225x300.webp 1x, https://michaelscepaniak.com/assets/media-library/2019/lead-images/close-up-mushrooms-on-bark-of-tree-900x1200-450x600.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2019/lead-images/close-up-mushrooms-on-bark-of-tree-900x1200-225x300.jpg 1x, https://michaelscepaniak.com/assets/media-library/2019/lead-images/close-up-mushrooms-on-bark-of-tree-900x1200-450x600.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2019/lead-images/close-up-mushrooms-on-bark-of-tree-900x1200-225x300.jpg&quot; alt=&quot;Close-up view of mushrooms growing on the bark of a tree in a wooded area in Summer - Cockeysville, Maryland, USA | by Michael Scepaniak&quot; width=&quot;225&quot; height=&quot;300&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;Just yesterday, I created a &lt;a href=&quot;https://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt; account and uploaded my first two videos. This effort was in support of my most recent blog post, &lt;a href=&quot;https://michaelscepaniak.com/2010s/early-retirement-expert&quot;&gt;Early Retirement Expert&lt;/a&gt;. Today, a day later, I thought I’d go in and include links to that blog post in the description for each video. I wanted to provide context for each video, just in case someone came across them directly and not via my write-up. It didn&#39;t go well.&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/vimeo-disabled-my-account-for-submitting-html/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>Fixed-Length Level Logging in Winston</title>
                <link href="https://michaelscepaniak.com/2010s/fixed-length-level-logging-in-winston/" rel="alternate" type="text/html" hreflang="en" />
                <published>2015-11-29T20:29:06Z</published>
                	<updated>2015-11-29T20:29:06Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/fixed-length-level-logging-in-winston/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-moss-boulders-autumn-acadia-national-park-maine-900x675-300x225.webp 1x, https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-moss-boulders-autumn-acadia-national-park-maine-900x675-600x450.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-moss-boulders-autumn-acadia-national-park-maine-900x675-300x225.jpg 1x, https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-moss-boulders-autumn-acadia-national-park-maine-900x675-600x450.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-moss-boulders-autumn-acadia-national-park-maine-900x675-300x225.jpg&quot; alt=&quot;Wooded section of Beech Cliffs Trail through moss-covered boulders in early Autumn - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;Do you do &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;Node.js&lt;/a&gt; development? Do you use &lt;a href=&quot;https://github.com/winstonjs/winston&quot;&gt;winston&lt;/a&gt; for logging in your Node application? Are you a stickler for having &lt;strong&gt;consistently-aligned content in your log entries&lt;/strong&gt;? Have you struggled to prevent the log level portion of your log entries from &lt;strong&gt;shifting the positioning&lt;/strong&gt; of your log entry formatting? If so, you might find this helpful.&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/fixed-length-level-logging-in-winston/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>How to Read HttpClient Logging and Prevent Connection Leaks</title>
                <link href="https://michaelscepaniak.com/2010s/how-to-read-httpclient-logging-and-prevent-connection-leaks/" rel="alternate" type="text/html" hreflang="en" />
                <published>2015-11-25T21:12:09Z</published>
                	<updated>2015-11-25T21:12:09Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/how-to-read-httpclient-logging-and-prevent-connection-leaks/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-cliff-base-sunny-autumn-acadia-national-park-maine-900x1200-225x300.webp 1x, https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-cliff-base-sunny-autumn-acadia-national-park-maine-900x1200-450x600.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-cliff-base-sunny-autumn-acadia-national-park-maine-900x1200-225x300.jpg 1x, https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-cliff-base-sunny-autumn-acadia-national-park-maine-900x1200-450x600.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2015/lead-images/wooded-beech-cliffs-trail-cliff-base-sunny-autumn-acadia-national-park-maine-900x1200-225x300.jpg&quot; alt=&quot;Wooded section of Beech Cliffs Trail along cliff base on sunny day in early Autumn - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;225&quot; height=&quot;300&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;blockquote&gt;
&lt;p&gt;&amp;quot;Where there is great power, there is great responsibility&amp;quot;&lt;br /&gt;
~ Winston Churchill&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you have a Java-based application that makes HTTP requests, there&#39;s a good chance you are using &lt;a href=&quot;https://hc.apache.org/&quot;&gt;Apache HttpClient&lt;/a&gt; to make these requests. If the application in question needs to make these requests at &lt;strong&gt;scale&lt;/strong&gt; or with any sort of &lt;strong&gt;concurrency&lt;/strong&gt;, there&#39;s a good chance that you are using HttpClient with the &lt;a href=&quot;https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html&quot;&gt;PoolingHttpClientConnectionManager&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you aren&#39;t familiar with the PoolingHttpClientConnectionManager, in short, it makes requests via a &lt;a href=&quot;https://wiki.apache.org/HttpComponents/HttpClientConfiguration#Connection_management_and_configuration&quot;&gt;pool of &lt;strong&gt;re-usable&lt;/strong&gt; persistent connections&lt;/a&gt;. Re-using connections (to the same destination) is (I assume) more &lt;strong&gt;efficient&lt;/strong&gt; and more &lt;strong&gt;performant&lt;/strong&gt; than repeatedly tearing them down and re-establishing them. If you would like to read more about how to make use of this class, &lt;a href=&quot;http://www.baeldung.com/httpclient-connection-management&quot;&gt;Eugen Paraschiv&#39;s article about HttpClient Connection Management&lt;/a&gt; is a good read.&lt;/p&gt;
&lt;h3 id=&quot;dangers-outside-the-cocoon&quot;&gt;Dangers Outside the Cocoon &lt;/h3&gt;
&lt;p&gt;While the PoolingHttpClientConnectionManager is very cool, working with it properly (in a way that won&#39;t leak connections) can be &lt;strong&gt;challenging&lt;/strong&gt;. &lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/how-to-read-httpclient-logging-and-prevent-connection-leaks/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;&lt;/p&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>How To Use CasperJS with Mocked Data to Test Your Site&#39;s UI</title>
                <link href="https://michaelscepaniak.com/2010s/how-to-use-casperjs-with-mocked-data-to-test-your-sites-ui/" rel="alternate" type="text/html" hreflang="en" />
                <published>2014-09-05T17:48:38Z</published>
                	<updated>2014-09-05T17:48:38Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/how-to-use-casperjs-with-mocked-data-to-test-your-sites-ui/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2014/lead-images/shady-wooded-beech-cliffs-trail-evergreens-sunny-autumn-acadia-national-park-maine-900x675-300x225.webp 1x, https://michaelscepaniak.com/assets/media-library/2014/lead-images/shady-wooded-beech-cliffs-trail-evergreens-sunny-autumn-acadia-national-park-maine-900x675-600x450.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2014/lead-images/shady-wooded-beech-cliffs-trail-evergreens-sunny-autumn-acadia-national-park-maine-900x675-300x225.jpg 1x, https://michaelscepaniak.com/assets/media-library/2014/lead-images/shady-wooded-beech-cliffs-trail-evergreens-sunny-autumn-acadia-national-park-maine-900x675-600x450.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2014/lead-images/shady-wooded-beech-cliffs-trail-evergreens-sunny-autumn-acadia-national-park-maine-900x675-300x225.jpg&quot; alt=&quot;Shady, wooded section of Beech Cliffs Trail through evergreens on sunny day in early Autumn - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;Did you know that you can use &lt;a href=&quot;http://casperjs.org/&quot;&gt;CasperJS&lt;/a&gt; to script, in an automated fashion, usage of your site - including clicking links and filling and submitting forms? Did you also know that, if you&#39;ve got a site where most/all of the data is being delivered straight to the browser via &lt;a href=&quot;https://en.wikipedia.org/wiki/Ajax_%28programming%29&quot;&gt;Ajax&lt;/a&gt;-ified payloads, you can mock all of that volatile data to &lt;strong&gt;produce robust tests&lt;/strong&gt;? Do you know, given that Ajax-ified site, exactly how to do data-mocking with CasperJS? If you said &amp;quot;no&amp;quot; to any of these questions, &lt;strong&gt;this article is for you&lt;/strong&gt;.&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/how-to-use-casperjs-with-mocked-data-to-test-your-sites-ui/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>Are You Still Not Testing Your Site&#39;s UI Because of Your Database?</title>
                <link href="https://michaelscepaniak.com/2010s/are-you-still-not-testing-your-sites-ui-because-of-your-database/" rel="alternate" type="text/html" hreflang="en" />
                <published>2014-09-04T21:02:45Z</published>
                	<updated>2014-09-04T21:02:45Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/are-you-still-not-testing-your-sites-ui-because-of-your-database/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2014/lead-images/evergreens-needle-covered-giant-slide-trail-sunny-autumn-acadia-national-park-maine-900x675-300x225.webp 1x, https://michaelscepaniak.com/assets/media-library/2014/lead-images/evergreens-needle-covered-giant-slide-trail-sunny-autumn-acadia-national-park-maine-900x675-600x450.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2014/lead-images/evergreens-needle-covered-giant-slide-trail-sunny-autumn-acadia-national-park-maine-900x675-300x225.jpg 1x, https://michaelscepaniak.com/assets/media-library/2014/lead-images/evergreens-needle-covered-giant-slide-trail-sunny-autumn-acadia-national-park-maine-900x675-600x450.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2014/lead-images/evergreens-needle-covered-giant-slide-trail-sunny-autumn-acadia-national-park-maine-900x675-300x225.jpg&quot; alt=&quot;Evergreens along needle-covered Giant Slide Trail on sunny day in early Autumn - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;Just like peanut butter plus jelly is a satisfying and delicious combination of two otherwise individual ingredients, &lt;a href=&quot;http://casperjs.org/&quot;&gt;CasperJS&lt;/a&gt; plus data-&lt;a href=&quot;http://en.wikipedia.org/wiki/Mock_object&quot;&gt;mocking&lt;/a&gt; is a powerful and effective pairing of two otherwise individual tools. However, whereas bringing peanut butter and jelly together in a sandwich is pretty straight-forward and requires a bare minimum of instructions, getting CasperJS and data-mocking libraries like &lt;a href=&quot;http://sinonjs.org/&quot;&gt;Sinon.JS&lt;/a&gt; and &lt;a href=&quot;https://github.com/appendto/jquery-mockjax&quot;&gt;Mockjax&lt;/a&gt; to play well together takes some effort. However, the &lt;strong&gt;awesomeness&lt;/strong&gt; that you get when putting CasperJS and these data-mocking libraries together &lt;strong&gt;dwarfs the amount of information available explaining exactly how&lt;/strong&gt; to do that. I&#39;m going to take a stab at fixing that.&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/are-you-still-not-testing-your-sites-ui-because-of-your-database/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>Hibernate, Sybase, and the Unchained Transaction Mode Error</title>
                <link href="https://michaelscepaniak.com/2010s/hibernate-sybase-and-the-unchained-transaction-mode-error/" rel="alternate" type="text/html" hreflang="en" />
                <published>2013-05-08T00:47:04Z</published>
                	<updated>2013-05-08T00:47:04Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/hibernate-sybase-and-the-unchained-transaction-mode-error/</id>
                <category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/evergreen-sapling-rock-acadia-national-park-maine-900x675-300x225.webp 1x, https://michaelscepaniak.com/assets/media-library/2013/lead-images/evergreen-sapling-rock-acadia-national-park-maine-900x675-600x450.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/evergreen-sapling-rock-acadia-national-park-maine-900x675-300x225.jpg 1x, https://michaelscepaniak.com/assets/media-library/2013/lead-images/evergreen-sapling-rock-acadia-national-park-maine-900x675-600x450.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/evergreen-sapling-rock-acadia-national-park-maine-900x675-300x225.jpg&quot; alt=&quot;Evergreen sapling growing from rock - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;The other week, the following error got raised in our testing environment - against some rather new code that we deployed (into our existing &lt;strong&gt;Java/Hibernate/Spring&lt;/strong&gt;-based web application running against a &lt;strong&gt;Sybase database&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;&lt;samp&gt;Stored procedure [procedure name] may be run only in unchained transaction mode.&lt;/samp&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/hibernate-sybase-and-the-unchained-transaction-mode-error/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>How To Print Checks Without QuickBooks</title>
                <link href="https://michaelscepaniak.com/2010s/how-to-print-checks-without-quickbooks/" rel="alternate" type="text/html" hreflang="en" />
                <published>2013-05-01T22:44:41Z</published>
                	<updated>2013-05-01T22:44:41Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/how-to-print-checks-without-quickbooks/</id>
                <category term="entrepreneurship" scheme="https://michaelscepaniak.com/category/entrepreneurship/" label="entrepreneurship" /><category term="finance" scheme="https://michaelscepaniak.com/category/finance/" label="finance" /><category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/bright-red-leaf-moss-acadia-national-park-maine-900x675-300x225.webp 1x, https://michaelscepaniak.com/assets/media-library/2013/lead-images/bright-red-leaf-moss-acadia-national-park-maine-900x675-600x450.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/bright-red-leaf-moss-acadia-national-park-maine-900x675-300x225.jpg 1x, https://michaelscepaniak.com/assets/media-library/2013/lead-images/bright-red-leaf-moss-acadia-national-park-maine-900x675-600x450.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/bright-red-leaf-moss-acadia-national-park-maine-900x675-300x225.jpg&quot; alt=&quot;Bright red leaf and moss on forest floor - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;p&gt;Writing checks makes me angry. Not because it represents a withdrawal from one of my accounts. I&#39;m OK with that. I just &lt;strong&gt;really&lt;/strong&gt; don&#39;t enjoy engaging in the physical act of sitting down and &lt;strong&gt;scribbling on a piece of paper&lt;/strong&gt;, knowing that there are much better ways to relay money these days. &lt;strong&gt;I&#39;m all about efficiency&lt;/strong&gt;, and check-writing is all about... something else.&lt;/p&gt;
&lt;p&gt;But, there are still situations in life where cutting a check is still the best or only option. They&#39;re becoming fewer and far between, but they still exist - occurring often enough to be annoying/frustrating/anger-inducing.&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/how-to-print-checks-without-quickbooks/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
            
            <entry>
                <title>Becoming a Successful Java Consultant</title>
                <link href="https://michaelscepaniak.com/2010s/becoming-a-successful-java-consultant/" rel="alternate" type="text/html" hreflang="en" />
                <published>2013-04-19T00:57:16Z</published>
                	<updated>2013-04-19T00:57:16Z</updated>
                
                <id>https://michaelscepaniak.com/2010s/becoming-a-successful-java-consultant/</id>
                <category term="entrepreneurship" scheme="https://michaelscepaniak.com/category/entrepreneurship/" label="entrepreneurship" /><category term="software-dev" scheme="https://michaelscepaniak.com/category/software-dev/" label="software development" /><author>
                    <name>Michael Scepaniak</name>
                </author>
                <content type="html">
                        
                        
                        
                            
	&lt;p&gt;
		&lt;span class=&quot;lead-image-box&quot; style=&quot;float: right; margin-left: .5em; margin-right: .5em;&quot;&gt;&lt;picture&gt;
					&lt;source type=&quot;image/webp&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/little-harbor-brook-amphitheater-bridge-autumn-acadia-national-park-maine-900x1200-225x300.webp 1x, https://michaelscepaniak.com/assets/media-library/2013/lead-images/little-harbor-brook-amphitheater-bridge-autumn-acadia-national-park-maine-900x1200-450x600.webp 2x&quot; /&gt;
					&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/little-harbor-brook-amphitheater-bridge-autumn-acadia-national-park-maine-900x1200-225x300.jpg 1x, https://michaelscepaniak.com/assets/media-library/2013/lead-images/little-harbor-brook-amphitheater-bridge-autumn-acadia-national-park-maine-900x1200-450x600.jpg 2x&quot; /&gt;
					&lt;img src=&quot;https://michaelscepaniak.com/assets/media-library/2013/lead-images/little-harbor-brook-amphitheater-bridge-autumn-acadia-national-park-maine-900x1200-225x300.jpg&quot; alt=&quot;Little Harbor Brook near Amphitheater Bridge in early Autumn - Acadia National Park, Maine, USA | by Michael Scepaniak&quot; width=&quot;225&quot; height=&quot;300&quot; /&gt;
				&lt;/picture&gt;&lt;/span&gt;
	&lt;/p&gt;

                        &lt;blockquote&gt;
&lt;p&gt;&amp;quot;I saw that you are a senior Java consultant for many years, which is what I want to be, too. So I thought I&#39;d connect to you and ask &lt;strong&gt;what it takes to get there&lt;/strong&gt;...&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Somebody actually sent this to me. Somebody that I&#39;ve never met. Pretty cool. 😃 &lt;strong&gt;So, what&#39;s the answer?&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;https://michaelscepaniak.com/2010s/becoming-a-successful-java-consultant/#more-anchor&quot; class=&quot;more-link&quot;&gt;[click to continue reading&amp;hellip;]&lt;/a&gt;</content>
                <rights>© 2010–2025 Milestone Systems Consulting</rights>
            </entry>
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</feed>

