How to treat an IT Team

I had to go back to 2005 to find this gem from an old blog of mine. Some of it is still relevant today (imo).


Specially sent to you from IT Departments around the globe

  1. When you call us to have your computer moved, be sure to leave it buried under half a ton of postcards, baby pictures, stuffed animals, dried flowers, bowling trophies and children’s art. We don’t have a life, and we find it deeply moving to catch a fleeting glimpse of yours.
  2. Don’t write anything down. Ever. We can play back the error messages from here.
  3. When an I.T. person says he’s coming right over, go for coffee. That way you won’t be there when we need your password. It’s nothing for us to remember 300 screensaver passwords.
  4. When you call the help desk, state what you want, not what’s keeping you from getting it. We don’t need to know that you can’t get into your mail because your computer won’t power on at all.
  5. When I.T. support sends you an email with high importance, delete it at once. We’re just testing.
  6. When an I.T. person is eating lunch at his desk, walk right in and spill your guts right out. We exist only to serve.
  7. Send urgent email all in uppercase. The mail server picks it up and flags it as a rush delivery.
  8. When the photocopier doesn’t work, call computer support. There’s electronics in it.
  9. When you’re getting a NO DIAL TONE message at home, call computer support. We can fix your telephone line from here.
  10. When you have a dozen old computer screens to get rid of, call computer support. We’re collectors.
  11. When something’s wrong with your home PC, dump it on an I.T. person’s chair with no name, no phone number and no description of the problem. We love a puzzle.
  12. When an I.T. person tells you that computer screens don’t have cartridges in them, argue. We love a good argument.
  13. When an I.T. person tells you that he’ll be there shortly, reply in a scathing tone of voice: “And just how many weeks do you mean by shortly?” That motivates us.
  14. When the printer won’t print, re-send the job at least 20 times. Print jobs frequently get sucked into black holes.
  15. When the printer still won’t print after 20 tries, send the job to all 68 printers in the company. One of them is bound to work.
  16. Don’t learn the proper name for anything technical. We know exactly what you mean by “my thingy blew up”.
  17. Don’t use online help. Online help is for wimps.
  18. If the mouse cable keeps knocking down the framed picture of your dog, lift the computer and stuff the cable under it. Mouse cables were designed to have 20kg of computer sitting on top of them.
  19. If the space bar on your keyboard doesn’t work, blame it on the mail upgrade. Keyboards are actually very happy with half a pound of muffin crumbs and nail clippings in them.
  20. When you get a message saying “Are you sure?” click on that Yes button as fast as you can. Hell, if you weren’t sure, you wouldn’t be doing it, would you?
  21. When you find an I.T. person on the phone with his bank, sit uninvited on the corner of his desk and stare at him until he hangs up. We don’t have any money to speak of anyway.
  22. Feel perfectly free to say things like “I don’t know nothing about that computer rubbish.” We don’t mind at all hearing our area of professional expertise referred to as rubbish.
  23. When you need to change the toner cartridge in a printer, call I.T. support. Changing a toner cartridge is an extremely complex task, and Hewlett-Packard recommends that it be performed only by a professional engineer with a master’s degree in nuclear physics.
  24. When you can’t find someone in the government directory, call I.T. Support.
  25. When you have a lock to pick on an old file cabinet, call I.T.Support. We love to hack.
  26. When something’s the matter with your computer, ask your secretary to call the help desk. We enjoy the challenge of having to deal with a third party who doesn’t know anything about the problem.
  27. When you receive a 30mb (huge) movie file, send it to everyone as a mail attachment. We’ve got lots of disk space on that mail server.
  28. Don’t even think of breaking large print jobs down into smaller chunks. Somebody else might get a chance to squeeze a memo into the queue.
  29. When an I.T. person gets on the elevator pushing R600,000 worth of computer equipment on a cart, ask in a very loud voice: “Good grief, you take the elevator to go DOWN one floor?!?” That’s another one that cracks us up no end.
  30. When you lose your car keys, send an email to the entire company. People out in Pofadder like to keep abreast of what’s going on.
  31. When you bump into an I.T. person at the grocery store on a Saturday, ask a computer question. We do weekends.
  32. Don’t bother to tell us when you move computers around on your own. Computer names are just a cosmetic feature.
  33. When you bring your own personal home PC for repair at the office, leave the documentation at home. We’ll find all the settings and drivers somewhere.
  34. We don’t really believe that you’re a bunch of ungrateful twits. It hurts our feelings that you could even think such a thing. We wish to express our deepest gratitude to the hundreds of clueless losers portrayed herein, without whom none of this would have been remotely possible.
  35. Keep it crashing!

A look at 2019

One of the things that I like to do at the end of the year is take a look back and reflect. Did I meet my personal goals? Did I achieve what I wanted to achieve? Is there anything on the backlog I can finally tackle in the upcoming year? And probably the most important is did I improve a bit of myself?

The great thing about it being a new year is that it’s a fresh start – just like the spring time. While 2018 was a particularly rough year for me, I learned enough to make 2019 a better year for me. I think that’s all that we can really do. We’re stuck going forward anyways, so might as well we’re moving forward in the right direction.

I’ll share more about my new year when I even know about it.

Adventures in C

I’ve been working on quite a few languages lately – Python, brushing up on C#, brushing up on PHP, and I’ve decided to also jump into C. I know – learning this many at once is crazy. Really you should go one language at a time, but I’ve hit a blocker with Python (nothing to really script), nothing to really do with C#, and slowly working on some projects with PHP.

So why C?

This is a question I C coming (see what I did there?). Well, why not? It’s very practical because it’s cross platform. That’s one of the big things for me since I’ve made the switch primarily to macOS. The other main reason is that I’ve had the most experience in the C family tree. As I previously mentioned, I’ve had some good knowledge and experience with PHP learning it in high school on my own creating some of my first websites with it. Because of that, it allowed me to move into C# fairly easily. So I figured I’d move right up to the top with C.

Most Windows applications that I know of are written in C# and the cross-platform software I use like Firefox is written in C++.

Early notes

I can tell right off the bat that C is going to be pretty easy for me as it’s very close to what I’ve been working with. So for example in C#:

String  name = "Travis";
Console.WriteLine("Hey! My name is {0}. Nice to meet you!", name);

is the following in C:

char name[] = "Travis";
printf("Hey! My name is %s. Nice to meet you!", name);

and is the following in PHP:

$name = "Travis";
echo("Hey! My name is " . $name . ". Nice to meet you!");

As you can see, they’re very similar with just a few minor syntax changes.

Just a test

One of the examples in the book I’m using has the following code to output the size of the different numeric variable types in bytes.

/* sizeof.c--Program to tell the size of the C variable */
/*            type in bytes */

#include <stdio.h>

int main(void)
{
  printf("\nA char	is %d bytes", sizeof(char));
  printf("\nAn int	is %d bytes", sizeof(int));
  printf("\nA short	is %d bytes", sizeof(short));
  printf("\nA long	is %d bytes", sizeof(long));
  printf("\nA long long is %d bytes", sizeof(long long));
  printf("\nAn unsigned char is %d bytes", sizeof(unsigned char));
  printf("\nAn unsigned int is %d bytes", sizeof(unsigned int));
  printf("\nAn unsigned long int is %d bytes", sizeof(unsigned long));
  printf("\nAn unsigned long long is %d bytes", sizeof(unsigned long long));
  printf("\nA float is %d bytes", sizeof(float));
  printf("\nA double is %d bytes", sizeof(double));
  printf("\nA long double is %d bytes", sizeof(long double));

  return 0;
}

And this outputs:

Anyways, I’ve done my hour for the day. More to follow.

Life without Facebook

So about two months ago I called it quits on Facebook (or as I’ve started taken to calling it, Fakebook because nearly everyone on there is trying to portray a fake identity). The TL;DR version? Life is amazing!

Why I quit

So you might be asking, why did I quit Facebook? Privacy concerns? Yes, but no. I’m a heavy Google user (Gmail since 2004, search engine since early 2000s, Android user on and off since 2008, Pixel owner since 2017) and they’re way worse on the privacy front. No, I quit because I realized some of my friends were really “friends”. I decided to go Facebook Live and have some fun with some of my friends further away from me. Some of my “friends” didn’t like this. They prefer me away in a hole, quiet and forgotten. They decided to tattle on me like I need an adult as a 28 year old.

Long story short, I figured it’s not worth it anymore. I’m the only one in charge of me, and quite frankly don’t give a damn what anyone thinks. So I backed up my data, deleted what I could, and logged out for good.

Business side of things

One of the problems I had is that all my brands are connected to my personal account. I have code running on APIs under my name. I have pages running under my name. I have ads running under my name. You can’t easily transfer all of it. And Facebook won’t let you delete until accounts are settled, ownership transferred, code migrated, etc.

Do not run your business Facebook stuff under a personal account. Setup a secondary account.

Homesick

Do I feel homesick for Facebook? No. Well, not now. The first few weeks were hard. I still had the app on my phone and was getting notifications. Quick delete of the app took care of that. Then Facebook started getting lonely. The email notifications shot up 10 times what they were. “So and so posted a new photo! Check it out!” “So and so posted a status update! Check it out!” “So and so posted a new message to a group you’re in! See what they said!”.

It’s actually rather difficult to tell Facebook that you don’t give a crap what anyone posted. The easiest solution here is to just auto delete anything that matches some handy words in the subject – until Facebook mixes this up.

#DeleteFacebook

If you remember a while back, there was a #DeleteFacebook campaign on Twitter after the Cambridge Analytica scandal. Regardless, I don’t blindly click on mindless things on Facebook anyways but I’m sure my data was collected because a lot of the people I know on Facebook do. Because of this scandal, my life as a developer has been made a living hell. What do I mean hell? Take a look at the emails I had to have with Twitter just to put my (business) tweets on my (business) website:

The upside to this (despite the number of emails) is that if you’re a business user, Twitter responds faster. If you’re an individual, it’ll take over a week. The only reason why it took so long here was because as a business owner, I had an issue that I had to take care of and Twitter took a backseat. Thanks, Cambridge Analytica. Facebook has a similar annoying process now, but frankly, I don’t care. I’m closing down my Facebook and Twitter support channels. Need support? Send an email. There’s a world outside these two platforms.

A lesson learned

The take away from all of this is that it’s obvious you are a product. I would know as a Facebook advertiser. I buy to sell my target audience (you – well, maybe not you personally, but you get the gist). Mark Zuckerburg was absolutely right in his quote:

People just submitted it. I don’t know why. They “trust me”. Dumb fucks.

-Zuck

If you’re still using Facebook today, I don’t know why. There’s Telegram for chats, Imgur for photos, and good old fashioned email for standard communication. In case you’re wondering, I’ve recently switched to ProtonMail as it closely resembles Gmail. Except it’s secure, end to end, and not in the United States.

Install Firefox (do not use Chrome! It’s another way for Google to collect more data about you), turn on Tracking Protection, install uBlock Origin, and call it a day. Oh, and switch to Apple products. Apple is the only tech giant that cares about you.

Update:

100 Days of Code

I am a developer in training or I guess a junior developer. By day, I am a systems administrator, network administrator, and a cloud engineer. I love what I do because I’ve always had a passion for technology. However, one of the areas I have deliberately put off is coding. Back in high school, I did get fascinated with PHP and wrote my website at the time from scratch using PHP and a mix of some pre-built modules. Why did I quit? I got stuck and gave up. Then I had a friend who knew Visual Basic and in one tech class in school, we had access to Visual Basic in a class and he got me into Windows application development. One of the first applications I wrote was a portable Windows Explorer replacement I called X11 (before I knew of the X Window System). Our lab computers were locked down to the point where we couldn’t access Windows Explorer and it made class difficult. So, my friend taught me enough Visual Basic to where I could build my application. Later in life, I picked up C# as I found it was very similar to PHP. I was able to build a computer utility application for the company I was at as when users requested support from the help desk, they often didn’t know helpful information like their computer name or IP address. So this simple program simply grabbed that information and made it easy to get that information to us. For example if a user called up and we needed to remote into their computer, we could say double click the company logo on the desktop and tell me your IP address. Boom. Since then, I kind of revamped the program, added enhancements as I learned, and then basically gave up again. This time, I’m changing things.

100 Days of Code

So, I was browsing Instagram one day and I found #100DaysOfCode. People were sharing their progress on personal projects. This seemed like the perfect challenge to work on buckling down and improving my skills. So here it is. I’m officially doing the #100DaysOfCode challenge.

Overcoming the first roadblock

The first roadblock I hit is that I have switched to macOS as my primary operating system. C# is primarily a Windows thing. Well, I knew about Mono – a project that allows you to run .NET on *nix systems. When I was researching how I could do this on a Mac, I found that Microsoft is now a sponsor of Mono. I also found that Visual Studio is available on Mac. Check and check. Making a console program is easy, but what about GUI applications?

Well, it turns out there’s a few options. Windows.Forms is available, but this option, while great on Windows, it doesn’t look great on other systems – like Mac. This lead me to the next option which is the Gtk framework. A lot of Linux GUI applications are written using Gtk and even some Windows applications. The upside to Gtk is that it uses native UI elements. A button element looks proper on Windows, Linux, and macOS. The form also looks exactly like it should on the appropriate OS. Check!

Following along

So I invite you to follow along. I’ll be blogging about my journey right here. I’ll also be tweeting daily about it using #100DaysOfCode. Finally, I’ll be logging in GitHub. Follow along on my 100DaysOfCode repo.

Alright, that’s it for now. I’ll be starting on my project later on in the day!

Why I switched to Mac full time

Truth be told, I’ve always been a Mac user. The first computer I ever used was an Apple Macintosh 128 (it was that boxy all-in-one that was small and strangely portable). My mom had one for work and when she needed to work at home, she’d literally lug it home. The first thing I ever did on a computer? Dragged the hard disk to the trash. What can I say, I’ve always loved a clean desktop! Our first family computer was the Macintosh Quadra 630. That’s where I played my educational games and first got online thanks to AOL. Our second family computer was a whitebox Intel Pentium III running Windows 98. We kept our Mac as a second computer, but what happened? Business happened. Businesses have always been IBM but when Windows 98 came out, it was around the time where computers were affordable enough for them to start putting them on everyone’s desk. My mom needed Windows to work and as such, we became a Windows family. However, in 2006 I got my first Apple product I paid for on my own: a black Apple iPod Nano 2nd generation. I also had my own computer, but it was a tablet PC running Windows XP.

Fast forward many years. It was my first office job. I worked at a web hosting company that was a 100% Windows shop. Our servers were only Windows. Our desktops, Windows. It got to the point where I couldn’t stand Windows anymore. One day, I came home from the office and wiped my laptop and put Fedora Linux on it. However, these were the days where you couldn’t watch Netflix on Linux. It still required Silverlight and even if you did get Silverlight, you were on Linux so it yelled at you. Shortly after, someone bundled up a special Firefox instance that worked under WINE to get Netflix working. It worked but it still had problems. Eventually, I said screw it. I need to spend some real money. I went to apple.com and picked out a MacBook Pro. Since I didn’t have $1200, I applied for the financing program and was surprised when I got approved. When my new MacBook Pro came, it was my main machine. I loved it. Eventually though, I did begin using Windows again but it was a while.

I stayed primarily Windows for years though but as of a few weeks, I undocked my laptop and replaced it with my Mac Mini. Let’s face it. The days of Mac vs. PC are over. Microsoft is embracing open source and giving away so much stuff for free. However, I’ve found myself back to where I was – hating Windows. While I don’t consider myself a tinfoil hat type when it comes to Windows 10 and it’s “spyware”, I’m frustrated that an OS that has recently had it’s third birthday this year is so full of bugs and issues. Microsoft has also appeared to have embraced being “agile” and with that, they decided that an internal QA (“quality assurance”) team was too much. For those who don’t know, it’s QA’s job to find bugs, find compatibility issues, and basically try to “break” the software and report those issues to the software developers so that they can fix them. Back in 2014, Microsoft laid off their QA department and since then, Windows has, to be blunt, sucked. It currently can’t figure out if it wants the legacy UX (user experience) or if it wants a modern UX so the UI (user interface) jumps around… a lot. If you’re on Windows 10, you’ve probably noticed this yourself. Another problem that has bugged me is that Microsoft Office suite has screenshots of Windows XP in it even to this day! Simply hover over the little box in the lower right hand corner of the “Fonts” section in Word and you’ll see what I mean. Glass UI (“Aero” officially) went away in Windows 8 but it’s still in the installer. Then with their new Fluent design, the frosted glass theme is starting to make a comeback – sort of. By “sort of” I mean it’s present in some areas but not others. I’ve seen the latest Insider build for 1809 and it’s there along with a long time needed improvement to the Start menu. However, to me at least, Windows 10 seems to be stuck in a perpetual beta release state.

Apple treats macOS a lot differently. First, it definitely appears to be well QA’d (other than that one time where QA missed the blank root password). Second, when Apple makes a design change, it gets uniformly applied across the OS. Third, I’m a *NIX (“star-NIX” refers to systems based on UNIX – UNIX, Linux, BSD (which macOS is in the family tree of), etc.) guy. The way *NIX systems handle programs, system security, and others just makes sense. The Darwin kernel is extremely stable unlike the Windows NT Kernel which has had everything from Windows NT through 10 on top of it. The registry is the biggest flaw with Windows. After testing out the latest Insider build, I noticed that the installer does not allow you to set the Administrator account password.


Out of the box, there are two accounts: Administrator and Guest. Both are disabled. So how do you get in?


Yeah, that’s right. The short of it is you force Windows to reboot into diagnostics mode (hold shift whilst clicking on the restart option), then select the command prompt option which asks for an Administrator login. You never set the password and the account is disabled. This should stop you right? Wrong. Just hit enter leaving the password blank. Guess what Windows just gave you? An administratively privileged command prompt! From here, you just type “regedit” and then load the registry from the C:\, edit a binary value to enable the Administrator account, exit, and boom! You’re in Windows! I cannot stress this enough: This is why you need to set a strong password for the Administrator user because even if it is disabled, someone can enable it – even remotely – and get full administrative access to your systems.

While *NIX does have a similar capability called “Single User Mode”, it’s a lot more intricate and it can’t be done remotely (to my knowledge, feel free to correct me if I’m wrong).

So why didn’t I just switch to Linux? Well, I’m heavily dependent on the Microsoft Office suite both for work and school. LibreOffice is comparable to Office XP and other email clients are a mix and match of feature sets and no ActiveSync support or get ready to shell out some serious cash to get an ActiveSync plugin for a lacking client. With Microsoft’s ❤️ Linux attitude, I’m shocked they haven’t brought Office to Linux yet. Heck, they still haven’t brought Visio to Mac yet but they managed to make it work in a web browser but I digress. So other than the few times I need to use Windows-exclusive programs like Visio or doing some programming in C#, I’m living my digital life exclusively in macOS and it couldn’t be better.

The big picture matters

One of the things I dislike about large business is that it’s about the previous and current quarter. You’re comparing Week 1 of the current quarter to Week 1 of the previous quarter and then to the same quarter of the previous year. It’s true that you have to know where you came from to know where you’re going but the big picture still matters.

It’s easy to get obsessed about quarterly numbers but if you’re focused on that, you’ll lose sight of the vision. What I say I think applies more to small business than large, but Amazon has retained the same vision since day one and that is focusing on growth more than anything. In the 1997 letter to shareholders, Jeff Bezos wrote the following (emphasis mine):

It’s All About the Long Term
We believe that a fundamental measure of our success will be the shareholder value we create over the long term. This value will be a direct result of our ability to extend and solidify our current market leadership position. The stronger our market leadership, the more powerful our economic model. Market leadership can translate directly to higher revenue, higher profitability, greater capital velocity, and correspondingly stronger returns on invested capital.
 
Clearly, this has worked for Amazon. From 1997 until 2002, Amazon did not return a profit. Instead, they focused on becoming a leader in the market which drove an increase in sales and then the company became profitable in 2003. For the vast majority of companies, this is not how they operate. They look at the smaller picture and then strive to make the current quarter more profitable over the next and they do this in very sly ways. It’s not my place to “name and shame” but if you keep your eyes open and ears to the ground, it’s easy to see. For example, there is one major company that owns some popular places. One of the things they do to boost revenue is they introduce something they hope people will purchase near the end of the quarter – but it’s not every quarter. It’s the quarters where they know they need something to give a boost over the last quarter. So you can go to one of their destinations and rent something fancy for $300/day (and since the introduction of this rental product, they have since dropped the price over 200%, furthering my thought that it was simply a way to boost numbers). When did they introduce this rental product? Near the end of a quarter.
 

Keeping the perspective

When you begin to focus on small picture stuff, you’re looking at brush strokes. Let’s take this to a figurative example. Last quarter, we painted the red square. This quarter, we painted the green square.

You can tell that in the first quarter, we did a lot of blue and some yellow and then in the second quarter we focused a lot on the blue. You can of course substitute these colours for products or services. But are we making progress? Are we positioning ourselves to be a work of art? In my opinion, no. You’re focusing on the wrong parts of the painting.

What happens when we shift our views to “the big picture?” Well, let’s look.

Now that we have the full picture, we can be more productive. Perhaps this is being a market leader. Or launching a new revolutionary product. We break up the picture into chunks and then we work on each chunk until we complete the goal. Looking at the big picture isn’t a bad thing. Ideas change and sometimes we end up changing the masterpiece in the end but that doesn’t matter. No matter if your art ends up being a van Gogh  or a child’s finger painting, the truth of the matter is you met your goal and then it’s time to work on the next big picture item. I will always look at the big picture – the idea I have – and then I will figure out a way to get there, one chunk at a time.

The importance of small business

I am a small business owner. I own a small tech company called Xinsto and we’re a managed services provider for other small businesses. One of my passions is encouraging people to shop small, shop local. However as much as I preach it and as much as people support the idea, not everyone follows through.

The importance of the local enconomy

One of the biggest factors overlooked is that when you shop local, use local vendors, you’re keeping your local economy healthy. When you keep your local economy healthy, you’re making a big impact. The first is jobs. You hear politicians constantly trying to get businesses to their towns but do you know what happens when a large company moves in? Sure locals are employed but the revenue generated by that local branch office always goes back to the headquarters, sometimes in another state. That other state reaps the benefits more.

When money is spent locally, it drives more businesses to open and existing thrive. This grows towns and local economies. For example, the larger Xinsto grows and the more team members we hire (we don’t use that “e-word” but I’ll discuss that in another post), the larger office space we need means more money to our landlord which means they can invest more into building more space for businesses such as artisan shops, specialty stores, delicious local restaurants and that means more for locals.

We operate in an area that is seasonal. Majority of our customers make their money May through November. But the more money we add to the local economy promotes new housing, new jobs, and more year-round enjoyment. It’s a win-win for everyone!

The downside nobody wants to hear

Unfortunately, one of the downsides to small business is that what we charge does cost more. That botique clothing store doesn’t have the same purchase power as a major department store. Since they can’t buy in large quantities, prices are higher with a razor thin margin. That margin is how they pay rent, pay employees, keep the lights on, and take enough home to pay their bills too. After all, we are people just like everyone else.

Another downside is that they have people who wear multiple hats. They might have a receptionist who has to double as a hair stylist. Some of these skills can easily be transferred. What I run into a lot of though is the receptionist who also has to double as the IT person. This is where our managed services really come through. When I go to a customer location and find things in a really bad state, I show the value we offer. We have the skills small business don’t hire for and we do it cheaper than what it costs to hire someone.

Small business for small business

This is why I love doing what I do. Today, businesses have to be technology focused. Their customers expect a website. Owners need a POS that keeps track of inventory in real time. Sometimes offices have networks so mismanaged that they just think technology is slow and accept it. That’s not the case.

Businesses we work with discover all the time that now their employees have time to do their jobs. Their systems are secure and compliant (PCI-DSS for anyone who accepts credit cards for instance, which is nearly every company). They end up saving money.

Remember, shop small, shop local, and give us a call for a free consultation.