1 2 3 4 5 6 Previous Next

Geek Speak

81 Posts authored by: Bronx

SAM - The Next Frontier

Posted by Bronx Mar 11, 2013

Those of you who rely on SAM know just how quickly we add new features into every release. SAM 5.5 is no exception. That said, let's back up for just a minute.

 

SAM 5.0 introduced the Real Time Process Explorer, and many of you were pleased with the addition of this new feature. What is it? From the SAM Administrator's Guide: "This feature is similar to the Processes tab found in the Windows Task Manager. The advantage of the RTPE is that you no longer need to physically, or remotely, log in to a particular computer and run the Task Manager to retrieve that machine's vital statistics. Information for both monitored and unmonitored processes is displayed directly through SAM using the RTPE."

rtpe.jpg

Evolution

Enter the Service Control Manager, now available in SAM 5.5. The Service Control Manager is the next evolutionary step following the success of the Real Time Process Explorer. What is it? Again, from the SAM Administrator's Guide: "The Service Control Manager (SCM) is similar to the Real Time Process Explorer, with the main difference being that it allows you to manage the services of monitored Windows nodes, as opposed to processes. The advantage of the SCM is that you no longer need to physically, or remotely, log in to a particular Windows computer to view and control its services. Information for both running and stopped services is displayed directly through SAM using the Service Control Manager."

 

Granted, the description is rather dull (I can say that because I wrote it) but take a look at the screenshot below. Starting to get the picture? This new feature is rich with vital information, with the added ability to control remote services right from this window.

SCM.jpg

Super-Evolution

If you been with SAM through at least two releases, you can probably see where we're headed. Here's what I see from my perspective:

  • Monitor everything,
  • Take action on everything.
  • Solve everything.

 

This is only one of the new features in SAM 5.5. For a complete list of what's new, check out the release notes. Stay tuned for the next big thing!

Most of you will be happy to learn that our help system is in the process of being overhauled. Most certainly, life will be easier after the transition for everyone who reads our online help content. However, during the transition, well...life for the tech writers here will be...hectic, suffice to say. In a nutshell, this transition from one system to another requires us to convert every document we have, without losing any of the links. A daunting copy and paste task, to say the least. I hate tedious work, so I took it upon myself to create a tool that does the work for me/us. What would have taken hundreds of hours to do now takes a few minutes. (I'll be expecting an "Adda Boy" in the coming weeks).

 

Fortunately for you, the user, tools are also created for you to make life easier. Take for instance the latest release of WPM (2.0.1). Bet you didn't know it now comes with a Domain Accounts configuration tool. Yup.
WPMAdminGuide.23.200.1.png

Why was this created? Well, we have a KB outlining how to do what this tool does manually, but that seemed like too much to ask of our valued customers. Hence, the Domain Accounts configuration tool was born. Where do we get our ideas for these tools? Well, you basically. The squeaky wheel gets the grease!

Prime numbers have fascinated me since I was in the ninth grade. I didn't care about the big ones, like the 17 million digit one mentioned here. I was interested in finding a pattern to them. It was in the ninth grade that I read an article in Science Digest about scientists who used a Univac computer to search for a pattern to prime numbers.What they did on this behemoth of a computer was simple, yet elegant. Play along at home.

  1. Grab pen and paper.
  2. In the center of the page, write the number 1.
  3. Continue writing numbers in order in a spiral fashion. You should have something that looks like this:

    5   4   3   12
    6   1   2   11
    7   8   9   10

  4. Continue the number spiral to be as high as you want.
  5. When your spiral is complete, circle only the prime numbers: 2, 3, 5, 7, 11, 13, 17, and so on.

 

You'll begin to see a pattern of diagonal lines develop. (Random numbers would not produce anything remotely close to the illustration below.) The illustration below shows the center of the spiral, 1, in blue. All the white dots represent prime numbers plotted in a spiral, just like we did above in Step 3.  So, the scientists were partially successful in finding a pattern, if that's even possible. Something's going on here.
primespiral.png

In 1983, I decided to take up the same challenge of looking for a pattern to primes using my zippy Commodore 64. I created my own version of their program and had the same luck, no definite pattern. I tried once again about 15 years ago using my more modern Windows 95 machine. The results? A little different. I altered the program to accept any number between 1 and 1,000,000 to be used as the starting point/center of the spiral. (If you want, you can download my little experiment here. Just unzip it and drag the .exe to the desktop.) Having the number 41 as the center/starting point created a distinct diagonal line. This was no accident. If there is a pattern to primes, I'll find it.

 

Prime Numbers and Encryption

"A computer cannot generate random numbers." Thank you Mr. London, my ninth grade programming teacher. And he's right. A computer cannot do anything randomly. An algorithm (a set of rules) is used to produce pseudo-random numbers by the computer. For instance, if I were to create and run a program that generates 10 random numbers, close, then re-run the same program, the second set of "random" numbers would be the same as the first. This is because the algorithm that generates the random numbers never changes. This is why lotteries use ping pong balls rather than computers to pick the random numbers. (I could go on about statistics and nothing truly being random, but that's best kept for my personal musings.)

 

To date, there has never been a pattern found to explain the way prime numbers are generated.


Enter RSA encryption. From Wikipedia, "A user of RSA creates and then publishes the product of two large prime numbers, along with an auxiliary value, as their public key. The prime factors must be kept secret. Anyone can use the public key to encrypt a message, but with currently published methods, if the public key is large enough, only someone with knowledge of the prime factors can feasibly decode the message.

 

Security of Encryption

With RSA, your public key can be published for anyone to encrypt a message that only you can decipher. Why? Because only you have the private key. It is incredibly difficult for others to figure this out from the public key. Factorization of a large prime number is a glacially tedious process which cannot be automated.

 

By now you may have guessed that the size of the prime numbers used dictate the strength of the encryption. For example, a message encrypted with 5-digit prime numbers (40-bit encryption) yields over 1 trillion possible results. Using 16-digit numbers (128-bit encryption) generates near infinite possible combinations. What does this mean in the real world? Look at it this way. A 128-bit encryption can take about 11,000 quadrillion years to be cracked via brute force, give or take a few millennia. This is why 128-bit encryption is the standard used to protect sensitive data.


SolarWinds products and Encryption

Naturally, our software takes advantage of 128-bit encryption. Here, you can read about how our software utilizes various encryption methods, including 128-bit.

Tip and tricks you can use.

Posted by Bronx Feb 22, 2013

Want to get fancy with your SAM alerts? Do more than just be notified of an issue, take action. The following example will terminate all instances of notepad.exe on an alert status of Down using PowerShell:

  1. In the Trigger Action of the Advanced Alert, add a new action type of "Execute an external program."
  2. In the program to execute, type in "PowerShell" and the rest of the command line arguments or the path to your PowerShell script.
  3. Below is an example that terminates all running instances of notepad.exe.
    Note: You will need to enable impersonation through your PowerShell script or run the Advanced Alert Manager under a user account with elevated privileges.

powershell+advanced+alert+manager.png

 

Wrapping VBScript around an executable file.

 

The following example demonstrates how to write a simple vbscript to open notepad.exe - all from the comfort of your desktop:

1. Open Notepad and paste the following code into a new document:

    Set WshShell = WScript.CreateObject("WScript.Shell")
    Dim exeName
    Dim statusCode
    exeName = "%windir%\notepad"
    statusCode = WshShell.Run (exeName, 1, true)
    MsgBox("End of Program")

2. Save the file as Example.vbs (manually change the extension to .vbs)

3. Double-click Example.vbs to run the program which launches Notepad.exe

Note: Change the highlighted section to the path and exe you want to execute, for example, C:\Program Files\Mozilla Firefox\firefox.exe

Learning a few simple tips and tricks like this just may make your SysAdmin day a li'l bit brighter.

 

Linux, SAM, and You

Posted by Bronx Feb 19, 2013

"Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of Linux is the Linux kernel, an operating system kernel first released October 5,1991 by Linus Torvalds." Thank you Wikipedia for that lucid definition. (When the OS first came out, I pronounced it "lahy-nuks," to pay homage to its creator. Needless to say, I was once again in the minority.)

 

Linux and You

Over the years, Linux has grown on me for three reasons:

  1. It's free
  2. It's open source
  3. It's still free and open source

If you've read some of my previous articles, you're no doubt aware that I am a proponent of tinkering, and an opponent of restrictions. Both Microsoft and Apple usually have great operating systems, and that's fine. They are entitled to make all the money they want for building a popular product. However, when it comes to the user having total control over an OS, Linux wins, hands down. (Let the marketing and sales people figure out how to make the money.)

 

Linux in Action

If you have an Android based phone or tablet (like I do, of course) then you have experience using Linux. Again, I prefer more flexibility and fewer restrictions than those provided by Apple and Microsoft. As you may have noticed in the past few years, the Android phone and tablet market has exploded. Why? IMHO, Android based products are cheaper and more flexible than their Apple counterpart. And when it comes to Windows trying to compete...let's just say...(actually, I can't say that.)

 

So, with Linux on the rise, what does this mean for you, the IT professional? According to a recent article, found at PCWorld and Dice, it means more money. A lot more money! Check out that PCWorld article to see just how much more money you could be making if you were a Linux expert. (I may have to pick up some light reading for myself this weekend.)

 

Linux and SAM

If you currently have Linux boxes in your world, then you, my friend, are a smart puppy. You get to enjoy tinkering to no end. And the more you tinker, the more you'll learn, which in turn will lead to more money for you; the undervalued, under-appreciated, and unsung hero of your company. Of course, we here at SolarWinds actually do appreciate your hard work, and that's why we created SAM templates to monitor Linux boxes! Take a look at some of these templates below:

 

SAM Templates for Linux:

201731-linux_penguin_180_original.jpg

The title of this article sounds ridiculous without explanation, so here's the explanation. There's an old saying that states the best swordsman in all of France would rather fight the second best rather than fight the worst because he knows what to expect from the second best. The point being? Unpredictability and improvisation are assets.

 

Fundamentals first

You cannot become a great swordsman by simply reading about sword fighting techniques. (You will die). You cannot be a great musician if your fingers cannot move fast enough to play the notes. You cannot be a great writer if you cannot spell and structure a sentence. You cannot be a great SysAdmin if you cannot see and understand your network. You cannot be a great painter if you cannot draw.

 

Take that last sentence about being able to paint and draw. I had a friend who claimed she was an artist because she slopped paint on canvas. You know the person I'm talking about. The one who paints like a six year old and calls it "art" because other modern artists, like Picasso, painted in a similar fashion. There is a slight difference between my friend and Picasso. Picasso learned all of the fundamentals of painting before he decided to get "experimental" with his work. My friend did not. She just skipped over all of the basics and went straight for the kooky and calling it art. Below are two of Picasso's works. You can see why he was allowed his creative license. I'm no art critic, but clearly Picasso learned to walk before he was able to run (regardless of his questionable destinations).

 

 

Chess

Chess is a wonderful game for utilizing unpredictability and improvisation within a structured setting, after you learn the fundamentals (the moves of the pieces). As with most things in life, we are taught how to do things in an organized and predictable framework. Chess itself has multiple structured gambits and defenses, which is why I never learned them. I taught myself how to ultimately win by being unpredictable and thinking on the fly. Adapting to any situation became my strength.

 

Networking Fundamentals

You cannot solve your networking problems if you do not understand the basics of how your network functions. My first suggestion is to read the following, free of charge:


Networking Improvisation

Any book on improvisation would be, at the very least, ironic. To do well at the networking improv game, you should:

  • Know as much as you can about your network, including both the hardware and software.
  • Have as many tools at your disposal as possible. A swordsman will be safer with more than one weapon. A musician will play better mastering more than one instrument. A painter will paint better with more than one color and brush. A SysAdmin will solve more problems with more tools.
    • SolarWinds has a plethora of tools to help you see every possible aspect of your network, and some are free!


The Lesson

Learn the basics and master them. Collect all the tools you can and then master them. Information, for the most part, is free on the Internet. You can adapt to and overcome any problem that presents itself if you have both the knowledge and the tools. (That's my motto).

Humanoid Robots - Why?

Posted by Bronx Feb 11, 2013

I just finished reading an article concerning a humanoid robot that will be "born" nine months from now. This begs the question, "Why do we need robots to look and act like people?"

 

Artificial Brains

About a dozen years ago I found myself alone at my computer, looking for someone to talk to via instant messaging. It came as a bit of a surprise that none of my friends were online. Rather than ponder why I was on my computer and alone on a Saturday night, I went the other way and "created" a friend. I spent the next few weeks coding an artificially intelligent "friend" who actually thought about his questions and answers based on my questions and answers. His personality was strikingly similar to my own, which made me chuckle, and others cringe. I called him SAM. (No relation to SolarWinds' SAM (Server & Application Monitor)).

 

Artificial People

It's only a matter of time before robots act indistinguishably from people. But why? I think Dr. Ian Malcom (Jurassic Park) put it best when he said, "We spent so much time trying to figure out whether or not we could that we didn't stop and ask whether or not we should." Thank you Dr. Malcom (an artificial person in his own right). Now I, Bronx (an artificial name for a real person - vis-à-vis, me), will ask that question, among others.

 

Moral Questions

Clearly there are some philosophical questions that need asking and answering. Even I'm guilty of being lazy in my thinking. Look at the Artificial Brains section above. I referred to a piece of software as His. Perhaps I should have thought more about why I had no friends at that moment rather than create one. Beyond that, imagine human-like robots were available today and ask yourself the following:

  • Should we build robots identical to humans? Initially it sounds like a good idea, but to what end? C-3P0 was human-esque and he was little more than a stumbling translator. R2-D2 seemed more efficient with his wheels and jet pack. The robots in the movie AI were essentially people, emotions, intelligence, and all. An emotional connection with a machine? Curious.
  • Do we need/want an emotional connection with a machine?  Probably not, but it is bound to happen. I never cried over a broken toaster and a humanoid robot should be no different. Making something that looks and acts human will probably create emotional havoc at some point.
  • What physical benefit will an artificial person bring? Robots are a great help when designed for a specific purpose, but why a human-like robot? You may be thinking that a humanoid can help the elderly and sick. That may be true, but why does it need to look like a person? My robot vacuum helps me and looks nothing like me. (I'm sure the robot is thankful for that.)
  • Who will be the master? In the movie, The Terminator, a race of robots outsmarted their human creators. The same is true in the movie, The Matrix, except that their world was software based. Do we want to risk this? It's only a matter of time before the machines become smarter than the people. To keep up, we'll probably end up merging with the machines at some point. "Honey, I love your sense of humor and the way your bionic eyes sparkle in the animated moonlight" Sigh.
  • Will this humanoid be a substitute for something/someone lacking in your life? Perhaps it's a better idea to deal directly with any and all emotional issues rather than put "a band-aid over a bullet wound."
  • Will having a fake person around the house allow you to express yourself in ways otherwise socially unacceptable where real people are concerned? If the answer is yes, you probably have issues you have not properly dealt with.You need to learn to be more socially accommodating, at the very least. If the answer is no, you don't need one. There are plenty of real people out there.

 

Real World AI

Fortunately, we are still in control of the machines. SolarWinds provides a type of AI when monitoring your network environment. (Let the software run around and figure out the problem, not you!). Some of our best are:

I just finished reading an article entitled, No, we don't really need another smartphone OS. The author argues that the three big platforms, IOS, Android, and Windows are basically enough, stating that, "The mobile landscape consolidated for a number of reasons, one being that not enough customers supported each OS to keep its development well-funded." That may be true, but...


Competition

The very reason we have the phone technology we have today is because of the competition. Competition is the belief that you can build a better mouse trap in the hopes of making money, thus improving the world. As we all know, one size does not fit all. As I detailed in an earlier article, choices and options are the driving factors behind my purchases (and I'm sure I'm not alone). In fact, if the Android OS did not exist, I would not be able to do half of the things I currently use it for on a daily basis. The iphone and Windows phone specifically restrict me from operations I can currently do with my Android. (Thank you, Google.)

 

The Browser War

Let's convert the phone OS war to the browser war. Now, if you're as geeky as I am, you probably do not use IE. You're most likely using Chrome or Firefox, Why? Because for you, they're simply better, regardless of your individual reasons. Both Chrome and Firefox have options that IE does not. Should we limit the number of browsers to three? Hardly.

 

Obviously, a lack of money and desire will kill the small players in competitive arenas, in most cases. And that's fine. But sooner or later, one of the little guys will have a big voice, and that's a fact. Mozilla Firefox began as an open source project, and just look at Bill Gates and Steve Jobs. They were nobodys at some point.

 

In fact, I thought I was innovative by creating my own Windows based browser, Bluto. It has features that are important to me, and hopefully a few others. Had it taken off, I could have been the next big thing. As it turns out, Bluto falls in that slim column to the right entitled, Other. (Oh well.) Look at the chart below and notice how the browser market share has gradually shifted over time:

browser-share-2011-04.png

As with any free market, the best will rise to the top and the poorest will sink to the bottom. Based on this chart, IE is the "best," but losing ground. Firefox has remained stable while Chrome continues to gain traction. The point is simple: Competition drives innovation. It is true that after the dust settles, only a few browsers, and phone operating systems, will survive. But they will have gotten better because someone else pushed back. If there were no competition, there would be no reason to improve and we would be stuck with ye old StarTac phone and the AOL browser. Yikes!

 

Even if the outsider doesn't make it big, his ideas might. For example, my browser may have a feature that the marketing people over at Microsoft may like and they may incorporate it into a future release. Hence, a poor performing product may begin to grow again and the world is that much better off.

 

The Network Monitoring War

SolarWinds is no slouch when it comes to competition. As a matter of fact, we were Forbes' number one small business in America for 2012! We examine our competition to see what they're doing wrong, and what they're doing right. We also engage our customers on a personal level, as I expressed in this article, so we can improve products like SAM and NPM, among others.

 

The Lesson I Learned

"Those who fear competition are those who cannot compete." - Bronx

Marketing. It's a maze we all have to navigate at some point during our daily lives. We are constantly bombarded with eye-catching buzzwords to get us excited about mystical new technology. Even buzzword, is a buzzword. Technology is moving fast, but strip out the fancy marketing terms and you'll realize that beneath many buzzwords lie technology already familiar to us.

 

Separating Fact from Hype

Below is a list of "creative" marketing terms with their actual definitions. See if you agree with me:

  • Retina Display - Just a clear picture.
  • Technicolor - More saturated colors.
  • HD Radio - HD literally has no meaning in this context. The radio signal may be broadcast digitally, but HD does not mean, High Definition, as the marketing people would like to have you believe.
  • The Cloud - For all intents and purposes, it's just the web, the internet, and so on. No different from what you're used to. Just a "loftier" name to something that has become stale.
  • Big Data - A large amount of data. Woo-hoo.
  • Solid State - Simply put, devices that are built from solid materials are considered solid-state. Um, isn't that most things? Look, I'm wearing a solid state hat! So what.
  • Flash Memory - Flash is easier to say than, "I brought the report on my EEPROM chip with a thin oxide layer separating a floating gate and control gate utilizing Fowler-Nordheim electron tunneling." It's just memory with a, quite literally, flashy name.
  • Plasma TV - Refers less often to blood products than to a kind of television screen technology that uses a matrix of gas plasma cells. Cool word though.
  • Surround Sound - Multiple speakers that surround the listener. Nothing surprising here.
  • Data Migration - Moving Information from here to there. Whoop-dee-do.
  • Ultrabook - Laptop
  • NFC smartphone - NFC is the new high-tech acronym for Near Field Communication which uses radio waves. In other words, walkie-talkie.
  • OLED TV - Organic Light-Emitting Diodes. Supposedly a better picture is generated, but I see no evidence of that.
  • Out-of-the-box - Does what it's supposed to do when purchased.
  • Virtual Classroom - Learning on a computer.
  • Prosumer - This is a marketing term for high-end products bought by professional consumers, and means very close to nothing. What exactly is a "professional consumer"?
  • Web 2.0 - And I have an amplifier that goes to 11. Just stop it.

BitCoins. Never heard of it? Me neither. What I did learn though is that it is a new private Internet currency based on torrent technology.

 

Torrent Technology

I'm sure many of you are familiar with how torrents work. For those who aren't, let me give you a brief lesson.

 

A torrent, literally means, flood. Torrent technology is a file sharing technology. Rather than have one person on one computer send you a file, torrents break apart a file into countless bits from countless users. These bits are spread all over the Internet and can be shared, collected, and reconfigured on a computer receiving a particular file. Therefore, no one person can be seen sending or receiving an entire file. Only the needed bits, like pieces of a puzzle, are sent and received throughout the internet. The advantage of this is no one person has total control. Anonymity, to a degree, is also an advantage.

 

BitCoins - The private Internet currency

BitCoins is the new private Internet currency based on torrent technology. Simply install the software and buy some coins. Now you can use your coins to buy and sell your wares, anonymously. Here's a simple example:

 

Let's say I have $100 worth of coins and I want to buy a widget. I go to a site that accepts my coins, make the purchase, then have the widget sent to any address I like. The seller now has coins totaling $100. The seller can choose to buy additional widgets with his coin money, or cash out. Cashing out means selling his coins on the open BitCoin market. Here, money and coins have their own exchange rate, much like stocks and precious metals do in the real world.

 

Why use BitCoins?

Sure, you can buy products over the Internet and pay by credit card, debit card, or PayPal. Those work fine (although my PayPal account was recently compromised and I was robbed of hundreds of dollars). So why BitCoins?

  • Privacy - What you buy and sell with BitCoins is anonymous. Only two transactions involve real money, buying the digital coins and selling them. That's it. Anything you do in between those two transactions remains completely obscured. Essentially, when you buy or sell something using these coins, all that's happening is the movement of a digital number from one place to another, obscured and encrypted by the clouds of the torrent sky.
  • More Privacy - Governments do not like this open currency market because they:
    • Cannot regulate it
    • Cannot tax it
    • Cannot stop the sale of questionable items
    • Cannot control you

 

BitCoins vs. Real Money

I think it's only a matter of time before paper money goes the way of the dinosaur and something similar to BitCoins takes its place, if not BitCoins itself. We're close to that already. Most of my personal transactions involve the movement of debit and credit card numbers from one place to another. Rarely do I have "real" money in my possession. (Although, I would like to see my numbers represent something tangible, like gold or silver.) Think about it. When you buy software, like SAM, you are digitally sending numbers from one place to another, then downloading digital data in response. Has physical cash left your pocket?

 

Money is a representation of how much we work. If I earn $10/hr for ten hours, I earned $100 (sans tax). Now I spend my $100 (ten hours of work) for something I deem worthy of my ten hours of work. Money is just a keeper of records showing how much work you have done, in one way or another.

 

For example, you can buy a steak and cook it yourself for about $10 and 30 minutes of your time. (In this instance, at earning $10/hr,  you've worked an hour and a half for that cooked steak). Or, you can go to a restaurant and buy the steak cooked for $25. In this case, you've paid an additional hour of your work to have others do the work for you. The restaurant in turn collects that additional hour of work in the form of a $10 profit.

 

I'm getting hungry...and I'm broke.

The Singularity is Coming

Posted by Bronx Jan 28, 2013

"The technological singularity is the theoretical emergence of superintelligence through technological means. Since the capabilities of such intelligence would be difficult for an unaided human mind to comprehend, the technological singularity is seen as an occurrence beyond which events cannot be predicted." - Wikipedia.


The above explanation of the Singularity is spooky. The Singularity will be the day when man and machine become one (if the machines allow it). This begs the question, "Who is in control"? The estimated arrival date of the Singularity is slated somewhere between 2030 and 2045, depending upon which futurist you subscribe to, Vernor Vinge or Ray Kurzweil. I'm a fan of the latter so I'll be eating healthier from now on.

 

Terminator type robots are not here yet, or are they?

Most people in the world cannot play a musical instrument well. Far fewer are the number of people who can build a machine to play an instrument well. That said, watch the video below and really think about who is smarter, you, the machines, or the inventors?

 

 

 

Future Software

The software it takes to create a robot musician is complex, to say the least. It's only a matter of time before software "creates" software, not unlike man creating life in a test tube. (Not just a simple replicating virus.) When this happens, the Singularity has begun. Imagine a piece of software created by another program that is so elegant and so complex that man can no longer comprehend it. What will this mean for mankind? Will we become obsolete and subsequently deleted? Possibilities abound.

 

Current Software

Fortunately, the smart developers of today are creating software that puts the user in control. SolarWinds SAM and NPM are two such examples, allowing the user to alert and report on what they deem important. Actions within the software do not occur without the knowledge of the user. I wonder what the machines will do when they take over. Will they create a Human Perfomance Monitor (HPM)? Gulp.

I'm not a TV guy, but...

Posted by Bronx Jan 24, 2013

...I bought one over the weekend. For the first time in five years I have a TV. Mind you, I bought the thing because of the technology, not the content that's being delivered. Let's see what I learned:

  • With over 1,000 channels, there is still nothing on.
  • LED pictures are great.
  • Based on today's content, I could be a TV producer, and make millions!

 

What are you watching?

Recently, I was watching a show about the men who built America. Not to go into too much detail, but it covered Ford, Rockefeller, and other biggies. The series was great. I heard stories about how these visionary men did whatever it took to make America the great country that it is today. Then the show cut to a commercial about why Chumlee was late to the pawn shop. Huh? My eyes rolled as I sighed. Is this where we are?

 

Some popular shows:

I've glanced at these shows, then wanted to smash my head through the screen:

  • Pawn Stars - People selling items for quick cash, often getting far less than the item's worth, thanks in part to the negotiating skills of the employees.
  • Storage Wars - People buying lockers of junk and trying to make money off of it.
  • Parking Wars - City employees who love giving out parking tickets, towing cars, and otherwise making car owners miserable.
  • Honeybooboo - Where is this slice of Heaven located? "Sketti," butter, and ketchup as a meal? Words fail me for trying to describe this concept.

How these are on the air is beyond me. What's next? Metal Detector races? After going through all the channels, I added about 12 to my favorites list. Pathetic.

 

The Smart TV

I did not get one. I just got your basic, garden variety, flat screen model. I don't know much about smart TVs, but there are security issues you should be aware of. For instance, they can spy on you.There's the next big show! A show about people watching their TVs! Gold Jerry, gold!

 

Daily Use

I have a feeling I'm going to turn that TV into a huge monitor for my laptop at some point. I mean, even the remote control is complex. (If I'm not careful, I could launch an ICBM.) My co-worker had an interesting use case for his TV and Dameware. You may want to check it out here.

The following procedures will help you troubleshoot MAPI issues relating to SAM. For example, you get the message: "MAPI profile not found."

Note: Do not use the same mailbox for multiple MAPI UX monitors. Doing so can cause the MAPI monitor to intermittently fail.

MAPI Probe Diagnostic Checklist


Install Collaboration Data Objects (CDO) or Outlook

  • CDO can be found here: http://www.microsoft.com/download/en/details.aspx?id=1004. If you would like to install CDO, uninstall your entire MS Office installation. Uninstalling Outlook only is not sufficient.
  • The MAPI probe may be unstable when running with Outlook installed. If this is the case, uninstall Office then download and install CDO.
  • The Orion Server is in the same domain as the Exchange server being monitored
  • The user account used to monitor the mailbox with SAM has permission to login to the server console and has done so at least once.
  • The user account to monitor the mailbox with SAM is in the local administrator user group of the server where SAM is installed
  • MAPI component is using the FQDN for the domain account.
  • The MAPI profile does not need to exist. The probe should create it and also update the existing profile with the required settings. However, there may be issues with an existing or created profile. The default Outlook profile is called Outlook.
  • If this profile does not work, create a profile with the MFCMapi free tool, availabe at: http://mfcmapi.codeplex.com/.
  • Review the Configuring and Integrating MAPI guide for any additional requirements and troubleshooting steps.

Check the MAPI profile

  1. In the MFCMapi tool, navigate to Profile > Advanced Profile > Launch Profile Wizard, keeping the defaults on the first dialog.
  2. Set the profile as default.
  3. Update the profile name of the newly created profile in the MAPI probe.
    • Use MFCMapi to find the profile name: Navigate to Profile > Show Profiles for verification.
    • Check that Send Email To: is correctly filled out in the component settings.
    • The Mapi Profile Name must match the actual profile name. Use the MFCMapi tool if you are not sure about the name.
    • Credentials used for the probe must be eligible to open the mailbox. It is required to add the user to the local Administrators group, otherwise the probe can fail with insufficient privileges.
    • Use a clean mailbox created for monitoring purposes. A mailbox full of email is problematic as it takes a lot more time for the probe to search through all of the emails. The MAPI probe deletes obsolete, undeleted messages sent by the probe in the past to keep the mailbox clean.

 

 

 

In part 2, I explained how to create the form necessary for the Quad NOC browser for use with SolarWinds products like SAM and NPM. In this part I'll give you all the code you need to get this up and running. Check out parts 1 and 2 if you have not done so already.

 

This Browser is not Feature Rich.

Exactly. And there's a reason for that: I don't know what features you want. The point of this exercise is for you to continue to improve upon this bare bones browser to suit your needs. Once you see the code (below) and play around with it, you may be inspired to add some features of your own.

 

Feature Ideas

There are countless things you can have your new browser do. You are just limited by your time and imagination. Here are just a few ideas to get you started:

  • Add a Home and/or Refresh button
  • Have more than four windows
  • Add dynamic bookmarks
  • Add a sidebar that shows reports/alerts
  • Add search engines that you use
  • Add the ability to email a page
  • Make the browser always on top
  • Add a note pad

 

Compile the Code

Below is the code you will need to add to your Quad NOC project in Visual Basic. In your project, go to the Code view and delete everything. Next, copy and paste the code below. When done, you should have something that looks like this:

quadnoc.png

If all is well, hit the Play button, highlighted above. The browser should appear before you working as planned. If everything works, compile your code into an executable.

 

Compiling your code into an executable:

  1. From the Build menu, select Build...
    build.png
  2. If successful, your executable should reside in a path similar to this: C:\VS2010\QuodNOC\QuadNOC\bin\Release

 

Copy and Paste Me - Read the comments in green before compiling

 

 

Public Class Form1

'Sets two variables to be used throughout

  Dim Zoomtoggle As Boolean

Dim maxsize As Integer

 

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles Me.Load

      ' This section tells the browser what to do when it starts up

        maxsize = Me.Height                      'The MAXSIZE variable is equal to the height of the form

        SplitContainer1.Top = 25                  'The top of this control starts 25 twips from the top of the form

        WebBrowser1.Top = 25                      'The top of this control starts 25 twips from the top of the form

        WebBrowser2.Top = 25                      'The top of this control starts 25 twips from the top of the form

        SplitContainer1.Height = Me.Height - 70  'The height of this control is = to the height of the form minus 70 twips

        SplitContainer1.Width = Me.Width - 30    'The width of this control is = to the width of the form minus 30 twips

        Zoomtoggle = False                        'This boolean variable is set to false

        maxsize = Me.Height * 2                  'This integer variable is set to twice the height of the main form

End Sub

 

Private Sub Form1_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize

      ' This section tells the browser what to do when it is being resized

        SplitContainer1.Top = 25

        WebBrowser1.Top = 25

        WebBrowser2.Top = 25

        SplitContainer1.Height = Me.Height - 70

        SplitContainer1.Width = Me.Width - 30

 

      ' If chZoom is checked, then scale the view, otherwise leave the magnification at 100%

        If Zoomtoggle = True Then

            Dim Scale As Integer

            Scale = Int(Me.Height * 100 / maxsize) 'Set the Scale variable equal to the height of the form X 100 and divided by the variable Maxsize, truncating decimal places

            ZoomPage(Me.WebBrowser1, Scale)        'Use the Zoompage function to scale this browser

            ZoomPage(Me.WebBrowser2, Scale)        'Use the Zoompage function to scale this browser

            ZoomPage(Me.WebBrowser3, Scale)        'Use the Zoompage function to scale this browser

            ZoomPage(Me.WebBrowser4, Scale)        'Use the Zoompage function to scale this browser

 

        Else

            ZoomPage(Me.WebBrowser1, 100)          'Use the Zoompage function to keep this browser at 100% zoom

            ZoomPage(Me.WebBrowser2, 100)          'Use the Zoompage function to keep this browser at 100% zoom

            ZoomPage(Me.WebBrowser3, 100)          'Use the Zoompage function to keep this browser at 100% zoom

            ZoomPage(Me.WebBrowser4, 100)          'Use the Zoompage function to keep this browser at 100% zoom

        End If

        Exit Sub

End Sub

 

 

Private Class OleCmd

        'This section references the browser magnification control

        Public Enum OLECMDEXECOPT As Integer

            OLECMDEXECOPT_DONTPROMPTUSER = 2

        End Enum

 

        Public Enum OLECMDID As Integer

            OLECMDID_OPTICAL_ZOOM = 63

        End Enum

End Class

 

Private Sub ZoomPage(ByVal wb As System.Windows.Forms.WebBrowser, ByVal Factor As Integer)

        Try

            Dim [ActiveXInstance] As Object = wb.ActiveXInstance()

            [ActiveXInstance].ExecWB _

                ( _

                OleCmd.OLECMDID.OLECMDID_OPTICAL_ZOOM, _

                OleCmd.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, _

                DirectCast(Factor, Object), _

                IntPtr.Zero _

                )

        Catch ex As Exception

        End Try

End Sub

 

Private Sub cmdGo_Click(sender As System.Object, e As System.EventArgs) Handles cmdGo.Click

      'When the Go button is clicked, decide which Quadrant Radio Button is checked and then navigate to the address typed in the text box

        If Q1.Checked Then WebBrowser1.Navigate(TextBox1.Text)

        If Q2.Checked Then WebBrowser2.Navigate(TextBox1.Text)

        If Q3.Checked Then WebBrowser3.Navigate(TextBox1.Text)

        If Q4.Checked Then WebBrowser4.Navigate(TextBox1.Text)

End Sub

 

Private Sub cmdBack_Click(sender As System.Object, e As System.EventArgs) Handles cmdBack.Click

      'When the Back button is clicked, decide which Quadrant Radio Button is checked and then navigate back to the previous page.

        If Q1.Checked Then WebBrowser1.GoBack()

        If Q2.Checked Then WebBrowser2.GoBack()

        If Q3.Checked Then WebBrowser3.GoBack()

        If Q4.Checked Then WebBrowser4.GoBack()

End Sub

 

Private Sub cmdForward_Click(sender As System.Object, e As System.EventArgs) Handles cmdForward.Click

      'When the Forward button is clicked, decide which Quadrant Radio Button is checked and then navigate forward.

        If Q1.Checked Then WebBrowser1.GoForward()

        If Q2.Checked Then WebBrowser2.GoForward()

        If Q3.Checked Then WebBrowser3.GoForward()

        If Q4.Checked Then WebBrowser4.GoForward()

End Sub

 

Private Sub chZoom_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chZoom.CheckedChanged

        On Error Resume Next

      ' If chZoom is checked, then scale the view, otherwise leave the magnification at 100%

        Zoomtoggle = Not Zoomtoggle

 

        If Zoomtoggle = True Then

            Dim Scale As Integer

            Scale = Int(Me.Height * 100 / maxsize)

            ZoomPage(Me.WebBrowser1, Scale)

            ZoomPage(Me.WebBrowser2, Scale)

            ZoomPage(Me.WebBrowser3, Scale)

            ZoomPage(Me.WebBrowser4, Scale)

        Else

            ZoomPage(Me.WebBrowser1, 100)

            ZoomPage(Me.WebBrowser2, 100)

            ZoomPage(Me.WebBrowser3, 100)

            ZoomPage(Me.WebBrowser4, 100)

        End If

End Sub

 

Private Sub chRefresh_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chRefresh.CheckedChanged

      ' If chRefresh is checked, start the 60 second timer

        If chRefresh.Checked = True Then Timer1.Enabled = True

        If chRefresh.Checked = False Then Timer1.Enabled = False

End Sub

 

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick

      'When enabled, the timer will refresh all four browsers every 60 seconds

        WebBrowser1.Refresh()

        WebBrowser2.Refresh()

        WebBrowser3.Refresh()

        WebBrowser4.Refresh()

End Sub

 

Private Sub TextBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown

        On Error Resume Next

      'Determine when the user presses Return (Enter). When Return is pressed, then decide which browser navigates to the address in the text box by checking which radio button is selected

        If e.KeyCode = Keys.Return Then

            If Q1.Checked Then WebBrowser1.Navigate(TextBox1.Text)

            If Q2.Checked Then WebBrowser2.Navigate(TextBox1.Text)

            If Q3.Checked Then WebBrowser3.Navigate(TextBox1.Text)

            If Q4.Checked Then WebBrowser4.Navigate(TextBox1.Text)

        End If

End Sub

 

Private Sub LinkLabel1_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

      'When this link is clicked, decide which of the four browsers will navigate to the hard coded address

        If Q1.Checked Then WebBrowser1.Navigate("Google.com")

        If Q2.Checked Then WebBrowser2.Navigate("Google.com")

        If Q3.Checked Then WebBrowser3.Navigate("Google.com")

        If Q4.Checked Then WebBrowser4.Navigate("Google.com")

End Sub

 

Private Sub LinkLabel2_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked

      'When this link is clicked, decide which of the four browsers will navigate to the hard coded address

        If Q1.Checked Then WebBrowser1.Navigate("Google.com")

        If Q2.Checked Then WebBrowser2.Navigate("Google.com")

        If Q3.Checked Then WebBrowser3.Navigate("Google.com")

        If Q4.Checked Then WebBrowser4.Navigate("Google.com")

End Sub

End Class

In this installment, I'll explain how to create the visual elements of the Quad NOC Browser.

ide2.png

Lesson 3 - The Build

First, open Visual Basic and create a new project. (Use the picture above as a visual aid.)


Get the Form in Shape:

  1. Stretch the Form from the lower right-hand corner to make it as large as possible. (Select it and then grab a corner node to do this.)
  2. With the Form still selected, go to the Properties window to the right of the Form and find the Text property.
  3. Change the default text from Form1 to Quad NOC.


Add the Tools:

tools.png
The table below explains the tools you need to put on the top of the form, as shown above. The tools used, from left to right in both the illustration above and the table below, are indicated by the header of the table.

 

Tool from the Toolbox:ButtonButtonText BoxButtonRadio Button

Radio Button

Radio Button

Radio Button

Link LabelLink LabelCheck boxCheck box
Change the Name property of this tool to:cmdBackcmdForwardTextbox1cmdGoQ1Q2Q3Q4LinkLabel1LinkLabel2chZoomchRefresh
Change the Text property to:<>GoQuadrant 1Quadrant 2Quadrant 3Quadrant 4Your link name hereYour link name hereAuto-ZoomRefresh views every minute.
Change the Anchor property to:Top-RightTop-Right


Important: Be sure the two check boxes are not checked. If needed, change the Checked property of each to False. Also, ensure the CheckState property is set to Unchecked for both.


Add a Timer

  1. Add a Timer from the Toolbox to the form. (When placed on a form, the timer will move to a taskbar below the form automatically.)
  2. Use the default name of Timer1.
  3. Set the Interval property to 60000 (60,000 milliseconds = 60 seconds.)
  4. Set the Enabled property to False.


Now the tough stuff:

  1. From the Toolbox, add a SplitContainer to the center of the form. Use the default name of SplitContainer1.
  2. Change the Dock property from Fill to None. You should now have something that resembles the following:
    panels1.png
  3. In panel 1, add another SplitContainer and leave the default name of SplitContainer2.
  4. Change the Orientation property from Vertical to Horizontal.
  5. In panel 2, add another SplitContainer and leave the default name of SplitContainer3.
  6. Change the Orientation property from Vertical to Horizontal.
  7. Change the SplitterWidth property of each SplitContainer to 10. You should now have something that looks like this:
    panels4.png
  8. From the Toolbox, add a webbrowser control for each of the four quadrants. Leave the default names. Place them in the order shown below:
    qw.png
  9. For the URL property of each browser, set the default navigation page (For example: http://123.4.15.7, or the Orion home page in your environment.)
  10. Save everything.

 

Homework

Today, I've given you the minimum you need to design the Quad NOC browser. That is, all the objects needed for the browser to work are now on the Form. By now, I'm sure you've noticed there are many more properties that you can tweak, like the color and size of the fonts. Your assignment is to play with these properties and try and get the browser to look as close in appearance to the one seen in part 1..

 

In the next installment, we'll begin coding.....oooooohhh.

Filter Blog

By date: By tag:

SolarWinds uses cookies on its websites to make your online experience easier and better. By using our website, you consent to our use of cookies. For more information on cookies, see our cookie policy.