internet warnin
The Worst Things For Sale is Drew's blog. It updates every day. Subscribe to the Worst Things For Sale RSS!
For the purposes of the USA Today Bestseller Medical Thriller Author Publishing Collaborative Boxed Set program, Genius Media shall not incur any publication and promotion expenses of any nature in excess of the fees paid under the terms of its author agreements and shall have no power to obligate [redacted] or any other author for any publication and promotion expense above author fees paid whatsoever.There's a "cash call" prohibition and an expense cap. But Kairos wanted writers to believe otherwise, so it could inflate expenses and ensure a loss.
In 2013-15, I hired Mr. Bastian as a ghost writer and later co-author of a novel we wrote together called Henry and Tom, sold through Amazon/Kindle Direct Publishing (KDP).You'll note a reference to a bankruptcy. Wid Bastian filed a Chapter 7 bankruptcy petition on January 13, 2020.
In mid 2015, Mr. Bastian embezzled money from a joint bank account we opened to pay for marketing campaigns for Henry and Tom. Rather than pursue embezzlement charges, I hired an expensive lawyer in Washington DC to transfer all rights for Henry and Tom to me in exchange for a $4K payment to Wid and a non-disparagement clause for both of us. This seemed at the time like the most expedient and cost effective way to deal with all the problems Mr. Bastian had caused.
I thought this matter was concluded until recently when Amazon/KDP informed me that a debt collection firm had placed a lien on Henry and Tom due to a bankruptcy filed by Wid Bastian/Genius Media Inc. KDP is currently sending my royalties to the collector per the lien. I have filed formal complaints with Attorneys General in Connecticut, New Jersey, and New York in an attempt to have the lien removed in states where the debt collectors are registered. I have also filed formal complaints against Wid and Genius Media Inc. with the Attorney General of Utah and the County Attorneys Office in Providence, Utah.
I think blogs like this are creating awareness of the depth and extent of Wid’s continuing criminal activities so we can all work together to stop him from doing this to others and get him to face justice.
My home office, with feline assistant. |
Sarah, my other assistant. Kittehs are a comfort. |
Emily: Why are you taking my picture _again_? |
As we watch right-wing agitators, Fascists, media personalities, and the impeached president howl about ending Stay at Home before the public health experts say we should, remember that, as a […]
Despite a decade-old financial crisis that has crippled its hospitals, Greece appears to be keeping its coronavirus outbreak under control, with a far lower death toll than many other European nations. Dr Yota Lourida, Infectious Diseases specialist at Sotiria hospital in Athens, explains how it dealt with the crisis, and the steps taken by the country to mitigate against potentially catastrophic outcomes
Continue reading...Man, you can just feel the energy of the awk being channeled in this quick Twitter thread. Real or not, just picturing this girl trying to live tweet, and then live tweeting herself into an awkward situation, is gold in and of itself.
Sex education can be a shock to some kids, and being a teacher trying to get 40 children to not laugh every time you say "testicles" has to be a nightmare. A sex-ed class can become an absolute minefield even when kids aren't asking questions. They don't know any better, and that's the time and place for it, but everyone remembers the awkward questions that got asked in Sex Ed. You can't exactly blame someone's ignorance, but manpeople say some absurdly dumb things in complete seriousness.
Our friends at Cracked are back at it again with a fresh installment to their weekly video series, "Your Brain On Cracked." This one's just too much fun.
Climate models show that as the world warms, tropical cyclones will travel more slowly, dumping more rain in one place and making high-speed winds batter buildings for longer
Satellites have revealed the fracking heartland of the US is leaking methane, a powerful greenhouse gas, at a record-breaking rate.
It can be difficult for doctors to assess the level of consciousness in people who have had serious brain injuries, but observing their reaction to strong odours may help
Brazil could face "economic collapse" in a month's time due to stay-at-home measures to stem the coronavirus outbreak, with food shortages and "social disorder," Economy Minister Paulo Guedes warned Thursday. Brazil, Latin America's biggest economy, is also the epicenter of the coronavirus pandemic in the region. But far-right President Jair Bolsonaro - who appeared alongside Guedes, his free-market economics guru - opposes stay-at-home measures to slow the virus, saying they are unnecessarily damaging the economy. "Within about 30 days, there may start to be shortages on (store) shelves and production may become disorganized, leading to a system of economic collapse, of social disorder," Guedes said. "This is a serious alert." Bolsonaro, who has compared the new coronavirus to a "little flu," said he understood "the virus problem" and believed that "we must save lives." "But there is a problem that's worrying us more and more... and that's the issue of jobs, of the stalled economy," Bolsonaro added. "Fighting the virus shouldn't do more damage than the virus itself."
Abayev and members of his search team rummage the steppe for remains of the Red Army soldiers who fell in the autumn of 1942 in fierce fighting with Nazi troops pushing toward the Caspian Sea south of Stalingrad. Stiff resistance by the Red Army stopped the Wehrmacht onslaught in the steppes of Kalmykia, and months later the enemy's forces were encircled in Stalingrad and surrendered, a major defeat for the Nazis that marked a turning point in World War II.
Rail union leaders have written to Prime Minister Boris Johnson with "severe concerns".
The former cabinet minister says he cannot ask campaign volunteers to work for another year.
UK government advisors say post-pandemic recovery funds should go to firms reducing carbon emissions.
Bank head Andrew Bailey tells the BBC there will be no quick return to normality after the hit to jobs and income.
As his great grandson launches a competition to "inspire like Churchill", we look at the PM's wartime words.
Teaching unions across UK and Ireland say test and trace measures must be fully operational before reopening.
After writing my post a few months ago on building your own redux app, I have been asked a couple times to write a guide on creating redux middleware and how it works. This will be a quick post on how you can acheive anything with your own middleware!
##Basic middleware
const customMiddleware = store => next => action => {
if(action.type !== 'custom') return next(action)
//do stuff!
}
Applying it:
import { createStore, applyMiddleware, } from 'redux'
import reducer from './reducer'
import customMiddleware from './customMiddleware'
const store = createStore(
reducer,
applyMiddleware(customMiddleware)
)
Whaaa? store => next => action =>
I know that looks confusing. Essentially you are building a chain of functions, it will look like this when it gets called:
//next looks something like this:
let dispatched = null
let next = actionAttempt => dispatched = actionAttempt
const dispatch = customMiddleware(store)(next)
dispatch({
type: 'custom',
value: 'test'
})
All you are doing is chaining function calls and passing in the neccesary data. When I first saw this I was confused a little due to the long chain, but it made perfect sense after reading the article on writing redux tests.
So now that we understand how those chained functions work, let’s explain the first line of our middleware.
if(action.type !== 'custom') return next(action)
There should be some way to tell what actions should go through your middleware. In this example, we are saying if the action’s type is not custom
call next, which will pass it to any other middleware and then to the reducer.
##Doing Cool stuff
The official guide on redux middleware covers a few examples on this, I’m going to try to explain it in a more simple way.
Say we want an action like this:
dispatch({
type: 'ajax',
url: 'http://api.com',
method: 'POST',
body: state => ({
title: state.title
description: state.description
}),
cb: response => console.log('finished!', response)
})
We want this to do a post request, and then call the cb
function. It would look something like this:
import fetch from 'isomorphic-fetch'
const ajaxMiddleware = store => next => action => {
if(action.type !== 'ajax') return next(action)
fetch(action.url, {
method: action.method,
body: JSON.stringify(action.body(store.getState()))
})
.then(response => response.json())
.then(json => action.cb(json))
}
It’s pretty simple really. You have access to every method redux offers in middleware. What if we wanted the cb
function to have access to dispatching more actions? We could change that last line of the fetch function to this:
.then(json => action.cb(json, store.dispatch))
Now in the callback, we can do:
cb: (response, dispatch) => dispatch(newAction(response))
As you can see, middleware is very easy to write in redux. You can pass store state back to actions, and so much more. If you need any help or if I didn’t go into detail enough, feel free to leave a comment below!