Tuesday, February 25, 2025

Where are the Areas?

I don't often set things up.  I have to remember where things are at.  So, I'm putting this out in my blog since I tend to remember things when I blog about them.  I have a c# web app in .NET 9.  Where do I get the identity content from the areas at?  It is at:

https://localhost:7011/Identity/Account/Login?ReturnUrl=%2FIdentity%2Faccount%2Fmanage

This is a link that you can work from to find things.  Here is the pic from Visual Studio 2022.  This is for the overloaded files.



Monday, February 17, 2025

Marketing Shouldn't Be One Way, Learn To Have A Conversation

 My views on marketing and sales were shaped by my father, no doubt on that one.  While, we had our differences, there was no doubt that he was a great sales person with a full understanding of marketing and having it in his blood.  My views on selling were based on him and will be until the day I die.

My father wasn’t the only person I’ve seen like this.  Early on in my career, we had a Novell marketing person that we dealt with.  While she was a marketing person, she was also a connector, could get answers, and take feedback.  I felt like my feedback at least went in one ear. Whether it had any effect didn’t really matter.  I dealt with her and she with me.  We had a company team from Compaq that we dealt with as well Dina Vasil and Roy Peek.  While I’m not sure about how they felt about me, I felt that they took feedback back, and I respected them.

I was a member of a vendor program for the first half of my professional career.  It wasn’t a program that you pay to be a member of, the vendor will notice you and ask you to be a member.  I felt honored to be asked to join.  Thru that vendor program, I was asked to provide feedback to product groups and discussion both positive and negative.  I was specifically told I wasn’t expected to just say positive things, but was told that they wanted to hear the negative things as well.  They felt it was the best way for them to grow and improve their products.  Having worked for startups, I could immediately see the importance of what they said.  It made me feel aligned with them that my feedback mattered.  “Tell me what my products need to do, or do better” is a great way to market to the technology crowd.

Unfortunately, I found about 5-6 years into this journey that things change.  The vendor program became much less about making products better.  The vendor program became about using the people in it as unpaid marketing.  It became clear that they viewed my job as uncompensated marketing person for them as my feedback was no longer wanted.  I was also now expected to go purchase their products if I wanted to write any subject on them.  Given my upbringing, the whiplash was not something I could accept or stomach.

I say the above not to beat on this famous vendor or marketing folks in general.  At some level, we must all do marketing.  I say the above to talk about my view of marketing and the impedance mismatch of marketing and engineers.  Unfortunately, the impedance mismatch has become a bit too much.

There is a rather crude parabole that I think is appropriate for people to know and understand.  I learned this when I worked at Coca-Cola for Ed Brown.  Ed didn’t say it this way, but roughly, it was the story of a bird flying south too late in the season.  On a frozen morning, the bird freezes up and falls into the cow pasture near some cows.  While laying their unable to move, a nearby cow defecates on the bird.  This keeps the bird from freezing.  Unfortunately, a cat sees the commotion.  As the frozen bird realizes it is actually warmed up, the cat comes over, grabs the bird, and kills it.  The moral of the story being that not everyone that shits on you is your enemy and that not everyone that gets you out of shit is your friend.  The point Ed was making was that he wasn't there to beat on anyone.  He was honestly trying to help.  He wanted to figure out if something made sense for Coca-Cola.  He was going to give you complete feedback.

Marketing is, and I suspect has always been, about pushing a message out.  Today, marketing is a one way mechanism, that if you don’t get the response you want, move onto another person and to hell with any feedback.  The problem with this being that you can actually learn from your failures and the people that disagree with you.  Product groups need feedback and that feedback can come from many places. 

Unfortunately, marketing folks don’t really know or understand how to take feedback. They think that people are either for them or against them.  They don’t seem to understand how to win people over on a personal level.  Here is an example where a Microsoft representative failed without understand that I was testing him.  A msft rep was bemoaning the fact that people don’t just accept and fall over for whatever msft is pushing, yes, it was that bad.  I listed out to Sam, not his real name,  4-5 issues that I saw that had nothing to do products at msft, but had to do with policy.  Some were old, some new, and some were about what I continued to see.  I hoped he would take them as feedback.  No, he wanted to argue the points. That wasn’t my goal.  I wanted to see what he would do with the feedback and he did not pass.  That’s not a condemnation of Sam.  I don’t know him, I just know of him as I think I just met him once.  What it did do was it reminded me how much marketing people have a problem with feedback that they don’t like.

I tell the story about Sam to really bring out a larger point, marketing people don’t know how to take feedback.  They need to become more flexible and at least act like they are interested in feedback positive or negative. I told the story about Sam because it is fresh in my mind.  It also showed how marketing people are a one way conduit. Rarely do you have a successful one way conduit.

This isn’t a problem limited to Microsoft.  I see this across the board.  I see that at other places much closer to home and it is much more intense.

Monday, February 10, 2025

Observations Are Not Rants

I’m getting ready to post several observations that I’ve seen over the last number of years and how they are failures.  Some people will call me a malcontent and just ranting.  No, these observations are observations on what I have seen and some additional feedback.  If I hadn’t seen good and bad, I wouldn’t have anything to talk about, well I probably would but that’s a different discussion.  I do refer to my long posts as wallyphestos, so you will have to bare with me.

Tuesday, February 4, 2025

WallyPhesto

 I'm sure that you've heard me refer to a WallyPhesto.  What exactly is a WallyPhesto?

A WallyPhesto is a long stream of consciousness post from Wally that makes sense to him and hopefully makes sense to you.  It typically contains background info as well as important guiding thoughts and analogies.

Have you heard of a manifesto?  A manifesto is the fist generation of a WallyPhesto.  A manifesto is a public declaration of policy and aims, especially one issued before an election by a political party or candidate.  We've heard of communist manifestos, various killers who have put out manifestos, or the most famous manifesto of all, the Unabomber's manifesto.

A WallyPhesto is not very serious.  WallyPhestos came out of my writing books and moving to magazine level articles.  Magazine articles tend to have relatively short lengths, approximately 1000 words for a regular article, or more for a major article.  Because the articles are printed on paper in magazines, the articles can't really be infinite.  I found, especially with my magazine articles, that context was important.  Because of the important of context, I added background information.  My 1k word articles were hitting 2.5-3k with source code.  Printed articles, which should be around 3k of words and top out at 3.5k, that I wrote were topping out at 5k words, much too much.  I think it was Michael Desmond, then editor for MSDN Magazine, who said something like "Wally, I love your passion, but these long WallyPhestos are getting too hard to work with." A term was born.  

Thanks Michael.  You have created a monster.

Monday, December 16, 2024

Many Times, Customers Create Their Own Problems

 I ran across this article about fraud in the State of New York when it comes to technology and software.  

I had a few thoughts on this. In my experience, customers tend to cause this problem and bring them upon themselves.

About 15 or so years ago, I talked with some folks that wanted me to do development work for the state of NY.  They weren’t going to pay much, like 28% of my rate and expect me to travel on my dime.  that just struck me as so unrealistic that I didn’t really know what the issue was beyond there being an ulterior motive.  My assumption at the time was that it was just a front for h1-b mill.  The idea being that they had to talk to US citizens to confirm that they couldn’t find anyone that could do the work to justify hiring h1-bs.

I’m sure that the above is true, but I think that there is more to this under the covers.

When you go looking at the root cause of these problems, they tend to be caused by the actual customer themselves.  Someone comes into purchasing, or legal, or somewhere in the chain and says, “I can get you a better deal, just watch this.”  They end up laying down a bunch of unrealistic rules and rates and requirements that are meant to make them look like tough negotiators.  I can hear it now, “we’re getting a better deal for the people of NY!” And they get thunderous applause.  In reality they get shit, but you don’t know that until later on.  When you put unrealistic requirements out there, the good people run away and they won’t work under bs requirements.  You get stuck with the bad people who game the system and commit what appears to be fraud.

To fix it, they always have to go back and start over.  Bad software is a sunk cost, it’s over.  You have to go back and start over.  I suspect that this is what is driving this deep dive and finding fraud.  “NY is having a bunch of failures of projects, they start to go back and look at this and say that the people brought in didn’t actually have the qualifications that were claimed.” I bet that if you look one level blow this, the actual driver is that there is a problem in several failures in Albany.  Why are there failures?  Because of the unrealistic requirements that someone that doesn’t know the first thing about software has deemed as a requirement.  The media won’t tell you that actual cause.

The next step in this is that some “experts” in software will start pitching magical software development processes like scrum, agile, tdd, etc.  I can just hear the sales processes now.  The reality in all of this is that you have to have good people doing the right things.  Good people cost money.  You are actually better off with fewer people that are expensive than a bunch of low cost people.  The low cost people can never produce or they take so long to produce that just paying more on a per hour basis would have cost you less over the entire project.

Saturday, December 7, 2024

So, what happened to me?

You may or most likely don’t care what’s happened to me, and I can’t say that I blame you for not caring about me.  Heck, if you did care about me, I'd suggest a good therapist for you.  ;-)  

I’ve just had a lot of things happen.

  • Both of my parent's have passed away.  I am the executor of their respective estates.  Being an executor takes a lot of work.  Let me tell you about lots in a rural area that were surveyed incorrect 50+ years ago.
  • I was the executor of the estate of another lady who left all of her possessions to my mother.  Three estates to be the executor of.
  • I had to take over the family business, which is real estate development.
  • I'm about the economic advantages of startups.  That is where I am at.  I've been thru two startups where we went from garage to sale.  These were great experiences.  I've seen startups that made every wrong decision you could make, and they just hit the ground.  You try to explain to them what the problem is and why they need to make a different decision and it is like they only understand Mandarin Chinese and you are explaining things to them in English.  
  • Too many people in the programming world don't understand money and don't want to talk about the economic reasons of why things happen.  They want to talk about code.  To me, code is actually boring.  I want to use code to create an economic payback.  I want to create an economic advantage with code.  Code is only kind of interesting.  Show me something that creates a competitive advantage and I will sit on the edge of my seat and listen all day, twice on Sundays.
  • I also got a bit chased off.  I’m about the customer.  Vendors are about their own sales.  There is a natural conflict there.  Sometimes, the vendor folks take things a bit too far with their rhetoric.
So, I haven’t gone anywhere.  I'm not mad at anybody. There is plenty of work that I do, I just am not quite as visible in the tech world for the last number of years.

Thursday, December 5, 2024

More Bad Advice, or Bad Actions, in a Startup

When you are working on a startup, there are a lot of things that you have to be careful of.  One of them is thinking forward.  The specific case that I've been seeing a lot of recently is the case of a multi-client saas system.  There is where you have multiple people/companies accessing the same data thru the same database.  It is also called multi-tennant saas.  For some reason, I've started seeing people that built their saas for one customer.  This is a major mistake.  Why?  Because each new customer means that you have to deploy a new database.  Now, 20+ years ago, I was at a place that realized this.  The problem is that you need to put a customer key in a new table of your database, and then import data in such that the data has the customer key along with the previous primary key.  Together, those two should provide you with unique values.

Now, life isn't great.  You still have to have unique values or somewhat to get to everything uniquely.  For the DBAs reading this, I'm talking about unique values, uniquely identifying rows in a database, and many times having primary keys.  What happens with user ids?  You could have customers in a common database that has the same user ids.  You can still overcome this.  I have a membership in a system that has prefix values for the user ids.  For example, I'm in Knoxville, TN.  User ids based in Knoxville, and East Tennessee, have "knx" prefixed values.  It is a saas system that I have to have a membership to based on some work.  It works. 

Think about the future, and go ahead and plan for problems that you will have.  I've handled this problem listed above and handled this before hand.  Handling it afterwards can be painful.

Good luck in startup work!