Web Hosting at Home – Pros and Cons

Have you ever thought of hosting your own website from home? This is a question many people on the Internet have asked before. While there are many answers to the question I wrote above, I will give my basic opinion on the matter.

Hosting from home is not always easy. You must manage:

  • Your Internet connection (at least to a certain degree)
  • Internet router
  • Server hardware
  • Software (including securing your server OS installation and keeping the software up-to-date)
  • Dealing with hacking attempts
  • Clean-up successful hacking attempts (this rarely happens on a properly setup server)
  • Keep consistent backups of your data (I do three backups daily on my server)
  • Putting in battery backups and power surge protectors
  • Dealing with support requests

My context when saying “hosting from home” is not running a large web-hosting business. I mean hosting your own private/business website as well as a few friends’ websites (including email). Obviously, you cannot be a large “GoDaddy” web-host, while you are running out of your home. That is not a realistic expectation.


The advantages of hosting from home are the following:

1) Privacy of your data

If setup correctly, no one can easily snoop on your private, confidential data that is on your own server.

2) You can choose your own server hardware

You are not limited by a web host’s hardware options for your server.

3) You can easily deal with server hardware failures

You don’t have to wait for a technician to fix your server.

4) Possibly cheaper for you in the long run

A decent Virtual Private Server purchased online could easily run $20.00/month, and a decent dedicated server could be as much as $100.00/month minimum!

5) No commitments to a web hosting company

You do not have to worry about some web hosting company making unreasonable demands (e.g., 50,000 file limit — on some large websites, you could easily go over a limit like this).

The disadvantages of hosting from home are the following:

1) Possible higher Internet service cost

Your ISP may require you to purchase an Internet service business plan instead of a residential one; this can possibly be expensive but not guaranteed to be expensive.

2) You may not have enough upstream bandwidth

To host efficiently from home, you will need to have at least 30 Mbps of upload speed; any less and you will notice performance degradation with loading your websites from other locations.

Please keep in mind if you are wanting to host several large videos, I recommend either lowering the bit-rate of your videos – so they will stream faster for your users – or use a 3rd party hosting service just for the videos themselves. Most self-hosters will not have enough upload bandwidth to properly serve 1GB+ video files.

3) Unstable home power

Few people may not have stable power at their house or business and thus their server goes on and off; this can easily be fixed by putting in a battery backup for your server.

4) Reliability of your Internet Service Provider

Unless you have a signed agreement with your ISP, they are under no obligation to keep your Internet connection up 24/7.

5) More manual labor required

On a hosted solution online, someone else does the hard work with maintaining your server; when you host from home, you must do it all yourself.


I hope the above helps you decide on whether to self-host web services. I know there are a lot of people online who say it is “bad, silly, stupid, not smart, wouldn’t recommend it” when it comes self-hosing web services.

With all due respect to those people, most of them have never done web hosting by themselves before, and are trashing something they have never done (which is silly and bad in itself!).


Posted in Computers, Internet and Servers

Akamai Discovers Linux Botnet that Hits with 150 Gbps DDoS Attacks

According to a web article, Akamai (a Content Delivery Network company) discovered a massive Linux botnet. A botnet is basically a bunch of compromised computers that allow attackers to perform various tasks that would otherwise be virtually impossible to accomplish without everyone’s compromised computers.

Basically, the botnet comes in the form of a Trojan. This Trojan targets Linux systems (including network routers). Once it gets into the system, it proceeds to download software to connect the computer to the botnet. The botnet is reportedly able to give up to a 150 Gbps DDoS** attack.

As I have said on my blog repeatedly, Linux is not immune to security problems. No operating system on the planet is immune to security problems. In this case, it is people using weak, insecure passwords on their Linux boxes.

If I set my Windows box’s Administrator password to ‘password123’ or ‘qwerty’, enabled remote desktop on my computer, and allow remote desktop through the firewall, I would eventually get hacked. Was that Windows’ fault or Microsoft’s fault? No, of course not. It would be my fault for setting a bad password on my computer.

Many people say “Linux is more secure than Windows”, but if you notice – most of the time – they do not give any technical arguments to backup what they said.

For example, a part of one of someone’s comment posted online said (direct quote):
“The primary attack vector to take over these systems is default or weak login passwords, and allowing internet-facing remote root. That has no bearing on Linux suddenly being less secure than it was yesterday, or in any way magically now just as insecure as Windows.”

Notice he said “That has no bearing on Linux suddenly being less secure than it was yesterday, or in any way magically now just as insecure as Windows.”, but he did not give any technical arguments to backup what he said. How is Windows “insecure”? How is Linux I have seen this dozens of times (no kidding).

What is worse is people will listen to them, assuming they are correct (e.g., Linux is more secure than Windows), and go off and repeat the same misinformation around on the Internet without even bothering to check if the information they received is in fact accurate.

Web article link: https://www.engadget.com/2015/09/29/linux-botnet-hits-with-150-gbps-ddos/

** Simply put, a DDoS attack is basically an attack that uses up the victim’s available bandwidth. This causes the victim’s computers to not correctly function when communicating with the outside world and internal network.


Posted in Computers, Internet and Servers, Operating Systems, Software

Pros and Cons of the C# Programming Language

I’ve programmed in C#.Net for a while now, and I have grown to like it (even over VB.Net). While I do not believe in dismissing other programming languages (e.g., VB.Net) just because people “don’t like them”, I do prefer C#.Net over VB.Net for my new projects I work on.

Please note that these “pros” and “cons” of C# are my own opinions and do *not* necessarily reflect the average C# programmer out there.

Pros to using C#

  1. Learning C# will help you later on if you decide to learn harder programming languages (e.g., C or C++). The programming style of C# is very similar to other C languages.
  2. Since people usually see C# > VB.Net, you should have an easier time finding a C# job, instead of a VB.Net one.
  3. Most online examples for .Net languages are in C#.
  4. If you are looking to work with other programmers (commercial or open source), then knowing C# will be a benefit to you.  This is because many programmers out there pretty much have coded (and still do code) in some kind of C language.
  5. The C# language is less verbose (not as wordy) in comparison to the BASIC language. This is more the programmer’s preference than anything else.

VB.Net Verbose Code Example:   Dim  calculations  As  Decimal

C#.Net Non-Verbose Code Example: decimal  calculations;

Obviously the C# code example has much less to type. You may not think this is a big deal, but if you have 1,000 (+) lines of code to write, you will then understand why a less verbose language is faster to write in.

Cons to using C#

  1. C# would not be the best programming language for newcomers to start programming with (C# is a more complicated syntax).  I would rather start them out on VB.Net, and later on introduce them to C#.Net.
  2. In C#, you have to use semi-colons [ ; ] at the end of each line of code you write. You get used to it after a while, but it is an extra step that you do not have in VB.Net (and many other languages).
  3. The C# language is case-sensitive.  You can have the variables dateofbirth, dateOfBirth, and DateOfBirth all at the same time. This can overtime cause confusion, if you are not careful.
  4. C# is not the same as VB.Net in capabilities (they are practically the same, but not necessarily 1:1 on every detail).  In other words, if you try to convert a C#.Net project to a VB.Net project (or vice versa) you may encounter difficulties. Please make sure to choose the programming language you really want to use to start with.
  5. In C#, the switch clause requires a “break;” command every time you check for a value. The case clause in VB.Net does not require this (less to type in VB.Net). Please note that the switch clause in C# is not exactly the same thing as the case clause in VB.Net.  There are differences.
  6. C# uses curly-brackets { }  that define the beginning and the end of things like functions, for each statements, if statements, etc. Curly-brackets can become messy unless you are careful to not confuse them with other curly-brackets that are for something else in your code. There is software out there than can highlight curly-brackets for you while you are coding, so you have less of a chance of becoming confused.

So in the end, which programming language do I recommend for you to use? Well if you are new to programming on the computer, I would first start out on VB.Net. Later on, you can move to C#.Net.

If you already have gotten your feet wet with programming, I would go ahead and start learning C#.Net. In the end, you have to make up your own mind. 🙂

Remember the more programming languages you learn, the more valuable you will be to other people who need your programming skills. Also please remember that VB.Net is not evil (regardless of what people may say). It is ok to go ahead and write software in VB.Net if you want to (or need to).


Posted in Computers, Programming

Even More Windows FUD

I received this comment that someone posted online. In case anyone is wondering, I try to keep the authors’ names and/or usernames of different comments, articles, blog posts, etc. I respond to anonymous.

The comment was riddled with misinformation and untruths about Windows. I will place the comment author’s comments below in red. My responses are in black. Please note that I mean no disrespect to the comment’s author in anything I say.

It is funny because if you walk into any major company, even Microsoft, you will find a majority of the servers running Linux.

While there are a lot of companies that make use of Linux (and probably have several Linux servers), I highly doubt that Microsoft uses many (if any) Linux servers themselves. Do you have a source to verify this?

It is also funny that they think Windows is more secure.

What makes you think Linux is any more secure than Windows? You did not provide any technical arguments.

Windows has not fixed any major security holes in years because it is impossible to do so. The software runs in the operating system instead of a sort of run time container.

  1. To say that Windows “has not fixed any major security holes in years” would mean that Microsoft does not give security patches to Windows. This is, of course, a false statement.
  2. Why would it be “impossible” to fix major security issues in Windows? You gave no technical arguments to backup your statement.

Open Source ensures that any security holes found can be fixed within minutes of finding them. Windows has to officially release patches for every fix and those fixes can only be made by Microsoft.

Not true! The Bash ShellShock vulnerability took days to get all the official patches out.

“Initial solutions for Shellshock do not completely resolve the vulnerability. It is advised to install existing patches and pay attention for updated patches to address CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, and CVE-2014-6278. Red Hat has provided a support article with updated information.”   —   Source:  https://www.us-cert.gov/ncas/alerts/TA14-268A

In other words, the current patches are not a 100% guarantee that the ShellShock vulnerability has been completely patched.

I don’t think you understand fundamentally how the Windows operating system works from the perspective of a low level developer. If you look at the Windows source you will see that it has almost not been touched since XP.

Not true!  Windows 7 alone had the following features added to the OS such as:

Final point is that Ubuntu, which in the Linux community is considered Windows with a custom theme, has that title for a reason. Besides being pure Linux on the backend, the front end is basically the same as Windows.

Ubuntu Linux is not a complete replacement for Windows. There are many programs (such as:  Adobe Photoshop, Microsoft Word, Visual Studio)  that either have no Linux equivalent, or the “equivalent” software program is not up to par.

It is also one of the biggest Linux communities in the world. If you have a problem, you can find a solution normally within a few minutes by asking online in any Linux community weather it is programming or general usage. I should know because I use Linux as my main OS.

You can usually find quick answers to Windows questions online.

You have the question as well, infrequent tested patching or ultra frequent fixes that can quickly be refined by a large userbase that puts it through actual non-simulated testing. The answer is obvious.

Community testing of patching (a.k.a fixes) is a good way to know if what you fixed is actually fixed! However, this does not mean that professional testers are “worse” than community testers. In other words, don’t assume community software testers are “better” than professional software testers.

————————————-

Of course I use both Windows and Linux myself and am not a Windows fanboy, but it is a pet peeve of mine to hear incorrect Linux statements made from people as well as Windows FUD spread by people who do not know what they are talking about.


Posted in Computers, Operating Systems