Knowledge – SpectralCoding https://www.spectralcoding.com My Technical Projects and Adventures Fri, 19 May 2017 06:53:52 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.1 Misconceptions 2: Programming https://www.spectralcoding.com/2013/07/misconceptions-2-programming/ https://www.spectralcoding.com/2013/07/misconceptions-2-programming/#respond Sun, 07 Jul 2013 18:36:44 +0000 https://www.spectralcoding.com/?p=58 Misconception 1: One Language Is Inherently Better Than Another

The biggest problem I always faced when I was first exploring the world of programming was “which language should I learn?” In my experience you should learn a lot. There is no language that can do everything better than another. Don’t fall victim to the idea of the Golden Hammer. Use the right tool for the job. PHP is great for developing websites. It is less then idea to write a RDBMS in PHP. C is awesome and you can do anything in it. The limitation with C is the complexity and speed of development.

XKCD 801: Golden Hammer

XKCD 801: Golden Hammer

Additionally, when you start discussing languages in the same category (C# vs Java, PHP vs Ruby on Rails, etc) you will see some fierce opinions like “Visual Basic sucks, you’re stuck in the 90s”. If you’re writing a quick tool for yourself to get a job done, use whatever you know and are comfortable with. If you’re writing an enterprise application use the language which is going to be easiest to maintain and allows you to follow common design patterns such as Model-View-Controller.

Misconception 2: You Have to Use a Fancy Editor for Web Design

wysiwyg_editorOne of my biggest struggles was finding the right IDE. For .NET, it’s easy: Visual Studio. For web design it is not so easy: Dreamweaver? FrontPage? CoffeeCup? Notepad? In my experience WYSIWYG editors generate sloppy code that is impossible to maintain by hand. Some developers use fancy IDEs like Dreamweaver, others use more simplistic solutions like Notepad or Vi. My preference is to be less reliant on WYSIWYG designers and keep yourself in the code view. Writing the code yourself you definitely learn more and are familiar with the structure of the website. In the end it doesn’t matter. If you need to slap something together use a visual designer. If you want to practice your HTML or need to build a site with excellent cross browser compatibility a code editor may be more suited for your needs.

In a perfect world the best editor (in my eyes) would be one that has syntax highlighting, some form on auto completion (like IntelliSense), and an instantly updating browser view. My struggle was always remembering the hundreds of CSS properties. Solutions like a simple Notepad window lack syntax highlighting which can make the work easier on the eyes and quicker in the long term. An instantly updating browser view (side-by-side with the code) would allow newer developers to see how their changes affect the visual appearance, as well as allow experienced designers to quickly test new ideas and solutions for layout problems.

]]>
https://www.spectralcoding.com/2013/07/misconceptions-2-programming/feed/ 0
Misconceptions 1: Datacenter https://www.spectralcoding.com/2013/07/misconceptions-1-datacenter/ https://www.spectralcoding.com/2013/07/misconceptions-1-datacenter/#respond Sat, 06 Jul 2013 18:35:35 +0000 https://www.spectralcoding.com/?p=32 While adventuring through the unprofessional technological world there were many misconceptions that I had picked up. Some wide spread ideas that was mostly biased rhetoric.

Misconception 1: No Respectable System Administrator Uses Windows Server

windows_server_systemThis was perhaps the most prevalent misconception that comes to mind. It is mostly the drivel shelled out by diehard Linux “fanboys”. The fact of the matter is this: If you work in any organization where the end users are using Windows, you should have Windows servers. You may find yourself only using Windows Server for your Active Directory services and Linux for everything else, but you’re still using Windows Server. At the moment nothing compares to Active Directory when it comes to managing large numbers of Windows PCs and Users.

The most prevalent argument comes from “Windows Servers are less reliable, I have a RHEL 4.1 box I’ve never had to restart”. We’ll revisit this in Misconception 2, but in my experience Windows servers are just as reliable as Linux servers… Once they’re set up. Windows Servers also have the benefit of being easier to manage for newer administrators. The bottom line is that each OS has it’s own role in the server world.

Misconception 2: Straight Uptime Numbers Matter


Lets go back to the quote: “Windows Servers are less reliable, I have a RHEL 4.1 box I’ve never had to restart”. Take a moment and really read that sentence and think about what it means. If you have a RHEL 4.1 (released in 2005) box that hasn’t been restarted in seven years you’re in trouble. Why? Updates. If you haven’t restarted a box in seven years that means you’re vulnerable to seven years worth of kernel exploits. Lets define some terms…uptime_icon

  • Straight Uptime: The amount of time the operating system reports since last restart. This can be obtained with “uptime” on Linux systems or Task Manager on Windows systems.
  • Downtime: The amount of unplanned unavailability of services running on the server. This is usually unexpected and provides no warning.
  • Maintenance: The amount of planned unavailability of services running on the server. This is usually scheduled and prepared for.

We’ve established that large straight uptime numbers can be bad because of unpatched security updates. The key here is to work with your users and management to schedule regular maintenance intervals where administrators can perform updates, upgrades, migrations, and fixes. This form of unavailability may be harder for some systems, such as large websites, but it is possible with additional resources such as setting up a new server and migrating everything then switching DNS.

]]>
https://www.spectralcoding.com/2013/07/misconceptions-1-datacenter/feed/ 0