Has Connecticut’s Governor Lost His Mind?

More hikes, this time to the sales tax, the cigarette tax, and the real-estate-conveyance tax ... ignoring the exodus of wealth such increases have caused. The fact is that Connecticut’s wealthiest residents are moving away, and taking billions of ...

Archived Story

If insanity can be defined as doing the same thing over and over while expecting a different result, the governor of my home state of Connecticut, Dannel Malloy, should get his head checked.
Within a month of taking office in 2011, Malloy called for the largest tax increase in state history to close a multi-billion-dollar state deficitHis Democratic legislative allies delivered the hike, along with the spending increase he also requested.
Four years later, faced with a comparable deficit, Malloy offered the same prescription: a multi-billion dollar tax increase and more state spendingDemocratic legislators once again obliged.
Two years after that, when 2017 brought yet another deficit, the General Assembly delivered a tax increase and a spending boost without any prompting from MalloyRepublican cooperation meant the tax hike was smaller (hundreds of millions instead of billions), but state spending levels remained liberal (up nearly 9 percent from 2015), and the governor signed the General Assembly’s bill into law.
That was eight weeks agoNow the current year’s budget is over $200 million in the red, and the shortfall in the next biennial budget promises to be the largest yet: over $4 billionOur state’s economy is collapsing before our eyes — and what does Malloy propose? More hikes, this time to the sales tax, the cigarette tax, and the real-estate-conveyance tax, as well as entirely new taxes on hotel rooms and e-cigarettes.
.jw-player-container {
background-color: black;
margin: 20px 20px 10px 0;
width: 100%;
}
.jw-player-close {
display: none;
}
@media screen and (min-width: 768px) {
.jw-player-minimize:not(.jw-player-closed) .jw-player-position {
background-color: white;
border-radius: 2px;
bottom: 20px;
box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
right: 20px;
padding: 7px;
position: fixed;
width: 300px;
z-index: 100;
}
.jw-player-minimize:not(.jw-player-closed) {
position: relative;
}
.jw-player-minimize:not(.jw-player-closed) .jw-player-close {
background: black;
border: none;
border-radius: 50%;
color: white;
display: inline-block;
font-size: 18px;
line-height: 0;
text-align: center;
height: 30px;
width: 30px;
font-weight: bold;
position: absolute;
top: -5px;
right: -5px;
z-index: 10;
}
}
x
// initialize jwplayer
var playerInstance = jwplayer('article-player');
// player dom elements
var playerContainerEl = document.querySelector('.jw-player-container');
// returns video player position from top of document
function getElementOffsetTop(el) {
var boundingClientRect = el.getBoundingClientRect();
var bodyEl = document.body;
var docEl = document.documentElement;
var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop;
var clientTop = docEl.clientTop || bodyEl.clientTop || 0;
return Math.round(boundingClientRect.top + scrollTop - clientTop);
}
// returns the current y scroll position
function getScrollTop() {
var docEl = document.documentElement;
return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0);
}
// configure jwplayer instance
playerInstance.setup({
playlist: '//content.jwplatform.com/feeds/YzNtPvPm.json',
primary: 'html5',
setFullscreen: true,
width: '100%',
});
// when jwplayer instance is ready
playerInstance.on('ready', function() {
var config = playerInstance.getConfig();
var utils = playerInstance.utils;
// get height of player element
var playerHeight = config.containerHeight;
// get player element position from top of document
var playerOffsetTop = getElementOffsetTop(playerContainerEl);
// set player container to match height of actual video element
// this prevents container from disappearing and changing element positions
// on page when player becomes minimizedthis also leaves a nice visual
// placeholder space for minimized player to return to when appropriate
playerContainerEl.style.height = playerHeight + 'px';
// below we handle window scroll event without killing performance
// this is a minimal approachplease consider implementing something more extensive:
// i.ehttp://joji.me/en-us/blog/how-to-develop-high-performance-onscroll-event
// determine player display when scroll event is called
// if inline player is no longer visible in viewport, add class
// .jw-player-minimize to minimize and floatotherwise, remove the class to put
// player back to inline inline position
function onScrollViewHandler() {
var minimize = getScrollTop() >= playerOffsetTop;
if ('playing' !== playerInstance.getState()) {
minimize = false;
}
utils.toggleClass(playerContainerEl, 'jw-player-minimize', minimize);
// update the player's size so the controls are adjusted
playerInstance.resize();
}
jQuery(function() {
// namespace for whether or not we are waiting for setTimeout() to finish
var isScrollTimeout = false;
// window onscroll event handler
jQuery(window).on('scroll', function() {
// skip if we're waiting on a scroll update timeout to finish
if (isScrollTimeout) {
return;
}
// flag that a new timeout will begin
isScrollTimeout = true;
// otherwise, call scroll event view handler
onScrollViewHandler();
// set new timeout
setTimeout(function() {
// reset timeout flag to false (no longer waiting)
isScrollTimeout = false;
}, 80);
});
jQuery('.jw-player-close').on('click', function() {
playerContainerEl.classList.add('jw-player-closed');
});
});
});
(function($){
var swapArticleBodyPullAd = function() {
if ($('body').hasClass('node-type-articles')) {
var $pullAd = $('.story-container .pullad').addClass('mobile-position');
if (window.matchMedia("(min-width: 640px)").matches) {
if ($pullAd.hasClass('mobile-position')) {
$pullAd
.addClass('desktop-position')
.insertBefore('.article-ad-desktop-position');
}
} else {
if ($pullAd.hasClass('mobile-position')) {
$pullAd
.addClass('mobile-position')
.insertBefore('.article-ad-mobile-position');
}
}
}
};
$(window).on('resize', function(){
swapArticleBodyPullAd();
}).resize();
})(jQuery);
If that’s insanity, it is not confined to MalloyThe left wing of his party demands ever-higher taxes on top earners, ignoring the exodus of wealth such increases have causedThe fact is that Connecticut’s wealthiest residents are moving away, and taking billions of dollars of income with themOur most promising youths, our most innovative entrepreneurs, our most iconic businesses, our parents, grandparents, neighbors, friends, children, and families are moving away, tooWho can blame them?
Doctors for centuries bled their patients as a form of treatmentOf course it didn’t work, but what doctor committed to the practice could acknowledge even to himself the harm he had caused? Likewise, the politicians who bleed us through taxation refuse to recognize the injury they have inflicted on our economyInstead they wish to bleed us more, even as the pulse of industry in our state fades away.
Committed liberals simply cannot change their mindsIf we want a different direction for our state, we must elect new leadersGiven our history over the last couple of decades, citizens who vote Democrat can count on more spending and higher taxes; expecting any other result would be insane.
READ MORE:An Attempt at Fiscal Responsibility in ConnecticutGE Leaves Connecticut for BostonGovMalloy Should Sign the Bipartisan Budget in Connecticut
— Joe Markley is a Connecticut state senator from Southington.
More Stories
{{#each posts}}
{{{title}}}
{{/each}}
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7&appId=129250807108374";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
Load More