Server (computing)

The Ransomware Attack Isn’t Over—Here’s How to Protect Yourself

If your computer’s running on Microsoft Windows, you need to take these steps—right away.

Here’s why: in case you haven’t heard, hackers exploited a vulnerability in older Microsoft Windows servers to execute a large-scale global cyberattack on Friday using ransomware — a malicious software that holds your computer hostage for ransom — and a hacking tool stolen from the U.S. National Security Agency (NSA). The massive attack left victims locked out of their PCs with a promise of restored access if $300 was paid in digital currency Bitcoin—and a threat of destroyed files if the ransom is not met.

Thus far, at least 200,000 computers have been infected in more than 150 countries, leaving everything from businesses and governments to academic institutions, hospitals and ordinary people affected.

How it works

The malware, which “spreads like a worm,” is transmitted through a phishing email containing a compressed, encrypted file. Since the file is encrypted, security systems do not identify the ransomware, called Wanna Decryptor, until after it is downloaded. Wanna Decryptor, a next-gen version of the WannaCry ransomware, gains access to a given device once the malware-filled file is downloaded: it then encrypts data, locks down the system and demands ransom.

Ransomware does not typically work this quickly. But thanks to a stolen NSA cyber-weapon called EternalBlue, which was made public last month by a hacking group known as the “Shadow Brokers,” the malware spread rapidly by exploiting a security flaw in Microsoft Windows servers.

What users need to do

Simply put: make sure your Microsoft Windows server is up to date. Microsoft issued a patch in mid-March to fix the hole in Windows 7 and other supported versions of Windows: Vista, Server 2008, Server 2008 R2, 8.1, Server 2012, RT 8.1, 10, Server 2012 R2, and Server 2016. But those who did not apply the software update were—and still are—left exposed to the hack.

In light of the attack, Microsoft rolled out patches to protect older versions of Windows that “no longer receive mainstream support” from the company like Windows XP, Windows 8, and Windows Server 2003. Those…

What Is a 500 Internal Server Error and How Do I Fix It?

If you try to visit a website and see a “500 Internal Server Error” message, it means something has gone wrong with the website. This isn’t a problem with your browser, your computer, or your internet connection. It’s a problem with the site you’re trying to visit.

What This Error Means

This error may appear in a variety of different ways, but they all mean the same thing. Depending on the website, you may see the message “500 Internal Server Error”, “500 Error”, “HTTP Error 500”, “500. That’s an error”, “Temporary Error (500)”, or just the error code “500”. It’s one of many different error messages you might see in your browser.

However you see this displayed, this is an error with HTTP status code 500. The 500 error code is a generic message that appears when something unexpected happened on the web server and the server can’t offer more specific information. Rather than giving you a normal web page, an error occurred on the web server and the server gave your browser a web page with an error message instead of a normal web page.

How to Fix It

This is a problem on the website’s end, so you can’t fix it yourself. Whoever runs the website will have to fix it.

However, there are often ways to quickly get around the problem. This error message is often temporary and the website may quickly fix itself. For example, many people may be connecting to the website at once, causing the problem. You may just need to wait a few minutes—or a few seconds—before trying again, and the website may work properly.

If you experience this problem, try reloading the web page. Click the “Reload” button on your browser’s toolbar or press F5. Your browser will contact the web server and ask for the page again, and this may fix your problem.

Important:…

What I learned about building serverless apps

The term “serverless architecture” is a recent addition to the technology lexicon, coming into common use following the launch of Amazon Web Services (AWS) Lambda in 2014. The term is both paradoxical and provocative: In fact, there really are servers backing “serverless” technology, but the term illustrates one of IT’s biggest headaches, server administration. Serverless architecture offers the promise of writing code without the worries of ongoing server administration.

But is the reality as sweet as the promise? The agency I work for recently put this question to the test when we deployed an app in production using a serverless architecture.

For our project, we opted for a serverless architecture using AWS Lambda, API Gateway, S3, and DynamoDB to power a website and chatbot application for a major entertainment company. A serverless approach was a natural fit because the app was expected to receive a significant amount of traffic during the initial few months, likely tapering off thereafter. Relying on AWS-managed components meant we could achieve scalability and high-availability without the cost or complexity of setting up redundant, load-balanced, auto-scaled, EC2 instances. More importantly, it meant the client only paid for actual compute time.

The end result was fantastic: The deployed application ran flawlessly. The journey to get there, on the other hand, was a bit more challenging.

Here are five key lessons for building a serverless app in the real world.

1. Allow sufficient time for Lambda and API Gateway configuration

The first thing to be aware of when building a serverless web app is that there is a lot of configuration involved with each Lambda function, including:

  • Uploading the code
  • Configuring the Lambda function
  • Creating the API endpoint (e.g. specifying which HTTP methods it listens to)
  • Setting up the IAM security role for the function
  • Configuring the behavior of the HTTP request (e.g. how the request variables are received and transformed into Lambda function arguments)
  • Configuring the behavior of the HTTP response (e.g. how return variables are sent back to the caller and transformed into an HTTP/JSON format)
  • Creating the staging endpoint
  • Deploying the API

It’s critical to factor in configuration time for each function when mapping out your project schedule. But as annoying as the amount of configuration may seem, remember that Lambda functions are nanoservices, and their configuration is part of the deployment process itself. It wouldn’t seem strange to spend this amount of time configuring and deploying an API microservice. And on the flip side, it makes life real easy for IT operations.

2. Documentation is light, so be prepared for some detective work

The real challenge is less about the number of configuration steps per se and more about the lack of documentation in general. Error messages are often cryptic and the number of configuration options is large, making diagnosis time-consuming. Making matters worse, documentation and community support is still immature, so there isn’t a huge corpus of community knowledge to draw from. This situation will undoubtedly improve over time as serverless technology gains popularity.

3. Find the right balance between tight cohesion and loose coupling

One of the more difficult questions we faced was how to structure the application itself. Prior to the advent of serverless architecture, functions were assumed to exist within a larger cohesive application with shared memory and a call stack. In contrast, there is a notable dearth of published design patterns for serverless applications. Even Lambda’s close cousin, the microservice, operates much like a traditional application internally with shared memory and a call stack, so the design patterns for microservices didn’t provide much help either. With AWS Lambda, you are literally deploying a single function, outside the context of a larger…

How to Download and Sync Media from Your Plex Media Server Offline Viewing

Streaming content from your Plex Media Server is great, but sometimes—like when you’re going to be offline or stuck with cruddy internet speeds while traveling—there’s no substitution for having a copy of the media stored on your device instead of in the cloud. Fortunately, it’s easy to grab your media and go.

Downloading, Syncing, and the Premium Difference

With Plex, there are two ways to approach this issue, dependent on whether you’re a free Plex user or a Plex Premium user. Both free and premium users can download content from their Plex Media Servers, but this download functionality is 1) manual action only; 2) simply downloads a copy of the media to the computer or mobile device you are using; and 3) does not automatically transcode your media (to make it smaller and more mobile-storage friendly).

The upside to this technique is that you get a copy of the media to do whatever you want with (like give to a friend) and that copy is in the original quality. The downside is that it does not automatically sync, you have to manually transcode if you want smaller file sizes, and you have to load the media in a third-party player (e.g. if you download a movie to your iPhone using the manual download method, the movie won’t load in the Plex app but it will load in any media player on your iPhone capable of playing it).

The other method, available only to Plex Pass premium subscribers, is the sync method. While the download method might be great for a one-off download (like grabbing a movie or two to copy to your laptop before you head to the airport), the syncing method is vastly superior for consistent use (like keeping the most recent episodes of your favorite TV show synced to your phone and ready for viewing on the commuter train). The upside to the syncing method is that it is fully automated and highly customizable, thanks to flexible syncing rules. You can sync files from your Plex Server to any Plex app that is registered to your Plex account, including Plex for iOS, Android, Windows Phone, and Windows desktop.

Let’s take a look at how to download and sync content, respectively, using a season of the TV show Archer as our sample media.

How to Download Content from Your Plex Media Server (Free or Premium)

To download a couple one-off videos from your Plex Media Server, you simply need to be logged into your Plex account and access the web interface. You can do this either while your’e at home or while you’re away from home, as long as you have a good internet connection. The only real restriction on downloading is that you must be the owner of the Plex Media Server—this means you can download everything from your own server, but you can’t download content from a server someone has shared with you, nor can they download from a server you share with them.

From that web interface, it’s super simple to download content. First, navigate to the media you’re interested in. We’re interested in grabbing a few episodes from Season 1 of Archer to watch away from home, so we’ll head there now. Here in the Season 1 entry, we need to select Episode 1 and then click on the “…” menu icon, as seen below.

In the context menu, click “Download”.

The file will be downloaded, in it’s full original file size and resolution, to you computer or mobile device. Additionally, you can also click on the full detailed entry for any media item (individual TV episodes, movies, songs in your music library, etc.) and click on the “…” menu in the left side navigation bar to also select “Download”. You cannot download entire seasons of TV shows at one time and will need to repeat this process for every episode you wish…

How to Download and Sync Media from Your Plex Media Server Offline Viewing

Streaming content from your Plex Media Server is great, but sometimes—like when you’re going to be offline or stuck with cruddy internet speeds while traveling—there’s no substitution for having a copy of the media stored on your device instead of in the cloud. Fortunately, it’s easy to grab your media and go.

Downloading, Syncing, and the Premium Difference

With Plex, there are two ways to approach this issue, dependent on whether you’re a free Plex user or a Plex Premium user. Both free and premium users can download content from their Plex Media Servers, but this download functionality is 1) manual action only; 2) simply downloads a copy of the media to the computer or mobile device you are using; and 3) does not automatically transcode your media (to make it smaller and more mobile-storage friendly).

The upside to this technique is that you get a copy of the media to do whatever you want with (like give to a friend) and that copy is in the original quality. The downside is that it does not automatically sync, you have to manually transcode if you want smaller file sizes, and you have to load the media in a third-party player (e.g. if you download a movie to your iPhone using the manual download method, the movie won’t load in the Plex app but it will load in any media player on your iPhone capable of playing it).

The other method, available only to Plex Pass premium subscribers, is the sync method. While the download method might be great for a one-off download (like grabbing a movie or two to copy to your laptop before you head to the airport), the syncing method is vastly superior for consistent use (like keeping the most recent episodes of your favorite TV show synced to your phone and ready for viewing on the commuter train). The upside to the syncing method is that it is fully automated and highly customizable, thanks to flexible syncing rules. You can sync files from your Plex Server to any Plex app that is registered to your Plex account, including Plex for iOS, Android, Windows Phone, and Windows desktop.

Let’s take a look at how to download and sync content, respectively, using a season of the TV show Archer as our sample media.

How to Download Content from Your Plex Media Server (Free or Premium)

To download a couple one-off videos from your Plex Media Server, you simply need to be logged into your Plex account and access the web interface. You can do this either while your’e at home or while you’re away from home, as long as you have a good internet connection. The only real restriction on downloading is that you must be the owner of the Plex Media Server—this means you can download everything from your own server, but you can’t download content from a server someone has shared with you, nor can they download from a server you share with them.

From that web interface, it’s super simple to download content. First, navigate to the media you’re interested in. We’re interested in grabbing a few episodes from Season 1 of Archer to watch away from home, so we’ll head there now. Here in the Season 1 entry, we need to select Episode 1 and then click on the “…” menu icon, as seen below.

In the context menu, click “Download”.

The file will be downloaded, in it’s full original file size and resolution, to you computer or mobile device. Additionally, you can also click on the full detailed entry for any media item (individual TV episodes, movies, songs in your music library, etc.) and click on the “…” menu in the left side navigation bar to also select “Download”. You cannot download entire seasons of TV shows at one time and will need to repeat this process for every episode you wish…