The Market Ticker
Commentary on The Capital Markets- Category [Small Business]
Logging in or registering will improve your experience here
Main Navigation
MUST-READ Selection(s):
Cut The Crap - NOW

Display list of topics

Sarah's Resources You Should See
Sarah's Blog Buy Sarah's Pictures
Full-Text Search & Archives

Legal Disclaimer

The content on this site is provided without any warranty, express or implied. All opinions expressed on this site are those of the author and may contain errors or omissions.


The author may have a position in any company or security mentioned herein. Actions you undertake as a consequence of any analysis, opinion or advertisement on this site are your sole responsibility.

Market charts, when present, used with permission of TD Ameritrade/ThinkOrSwim Inc. Neither TD Ameritrade or ThinkOrSwim have reviewed, approved or disapproved any content herein.

The Market Ticker content may be sent unmodified to lawmakers via print or electronic means or excerpted online for non-commercial purposes provided full attribution is given and the original article source is linked to. Please contact Karl Denninger for reprint permission in other media, to republish full articles, or for any commercial use (which includes any site where advertising is displayed.)

Submissions or tips on matters of economic or political interest may be sent "over the transom" to The Editor at any time. To be considered for publication your submission must include full and correct contact information and be related to an economic or political matter of the day. All submissions become the property of The Market Ticker.

Considering sending spam? Read this first.

2018-12-30 13:17 by Karl Denninger
in Small Business , 220 references
[Comments enabled]  

Thinking of a "line job" in some retail environment?

Forget it.

Don't do it.  Ever.  For any amount of money.


So-called "social media" has made it pointless.

There used to be a time when you could take such a job and, through time and effort, advance.  You'd have good days and bad days, but eventually, if you stuck with it, you'd move upward, forward and into a management position and potentially wind up with a store to run.

You might never make a billion dollars doing this but it wasn't a bad way to live.

No more.  Now "retail" jobs are for summer spending money -- and never anything more.  There is never any reason -- ever -- to consider such a position as anything more than that, to consider an employer "family" or even "sort-of" friend.  Nope -- he or she is simply double-SOB - that's "BOSS" backward.  Take someone else's shift?  No, never.  Go above and beyond?  No, never.  Be reliable, the person who they can call on?  Nope.  You do your job, you collect your check, you don't socialize with anyone and at the end of your shift you go home.  Oh, and you consider your job as expendable with zero ****s given, ever.  Period.

What happened?

So-called "social media" happened.

It is now trivial for a random person to take umbrage for legitimate reason or not and instantly attract enormous attention to said retailer -- always negative.  The only response a firm can realistically take is to fire the person identified.  This means management can never be on the front line since obviously the gal who owns the franchise can't fire themselves without shutting down the store.

It used to be that if you had a beef with someone in such an environment you asked for the manager in person.  I still do that because it's the right way to handle it.  If the person deserves to be fired for whatever happened that's the right way to air it out, figure out what actually occurred, bring it to the manager's attention and get a resolution -- right here and now.

That no longer happens.

Now what occurs is that someone goes on Yelp, Facebook or some other social media outlet and blasts their complaint all over the world.  Sometimes it's valid, sometimes it's not.  Sometimes the person who does it didn't really have a problem, they just had a bad day.  Sometimes they (the customer!) made the mistake -- they mistook someone's glance, or comment, as meaning something it didn't.  But rather than hash it out with the manager on the spot, right when it occurs, they instead take it to a global audience and slam the place.

The problem with such an approach is that the person doing it has no incentive not to embellish whatever their perceived beef is.  You detach the complaint from the people who were there and thus make it an "irrefutable" one-sided game.  It gets even worse when someone whips out a camera and posts it on Youslob or similar as inevitably the filming doesn't start until long after what provoked the original exchange (unless it's a flat-out setup how would anyone know to have the phone out and on, recording, until after the yelling starts?)

What realistic option does management have in circumstances like this?  Unless management can prove the complaint was maliciously lodged they have little choice.  What are you going to do in that situation -- risk an escalating war on said social media where you can't defend your establishment (because there are no facts available) and risk the (often anonymous!) complaining party continuing to slam your establishment?  In the case of a soyboy or soygirl being the offended party you can bet there will be thousands piling on who were not there within minutes.

Consider the adversarial process in the justice system, whether civil or criminal.  You get accused of a crime or offense you have a right to face your accuser.  They have to make the accusation to your face.  You have the right to call those who were present at the time to your defense.  You have a right to all the physical evidence being preserved and presented -- no matter who it favors.  Someone (a judge or jury) weighs the evidence.

All of that is now gone in the world of "social media" when it comes to the random retailer.  We've seen repeated instances of late of people who have raised fantastic stories of very serious allegations over the years that have all turned out to be complete and utter crap.  Tawana Brawley anyone? How about the Kavanaugh nonsense that has produced criminal referrals for lying under oath?  May I remind you that Ford was proved to have lied with regard to the "second front door" she allegedly installed due to severe PTSD as a result of the alleged "assault"?  It was later proved she took out a building permit to convert the space in question into a rental unit, that second front door was for said rental unit with the unit was partitioned off from her living space and in fact she has been renting it out! Yet she is "defended" to this day as "brave" and has personally profited from GoFraudMe campaigns despite hard, government-documented proof she intentionally falsified a key part of her claim.

Then there's the recent Chipotle manager that was fired immediately due to someone claiming racial discrimination and only after the accusers social media was investigated by third parties, not the company and it was determined that the people slamming the manger were indeed "dining and dashing" -- robbing the damn store -- did the company "offer" the manager their job back!

What did the company say at the time of the original social-media slam?  "We had no choice but to take the accusation seriously."  Well, I suppose so if you want to live in a world where anyone can accuse anyone of anything on so-called "social media" without consequence and destroy a business after trying to rip it off and being stopped by a manager who was in fact doing their damn job!

What actual compensation does said manager get for being identified, called a racist and fired in public?  What if said thieves had not boasted on social media that they like to rip off places to eat, including specifically the one where the manager stopped them from getting away with it?  Said manager would have a permanent black mark on their employment record and be labeled a racist forever on social media with no possible way to ever clear their name.  Now go try to get another job with that floating out there.

The latest is the man-in-drag who went roid-rage nuts in a GameStop.  **** that dude; you can dress however the hell you want but you can't change your genes and they showed up immediately as soon as he got pissed off with his threats: "Let's take it outside."

Further, is any person 100% "in character" all the time?  No.  Is it reasonable to expect that?  No.  Is it reasonable to write someone up or fire them over a complaint that the person complaining failed to take to the manager on the spot and instead went on social media and trashed the joint, making impossible any examination or refutation of their alleged "story"?  If that's part of the job and expected outcome for the people on the front line then you need to fire everyone and just put in order kiosks and robots to fulfill the orders, essentially operating a vending machine.  Some places, ala McDonalds', are doing exactly that.  Talk to the robot.

Disney, by the way, "gets" this and has for a long time since people routinely walk around Disney (and have for a very long time) with video cameras running.  As a result and to prevent exactly this sort of crap from happening all the "characters" walking around the park never speak a word.  Ever.  You also can't see their eyes or any other part of their expression; it's fixed by their costume, always.  You can talk to Mickey until you're blue in the face but all you will ever get is a nodding head in reply with a fixed, painted-on smile.  If you've ever been "behind the door" at Disney (I have; go dive at Epcot if you want to do it as an ordinary person with no connections) there's a blue light over every door that goes to a public space for this exact reason -- so employees all know to have their costumes on, locked and loaded before that door is opened.

That's how they avoid the problem but no face-to-face retail establishment can do that.

What's the answer?

There isn't one, honestly, in today's world.  You're not going to get rid of Y-extort-elp, Facesucker, Youslob and Twatter.  A complaint that someone fails to take to the manager of the location on the spot when an incident occurs should be dismissed instantly with prejudice by anyone fair-minded but that's not the world we live in today and expecting a manger to do that isn't going to happen because he or she knows that such a response from them will simply incite further attempts to destroy the business with more "complaints", whether baseless or not.  If the complaining individual is in some "privileged class" where they can cry discrimination with impunity even if they're lying due to their sex, race, color, creed or gender-bender fantasy (in other words they're anyone other than a straight, white male) it'll be amplified and picked up by SJW nutjobs, making any rational discussion or defense pointless.  You may as well lock the doors, stick up the "Out of Business" sign and go home.

In short the store manager can't change society and you, who can collectively change it won't, both rejecting the freakshow garbage crew and destroying "social media" firms that invite and profit from such abuse through boycotting all their advertisers and making it impossible for anyone who works at any of them to so much as buy a gallon of gasoline without being ceaselessly harassed in return.

After all that's exactly what social media is abused to do to others and trash their reputations so why should those who make possible and profit from all that harassment get off without having it happen to them?

The only defense, which would work in a small retail environment but not in a larger one, is to both video and audio record everything that happens on the premises.  The usual security camera "lapse" time (slower than 30fps frame rate) video-only is fine for catching thieves but is worthless for this; you need both video and audio, and in a larger store actually obtaining coverage where you can hear everything that goes on is going to be difficult or impossible.  Never mind that you would also need to post notice for customers (who might not like it one bit), including fair warning that you reserve the right to post any such recording publicly in defense of your firm and staff should anyone initiate a public dispute.  Then there's the storage requirement for such; unlike the standard "security camera" answer it's very non-trivial in this case.  In other words it's not going to happen.

This leaves the only other answer being for everyone to treat such "jobs" as nothing other than disposable twaddle or even better -- tell your teens and young adults to stick up the middle finger and see how it works out for the owners of the joint when they can't find anyone, at any wage, who will put up with this sort of crap until the people rise up in concert and demand this bull**** stop.

The mighty asteroid of death will probably kill us all first; after all it's very important to gush all over said social media about how important you are -- right?

Good luck fools, and as for all those who pull this crap or work for or with any of the enablers in the malevolent "social media" space here's my answer to you:


PS: If you think I'm going to put HomeDaemon-MCP on the market at retail, and deal with this, you're flat-out nuts.  Unless someone decides they want to deal with that garbage and it's an acceptable part of their "business operations" the package is going to die and go to my grave with me, whenever that happens.  Start a business selling at retail in this environment?


(If you're that person you're a better man or woman than I -- email me at the address on the right...)

View this entry with comments (opens new window)

2018-11-07 06:57 by Karl Denninger
in Small Business , 50 references
[Comments enabled]  

So about those locks.....


One of the challenges I've had with allowing the manipulation of lock state (other than lock/unlock, or setting the keypad on or off) is the risk of someone picking off a code from your phone -- and then being able to break into your house.  For obvious reasons that would be bad.

I've decided to leverage the notification system built into the software for this purpose.  This has several advantages, chief among them being that neither the phone or the base software has to store a code from a lock in any case.

If you select "Get Code in Slot" and enter the slot number when you click Execute HomeDaemon-MCP retrieves the code in real time over the AES-encrypted channel from the lock and sends it back to your device via the encrypted notification system.  It never touches anything else (like the cloud) and is not stored anywhere other than in RAM on the device when displayed in the notification pane, which can be dismissed.  In addition there is no storage off-site, anywhere, of the event itself either so Mr. Subpoena (or "Mr. NSL") can pound sand since nobody can produce what they don't have.

If you set a code it is transmitted to the lock.  Ditto for deleting a code.

Codes on most common locks (they're all using the same basic board) can be 4 to 8 numeric digits.  8 is quite secure; 4, not so much, although after a few (wrong) attempts the lock will raise an alarm exception.  In all cases when the change "takes" an exception is raised back to the phone, so you know it went through, exactly as is the case for an asynchronous event (e.g. someone uses the code to open the lock.)

Disabling the keypad locks out all the codes, instantly (very useful if you're not at home, don't expect to be home, and don't want anyone to be able to open the door.)  The state of the lock in the background is currently set this way ("Prohibited" .vs. "Accessible.")  Oh, and the manual operation of the lock (e.g. with a key or the inside knob) is also instantly reported.

Again -- no cloud, no BeeEss, no stealing.

HomeDaemon-MCP is available to the firm, large or small, that wants to disrupt the model of "smart home" systems.  All rights, source and all, to both the base code running on a $35 piece of hardware and the Android app are included.  Look to the right and email me today!

View this entry with comments (opens new window)

2018-10-16 15:34 by Karl Denninger
in Small Business , 118 references
[Comments enabled]  

HomeDaemon-MCP's Android App now knows how to handle multiple locations at once -- with always-on 24x7 monitoring and control from anywhere, without any cloud involvement.


Got a rental house plus your own residence?  Vacation home?  Three properties?  Five?  Need to be able to open the front door for a property manager in real-time to show a rental -- and know if someone uses a 
key to lock or unlock the front door in real-time as well?  No problem.

In addition the license server now populates the HomeDaemon.Org domain automatically when a license registers or renews, and as a result for those who don't have a convenient "dynamic dns" provider, or don't wish to set one up you no longer need to -- the software does it for when the license is validated.  While this is not instant response if your IP number changes but connectivity does not go down or the unit resets (e.g. power goes off) it is convenient and "no setup required."

You may suspend monitoring on any declared host if you wish at any time, and then turn it back on without altering the others, or having to re-enter a password.  As has been the case thus far in the app's development cycle no passwords are saved, ever in the app itself or in the app's data store.

Power consumption with full-time monitoring enabled and your phone sleeping continues to be negligible -- and yet no cloud management or storage tools are used anywhere in the application.  Nobody gets your data but you -- ever -- on your house. Not your coming and going, not the motion, your thermostat or camera data.

It's yours, and only yours.

Again HomeDaemon-MCP is for sale as a complete, ready-to-go package needing only to have the customer front-end set up to meet your desired licensing scheme.  All rights are available at a very reasonable price -- contact me today if you're interested (and of course can fund the acquisition) and we'll move forward!

View this entry with comments (opens new window)

2018-05-14 14:28 by Karl Denninger
in Small Business , 121 references
[Comments enabled]  

Well, that wasn't all that hard.

I've never previously written a single line of Java, nor developed for Android.  Ported Android itself, yes, but not written apps -- nor used "Android Studio", Google's IDE for it.

A few weeks ago I bought the "Big Nerd Ranch" book on it, and read it.  It's a solid couple inches thick and, if you've never done programming, you'll be lost in the first half-dozen pages.  Figuring out Java at the same time was quite a trick (and one the authors warn against), but being a guy I don't read instructions anyway.


But now Beastie (yes, phk, the beer is on me if we are co-resident somewhere) peeks out the window, and the App lives.


I find some of the admonitions from Google rather amusing.  They really want you to use their cloud message management system rather than exempt your app from their battery sleep/doze stuff, for example.  I understand why, in many cases, but, in this specific case.... nope, nope and nope.  The impact on power consumption?  Nearly unmeasurable over a full night's sleep with the phone unplugged; according to GSAM consumption is about 1% over 8 hours.

A couple of weeks post-sitting down with this monstrosity and there's an app, complete with power management, background networking, preferences and all that.

HomeDaemon-MCP itself (the server/operational piece) has been taught how to do persistent notifications to mobiles as well, which is very nice.  What that means is that if you "miss one" because you're out of range (for example) as soon as you come back into range you'll get the notification.  Ditto if your phone reboots.  This also means that the complexity of said notifications can be infinite, and is subject to user permissions.

Speaking of which that's one of the big deals.  Multiple users with different permission bit masks are fully supported down to an individual device level for both read and write access flags.

I don't know if I prefer the app over the web interface for HomeDaemon-MCP, to be honest.  The app has its advantages on a phone, not the least of which is its persistence and notification capabilities.  That's real nice; what I used to do for notifications was to have the base system send a text message.  That works of course but this is nicer, easier to customize (choose your tone, do you want vibration or just sound, etc) more-granular, and has less risk of getting lost (yes, carriers do lose text messages on a somewhat-regular basis.)

The "about" page can be read here for the app... I think you'll like it.

If you do, and want to pick up the whole package -- including the App -- for marketing and sale of course, the email link is on the right.  No cloud used, security is completely under the owner's control and licensing is done with privately-CA-issued certificates -- which are damn near bomb-proof and enable both buy-once-use-forever models as well as annual or even monthly subscription-type licenses.  You choose.  And yes, the price for the whole shooting match is reasonable.

View this entry with comments (opens new window)

2018-04-07 12:26 by Karl Denninger
in Small Business , 115 references
[Comments enabled]  

You might have read this article when I published it originally.

Or, maybe not.

If not, then please do.  It lays out a pretty decent case, I think.

What I've now completed is the majority of the back-end work to make implementing a mobile app a rather trivial piece of coding -- instead of a lot of work.

Let me lay out the how and why for you on this.

The "hard way" to do a mobile app is to have it do all the work.  The easy way, every time, is for the mobile app to be little more than a terminal into something.

But this is a problem in the general sense even when there's a web server included because you then have to parse the web output.  That's somewhat of a pain in the ass.  So what you need to make mobile app development easy is a trivially-parsable reply format, preferably one that updates in real time for you.

HTML5 makes "dynamic updates" pretty easy, which is nice.  You send down a little javascript "listener" and then make a call to a resource that comes back with the MIME type "text/event-stream", and then sends updates.  Each has a tag, which matches that tag in your HTML document.  This connection can be (and should be!) persistent, in that this reduces overhead greatly.

Well, that's nice, but the persistence can be a problem from a resource consumption and management standpoint.  If you're not particularly persistent then the "retry" stanza will reconnect, so many pages and servers do exactly that -- they send the data but then allow the connection to close, relying on the connection cache ("Connection: keep-alive")  to cut down the overhead to something reasonable.  This will give you "every 3-5 seconds" updates -- good enough for most implementations such as social media and messaging.

What you want with an app, however, is an actual dynamic stream that stays open for minutes at a time because otherwise the overhead is a five-alarm pain in the butt.  Implementing true persistence on the server end gives you the ability to push updates as fast as you're willing to burn the CPU to handle.  You can get single-digit millisecond latencies (or better) if you are willing to burn the CPU for it, but getting latencies down into the couple hundred millisecond range, or ten to twenty times faster is an utterly-trivial exercise and actually cuts load since connection renegotiation frequency goes down enormously.

HomeDaemon did the first, until now.  It now has had the web code refactored to implement the second, which means that it is now very easy to add to the web backend a specific calling sequence that will output a table of units with locations, names, types and similar parameters followed by a stream of updates of status with one call that is nothing more than a glorified "GET" instance, and key it all off a given security level to match the user's privilege set.  Since SSL is in play the call (with authentication) and reply, plus the data stream that comes is secure.  And since the lifetime of a connection is now minutes where after the initial burst updates of status take just a few tens of bytes the overhead becomes extremely small -- which is fabulous both for data and power consumption on a handheld.

So there's no app for Android -- yet.  But the predicate for the back-end support for one is now 80% complete with the other 20% in process.  Yeah, implementing that was a five-alarm pain in the ass -- but now it's done.

After the back end is complete, along with the calling sequence, I'm going to teach myself how to write Android apps.

And yeah, somewhere between now and the endpoint of that the asking price is going to go way up for all the obvious reasons, so if you believe in the "MAGA" stuff and want to prove me wrong then get rich at the same time -- read this article again, then contact me.

View this entry with comments (opens new window)