Wednesday, November 30, 2022

Life: Someone attempted to access my Spam Microsoft Hotmail Account

Fortunately, the account they attempted to hack is an account that I use for all non-personal uses. I don't know if anyone has ever successfully hacked my email to my knowledge, but it is likely there may have been a person that I am unaware of. I have changed my passwords multiple times when Microsoft messages that there seems to be suspicious activity.

Changed Password

Today I got that message about two hours ago. I completely forgot my password so I reset the password. It then sends a code to the Authenticator app but I have never set up this account to my Authenticator app so I cannot receive the code. I send it to a backup email. Change password. Signed in, wants to verify with Authenticator app. Changed it back to email. Which then had me change my password again. (All passwords can be repeated so I have to come up with a new password that I am likely to forget again since I rarely use this account except to get verification emails). Finally able to access email and added to my Authenticator.

Suspicious Activity

Quickly went to the account access history and I see a whole list of different countries for the last 3 weeks. The first few activity were 3-8 days apart (Russia, US, and Canada). Then it suddenly bursts into multiple attempts within the last 6 hours which appears to be about 5 attempts per hour. Each time from a different country. 

Why did it take 4 hours for the suspicious activity to be triggered? From activity history after Russia, US, and Canada, there were China, Morocco, India, Mexico, Egypt, Peru, Indonesia, Brazil, Azerbaijan, Vietnam, Iran, Albania, Cambodia, and Spain. All that within 6 hours. It seems it should have triggered after the first hour. Who can possibly travel that quickly or change that many VPNs or that many cloud services in such a short period time with no past history of doing so?


Summary

Looks like someone attempted to hack my email. I changed the password. I find it suspicious why it took so long for the Suspicious activity to be triggered. Fortunately, no harm appears to have been done. History says no successful logins. Even if successful, account isn't used for anything but still sucks to have to remember yet another password.

Buggish: Windows Files In Use (Locked) but Still Able to Rename thus Not In Use

There are times that I am unable to overwrite a file in a destination folder. There is nothing that I am aware of that has it open. Whether I use script or using Windows Explorer, it is unable to overwrite the file. But I can rename the file then copy the file.

If I am able to rename the file, this seems to indicate that the file is not in use. Sooooooooooo.... I have no idea what is going on. I have been able to do this for years and does not appear to have ever been resolved. This has also been impossible to search on Google because everyone is searching for resolution for a file that is actually locked or in use (although unknowingly to them).

Tuesday, November 15, 2022

Scammish: MtGA suspiciously manipulating matches

I run a primarily mono-red burn deck. Major weakness is enchantments. I play against a lot of enchantment decks. So much that I put in a single disenchant. I already had a dual land with white for a kicker.

Suddenly, I stopped facing any enchantment decks. I hold onto a disenchent card and never used it over 50+ games. I was losing even more often. I removed it, and instantly I played against enchantment decks.

Not just immediately, but for the next several games as if the system was queueing it up. I put my disenchant back in and no more enchantment decks.

Also suddenly, I was playing against (suspiciously different people yet seems almost exactly the same decks) were what appeared to be multi-colored shrine decks. I have to face several spirits that come out of nowhere. Also nowhere to find are my 5 burn down the house cards. Yet I always seem to manage to get my lone single strangle card each game.

I also seem to never get the End of Festivities (1 damage to all creatures) whenever I play against a small aggro create deck.

I always seem to play against black decks that have all 4 cut down (or whatever it is called).

I always seem to play against counters that have the right counter non-creature or counter creature through several rounds of single-card hands (ie they have no other cards in hand).

I always seem to play against single-color decks who happen to have 3-4 (probably 4 because I cannot survive past 3) of the largest anti-burn creatures. I just played against a player who played 3 Totalarian Terrors by round 6. Fine that he was able to cast one by round 5, then he plays 2 more right the next round. I barely have 4 mountains in a 60-card deck with 24 mountains. And he is able to pull 3 Totalarian Terrors in the same amount of time. I don't even own a single Totalarian Terror.

I always seem to play against a white deck that has the just the right amount of exile cards. No exile cards when I have no creatures, exiles up the wazoo when I have several creatures, etc. How do I know because they run out of cards. And I then suddenly get flooded with lands.

Speaking of land floods, they always seem to occur at the most critical points of the game. I am winning 20 to low single-digit. Then suddenly, 8 to 10 lands in a row. I have the red cards where I can cast 2 exile cards (which will turn up two lands) and the one where I discard one to get two cards with two treasures (ie mana) which would also turn up more lands. I would have a hand of lands. Odds? I have a 60-card deck. So my deck is 40% land yet after counting my lands with remaining cards, I have about 70% of my played cards are lands. 

The deck builder crashes all the time!! This was added because I had to restart the game several times just to look up some of the card names. You can see where I gave up above.

Sooooooo..........

Could I have been so randomly bad? maybe

Did I somehow upset lady luck? maybe

But for this simple-minded player, these odds seem terribly suspicious.

Thursday, November 3, 2022

Scammish: Magic the Gathering Arena Mobile App RNG (MtGA)

This may be more broken RNG than it is a scam, although according to other netizen's anecdotes could be scammish favoring P2W. P2W is too difficult for me to analyze. I do not have any suspicions of it but I do not think I could tell. Definitely, there are players with cards that completely trump any of my decks but it is not like those cards are inaccessible to me... and I can see F2P players potentially grinding to have those cards. Those decks are pretty rare to play against, and I suppose I am fine with it once in a while. It is kind of cool to see some rarer cards. 


A mono-color red deck with 25 lands of a 60 card deck
  • 80% of my starting hands have two lands.
    • With more than 33% of my deck being land, I should on average 2-3 two lands on equal ratios
    • On very rare occasions I have one land. Maybe once in a hundred games (~about once a week while playing around 30 games a day)
  • Many of my starting hands that more than two lands come only after multiple losses
  • Several hands where I have all the same non-land cards
    • several games where opponent has all 4 of the same non-land cards within 3-5 rounds
    • For poker fans, the odds of getting a four of a kind 0.02% chance in 5 cards and 0.1% chance in 7 cards. So the odds of getting all four with a 60 card deck vs 52 card deck is lower. 
  • Each day, I may get what seems like two normal games where the opponent and I get a normal distribution of lands
  • Majority of games, the opponent always has the right amount of lands and correct land to play multi-color decks
    • I have faced several multi-color decks that have been able to get play lands each round and has one of each color to play very rare legend cards at exactly five rounds while I almost always struggle to get more than two of a single color.
  • I have faced several games where I go on a drought pulling 10+ cards multiple times
    • With 33% lands, 5 non-land cards in a row would be a 13.5% chance.
  • I have also faced several games where I get 10+ lands within the first 20 cards
    • I get nearly half my lands after 13 pulls which typically starts with 2 lands
    • With 33% lands, 5 land cards in a row would be 0.3% and 7 in a row would be 0.04%
    • I have also played games where I draw 6-8 consecutive lands
  • Opponent always seem to have land. On very, very, very rare case I will see an opponent have any sort of drought. I have several games with only 2-3 lands the entire game. My opponents always have at least 4, and reach 8 lands on a very regular basis and always has spells.
    • Opponent very rarely has land drought. I have maybe seen this 5 times after hundreds of games. Maybe once a day, I'll have
  • Deck contains about 6 cards pertaining to creating creatures or creature spells. On many occasions, I will get all creature spells at the start of the game. 


Occasionally, I play multiple colors
  • There have been many games where I would get 3 lands of one type and 4 cards of the other type. For example, there have been several games I would get 3 plains with 4 green spells or 3 forests with 4 white spells
    • This is also a good number of games when only looking at only starting with 3 land hands which in itself is already rare
  • With nearly half the deck with lands (28 lands in a 60 card deck), majority of the time I only see two lands.
  • Not only is two lands the norm, several times I will not see another land for another 5 or 6 cards.
    • Many of the times I go on a drought, I also face very low odd decks where they run 3-5 colors. And they have always get the lands that they need while I barely get two colors on equal frequency as my opponents.

Matchups
  • I am always able to find opponents at any time of day. With absolutely no evidence, I suspect most of my opponents are not real players (ie bots, employees, not actual random people, etc).

EDIT 2011-11-14

After this post, my land distributions seem to have improved a bit. I will have about 3-4 lands after 20 cards. This at least is playable and have been able to win on rare occasions. 

Tuesday, October 25, 2022

Life: Yakult in a bottle? YES!!

Ever have those little Japanese yogurt dessert drink? They sometimes serve them frozen at some Korean restaurants (although I haven't seen any in the west coast). I have always been good and only at most one a day when I had a pack at home. "Had" not "bought" because I think they are way too expensive as I rather drink something else for the cost.

After I met my wife and her friends, they all would drink the entire pack in a single sitting. I would still just drink my one realizing I will never have a chance to drink a second one. I just cannot get myself to drink a second one.

Still in the back of my mind, I feel like it is such a waste of money. It would be like if I paid and drank 5 cans of soda when it would have been much cheaper if I just drank a 2-liter bottle. 

Then one day, my wife brings home a bottle! Now I feel much better even though I have absolutely no idea how much the bottle costs. I still do not drink much although it tastes exactly the same. Mostly due to trying to lose weight. If I were fit or skinny, I probably would drink the whole bottle in one sitting.

Whatever the case, I think this is an interest case on how my brain works. They also do the same for the individually packed seaweed packs and I have almost the exact sbrain-breakdown.

Friday, October 21, 2022

Work Life: One Man Scrum (SDLC)? Maybe temporarily

My new boss wants me to also use scrum to track the side projects that I have been working on. I am the only person in my "team" (which begs the question if a team can be one person). So I will be the developer, product owner, and scrum master.

My initial thought is that this is just a waste of energy and time. All the ceremonies are quite useless in a single person team (SPT) except maybe the retrospective. But this all basically falls under personal software process.

If I were to be forever on my own, I would suggest Kanban.

But I do not wish to be the only person to support an ever growing teams that I support. I basically have these side projects just to keep up with the work load. Managers keep promising new member(s), but it has been over a year.

So I got to thinking that a One Man Scrum (OMS) is feasible. I also think the important part is that it is an individual that is strict with themselves in maintaining best practices. This is not a thing that any manager should just ask an individual if they can manage it (why a manager would ever trust in individual like that is beyond me but that is besides the point). My people I know would not have the discipline to do it.

In some ways, the individual needs to be able to act like split personalities. Act as SM when it doing SM tasks, developer when doing development tasks, and setting objectives when doing PO tasks. Most people I explain to can barely understand most of the roles much less all of them. 

Although not related to OMS, I have to continually explain to them why I can or why I cannot because of other roles. For example, I have to continuously push back that testing is required. People are always pushing changes to production as quickly as possible and always seem to want to skip QA testing. At most the developer who created the change says they tested the code. I even give them the option to "skip" testing by having QA sign off on not testing. QA almost always say they will not sign off. They also complain that they are pressured to move things out faster too. I tell them that they should get sign off from managers to skip testing if they need to expedite the process. And when this occurs, manager also almost never signs off. Then suddenly everyone agrees on a real time-line. I have to explain this every time, many times to the exact same group of people.

Back to OMS, the important thing is that the "process" is maintained. Yes, the process can change but it should change like a normal scrum team. The goal is that when there are new members, the process does not need to be defined at the point of time. It would move forward like any new member of a scrum team.

Perhaps a better way to explain would be to imagine an ideal scrum team and keep eliminating a person until there is a person left with potential replacements in the future. I have not thought this one completely through.

Thursday, October 20, 2022

Work Life: Gen Z vs the rest - Response to Top 3 workplace practices Gen Z dislike

All generations have these people. Not just at work.


If anything, journalism surely has dipped over the years.


Reference

https://www.msn.com/en-us/money/other/the-top-3-workplace-practices-that-give-gen-z-employees-the-ick-and-how-to-avoid-them/ar-AA139Dp2?ocid=entnewsntp&pc=U531&cvid=5c77c89c73434a75b22253f7dcba07ea#comments

Friday, October 14, 2022

Work Life: Are Software Developers who cannot follow simple directions any good?

Completely limited to my personal experience, I just do not understand developers who cannot follow simple directions. Part of our setup is to create a GitHub account. Majority of our developers cannot follow the simple corporate step: ID is to be first-last-companyName

I am not including the "what do I do here?" or "what do I put here?" One of the steps is to create an id which is simple [first name]-[last name]-[company name] where company name was masked for this blog. There are even a couple examples on what it would look like. There have also been a couple where I emphasized this step, and STILL I see a different id. I lost count of how many brain cells or hours wasted wrapping my brain around this. The latest being that the person did not include a dash between first and last.

THEN... when I point this out to them, they ask "how do I change it?" And right at the end of the exact same step that they probably did not read are the steps on how to rename your id in case you did it wrong.... BESIDES that it is a globally known site which they should just embarrassingly just Google search. Do they have no shame and having to ask me?

Is this my only story? Oh no no. From my personal experience, I find that good developers have all followed instructions very well. Not always perfect but there is definitely a level of difference. There is a level of attentiveness to detail. I am starting to wonder if it is just better to make interviews about just creating accounts to follow instructions... but then I guess the recruiter will figure this out and train their clients.

My favorite is one developer claiming that he has an OCD in being a perfectionist and his work was by far the worst, littered with mistakes everywhere besides what I would claim to be more like perfectionists. He is a native English speaker and only that one language. His emails come out worse than all our internationals combined. Much less things like proper upper-case, consistent spacing, etc. that I wouldn't expect even with  English speakers but would for an actual perfectionist.

So what? What's the big deal?

I have come up with my own person bias that these developers make all sorts of errors in the most inconvenient places that I just do not find from "good" developers.
  • Folder names with accidental double spaces
  • Spelling errors
    • lable vs label
    • manger vs manager
  • 1 vs l vs I
    • the number vs small L vs big i
  • Terrible backup files or variables
    • renaming files with bkp, old, etc.
    • Inconsistencies with renaming backup files
  • Then backing up with same files or variables
    • renaming with bkp_bkp, or bkp2
  • Low problem solving skills
    • Big egos with poor attention to details usually lead to poor problem solving skills... although I am finding problem solving seems to be much harder for others in general
      • Example: We have a password vault. To access this vault you need to have a token. Our developer created a web service with no security to access the password vault. People think our password is protected (which it kind of does) and/but anyone can access this web service. So you can access the resource without a password. Seems everyone was focused on "not needing the password" and not the part where anyone can "access the resource" part.
  • THE WORST?
    • They cannot even identify this problems when I explain it to them (even the spelling errors)
  • EVEN WORSE?
    • I am at the end of the process, meaning analysis, development, code review, QA testing, UAT testing, etc. has already been done. When I bring this up, they will say that it is a minor problem and do not want to fix the problem.
    • AND THEN LATER... I find that someone named it correctly on another server and no several environments are out of sync.

Tuesday, October 4, 2022

Work Life: Manager cancels 1 on 1 meeting, then asks if reschedule is necessary. Shouldn't this always be necessary?

First before getting into this too deeply, I have not had a manager who ever really cared for 1-on-1 conversations whether it is required by the company or not. 

For the first decade of my career, I didn't care much for 1-on-1. I always thought it was a waste of time. Shouldn't my manager know what I am working on? Some may ask why should they know. The reason at that time was because they are the ones assigning my work and I report to them when it is done. Now, I know a little better because I have a lot of flexibility in my work and my manager does not know the specifics (if I did not tell them). Later in that same decade, managers never said anything meaningful in the meeting. They didn't care for what I said. Thus, I dreaded them because it was such a waste of my time. This was also the time period I was putting in 60-80 hours weekly with occasional 80+ hours.

In the middle, there was some transitioning on my mental outlook on work and career.

For the last decade, I have cared more about my 1-on-1 for several different reasons:

1. To learn what my manager does.

2. To learn what his manager does or looks for from him.

3. To know I am on track.

4. To see what other opportunities are out there.

5. Delegate work that is more than I can handle or at least start giving notifications that my workload is reaching its limit


I think the manager should care on what I do, but I do not get the feeling that I do. I feel that most managers find that I am a great employee and I do not need to be managed, so they spend their efforts and energy on the more problematic employees. And by problematic, I just mean those who just needs more hand-holding... not necessarily that they are a negative affect on the company. I have learned there are a lot of them.


I do not understand that part. Why spend time on those who not only take up energy but also have shown no evidence of growing?


Is it because I do not show enough ambition? I do admit that I am kind of wishy-washy on my future, but I feel that I am pretty clear that I do want more impact. Why am I wishy-washy? Because I just do not want to limit my possibilities with what I think because I believe my views are more narrow than my manager.. because they are higher than me and have more experience. And this may potentially be my current downfall. I do make it clear that I do want more impact which I hope translates to some sort of promotion. But I am fine if he just puts me in an area that I have more control over future products or people that I can personally manage.


In all companies especially the larger ones, they all require 1-on-1 meetings because it improves engagement. High engagement keeps people. But everyone that I have asked about their experience with those meetings, all think it is a waste of their time. Everyone that I ask are not managers, so I am missing a huge side of this.


Perhaps in my next call, I should ask if my managers find any use to the 1-on-1 meetings.


Of course everywhere when busy season rolls around, these meetings keep getting canceled or rescheduled. This is nothing new.


But I feel when my manager says that he needs to cancel then asks if it needs to be rescheduled... I get the feeling that he does not understand the value of these calls. I know he thinks that he is giving me time because I have lately been telling him that I do not have time to finish all my work. But these 30 minutes calls are such a minute part of my week. I think he should find a way to make those 30 minutes valuable so that it is worth my time... unless it is to maybe use that 30 minutes to talk to his manager to get what I need.

Monday, September 26, 2022

Work Life: Someone asks you to do what was already done?

Scenario Part 1:

A manager just asked me to put in the steps to execute a script.


Version 0: "Execute scripts from ticket XXXX"

Version 1: "Execute scripts in ticket XXXX"


In my mind: Was that not originally clear enough? But I am not going to push back because I just pushed back on a minor detail a minute prior because I do not believe they needed to go through me. My process requires many steps. The other process takes one, maybe two. So I just make a change.


Scenario Part 2:

The manage asks me to include a link to the ticket.


Version 1: "Execute scripts in ticket XXXX"

Version 2: "Execute scripts in ticket XXXX (http://domain.tld/XXXX)


In my mind: The ticket id is already there, why need the link. Description doesn't linkify the link either so the user still has to put in the id or full url which IMO the id is way easier. Also the URL can break for example our ticketing system migrated and changed url so that would have broken. But all the ticket id are still the same and would still work.


Scenario Part 3:

The PM pulls all of us into a call to discuss the status. The last few messages in the same group chat created by the PM:

Me: Need rollback scripts from A

Me: Need tester to confirm test from B

Me. Need manager to approve ticket C


(In the call)

PM: What is the status?

Me: (reading off the chat)

PM: Ok. How do we make this move forward?

Me: ???????????????


In my mind: Do you want me to read the list again?


Scenario Part 4:

Everyone is finally synced. So I really wanted to know what the manager thought, so I showed in my screen with the original values to see what he thought.

Manager: Looks good

In my mind: Did you even view the ticket before asking the questions?


I put back the additional info before submitting the ticket. 


Scenario Part 5:

My process took took maybe 5 minutes include the above conversation. At the end of the call...


Everyone: Thanks, you did a great job?

Me: Thank you (for the unneeded job security)


In my mind: For making it harder for everyone? The other process was basically my last step but by a person from a different team who has the authority to execute without all the extra bureaucracy.

I was the only one thanked. And why am I the only one being singled out? The devs did more work. Analyst had to do the testing with no real test environment. 

Wednesday, September 21, 2022

Work Life: Sign of a Fake Developer > screenshots vs copy/paste

Developer sends a screenshot of the objects that need to be referenced when it be easily copy/pasted forcing the recipient to type out the entire name. Even after many situations where other users have transcribed incorrectly multiple times particularly with unexpected spaces, 1 vs l vs I, 0 vs O, etc, developer continues to take only screenshots.

Developer sends a screenshot of an excel sheet, html table, etc.

Developer sends a screenshot of text on a notepad of the name of the server name or service account or anything that requires the admin to transcribe into another system.


#FakeDevelopersHaveNoEmpathy

Tuesday, September 20, 2022

Work Life: Venting about venting turned into just venting

I have recently been venting a lot of negativity about the people around me about the people I work with. Unfortunately, sometimes this come through when I am talking to another colleague. I do my best to still end the conversation on a positive note but it has become harder and harder lately.

Work-positive, I do many things to assist or automate so I am not just purely venting and twiddling my thumbs. I created a chat bot, created ticketing processes, demo how requirements can be broken down into smaller workable parts, etc.

These are all things that are not part of my job description. And I think my frustration is because the problems are growing faster than I can fix them... which no matter how much I try to convince myself that is always the case, it does not stay below my threshold to vent.

So maybe as a final venting ground...

I just do not understand why people do not care about their work!!! By "care" I mean wanting to learn more about what they should be doing. Although I complain that they do not know what they are doing, but the kicker is that they do not even motivate themselves to figure it out on their own.

I work with a "scrum master" that doesn't know scrum or agile. The person is not only a scrum master, her title is actually Senior Scrum Master. She complains all the time that she has no time, yet seems to be able to find time to email, comment, message on the exact same thing on my tasks every single day. All these tasks appear in my queue... if she just updates the tickets properly which is just to assign to my and put the status into the backlog state.

I work with people that have practically no consistency at all, not even in misspelling. In a single list that the person produce, I can have 5 different variants on how to name something. All the different objects would be the same type but they manage to give each one a different type on top of all that. 

I keep a nice color-coded spreadsheet to manage all the chaos. I had to share this when I had to be on PTO for an extended period of time. I come back with my spreadsheet missing all sorts of detail. Even one person pasted 5000 cells "by accident" losing all the data.

We have a bottleneck in our process where we do not have enough testers, yet we have been hiring at a high rate at all positions except QA. Now we have an even worse bottleneck...

I work with developers that cannot figure out other applications. I have developers not know who to go to about getting access to different applications. I have sent one manager the link on how to give access to our wiki in practically every single email, yet she keeps sending me an email to add someone. It has been two years, I still get those emails. The steps is basically chat with a bot, click, add the person's email, click wiki, then submit. It is way faster than email anyone.

I work with developers who do not understand access levels. I do not know how many times I have to explain to developers that they are trying to access something in SharePoint so they need to reach out to the author of the artifact. Even after explaining, they would tell me that someone else told them that they need access to the wiki...... yet, they are clicking on the link to the video that is in the wiki. And the video url clearly shows SharePoint and the author's name. There is even a huge button that says "Request Access" when you click the link.

THEN.................... I have to go to the other developer on how to make their video accessible. I have to explain to a DEVELOPER on how to grant access to a video posted on a medium that I have not used before. They basically screen share, then I basically just have them click on educated random things to eventually figure out where to grant access which they always claim, "Oh, I didn't know I can click that". SOOOO disturbing that developers do not know how to "reverse engineer" a simple website built for people with even less understanding.

I shouldn't care about all this. I should just leave it hang. How do they figure things out before? Even though I know the answer because that is why the company is in the state that it is in. I have to say that it is impressive that the business side has been able to make so much money on a product that is almost like building a life-size workable skyscraper with Legos. The new growth is basically trying to convert that into a standard skyscraper not made of Legos by hiring Lego technic experts with my as the guy who brings them the resources advising them that these are not the proper "standard" materials.

Don't care... brain, stop thinking. Just focus on your own task. I am tired of complaining about people. Why cannot I just find someone like myself to help myself?

Totally random thought... maybe the key to getting promoted is be able to find and exploit someone like myself?

Monday, August 8, 2022

Life: Encouraging People to Learn to Code/Program/Develop

There is a lot of context to baseline here. By people, I mean the general population. By coding, I mean software programming like assembly, C#, or C++ on a very basic level. And the issue I am try to address is why many people find programming too difficult to want to learn.

Although easy and hard are relative, I am going to generalize that when most people say that it is hard, they mean that they do not want to bother learning or even understand it. Yet, they can follow the most complex story lines, office politics, and so many non-standard social norms on a regular basis.

We are in an era where technology is being embedded everywhere. Knowing how to code will likely be needed everywhere whether you are a waiter, box mover, design, doctor, lawyer, president, etc.

To me, the odd part is that coding uses a very tiny subset of our language yet executes the result nearly 100% of the time. So it should not be difficult to at least understand. In some ways, it basically is a simulation of logic.

The troubling part when I hear people not wanting to understand coding is that I "hear" them say that they don't want to understand logic and leaving that for someone else to fix.

Wednesday, August 3, 2022

Work Life: Zoom vs MS Teams. Able to Point on Screen Share Host Screen

There is one feature that I really miss on Microsoft Teams (as of 7/21/2022) that is available on Zoom is the ability to point at things on the host screen.

This is a super handy feature for demos or training. I have the ability to just point directly where I am either asking questions about or tell them where to click or look at.

Why is this super handy? Because I seem to be terrible at explaining things with words to people. I have really tried to do my best. "Your mouse/cursor is directly on it" and you watch them move the mouse to look for their cursor (at least I assume they lost it even though they were moving it around). Or I ask "move 1 inch to the right" and I see them move all the way to the right side of the screen. Then you ask them to go back and you watch them go no where near where they were before. I tried to get them to go to an object I know they found before and suddenly they have no recollection of the name, object, or even why we are having the call to begin with. Yes, I am starting to use hyperbole but I think any online trainer will understand the pain.

Interview

Maybe this should be the interview question on how to follow directions? :D

This would have been a wondrous way to make someone even more anxious when they realize they cannot understand simple directions (which may or may not even be their fault!). "Point there! No, not there! Lower, lower, lower.... too low! Higher, a bit higher... no, no, no... too far!!"

Thursday, July 21, 2022

Work Life: MS Sql SMO Script StringCollection, Understanding why result is a StringCollection

Understanding StringCollection with MS Sql SMO Script took me some time to understand better. For some reason it did not occur to me why there are multiple lines. I initially did not care, so I did some workarounds.

Initially, I didn't care because I was using it to compare the same objects across multiple servers so as long as all environments were consistent it did not matter, so I just joined it all together or removed the first two values.

I was then put in charge of managing the source control. The script that was generated for database project did not include the ANSI_NULL or QUOTED_IDENTIFIER options. There are over 10k objects so I cannot possibly manually remove them.

I tried to find a ScriptionOption to remove them but all the answerers bypasses the question by saying that it is required (or at least highly recommended). Most questioners problems are that they are missing the GO command.

Although there are plenty of questions to remove, I could not find any answers that removed them. I have gone through many versions of the same unsatisfying answers. The best is just to add it to the code to ignore those lines or add GO after each record.

Summary

Each record in the StringCollection is a SQL command. Although satisfying to know the answer, a little disappointed in myself that it took this look to figure it out.

I still don't like that none of the Microsoft solutions are ever consistent though. SSMS includes not only ANSI_NULLS and QUOTED_IDENTIFER but also the USE [DatabaseName]. While the SMO Script method includes the ANSI_NULL and QUOTED_IDENTIFIER but does not include the USE. And then the database import into Visual Studio or Azure Data Studio do not include ANSI_NULLS and QUOTED_IDENTIFER but includes a GO at the end.

Run as Script

Join all the rows with a GO command between each record:
myStringCollection.Join("\r\nGO\r\n");

For Source Control

Because database project does not include the ANSI_NULL and QUOTED_IDENTIFIER, I remove all those records. Requesting multiple objects is more troublesome, so I just request one object at a time. The reason it is more troublesome is because there is no strong correlation between the script and the object it is for without assuming it is in the same order as the request or parsing the script. Because this is for source control, it is not worth the risk of pulling the incorrect script.

Monday, July 18, 2022

Buggish: MS Visual Studio 2022 Empty Toolbox or Common Controls only (no solution)

Simply Microsoft Visual Studio shows only Common Controls. If reset, then it becomes empty list. Restarting Visual Studio 2022 will bring back the Common Controls. If I select Show All, it'll show a huge list of disabled controls.

Sunday, July 17, 2022

Life: One of many things to do after getting a green card (GC) / permanent resident card

After helping a friend who recently received his green card...

If you have bank account(s), make sure to update your account status so that they provide a W-2 otherwise, they will send a W-8BEN or W-8BEN-E.

Thursday, July 14, 2022

Buggish: Me and Remembering What I Wanted to Post

Already here for the third time to post something that I thought was important... but clearly not important enough to remember after I get distracted by someone. So now this post has transformed into a post about myself as proof that I am not perfect either and all readers including myself should still perform due diligence.

Best wishes to my future self in hopes these happen less often.

Wednesday, July 13, 2022

Buggish: In Jira cloud, unable to create sub-stories

This may be more of a problem with our team inability to break problems down into smaller parts but that is out of my control and little that I can do about it. Because the story spans more than one sprint, the group has divided the story not into smaller stories but into roles. So one sprint will have the Refinement part of the story. Another sprint with Development part. Another sprint for the Test part.

This makes it troublesome in tracking what the Jira ID is for the story. Is it the refinement story, or the dev story, or is it test? Preferably, I want to use the Dev story because it contains the code that is referenced everywhere else. But it is neither the beginning nor the end.

Can I use the epic? Not really, because the epic contains other stories.

Can I use tasks? Possibly but it is not the same as a sub-task. Task is not considered a child of the story. It can be associated with a story but it can also be associated with other stories.

Can I use sub-tasks? Possibly, but we already use sub-tasks to break down the tasks for dev, testing, deployment, etc. And in Jira none of these can have additional sub-types. Also sub-tasks cannot be assigned a sprint. Because of this case, a task would make more sense.

More complications come up due to the integration with GitHub. Because the integration is dependent on the Jira ID used in the branch name, commit comments, and pull request, consistent use of the Jira ID is important. 

The more I think on it, the more I think the issue is more on the broken SDLC process.

Monday, July 11, 2022

Scammish: Canon all-in-one printers/scanner/fax (imo, just do not buy)

Scanner is completely useless without ink. Why? I have absolutely no idea either. This clearly an intended feature by Canon. Because of this alone, I say this is completely useless. If you want to go with just the Canon printer, see my other article where Canon printer uses cyan ink even though I have only printed black and white documents with both the app and the printer settings set to black and white. Supposedly, Canon claims this makes the black, blacker. I just need a print; I don't need a professional black color. It could be a light grey-scale for all I care to save more ink. But of course, there are no settings at all for this. Additionally, this is for any ink that is empty not all of them. For example, once cyan is out the entire printer (including printing) is useless even if you are printing black and white with full black ink cartridge.

JUST STAY AWAY FROM CANON

What is more scammish, is that I cannot even buy ink for my printer anymore... so... what a total electronic waste on the planet.

SAY NO TO CANON

What a crappy business model? If I had known this was the reason for the lower price, I would have just paid more for another device.

Summary

I would be embarrassed as an engineer if I had worked for Canon. I am already a bit ashamed as engineer that such a product exists. 


Reference

https://douglastclee.blogspot.com/2021/03/scammish-printers-using-cyan-when.html


Friday, July 8, 2022

Buggish: MS Authenticator on Company Secured Phone; Having to sign in 5 times just to use a site.

Company secured phones can be extremely burdensome in that everything requires an authentication. None of the automated notification goes through until it is unlocked. Because of all this, I missed many 2-factor authentication because it turns out to be almost like 5 authentication steps.


If I do not remember to unlock my phone first and I sign into a page that requires authentication, I have to first unlock my phone. This triggers all the notifications which includes all the emails, all the messages, and all the IM/DMs. By the time, I can even get to the button to open authentication, the login has already timed out. So I sign-in again...

By the time, I sign in again... my phone has locked. So I have to unlock again. Then open the authenticator again, agree, put in the unlock code again. Then watch my sign-in hasn't logged in. Check my phone again, and notice another authentication and repeat. Then I watch my sign-in expire and say the sign in failed because it too short for two authentications. Two because the first one was for the first time that I logged in.

So I sign in for a third time. This time I unlock my phone first. Open, unlock code, agree... and finally in. Sometimes it even fails to log in for some reason and I have attempt a fourth time. And then even sometimes this just keeps failing, then I try on another browser. If that fails, I reboot and do it all yet again.


And our lovely company also likes to use the admin account practice. We also have two domains. So the first step was just to switch domain. So now, I have sign in again to get my admin password. This time with an additional step to put in a code, then put in my unlock code. Copy the admin password.

Go to the site I wanted to go to, sign in with admin account. Then put in the admin password again. Finally, usually I get to where I needed to be.


Why do I need to log in so many times? By the second or third or fourth or tenth time, does the system think that the hacker took over my phone or device or my life? The most likely scenario is that I got so frustrated that I threw my phone out the window at which point I guess then all this security does make sense.

Wednesday, July 6, 2022

MIND BLOWN: powershell or cmd from window explorer (Windows 10)

MIND BLOWN: A new category to publish something that has been around forever that I have never known and is a life-changer for me.


HISTORY: For a long, long, long time... I have always dreaded using cmd, CLI, powershell, etc. because I just hated having to navigate to the folder. I have only known to open it from the run command or some shortcut. It is not bad if I can manage my folders because I keep it short and simple. Other people always seem to have deep folder structures, spaces, special characters, etc.


SUMMARY: I can just type powershell or cmd in the address bar (ALT+D), and it'll open to the directory the windows explorer is open to.

I don't know when this started and I don't care because I rarely ever have to go to an older version of Windows and Windows 10 has been around for some time now. But this is so mind-blowing for me. Because I can tell you that every time I had to use powershell, I always, ALWAYS right-click in the window in hopes that an option would appear for me. There is the Run Powershell, but that doesn't accept user prompts (or at least I have never figured out how to get that to work as I don't work with PS on a daily basis or even yearly basis). But now that I have been tasked to build DevOps pipelines, I am finally forced to learn this stuff.


Additional Notes: Found the reason, right-click does not work is because the script was throwing an error:

File C:\test.ps1 cannot be loaded. The file C:\test.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.

To resolve this, I had to run:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

After this, I was able to right-click and execute it.


Alternative: I can also just go to file and open with mouse clicks. 

 

Monday, June 20, 2022

Buggish: MS SQL SMO StoredProcedure ScriptHeader(false) with renamed stored procedure

The SMO StoredProcedure ScriptHeader(false) will return the original stored procedure name (ie this is the script originally used to create the stored procedure). Because it has been renamed, this is no longer the value that I want. I want a create script with the new name.

According to this post: https://social.msdn.microsoft.com/Forums/silverlight/en-US/6de78652-3780-403b-893f-da4ef8a01ed8/textheader?forum=sqlsmoanddmo

This is a known issue. It also references:

https://www.sqlservercentral.com/articles/ssis-%e2%80%93-transfer-sql-server-objects-debugged

https://www.sqlservercentral.com/forums/topic/ssis-%e2%80%93-transfer-sql-server-objects-debugged


My resolution is to use the ScriptHeader(true) and change ALTER PROCEDURE to CREATE PROCEDURE as it is easier than parsing or replacing the stored procedure name. I also need to use ScriptHeader to preserve the documentation in the header.

I also use this to move db objects from one server to another.


NOTE: I think this only happens if a rename is used. To workaround this before, I would just run the alter script on itself. I wanted to get away from that because it would change the last updated datetime which I also used as part of my fuzzy logic in determining script versions that are not source controlled.

Thursday, June 9, 2022

Work Life: Retrospective on Learning Azure DevOps Pipeline and Release (primarily a C# developer)

I am a very lazy learner. By this, I mean more like lazy-loading in software development. I read as little as possible before trying to implement something.

Due to this, my learning of Azure DevOps Pipeline and Release was quite frustrating. To guesstimate, the experience probably took me about a week to get something to work with some ability to customize to external needs.

Pipeline vs Release

I still do not have a clear picture of this in my head. The things I read have not been fully digested and not similar to my experience with them.

My current view is that the pipeline is an ability for me the ability to use a temporary virtual machine to "download", build, and create an artifact.

I use Release to get that artifact and deploy it to the target systems.

A small question mark in my mind is that pipeline could be used to deploy and release can also be used to build. Using them separately above is still much easier.

Learning so many new technologies

By new, I mean things I have not learned for example bash. Bash has been around a long, long time but I haven't ever needed bash although a bit similar to dos command. I know extremely limited knowledge of dos command besides navigating around and getting user or system info.

Because I am a windows guy, I was using a windows VM. I was using bash on windows. I did not realize this was a problem when I was trying examples which were mostly designed around Linux. I admit that I didn't know bash was primarily a Linux thing. So after a lot of time in-part because it took me a while to learn about the Linux part, I changed the VM to Linux which then magically everything started to work properly.

The hardest part of using Windows bash was moving files around. Because Windows uses a drive letter, the copy was confused on what to do with the drive letter. It sometimes used the letter as a folder so it could not find the files. I probably didn't use it correctly.

I also had to learn YAML. Although pretty simple on the format, it was difficult to understand how this was used. It was edited in Azure so part of my mind was thinking this was executed in Azure. After a lot of troubleshooting, it finally dawned on my that this is mostly triggered from GitHub because GitHub has to send the trigger to the pipeline. So things like why the trigger branch only works on the branch the YAML file is on is important.

I was still in the process of learning GitHub and how to use it with Visual Studio while trying to train developers on branching (I also do not understand why I am the person responsible for this as a release manager). There was just so many variables in my knowledge that it was rather frustrating to figure out where the problem is.

Troubleshooting

Part of learning so many new techs is troubleshooting them. I spent hours just figuring out that spaces are important in bash. An equal sign requires no spaces around it when assigning. Then it needs spaces for comparing.

Learning which variables are part of DevOps system versus variables of the language or VM system. I really just tried copy/paste but understand where my system variables are used with code variables was taxing my brain.

Time Constraints

Would it have been better if I just sat down and read each tech first? Probably not. I would probably still be learn all the capabilities of bash and nothing else. Was there a better way to handle this still?

I definitely admit that I am very cheap. I tried to lean on colleagues but they lack the expertise even in their own fields so I have very little resource within my company. It was also very, very difficult to get someone's time to just look at my problem or teach me the technology. I spent so many evenings just reading on things just to solve seemingly simple problems like getting just the changed files in git.

I actually asked a friend if he knows anyone about the technology and offered to pay (with my personal funds) to help me with my work. I figured this was the fastest way to learn as they would know what I need to know and what I didn't need to know yet.

Ended up I couldn't find anything and my friend being curious as he was assisted me with at least the bash portion enough so that I can figure a piece of my problem. Amazingly that was enough stability for me to complete the whole project.


Tuesday, June 7, 2022

Buggish: No TypeScript version specified by loaded projects. Using the default Visual Studio TypeScript version 4.6 for IntelliSense.

This is for those who have limited knowledge of Visual Studio (for this specific instance, Visual Studio 2022) but probably the same for other recent versions.

I have used Visual Studio for several years and have almost never used the output tab before. I was troubleshooting an issue that was throwing an error when pushing change to GitHub.

The error said to look at the Output window. And in the output window is the error:

No TypeScript version specified by loaded projects. Using the default Visual Studio TypeScript version 4.6 for IntelliSense.

For the life of me, I couldn't find anything on updating the TypeScript. In some ways, this was fortunate because this had absolutely no relationship to my error. I think this message comes up in all my projects as I never specified TypeScript before. Also does not appear simple to modify.

While troubleshooting, I noticed that I could not reach GitHub due to corporate firewall. The security team is already out for the day. So eventually, I just used my phone to hotspot the access. For some reason, I can access from outside the building network.

After getting the push to finally work, I noticed that the output has a dropdown which you can change the options. By default, it is on Intellisense which is why I have the message above. In the drop down, I found one for git and saw the error messages blasted multiple times. The error was that it did not have access to github. This would have saved me 90 minutes.


Solution

Make sure the output is showing the option.

Thursday, June 2, 2022

Video: Using Azure Pipeline Deploy to a Virtual Machine

https://www.youtube.com/watch?v=uSEx5QiuOCw

by Rahul Nath





I spent a long time to figure out how to do this. Microsoft's documentation is not obvious to me.

Friday, May 27, 2022

Scammish: Employee Engagement Survey Anonymity / Confidentiality and Why I Rather Not

Every year or some companies are twice a year, I have to fill an employee engagement survey. Every time I fill it in I cringe in the information that I have to share. I have been on teams of 5-10.

I Can Tell With Some Uncertainty From the Results

Most bosses will share the results. From the different graphs, I can usually tell which data point is which person. It does require that I am a bit familiar with each person. The easy data points are the people who have issues/problems. But not any issues/problems, these are typically the people who really, really, really want to help the group. Because most people will just lie on the survey.

I Tried But...

I have randomly been extra truthful on the survey. I even filled out the open ended response on extra this to say.

I also have routine meetings with all my bosses. If they did not, I set up the meeting. So they should already know my positions on certain topics. 

Even Ideally... Surveys Are Totally Useless

5+ companies, multiple more bosses (due to reorgs), they all have the same results... nothing. I was part of one group that actually did try harder. Still all "improvements" barely last the one call discussing the results.

Sure the boss may appear excited for the change, animated, hoo rah rah, booya, etc, I have only seen one get past the meeting . That one time lasted maybe half a year (but COVID happened... so........)

Survey Answer Is Always Perfect or Near Perfect With One Exception

If you are not confident in your workplace and you just want to stay in the the status quo, the the answer is ALWAYS, ALWAYS the happy answer. If the question is negative, then the answer is the negative of that negative.

For example, do you hate your work? Answer is fully disagree.
For example, do you love your work? Answer is full agree.

ALWAYS

Why? Because everyone else is. And if you disagree, the boss will know. And most bosses will cut you because it is easier to deal with than dealing with the real problem.

What if you have a good relationship with your boss? Then the answer would naturally be the same anyways.

What if the question is on the corporate level? Still the happy answer.

Exception?

You really hate your job and you really want to tell the company about it. But why would you want to help at the end? The answer is still the same.

Unless you really, really want to screw over your boss and you plan on never leaving. Because that sore spot will forever stay on his employee engagement score. But likely, he'll identify you anyways and get you fired. Then his score will go up the next year and it'll look like he did something............

Sooooo...... for me, if I were to analyze the results... I would expect everyone to either say they are happy or lie that they are happy. Anything less is more of a sign to what I consider my real answer...

REAL ANSWER for company if possible

Hire or promote good managers if you want to improve. Train managers? I have not seen a single manager ever change the way they manage their team. It seems to be a natural soft skill that people either have or don't have. Jerk managers will continue to be jerk managers. They may pretend for a short period of time. I am even tempted to say that even if you incentive the preferred behavior (if that is even possible), I think they still wouldn't change (or change back). Even for mediocre managers, lazy managers, hands-on managers, etc.

Maybe, maybe.... change the incentives on how teams should work. The biggest problem I see even for good managers is that the "real" demand is to deliver quickly with good enough QA that defects can go undetected. "Real" because the demand that managers deal with is usually different than what their managers say the demands are.

For example, lvl2 manager will say the demand is to upgrade the system to the next system but in reality is stressing lvl1 manager to manage current fires which is not related to upgrade. Lvl3 manager is telling lvl2 to modernize but escalating fires to lvl2. This is my dubiousness on modifying the incentives.

Tuesday, May 17, 2022

RANT: Why Scrum / Agile Does NOT Work for non-IT companies

My brain is just hurting right now. I can no longer take just how dumb people are in general. It just boggles my mind how little people just use their brains. And this is why I believe agile just cannot work in non-IT companies.

How to Make Agile Work

Just say you are doing agile. Use agile terminology. Use words like scrum, daily stand-up, retrospective / post mortem, acceptance criteria, etc. Say it with confidence, no one really knows what they mean. And those who do, just speak louder and interrupt them.

Breakdown three month waterfall processes into two week waterfall processes (but call them sprints). You cannot do a TRUE sprint because the other teams are not dedicating to the who agile process. If you need to show delivery, say that QA is taking too long. Deliver quickly with terrible quality. Make sure to blame others for the problems. Worst-case say there was too much scope creep.

Do daily stand-up call, a daily call that is supposed to be 15 minutes as 30 minutes. Don't worry what that means, just say it is a short status call. It is never short nor a status call. It will always go over 30 minutes because there is always someone who does not know how to summarize their status.

Want to be a scrum master? Just say you are one. No need for certification nor all the testing and training. Everyone I worked with who had one are absolutely clueless. Sure some try, but no one really understands. Why because none of them are engineers of any sort. They are just PMs that couldn't make it to be a PM. Or worse, they are engineers or analysts that couldn't make it.

If you want to do something your way, you HAVE to "act" dumber (or be yourself whichever is dumber) than the other person. There is no logic or reason that can persuade the other person especially if the person is actually smart. What persuades a logical person from even trying is to make them think that you are too dumb to be reasoned with. They may say something like "that will save you on step" and you should respond "I want to add a useless comment" but don't say useless... because you have to show the managers that you are doing something even if that something is nothing but you cannot say nothing... so nothing is something. Or, just agree but continue working as if you never had that conversation.

Even if you have the power to persuade people and get them to understand the process, DO NOT DO IT. You are just going to inflate the director's ego. He was just guessing stuff but now that he saw that it works, he will assume that it was all him and will take all credit. And because you were probably the biggest trouble-maker by making people complain that you are forcing them to do stuff, you'll likely get laid-off for being the most unproductive person.

Thursday, May 5, 2022

Work Life: Programmer vs Developer vs Engineer (Software / Non-Tech World) IMO

Outside of the tech companies, they are essentially the same thing. For companies that have a tech side but is wholly managed by the business side, majority of the managers and much less HR have absolutely no idea what the differences are.

The company will use whatever title to make the person happy. If the company does well and expand, then they will use whatever title that person had last. Even if the company merges with another both companies had no idea and basically use dice to decide which titles to use. 

In all my experience of a very small percentage of companies either directly or indirectly, this has always been the case. Even the titles of levels or jr/sr are quite arbitrary. Some companies have rules but most are based on years. Although they claim experience but there are too many contraries to the rule. To me, they appear to just use it to leverage the employees.

Tuesday, May 3, 2022

Work Life: Dealing with Anti-Change Hypocrites

In almost all large corporations, there always seem to be someone that is against any sort of change in practice. I add "in practice" because none of them will openly admit that they are against change. One of the reasons is that they are usually the loudest person about how horrible things are now and that is why they are always behind.

And it is this last point that I believe is the crux of all their "lies" and hypocrisies. They are able to use it as a crutch to continue business as usual because to them this is "retirement work". They only say there so many other factors that are impacting their "low performance".

The reason it is difficult to deal with these people especially with management that do not understand the nuance of human relationships. Things like "lies", "retirement work", and "low performance" are difficult to identify. Interestingly, these people seem to be the most productive in the most obvious of metrics, appearing to be the busiest body.

But there are many red flags that can be used to identify the situation. One of these is "this is how we have always done it" but may not be in these words. This can also be "impossible to regression test", "the new process does cannot handle of these exceptions", or "not enough resources to manage current process and new process". They appear busy because they are just doing repetitive tasks that appear complicate. 

A harder flag to identify is that they avoid building a solution that will address the majority of the problems. They are always the first against standards or general processes. Whenever someone new joins and asks why can't we build a simple solution, that person will face a long list of reasons why it cannot be.

Which leads to another flag. If someone actually sat down to identify these claims, one would find most of these are anecdotal. And in most cases, the simpler solution would even address the claim. One of the favorites used is that they do not have enough resources. The reason they do not have resources is because they do not use standard. To them, additional resources would be needed but management would not give them more resources.

One reason is because they have already thrown them more resources in hopes to address the problem. But because the process does not scale, the problems continue to grow. By the time management realizes this, they are not able to appropriate additional resources. And for some reason in majority of the cases, managers are not able to just say no to incoming requests and prioritize the work so that they can reduce the workload.

Summary

There is little that can be done to change the behavior of the anti-change coworker (usually a manager). These people are difficult to deal with and takes risk to manage.

The easiest method is open the eyes of the next level manager. But it cannot be any manager, the manager needs to be someone that is able to enforce the policy change. Most managers are doormats in that they will either collapse from the list of "problems" or all bark with no bite.

Personally, I am fortunate to be in a role that typically has to funnel through me. So I make people's lives "miserable" so that they are encouraged to do the right thing. It is a lot like teaching kids to eat vegetables. And to be fully honest, this is only because I care to make things better. Otherwise, it is super easy for me to coast through my job too.

Monday, May 2, 2022

Scammish: Fake Christians

My issues with majority of the Christians that I have met are that they seem to be almost the worst kind of selfish people. They hide it in such subtle ways and rarely return any kindness. They pretend to be nice but they seemed very, very forced.

Fake Kindness or Pseudo-Kindness

If you do not like me, just ignore me. Don't go out of your way to have to greet me and ask questions you do not care about. Or just ask what the person's name is again. There is no need to prepend it with "I know we've met before, but I forgot your name... blah, blah, blah." The longer you go, the more you just seem to be a jerk because you do not care to remember if it really bothers you that much. So now you are just lying about something you do not even care to remember the first few times. I understand many people cannot remember, but most people do remember after the 5th or 10th time. Or just talk without knowing my name.

I know doing kindness should not expect anything in return, but Christians seem to be the worst at returning anything at all. And if it something that is returned, it usually has no consideration to the person receiving the gift. Giving a gospel verse to a non-Christian is not a return on kindness. Giving a gift that the recipient clearly does not use or cannot use is not a return on kindness. AND, I do not know if that is any worse than not even trying to be kind in return. Is maybe kindness only allowed to other Christians? Do Christians give each other gospel verses?

I have lost count on the number of times I have helped Christians that was out-of-my-way and never to hear from them again. Currently, I am pleasantly surprised to just get a genuine thank you. Mostly I just get the fakest thanks. I also do not know if it is worse to get a "I am the unluckiest person" thank you or a "so over the top" thank you. 

Don't ask for favors when you will not make any time to return the favor!! Just say you need help. Why do Fake Christians have a need to feel good about themselves? Do not promise things you do not plan to keep. Yes, there is the usual "plan the next event" that never happens. But if I invite you over, don't promise to invite us over if you never plan to. Sometimes I don't even think they even try. Here, I prefer you just give a stupid fake thank you and just leave. Don't say that you will return the favor. Don't tell me when I am free to go over. 

Why would I basically invite myself over? How about you invite me over and I tell you if I am free? Or? Ask when I am free? I will never bring this up on a whim (does anyone?). If I invite you over, I invite first then ask when you are available. If you tell me you are free and want to come over, I am going to think you (not a personal friend) are a bit creepy. 

And when we do plan something, don't say you are always free when you contradict it within minutes with "sorry, I have small group during that time" or mass or another church event or a church gathering and basically you end that you promise to let me know then never call... every single time. 

Summary

I know my experience is very anecdotal so I do give the benefit of the doubt to new people that I meet. I also reserve that it may be possible that my sample size may be too small. They are still currently one of the worst types of people I meet. 

Friday, April 29, 2022

C# Check if file exists after delete (issue, no solution)

 I seem to have a lot of issues managing files with C#. I have this check to make sure the file is gone after doing a delete. Manually checking, the file is gone but the app check finds the file (but does not find it after I manually check). Maybe timing issue?

fi.Delete does not always delete

Although EXE files will throw an error, there are some scenarios for non-EXE files to not throw an error. In this case, the process will continue as if the delete was executed successfully.

I have not identified why this is the case. More interestingly on the Windows end, I can "sometimes" manually delete the file with Windows explorer. Sometimes I cannot. No clue why or how or when. And when it cannot, I can rename it then delete it with Windows explorer. Why? No clue.

Delete with Process

So, I have a check if the file still exists. If it exists, I execute a command line delete: 
cmd.exe /C del [filepath]

I use Process to execute this with a WaitForExit()


Check if file still exists

Even after all this, the "fi.Exists" still returns true even when the file does not exist anymore. Does it exist when at the time of execution, I don't know. But if I debug it, it does not exist and executes the proper path. There may be some time for the process to execute??


Summary

So somehow after attempting to delete twice, the fi.exists still returns true for some reason in full execution mode but not in debug mode. Why? No clue. 

Wednesday, April 20, 2022

Error only in production "This site can’t be reached" (RCA: Very large data in textbox)

I just get a "This site can't be reached" "The connection was reset" "ERR_CONNECTION_RESET".

There can be many other reasons but hopefully this will help if all other aides did not help.

RCA

Essentially, the problem to this specific problem was the firewall has a limit on the amount data that can be transported. My textboxes contain a lot of data (in the thousands of bytes). If I remove the data in the textbox everything works in production. My local system does not have this limitation so this works in my environment.

Tuesday, April 19, 2022

Upgrading Microsoft C# SMO from 160.2004021.0 to 161.47008.0 "cannot convert from 'system.data.sqlclient.sqlconnection' to 'Microsoft.SqlServer.Management.Common.IRenewableToken'"

 ERROR:

"cannot convert from 'system.data.sqlclient.sqlconnection' to 'Microsoft.SqlServer.Management.Common.IRenewableToken'"


Convert all System.Data.SqlClient to Microsoft.Data.SqlClient


RCA

Updated Microsoft.SqlServer.SqlManagement from 160.2004021.0 to 161.47008.0

Monday, April 18, 2022

Buggish: Canon MX922 printer driver on Windows 10

MP Driver vs XPS Driver (working solution)

Summary: (To print) Download and install MP driver. No problems also installing XPS but it requires MP driver to be installed first.

Detail: They are not the same. XPS does require the MP to be installed first. If XPS is executed first, it will show a message that the MP driver is required. On the same note, I am not sure if security patch is included.

Windows Default Driver (did not work)

I tried the Windows PCL driver and point it directly to the ip address of the printer. This does not work. I can ping the address. I also later installed the MP driver which is also pointed to the same address.

Windows Find Printer (useless and avoid)

It found the printer, but keeps showing missing driver. There is no way to resolve this in Windows only. Click into the option only displays scanner and configuration options, nothing related to printers. It does not show up in the printer options. It is also a little misleading because clicking "Add Printer", you have to wait for Windows to load something. If you close the windows before this happens, the printer does not even show in the list (although still useless after).

Upon initial "setup" it requests to open a printer app (from the Windows app store). Skip this. That app is useless. 

Thursday, April 14, 2022

Work Life: I question developers who cannot figure out tools like Jira filters

I am not sure how many times I have had to show colleagues on how to use Jira or Confluence.

Create a Board

Seriously, it is three clicks to get to the option that literally says "Create a Board". I really have to question the innate abilities of developers when they do not wish to just click on things just to see what is there. Especially, UI developers.

No time? I am literally click on things all the time during meetings. What does this button do? What does that drop down do? 

A developer that doesn't know when to stop? "Are you sure you want to delete the entire history? There is no recover." Then maybe don't click on it?

Create a Filter

Fine, this may be a bit trickier for "normal" people. If a developer cannot figure this out, why are you even a developer? Especially... especially (!!!!) db developers. It looks practically the same! I haven't developed for over 10 years and I can guess the keywords to use in the query. And that is only if you use the advanced mode. The basic filter is just options and click on more options. Then there is a big huge button that says Save.

Figuring Things Out

I just do not understand. Even if you are not a developer, a PM or SM or a manager. It is so insane that I have wrote documents on how to do these simple steps. AND.....

I still get people messaging me, "what do I fill in here." I basically walk them through the steps I provided:
1. Which step are you at?
2. Do you see the nth bullet (usually the first item), is that your question?
3. Do you see what it tells you to fill in?

And this is not a minority of the cases.

Sunday, April 10, 2022

Life: Fixing Squeaky Door Hinge with White Lithium Grease (by inexperienced almost a year later)

Disclaimer: This information is only provided as an anecdote. I have no knowledge of hinges or grease or any carpentry except for the basic usage of a door. This may or may not work for others.

I just used a screw driver to remove the hinge from the door. Placed it in a box, then used a white lithium grease spray () on the hinge. I do a quick spray across the side then put it upside-down and spray into the center pin of the hinge in hopes for it to drip "down" (towards the top of the pin). I also close/open the hinges in hopes to get the grease moved around in the mechanics.

I have done this on five hinges on three separate doors. This solved all squeaky problems for me. I use this particular grease because it was recommended on a site that I looked up too long ago. I have not used any other grease before so I cannot compare whether this is better than other options.

There were no problems with the hinges. I unscrewed and screwed from bottom to top starting with the half on the door frame. I don't think the order really matters.

So far satisfied with the results. I just completed three hinges. I did two about ten months ago and those doors are still ok.


Reference

https://www.amazon.com/gp/product/B000CINVA6/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1

- CRC 5037 White Lithium Grease - 10 Wt Oz.

Sunday, April 3, 2022

Navbar not working with Bootstrap 5.1.3 and Jquery 3.6.1

Resolution

If using newer version of 5.1.3 from older Bootstrap, make sure the parameters are correct. There is a change from data-toggle to data-bs-toggle and data-target to data-bs-target. Jquery version should not matter. It does make a difference in the older version.

Root Cause Analysis (RCA)

I do not use javascript much so I jumped from page to page. It is quite frustrating troubleshooting javascript with VS Community 2022 in a Blazor Project. Each item was somewhat new so it was difficult to figure which one was causing the issue.

The source of my problem was that the first navbar used an older version of bootstrap. After finding the new code sample, I did not copy directly and attempted to modify the missing parts. This did not work, then I had to look up what version of bootstrap came with VS 2022. Eventually, my problem was picked from each step.

Reference

https://getbootstrap.com/docs/5.1/components/navbar/

Tuesday, March 22, 2022

C# Copy File But Error because it is being used by another process

Error: because it is being used by another process.

I get this error when using File.Copy(fileSource, fileTarget, true);

Not exactly the solution from stackoverflow, but this is the solution that I used:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
try
{
    File.Copy(fileSource, fileTarget, true);
}
catch (IOException e)
{
    if (e.Message.Contains("in use"))
    {

        Process p = new Process();
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardOutput = true;
        p.StartInfo.FileName = "cmd.exe";
        p.StartInfo.Arguments = "/C copy \"" + fileSource + "\" \"" + fileTarget + "\"";
        p.Start();
        Console.WriteLine(p.StandardOutput.ReadToEnd());
        p.WaitForExit();
        p.Close();
    }
}

I don't know why this works though. Before I had to go to the physical server, rename the file, then copy. I still do not know why the files are locked. Nothing should be running it. This is not a problem with all applications running on the server.


Reference

https://stackoverflow.com/questions/6167136/how-to-copy-a-file-while-it-is-being-used-by-another-process

Monday, March 21, 2022

Work Life: Problems with Documenting

Everywhere I worked, everyone always complain about documentation. Yet, no one has ever maintained documentation. This is over a span of 20 years and 8 companies. Since my third job, I have always documented and encouraged documentation. Here I am thinking back to all my experiences on why I have essentially failed in promoting this eco-system.

Each career move has allowed me to somewhat restart and improve on my processes. Essentially since the initial attempt, I have always attempted to centralize and share via the shared document. This eventually turned towards Atlassian Confluence as my preferential choice as it has been available at large to corporate-sized employers. Prior to this was a shared drive or Microsoft SharePoint. If I had to share information that I thought would be re-used, I created an artifact, stored it, then pointed the requestor to that artifact.

Everyone loved it and found it useful. But no one has ever adopted it. If I had time, I would also include answers to my questions then respond back with a link for their future use. I am also of curious mind so I also learn more to understand what other groups do or working on. I also listen in on calls and document if I am not an active participant. None of these ever improved even if all my managers "loved" the work that I did. They would suggest to others but never enforced it. I would get praises during townhalls (I hate these sections in townhalls) and my raises and bonuses would always include this as part of my excellence.

But I don't do it for praise. I just want to solve a corporate problem that "seems" to be beneficial for everyone, wins for everyone, and something that seems to be universally seen as a problem. So why am I not able to "solve" the problem?

Change is Hard?

This is almost an obstacle for anything in a company. It is too generic, also never was a satisfying answer to any changes. Let's say the change is to increase everyone's salary, then everyone will find a way to change even in ways that are not expected. To me there is some level of incentives but obviously this is not met with documentation.

Is the problem that "I" do the work for "some else" to have an easier job that I used to struggle with? Are people jealous that others have an advantage over their "potential" replacements? I suppose this is a legitimate reason. To me the view should be that this their chance to leave the position to do something greater because if we all keep learning, replacements will never really keep up. Does this mean that people are "lazy" of continual learning? Are there more lazy learners who fear their own job security?

I think that is the most likely scenario. If money typically drive people and raises/promotions get more money, why is this a problem? I think the most likely case here is that their is poor sets of expectations for promotions or corrupted sets of values.

Incentives?

I think in the past, I have thought incorrectly about incentives. One of my problems I saw with promotions was that managers were never able to release their old work. I have thought that documentation would have helped in these situations.

But as I work with more and more people, I feel generally people fear the most is job security. The second with promotions is self-image. What works for most people is consolidating information to yourself.

The reason for this is because by hoarding information, the person is artificially increasing its own asset value to the company. If the person leaves, then that set of information is also gone. If documentation exists, then it is easier to release the person. This I have seen at most of the companies I have worked for. There is always a "star" employee that everyone goes to for information. What is also kind of amazing is that this "star" employee is always a major jerk to junior people (some are unbiased to seniority). Usually with 20+ years of specific experience to that department.

First, the culture appears to incentivize info hoarding as they keep praising this person. Also you need to be an "ass" about hoarding the information: don't join calls, don't respond to emails, don't respond to messages... unless it has been escalating 2-3 levels. Even directors are afraid of upsetting these employees.

This makes sense to me now because besides that information, I would not keep these people. I also sensed these people tend to no like me much because I typically found a way to get the information I needed. At this point in my career, I was also decently versed on protecting myself from petty games where they try to throw me under the bus. One of the most common way was that I didn't ask or set up a meeting except that I make sure that I always send an email or something that is recorded to show that I have done what they claim I did not do. Usually after one or two times that I stand up for myself, they will stop but I see them do it to others.

Is it guaranteed that there is one of these people exists in large groups? I think this exists because most of these successful groups do start off small which could not hire more talented people. More talented people can readily replace less talented. This may be the only method for an original employee to stay relevant. 

Self-preservation

I think I am starting to sense that my endeavor to change corporate culture that has existed for multiple decades are nearly impossible if the original employees are still in the group. It does seem that groups with high overall turnover seems to adopt a bit better.

So intentionally or not, it seems most people naturally do not document but wishes others do so. In all my experiences, everyone who stays seem to be those that have all the internal knowledge of the system. They are also all very attached to the "old" ways most likely because new things make their their knowledge more likely to be obsolete.

Monday, March 14, 2022

Notes: MariaDb Sequence

1. Create a sequence

CREATE SEQUENCE [Name of Sequence]


2. Get next sequence id

nextval([Name of Sequence])



Reference

https://mariadb.com/kb/en/create-sequence/

Thursday, March 10, 2022

What would you do? QA lead is out. No process to handle backlog. As SM...

SM = Scrum Master

Sometimes it is just so frustrating dealing with people. Am I not understanding their question or their problem? Do they just not understand what other people is supposed to know or do? Are they just clueless or am I clueless?

Scenario

The QA lead has been out and will be out for the rest of the week. I brought up that I have been completing my tasks. These tasks when completed go to the QA lead. In the call, I just bring to attention that there will likely be a large backlog of items for QA team to do and if their is some process to check on the list while the lead is unavailable.

Not surprisingly, there is no processes for this situation. So it was tasked to our new Scrum Master to look into the situation. The SM is responsible of making sure changes are moving along.

You have two QA testers who have their usual work and backlog. QA lead used to assign tasks to them. How this is done is not known. I add about 5-10 changes to their backlog per day. When looking into the backlog there are over 50 changes pending. Some are four months old. It is Thursday, and QA lead will return on Monday.

What would you do?

Time Limit to Think = 1 hr
Time to Explain = 5 minutes

As the scrum master, what would you do?

Friday, February 25, 2022

Work Life: Two-Fingers Typers Who Type Too Slow Shouldn't Be in IT management (very over-generalized) (rant)

The worst! THE WORST!!! Is one of them wants ME to type out something (email, documentation, meeting minutes, etc)? How about you just LEARN to think?! That's right, not learn to type... just learn to think and maybe you'll learn to type faster. Seriously what a waste of my time and energy.

I have not had any good experience with slow two-fingers typers. At best, they are almost average thinkers. How do they even become managers? I don't know how their directs manage, but I just cannot work under one.

I have to waste 20 minutes either to watch you type or dictate something for me to type. Even worse than WORST is that I type faster than they can dictate without them even realizing that I finished typing. Then... THEN..... ON TOP OF ALL THAT.... You question my spelling AND.... AND..... you are STILL wrong!

And if you are a manager that is also a slow typer whether with any number of fingers, STOP wasting your employees time. Type it offline. Do it in secret. Most of your staff is making over 100k which means around $50/hr. I've been on calls where we spend half of a one hour meeting with ten people... that's $250 just to watch you type (ie being an idiot).

Or just stay out of the way. I spent an hour with someone complaining about my idea for about an hour to eventually just using my idea. This has happened multiple times. You would think they should just learn to just listen at some point. That person did not stay long after I left.

Just had a moment of flashbacks...

I just realized that none of my former managers stayed longer after I left. Seven different employments. Three of them, I didn't really have a manager. Three fired and one laid-off.

Monday, January 24, 2022

Scammish: C.P.S. Letter/Mail for Annual Report Instruction Form

Just received a letter addressed to my company that looked like an official letter to submit an annual report. By looking official, I just mean that it looks professional. It does not look like the one that you get from the state. 

Be careful. They do not provide any additional service because the information you provide them is essentially the same information that you submit to the state. For me, they charged way more than filing myself. The state filing is pretty simple and this form already looks more work.

This is not a scam per se, but I almost mistaken it for the actual annual report. It can still be potentially a scam as I do not know if they do submit on your behalf. I imagine they do because why take the risk for easy money already? I wouldn't be surprised if this is still legit with all the crazy stupid law stuff that can happen.

Any case, if you run a simple business, this is not worth the extra cost. I also assume that you will not get your money back if you already sent it. They'll claim they do and they will likely claim that it is in the mail. Be additionally careful if they request more information for them to return your money, as there is a scam for that too. 

The return money scam basically has you pay more money to get your money back.

Monday, January 17, 2022

Work Life: How to report a coworker who is meeting way below expectations?

Simple answer is do not. The farther they are from you on the corporate tree, the bigger the no.

I have been a part of a few colleagues' end to the team. I hated doing it but one directly impacted my work (transferred), the other was requested upon me (fired), one that did absolutely no work (transferred), etc.

There is no good to snitch on someone especially if the boss does not bring it up. Boss bringing it up may be the only opening but even then tread very carefully. If you are unsure, then do not say anything negative. Feel free to omit positive but at worst stay neutral.

First Example

He was hired because he was a friend of a director. His career was a very non-technical role put into a role that required multiple technical roles. I did my job and trained him. I repeated multiple things to him. Things got ugly when he started "throwing me under the bus" by saying that I didn't train him.

Unfortunate for him, I had really good reputation by the time he joined so most of his attempts were met with a lot of question marks. I have worked with difficult colleagues before, so I started to use these strategies.

Keep records. I made sure that I always emailed everything to him. Even if it was a call, I will send a summary of the call, the decisions made, and the information he needed. Anytime he said he didn't know or said I didn't tell him, I would just respond to the email to remind him the information that I supposedly did not send. Near the end, I had resent the same email 5 - 10 times.

I basically did all his work. If he did work, I had to redo all of it and have to go through many people angry that that have to explain the work again. I can even tell him (when we are alone together) exactly where it was in his notebook.

Eventually, I just had enough of it. 1 month of training; 2 months of "re-training"; 2 months of supervising his work and correcting everything; 1 month of basically just doing his work. I basically just wrote to my boss and asked her to give me his work directly and exclude him completely. I explained I would save the company time and money if he just stayed home.

Her solution was that she will take over supervisory role of his work. I do not know what happened, but he was eventually transferred to another group. My boss was eventually let go couple months later although this may not be related to the guy. She was not very well-liked to begin with. I was the only one to send her off.

Second Example

The second person can talk the talk. He sounds very impressive after working with the company for a year after graduating. I suspect he was not well liked by the previous group and sent to us packaged like it was a great deal.

We were in the same line of work. I did not have to do the initial training or the second training. Supposedly he was not getting it correct and I was tasked to train him again. His work is full of errors: grammatical, data, format, etc. Each time I would point it out, he would thank me because he is such a perfectionist and cannot stand those things. There are quite a few things that I do not point out mostly due to the sheer amount of time that I spend just correcting the fundamental parts of his work.

I did not have a good impression of him. My boss kept assigning me to help with his work. I eventually documented all the time spent on his work. At this job, I was able to do my assignments within 3-5 days. It would take me 6-10 days to "help" him complete his.

This time, I spoke with my boss and said that I was no longer any help to him. I was spending more time fixing his work than just doing the work myself. My boss also took over primary supervisory role. Eventually, he was fired.

At some point he was put on probation then a second probation.

Sadly, he was not even fired for terribly poor quality work but he was snoring during one of the executive meetings.

Third Example

I had to train someone who used to do the same work. I later found out she used to work for our team before I was on the team. I also learned she was transferred out because no one wanted to work for her.

Yet somehow I had to train everything from the start. I would give her tasks with expected dead lines. She did not do them.

I simplified the tasks. One of these task would just be to create a template (copy, paste, then rename a file) which takes 5 - 10 minutes. I'll check the next day and it will still not be done. When I question her, she would say she will work on it. On the second day, she will say that she did not know how to do it. I would show her on that call, then explain she can do the rest. Third day, still nothing done and she does not even join the meeting. No show on fourth and fifth day. I reported the missed meetings to my boss because I was not sure she was on PTO which he said she was not. After a week, she has not even completed the first task and was not joining meetings.

At this point, the assignment is overdue so I just do the work. I give her a new assignment with the same tasks. This time I just do the work in a separate folder because I already expect her not to do the work. After another week of no progress, I just submitted my portion.

I have only reported to my boss that she has not shown up for most of her status meetings, does not even respond to emails or instant message, and has ignored most other things. I tell him just give me the assignment because I am just wasting time checking on her. I was also a contractor and I get paid the extra hours anyways.

Eventually, I learned that she was transferred. After another two years, I still saw her on the active directory.

Suggestion to Manager

In most cases, no one will ever jeopardize their reputation to snitch on someone else. I have talked to many colleagues who have complained about others. I can guarantee you that none of them will say a peep to a manager or HR. Anyone that snitches already have pretty bad personality, and no one wants to be lumped with them even if it is with good intentions.

I just happen to be confident in my work. I also make sure that I already have a good standing reputation. I am still very careful on what I share and who it is shared to. Everyone else have always just quit and did something else. Then you are just left with the crappy people who also just moved up a spot on the seniority ladder. 

Why do I suggest others to just say no? Look how hard it is to fire someone. I cannot imagine providing any more evidence on how useless someone can be. #1 and #3 provided absolutely zero value. #2 at least did something even if it was still zero value. If anything I can argue that they provided negative value because I have to spend more time to correct the work. My team even got back an already known low-performing person.

Unfortunately, I have no way to prove that I am a pretty optimistic and patient person. I have given them lots of passes and liberties before I started my list on them. Technically, a list of CYA (or CMA in my case). Because no matter what, you always need to watch out for yourself. You never know when someone will push you under the bus. (Also doubles as a good source for yearly reviews)


If Any Action

If you do need to do something, my recommendation is to phrase the request as a detriment to your performance. I used to be able to do 20 tasks in a week; now I can only do 10 tasks a week due to addressing other tasks like training or assisting others. Or, I used to be able to complete a task in 2 weeks; now it takes me 4 weeks to complete. Or, I have been putting in overtime to cover these additional tasks that are not mine; I've worked overtime everyday for two weeks.

If manager does not do anything, make sure to track the changes. If management has issue with your decreased performance later, you need this list to back yourself up. If you get below expected year-end evaluation, this can prove that you have gone beyond expectations. If you leave work incomplete, this will also help back you up.

If management still has issue, do not invest more time in that company. Start looking elsewhere. 

In more cases than not, having a detailed list will make you appear to have more leverage compared to someone that does not (assuming both people are on somewhat same level). I prefer to be more passive aggressive. Not to be a bad or evil person, but also as my "hidden" test for the manager if they understand some level of relationship intricacies. If they just want only hard evidence and facts, then I do not believe they are very fit managers. They clearly will not understand a good number of people.