Showing posts with label Tech. Show all posts
Showing posts with label Tech. Show all posts

Sunday, 18 December 2016

The 4 Best Smart Home Security Systems of 2016


Everyone wants a secure home, but not everyone understands how to go about making their home safe and secure. There are just too many products on the market, and with the advent of smart tech like the Samsung SmartThings and Google’s Nest, the possibilities are nearly endless. So what’s a homeowner to do?
The best course of action is to figure out exactly what your home needs—before doing any research. From there, you can begin to narrow down the type of home security system that’s right for you and your family. To help guide you in choosing the right one for your home, we’ve compiled a list of the best smart security systems available.

1
Best Overall: Nest Cam

Nest cam
Nest
Formerly called “Dropcam,” the Nest Cam is a pretty little gadget meant to deter would-be intruders from doing all the bad things intruders do. It features 24/7 live vide streaming (HD) to your phone or tablet, motion and sound alerts, night vision, digital zoom, two-way audio and an easy setup. It also features one of the strongest designs we’ve seen from a security cam, with a magnetic base, pivoting stand and a sleek appearance that’s just plain cool.
While the Nest Cam packs enough functionality into the core product, you may be tempted to spring for one of Nest’s subscription packages. Most smart home security solutions skip the fees (because, honestly, no one wants to pay fees), but Nest Aware certainly has its selling points. For $10/month or $100/year you’ll get cloud storage of your video streams for up to 10 days. That time limit increases to 30 days with the $30/month, $300/year packages. Nest Aware also gives you alert summaries, downloadable clips, and time-lapse functionality, among other features.
But maybe the biggest selling point for the Nest Cam is its compatibility with Nest’s other smart home products: the Learning Thermostat and the Protect Smoke Alarm and Carbon Monoxide Detector. As a family, these products offer an impressive array of possibilities. Buy from Amazon »

2
Best Overall Runner-Up: Piper nv

Piper nv
Courtesy of Amazon.com
Piper nv is similar to Canary in that it’s a standalone module with familiar home security features: There’s a camera, a siren and motion detection. But it has a few additional features that make it more of a competitor with the Nest Cam (albeit a little more pricey) rather than the Canary.
The HD camera can record video or be used to monitor your home in real time from your phone. The 180-degree field of view (compared to the Nest Cam’s 130 degrees) is another nifty perk that sets the Piper apart from the pack. Like the Nest Cam, it features two-way audio, which allows you to yell at any intruders scrounging around in your home. It’s also well designed and aesthetically pleasing—a point that a lot of manufacturers overlook when designing products that are meant to sit around in plain sight.
Piper nv also doubles as a home automation hub, allowing you to connect any Z-Wave module, light dimmers, switch or sensor. The only problem with that is the somewhat limited saturation of Z-Wave products. Some folks prefer the competing ZigBee standard, but many more simply prefer an either/or situation. Piper nv is justZ-Wave. Some users may also find the app experience a bit irritating. All-in-all, though, the Piper nv is a solid standalone smart home security solution. Buy from Amazon »

3
Best for Large Homes: iSmartAlarm

iSmartAlarm
Courtesy of Amazon.com
The iSmartAlarm takes a modular approach to home security, sort of like Samsung’s SmartThings. The system features a variety of switches, sensors, cameras and remote tags that can be bundled together or bought separately according to your needs. The system as a whole is self-monitored and self-controlled, and this is perhaps its greatest strength and its greatest weakness.
At the heart of the iSmartAlarm is the CubeOne hub, which coordinates the activities of all the different sensors and switches. It’s easy to set up and necessary if you want a highly thorough, home-wide security system. This DIY approach allows you to, in a sense, customize your home security. There are capabilities for SMS and push notifications, break-in detection and real-time monitoring through the associated App. There are also no monthly fees or contracts to sign, and the network can be expanded to control a near-unlimited number of sensors.
The biggest drawback, however, is that the system does not automatically contact police or emergency services. (Hence, the “self-monitoring” format.) The iCamera, which can be bought individually is buggy and a bit of a hassle to set up, and you may experience some difficulties connecting it to the CubeOne.
Still, iSmartAlarm is a decent option for securing your entire home with smart tech. There are a variety of packages for the iSmartAlarm system, (You can also buy individual sensors, switches, and cameras.) Buy from Amazon »

4
Best Plug-in-Play for Apartments: Canary

Canary
Courtesy of Amazon.com
Unlike iSmartAlarm, the Canary is an all-in-one home security solution—with a few extra perks thrown in. The beer bottle-sized device includes a motion sensor and HD video camera, as well as temperature, humidity, and air quality sensors in an affordable package.
All that hardware allows for an impressive range of features, including a 90+ dB siren (which is loud!), motion-activated video recording, automatic arming and disarming, and instant access to emergency services. And it’s easy to set up: no installation, contracts, or fees to pay.
While the Canary may be a solid smart security solution for small apartments and studios, its single-unit design is less practical for large homes. Set it in a room with valuables and rest easy knowing you have the room well monitored, but if you want the same for other areas in your home you’ll have to buy another one.
Some users have complained about the accuracy of the various sensors, while others have expressed concerns about an over-active sensor, poor reliability and a clunky user interface. This could be problematic because the number one attribute you want from a home security system is reliability.
With that said, the Canary may prove useful if you have a specific home security need, and maybe you want to monitor your home’s air quality while you’re at it. Buy from Amazon »

Disclosure

Tuesday, 22 November 2016

DirecTV Now streaming service will reportedly launch without CBS


AT&T’s foray into digital TV is running into a snag. Its new streaming service, called DirecTV Now, will reportedley launch without support from CBS, according to a report from Bloomberg. That means the service won’t at launch have access to shows like The Big Bang Theory, a sizable number of NFL games, or any of the other programming from the largest US network. DirecTV Now is said to have more than 100 channels and cost $35 a month. It represents one of the best values out there for the price, but the absence of CBS will likely undermine its initial success.
The dispute is also forging a wedge between two of TV’s largest players, and the results may have ripple effects far and wide beyond the industry. Many companies, from Apple to Sony to Google, are trying to find the perfect combination of price and channel selection to finally crack what’s keeping cable subscribers from cutting the cord. AT&T knows it will eventually need CBS to compete with these offerings and the rise of Netflix and Amazon, even if it has to pay a premium.
Because CBS offers its own streaming service, CBS All Access, for $5.99 a month, it has been aggressive in demanding higher fees to license its content. Dish Network’s Sling TV does not have a deal with CBS, and Sony’s PlayStation Vue offers it only in select markets. According to Bloomberg, Hulu has yet to strike a deal with the broadcaster for its upcoming live TV bundle, while YouTube is paying higher-than-average fees to license CBS content for its upcoming pay-TV service.
So CBS is clearly leveraging access to its network as a way to test the waters of both its own streaming service and the future of skinny TV bundles. No single over-the-top offering has yet to offer a robust enough cable alternative to start converting cable subscribers, and it’s starting to look like DirecTV Now won’t either. We’ll know more about the service on November 28th, when AT&T will announce the service at an event in New York City. While we may get some answers on rumored features like cloud DVR and the ability to pause live TV, what we likely won’t hear about is access to CBS.

Monday, 9 November 2015

How Do I Create a Struct from a Hash?

How Do I Create a Struct from a Hash?

I have a hash of values and I want to create a Struct object from them, how would you do that? Structs and hashes are structurally very similar, however there's not a very simple route to get from A to B. But with a bit of magic, you can get the job done.
A Struct is a bit of an odd thing in Ruby. Ruby is all about dynamic programming. You don't have to define rigid structs as in C or C++, you just make a hash and store values indexed by keys.
The fact that some hashes only have certain keys is merely a convention. If it has more keys (such as if you implemented a new feature), it doesn't break anything. Adding new elements to a structure in C or C++ could be disastrous if any code relies of the exact offset of some elements. So why would you want to go back to rigid structs?
One word: speed. Structs can be much faster, and perhaps more importantly they have predictable performance characteristics. One struct object isn't going to be slower that another, because unlike hashes they have a set, static set of elements.
To create a struct, you use the Struct.new method while gives you a new class definition. You can also give it a block which will be class evaled to allow you to define methods that will work on this struct. Typically, you see definitions like this.

Address = Struct.new(:street, :number)

Remember that class names are in fact just constant variables in disguise. So what this is really doing is producing a Class object using the Struct.new method and assigning it to the Address constant.
Later on you can construct a new Address object like so.

a = Address.new("Nowhere Rd", 998)

So, now that you know how structs normally work, say we have a hash and we just want to make it a struct. The hash, for example, is something like this: { street:"Nowhere Rd", number:998 } and we want a hash like the above example.
Well there's two options here. First we can use the above method to create a new class and then create a new object from that new named class. Note the use of the splat operator here. We're splatting both the keys and the values of the hash to create individual method parameters.

address_hash = { street:"Nowhere Rd", number:998 } 
Address = Struct.new(*address_hash.keys) 
address = Address.new(*address_hash.values) 

Great, how you have a new address struct with the same keys and values as the hash. However, what if you don't care about the class name? What if you don't even want to come up with a name for the class at all? Well, classes don't need to be named in Ruby. Names are just a convenience for the programmer. Ruby classes can exist without names, the object simply holds a reference to the Class object so it can tell what type it is. So we'll forgo the assignment to a const. Note that you won't be able to easily create a more instances of this type of struct and struct equality relies of two structs being of the same type and having the same values. Two struct objects with the same keys and the same value are not equal unless they're both the same class as well. This method only works if the structs don't need to be compared.

address_hash = { street:"Nowhere Rd", number:998 } 
address = Struct.new(*address_hash.keys).new(*address_hash.values) 

It can seem a bit strange, chaining the new method calls like that. Just remember that to create a struct dynamically you need to first create a new class then create a new instance of that class. Struct really is an oddball in the Ruby world, but it does have its uses.

Ruby Challenge: Run Length Encoding By Michael Morin Ruby Expert

 Ruby Challenge: Run Length Encoding By Michael Morin Ruby Expert

Run-length encoding is a primitive method of data compression popular in early computing. It works by compressing long strings of the same character to a number followed by that character. For example, the string "wooooooooooah" could be compressed as "w10oh".
For the purposes of this article we'll assume that the strings to be encoded don't contain any numbers. A "real" run-length encoder would use a character to mark a run but for the sake of this article don't use any strings with numbers in them.

Encoding

The first step in encoding is to detect runs of the same character. This can be done with a loop, but Ruby has a great regular expression engine that can be used to do this. We only need to use one trick: a backreference.
To match any character in Ruby, we use the . character. For example, "test".gsub(/./, '!') will replace every character with an exclamation point.
The . regexp character matches any character in the input stream. What we need to do now is continue matching based on that first character.
Your first instinct might be to use something like /.+/, one or more of any character. However, the + sign will keep matching any character, it won't care if the following characters are different. What we need to do is place the . regexp character in a capture group (otherwise known as parentheses). So what we now have is /(.)/.
Capture groups are very interesting things. In regular expressions, capture groups are usually used to match specific groups of characters to be consumed via the MatchData object. However, capture groups can be referred to in the regexp string itself.
For example, the regular expression /(ba)\1/ will match the string "baba", the \1 is a reference to the first capture group. Capture groups are numbered by the order of their opening parentheses, and since there is only one opening parenthesis here it's capture group 1.
Now, back to matching runs of characters.
We'll put the . regular expression character into a capture group and refer to it with a backreference. So we have /(.)\1+/. In other words, we have "any character followed by 1 or more of that character" where before we erroneously had "any character followed by 1 or more other characters." This will be the core of the encoding method.
Now we just need a gsub call. A gsub call will replace all instances of a regular expression in a string with something else. In this case, we want to replace all runs of the same character with the number of times that character appears followed by that character. It's rather straightforward, we'll be using the block variant of gsub to have a dynamic output.

def rle_encode(str)
str.gsub(/(.)\1+/) {|run| "#{run.length}#{$1}" }
end
Like any code that uses regular expressions it can look a bit like line noise at first. There are some techniques to combat that, however this one is so short the reader will just have to suffer through it. Regular expressions are easily the least readable part of any Ruby program, but they're also the most powerful tool for text processing that you can find. They're always a bit unreadable, but they're very, very useful.
One thing that was used here was the $1 variable. Don't be afraid of this Perlism. This is a "global" variable only in name. This $1 variable refers to the first capture group in the most recently evaluated regular expression. It's also thread-local and method-local, so you don't have to worry about race conditions or accidentally overwriting it with a regular expression buried in a method call. We could have just gotten the first character of the run variable, but we really already extracted that first character in the regular expression and it's there waiting for you in the capture group variable.

Decoding

Now that we can run-length encode a string we should work on decoding it. This process is almost the same as far as the code goes. We want to match on any cluster of digits at least 1 character in length, as well as the following character. For ease of access we'll capture both of those in separate capture groups. So the regular expression we want here is /(\d+)(.)/. Now, putting this together following the same gsub pattern of before we get this.

def rle_decode(str)
str.gsub(/(\d+)(.)/) { $2 * $1.to_i }
end
And that's it. You can see why this was appealing to computing pioneers. When your mainframe, minicomputer or microcomputer has only a few kilobytes of RAM you generally don't have the space for a complex compression algorithm. And if you're transferring data over a 300 baud modem or storing on paper or magnetic tape then every single byte matters. Also, since programs also take memory and time it may not even be worth it to load and run a complex compression algorithm in the first place, save memory and time and use a primitive method like run-length encoding. Honestly you'll probably never see run-length encoding in a modern setting, with ready access to so many great compression algorithms it's only rarely used.

Filtering Query Results with Parameter Queries


Sometimes you run a query, and it returns more data than you can possible go through. Sometimes you actually need all of that data to get the best analytical results. More often though, you are really only looking for a small fraction of the information provided. Fortunately, Microsoft Access gives you a number of different ways to filter results so that you can narrow down the data into manageable sizes.
A parameter query is a query that has parameters to filter the information that is returned in the result. You have complete control over these kinds of queries and can update and change them to get whatever information you need at this or any other time. Access remembers your parameter queries, so when you open a parameter query, you will get a prompt for the search term.
It is an incredibly simple, but powerful way of pulling data on the fly. There are a number of things you have to do to create these queries and have them be reliable. Access also lets you add parameter queries to apps, although the process is slightly different.
How to Add a Parameter Query
Adding a parameter query is relatively simple as long as you know what it is you want to use as your filter. The best starting point is to write down the queries that you use often, such as an end date or customer ID, that way you can create all of the parameter queries you are likely to use.
First let’s go over how to add a filter.
  1. Open the query to the one you want to add the parameter query to. Make sure it is in Design View.
  1. Click on the Run icon.
  2. Enter the information you want to check, such as 1/1/15.
  3. Click the OK button.
Your results are now filtered to include information for 1/1/15.
Adding a parameter query is similar.
  1. Make sure you are in the correct query in Design View.
  2. Click on the Create tab, then the Query Design (on the Queries menu).
  1. Select the type of query you would like to add.
  • Select
  • Make Table
  • Append
  • Update
  • Crosstab
The rest of the steps should work for any query, but let’s click Select for now.
  1. Click on the criteria row (in the bottom frame).
  2. Type [ ] and enter what you want the query to filter, such as [Enter the Employee ID]. The information you entered is your parameter, or the identifier.
  3. Highlight the text between the brackets and copy it (do not copy the brackets).
  4. Click on Parameters from the ribbon (under Show/Hide).
  5. Paste the text in the first column.
  6. Click on the drop down arrow in the Data Type column and select the type of data. This should match the type used in the table field.
  7. Click OK.
  8. Run the query.
Now when you want to use a filter, you can use this parameter as the filter. It ensures that users will enter the right type of data, and when a user enters the wrong data type an error message will pop up. Users will have to enter a full, valid value for it to work. For example, if there are no employees with the entered ID or if they don’t enter all of the numbers for the ID (such as entering 26 instead of 00000026), it will not pull the results.
All of the parameter types listed in step three work the same way.
Union Queries
You can also add query parameters to Union queries.
  1. Open the query in SQL View (right click on the query tab and scroll down).
  2. Look at the second bracket after the first SELECT statement. That will be the first thing to add in the WHERE statement.
  3. Enter a line after the first FROM statement.
  4. Type the following
WHERE [second bracket name] = [text you want to appear]
  1. Repeat steps 2 through 4 in the second SELECT statement.
Here’s an example.
SELECT [Item ID], [Date of Order], [Customer], [Item], [Quantity]
FROM [Product Order]
WHERE [Date of Order] = [Enter date]
SELECT [Item ID], [Date Created], [Customer], [Item], [Quantity]
FROM [Product Purchases]
WHERE [Date Created] = [Enter date]
ORDER BY [Order Date] DESC
Once you do that, you can run the query and it will act just like the other parameter queries.
Using Wildcards and Logical Operators
If you want to give users more flexibility in their entries, you can make use of wildcards and logical operators.

Wildcards

Wildcards are incredibly handy tools for users, so you want to make them available as much as possible. It makes it easier to enter long strings of repetitive date (like Employee ID 00000026 can be entered as *26) or to cover all necessary data when a user doesn’t know the exact value.
  1. Go to the query and open it in Design View.
  2. On the Criteria row enter Like “*” and & for the areas where you want users to be able to use the wildcard. . For example, Like “*” & [Enter Employee ID].
  3. Click on Parameters on the ribbon.
  4. Enter the bracketed text exactly as you entered them into the Criteria row, omitting all of the wildcard information. So under the Parameter column you add Enter Employee ID. Like, *, and & are not necessary for this because it is showing the text that displays when the user runs the query.
  5. Enter the data type.
  6. Click on OK.
Always make sure to add quotation marks around the *. The & appends the user entered information to all existing entries. For example, 26 is appended at the end of all entries that end in 0026. So the resulting query will include 00000126, 00000226, 00001126, and so on. Anything Employee ID ending with 26 will be included in the final query. You can also add the “*” & combination at the end of the query as well – Like “*” & {Enter Employee ID} & “*” so that all instances of 26 are returned, no matter where it appears in the Employee ID.

Logical Operators

Logical operators let users enter a range for their searches, which is particularly useful for things like dates and numeric range values. Two of the most common are Between and And.
  1. Go to the query and open it in Design View.
  2. On the Criteria row enter Between [text] And [text]. For example, Between [Enter start date] And [Enter end date].
  3. Click on Parameters on the ribbon.
  4. Enter the bracketed text exactly as you entered them into the Criteria row.
  5. Enter the data types for both identifiers.
  6. Click on OK.
Now you can run the query and see how the parameters work for the user. You now get to enter two sets of dates so that you get more data with the filter.

Databases for Retail Shops

Databese for retails shops

If you are a shop owner or manager, you already know exactly how important it is to have the right database. From inventory and shipping to employees and customers, you know that even a slow day involves a lot of data maintenance. The real question is what kind of database do you need? Hopefully you haven’t tried to maintain this information in Microsoft Excel. If you have, you may want to consider starting with a basic database, like Microsoft Access, so that you can easily transfer the data into the database.
The kind and size of the shop you run makes a big difference in what kind of database makes the most sense. If your shop is set up periodically at farmer’s markets, then you have very different needs than a brick and mortar shop. If you sell food, you will need to track expiration dates as part of the inventory.
If your retail shop is online, then you will have to track fees, shipping, and review information. However, there are a number of things that all shops have in common, such as inventory and cash flow. To help you determine the best database for your specific needs, here are a few things you should consider.
Information to Track in the Database
Running a retail shop entails tracking a lot of different aspects. Not only do you have to keep an eye on the inventory, you have to make sure you have enough ways to display the goods (such as bins, hangers, stands, and cases), supplies to show the price of the goods, bills, sales information, and client information. There is a lot to track, and databases make managing your shop much easier.
Online shops can be difficult to manage because there is so much more you have to track, such as shipping. A database makes it considerably easier to handle all of these different aspects without having to constantly refer to your client or sales history. You can even export information, such as reports, and upload them into your database so that you don’t have to contend with the problems of manual entry.
Deciding Whether to Buy or Build
Whether you should buy or build a database is the big question, and it depends entirely on the size of your business and where you want to take it. If you are just getting started and you have time on your hands (but a very limited amount of cash), building your own database is a great way to make it specific to your unique needs. This is particularly true if you are just starting an online shop. If you start the database just before opening your online retail shop, you will have a much better grasp on your inventory and your beginning point. This is fantastic data to have readily accessible come tax season and it helps you stay on top of your inventory, as well as client data.
If you have a larger business, especially something like a franchise, buying a database is going to work better for you. It will help you through all of the things you might otherwise forget. Odds are, you won’t have time to create and manage the database, so it is best to have all of the bases covered. You can always make your own modifications as you go.
Finding the Right Database Program
If you decide to buy a database program, you are going to need to spend a large amount of time researching the different options. There are a wide range in types of retail shops, and the database market tailors to the unique needs of those different types. If you are working with produce and food stuff, you clearly need something that helps you track perishable items. If you have a jewelry store, you will need to be able to track insurance on the valuable pieces. For shops that have an online presence and a brick and mortar facility, you definitely need something that covers a lot of different angles for your inventory, fees, taxes, and administrative aspects of the business. If you sell out of a particular item, you will need to know early on so that you can immediately mark it sold out for the online portion of the shop.
Before you begin, think about everything you will need to track, then make sure that the databases you consider have those items as a minimum. There are a lot of databases on the market, so you should be able to get everything you need for a very reasonable rate.
Creating Your Own Database
If you plan to create your own database, you will need to determine what program you want to use. Microsoft Access tends to be the go to program because it is powerful and relatively inexpensive. You can import and export data from your other Microsoft software (which is incredibly helpful if you have been tracking information in Excel). You can also load your emails, sales letters, and other documentation (both from Word and Outlook) into the database and make them templates. Access has the added advantage of having a considerable number of free templates and files so that you don’t have to start entirely from scratch. You can pick up a free template, then make the necessary modifications so that your database includes everything you need.
The Importance of Maintenance
No matter how you acquire your database, you will have to maintain it for the database to continue to be useful to you. If you don’t keep up with things like inventory, addresses, changes in billing, or sales totals, the database ends up just being another fixture with no purpose. Think of your data in the same way you think of your bookkeeping. If you don’t keep up with all of the transactions and changes, it is going to get you into trouble. You don’t have to have an IT person to manage it in the beginning, although it can be extremely helpful. However, the bigger your shop gets, the more time you will need to dedicate to maintaining and managing your data.

More PHP in 2015

More PHP in 2015

January
- This January you can start off the year by doing something very simple to get started with PHP.  You can change all the footers on your website to have the current year in the copyright.  No, I don't mean typing in 2015, I mean updating them for the last time ever
February - Your site would be more stimulating if you had a blog!  This month you should install yourself a Wordpress blog...
of if you already have one, your goal this month should be to install a mod to add new features to your blog!  Or maybe try installing a new theme, to change the look of your website.
March -  You know what would be fun this month?  A throwback style counter!  You can make one really simply using PHP.
 Every site you visited in 1995 had one of these, and now they are regaining popularity!  Remember, retro is cool!
April - Let people get in touch with you more easily by adding a contact form to your website.  Not only can you ask specific questions of your users trying to contact you, you also hide your e-mail address form bots that might be farming it to spam you.  Learn how now!  This is an easy and very useful way to work more PHP into your website this month.
May - Remember that blog we added back in February, well now we are going to get a bit more social.  This is a great month to add Facebook to your website.  Or Twitter.  Or Pintrest.  Adding social media to your website will increase it's traffic and requires very little work on your part.
 You can read more about how to add different types of social media
June - This is a good month to add a tool to your website.  What tool?  Well that depends on your website.  If it is a website about Kansas, maybe add a local weather forecast.  If it is a website about style, maybe a person could input their measurements and you could tell them their size.
 People love to keep coming back to use tools on website, so dream something up!
July - Are we to July already?  Let's count down to the end of the year using PHP.  You can add a php countdown to your site to count down to 2016, or a special sale, or an important event happening in your town.  It's easy to do, just look at
August - With everyone getting ready to go back to school, maybe you should brush up on your math.  Your goal this month is to try to figure out how to work some PHP math into your website.  Help preform calculations for your users!
September - Maybe your website needs a search feature!  You can add one this month to help users find content on your site.  Google offers a service to do just this, but if you'd rather write your own code you can learn how to do it by looking at this tutorial.
October - Bad code can be scary!  Boo!  For this halloween season you should clean up and comment your code.
November - Time to understand your computer better!  You know how you think, you for the most part understand other people... but how does your computer think?  It's totally different than you!  In fact a computer can only think in terms of yes and no.  Learn more.
December - It's the end of the year!  Sounds like a good time to reassess your choice of hosting company!  If you decide it's not really doing the job you'd like, you can get some tips on making a transition to a new hosting company less painful in this article. 

Changing Hosting Companies

Changing Hosting Companies

Sometimes you will have to move your website from one hosting company to another.  Perhaps your current host is preforming badly, or overpriced.  Or maybe they are going out of business and leave you know choice.   Regardless of the reason most people hate the process and often stick around at a bad host just to avoid it.  I know I certainly have, transferring always seems like a lot of work.
Even after working with websites for over a decade, and transferring hundreds of sites before...
when it was my own very large and custom sites, I dreaded the process. Every piece of software I was using was modded and then modded more.  I had lots of content I didn't want to lose, and databases that had been hacked together in maybe not the best way.  Still, I had to get everything moved, ideally with as little down time as possible!
Here are some tips for your transfer go smoothly and be a success!
  1. Backup Everything - Obviously you're going to download everything from your current hosting... but make sure that it really is everything. If your site is backed by a database (WordPress, Joomla, phpBB, etc) you're going also need to backup the database. Also, depending on how your website's e-mail is setup, you may need to back that up too. 
  2. Pay Double - Don't try to end your hosting on one day and start your new hosting on the next. I recommend overlapping for a month. You can have everything setup at the new place and simply change the DNS. If all is working fine, you can cancel your old hosting. If something goes wrong, you still have the old site waiting, to temporarily go back to, or to help you troubleshoot what's wrong with the new one.  Sure paying more money sucks, but I believe it's probably worth it in this case.  If you hit snags, having this backup in place is a life saver!
  1. Don't Panic - When you transfer your site and it doesn't work, don't panic. It's usually something very simple. Make sure there wasn't a default index you needed to delete. Check that files that need to be writable are CHMODed correctly. If you had modified your .htaccess, make sure you re-modify your new one, a lot of FTP programs hide this file and it may not have gotten transfered.
  1. Walk Away - If all else fails, walk away from it. Often what is an obviously mistake can be impossible to spot if you've been looking at it to long. Go AFK, relax for 15 mins, and come back. The problem might jump right out at you!
  2. Ask Questions - If you are trying to move something that you didn't create, it can hit snags.  Don't be afraid to ask questions.  Ask the designer, ask the hosting company, ask on a forum.  There is always people who can help!  If you are having a problem, chances are someone else on the internet has had the very same issue and can help you!
Moving your hosting is never going to be a fun process, but it is something you can do.  I always dread doing it, but am usually surprised and how painless it really was when I'm done.  It's never as bad as you think it's going to be!  Just be sure to go in prepared, and everything will be fine!  Really.

Which 2015 Samsung flagship smartphone should you buy?


Samsung is a company who manufacturers a bunch of smartphones, so many smartphones that it’s hard to keep a track of them, but its true flagship series has always been the Galaxy S. However, that was only until the company introduced the Galaxy Note series to the world in 2011, now consumers had two flagship series to choose from, but decision making was relatively easy.
If you wanted a smartphone with a big display, a large battery, and a stylus, you would go for a Note; if you wanted compact design, fast software updates, and high-end specifications, you would go for an S.
Super easy, right? Yeah, that’s not how it works anymore.
This year, in 2015, the Korean giant launched five different flagship devices: Galaxy S6, Galaxy S6 edge, Galaxy S6 edge+, Galaxy S6 Active and Galaxy Note5, and it could be a bit difficult to decide between them. Nonetheless, today, I’ll help you pick the perfect Samsung device for yourself.
Let’s start with the specification similarities, first.
SoC
  • Samsung Exynos 7420 (8 Core, 64-Bit, 14nm) processor
  • ARM Mali-T760 (8 Core) GPU
Display
  • Quad HD (2560x1440) Super AMOLED display
Camera
  • 16 Megapixel (2160p@30FPS, 1080p@60FPS, 720p@120FPS) — main camera sensor
  • 5 Megapixel (1440p@30FPS, 1080p@30FPS, 720@FPS) — front camera sensor
  • LED Flash
  • Optical Image Stabilisation (OIS)
  • Auto Real-time HDR (Front & Rear)
  • Live Broadcast
  • Virtual Shot
  • Slow Motion
  • Fast Motion
  • Pro Mode
  • Selective Focus
  • Low Light Video (Front & Rear)
  • High Clear Zoom
  • IR Detect White Balance
  • Quick Launch
  • Tracking AF
Connectivity
  • WiFi 802.11 a/b/g/n/ac
  • MIMO(2x2)
  • Bluetooth v4.2 LE
  • ANT+
  • USB 2.0
  • NFC
  • Location
Sensors
  • Accelerometer
  • Proximity
  • RGB Light
  • Geo-magnetic
  • Gyro
  • Fingerprint (except S6 active)
  • Barometer
  • Hall
  • Heart Rate Monitor (HRM)
Operating System
  • Android 5.1.1 Lollipop
  • TouchWiz UX
Power
  • Fast Charging (Wired)
  • Wireless Charging (WPC and PMA)
Payment
  • Samsung Pay
  • Magnetic Secure Transmission (MST)
Now, let’s see what the differences are between the five flagship devices.
Samsung Galaxy S6
Display Size: 5.1-inch (577ppi)
Internal Memory: 32GB/64GB/128GB (UFS 2.0)
RAM: 3GB
Battery Size: 2,550mAh
Sensors: IR Blaster
Colours: White Pearl, Black Sapphire, Gold Platinum, Blue Topaz
Samsung Galaxy S6 Active
Display Size: 5.1-inch (577ppi)
Internal Memory: 32GB (UFS 2.0)
RAM: 3GB
Battery Size: 3,500mAh
Colours: Camo White, Camo Blue, Gray
Additional Functionality: IP68 (Dust resistant and waterproof), Activity Zone, Active Key
Samsung Galaxy S6 edge
Display Size: 5.1-inch (577ppi), Dual edge display
Internal Memory: 32GB/64GB/128GB (UFS 2.0)
RAM: 3GB
Battery Size: 2,600mAh
Sensors: IR Blaster
Colours: White Pearl, Black Sapphire, Gold Platinum, Green Emerald
Additional Functionality: People Edge, App Edge, Edge Lighting, Information Stream, Night Clock
Samsung Galaxy S6 edge+
Display Size: 5.7-inch (518ppi), Dual edge display
Internal Memory: 32GB/64GB (UFS 2.0)
RAM: 4GB
Power: 3,000mAh, Fast Wireless Charging
Camera: RAW Support
Colours: White Pearl, Black Sapphire, Gold Platinum, Titanium Silver
Additional Functionality: People Edge, App Edge, Edge Lighting, Information Stream, Night Clock
Samsung Galaxy Note5
Display Size: 5.7-inch (518ppi), Dual edge display
Internal Memory: 32GB/64GB (UFS 2.0)
RAM: 4GB
Power: 3,000mAh, Fast Wireless Charging
Camera: RAW support
Colours: White Pearl, Black Sapphire, Gold Platinum, Titanium Silver
Additional Functionality: S Pen, Air Command, Scroll Capture

CONCLUSION

Internally, the Galaxy S6 and S6 edge are very similar devices with the only difference being the display type. The GS6 sports a flat display, while the GS6 edge boasts a curved, dual edge panel and edge-specific software features.
The Galaxy S6 Active is designed for people who require a long-lasting battery and an overall tough smartphone.
Treat the Galaxy S6 edge+ and Note5 as Galaxy S6 edge and Galaxy S6. Give the Galaxy S6 edge a large display, and you have the S6 edge+; give the Galaxy S6 a large display, an S Pen and it’s software features, and you have the Note5 right there.
So, let’s simplify a few things. Here are a few questions for you:
  • Want a curved display or a flat display?
    Curved: Galaxy S6 edge+, Galaxy S6 edge
    Flat: Galaxy S6, Galaxy S6 Active, Galaxy Note5
  • Want a 5.1-inch display or a 5.7-inch display?
    5.1-inch: Galaxy S6, Galaxy S6 edge, Galaxy S6 Active
    5.7-inch: Galaxy S6 edge+, Galaxy Note5
  • Want a large battery?
    3500mAh: Galaxy S6 Active
    3000mAh: Galaxy S6 edge+, Galaxy Note5
    2550/2600mAh: Galaxy S6, Galaxy S6 edge
  • Want the S Pen or not?
    S Pen: Galaxy Note5
    N/A: Galaxy S6, Galaxy S6 edge, Galaxy S6 edge+, Galaxy Active
After reading this entire article, you probably have decided what 2015 Samsung flagship device you’re going to buy. Have fun with your brand new smartphone!

OnePlus X Hands-on


Yesterday, at the Altitude Tower in London, OnePlus announced its third smartphone — the OnePlus X. The OnePlus X is a device very different from anything the company has manufactured in the past. This time around, the company has heavily emphasised on the device’s design, and it’s one of the most gorgeous and well-built smartphones I have ever laid my eyes on.
There are two variations of the OnePlus X: Onyx and Ceramic.
Let me explain the difference between the two. The Onyx edition is the baseline model of the X, it features a complete black glass construction on both the front and the back with an anodised metal frame in the middle, which is etched with 17 elegant micro-cuts; adding to the premium feel and enhancing the grip of the smartphone.
Whereas, the Ceramic version is a limited edition, there will only be 10,000 units produced, it replaces the Onyx’s black glass back with a highly-treated ceramic one. OnePlus says it takes 25 days to manufacture a single Ceramic OnePlus X. It all starts with a 0.5mm thick zirconia mold, the ceramic is then heated up to 2,700ºF for more than 28 hours and then it takes two days for it to cool down. The backplate undergoes three different methods of polishing before it’s ready to be assembled on the device. And, due to it being ceramic, it has a hardness of 8.6H on the Mohs scale, making it scratch-resistant. So, one thing’s for sure, you’re gonna have a tough time scratching that backplate.
Both models look fairly identical, with only a few very minor differences.
The backplate on the Ceramic edition has a more mirror-like finish, it’s more prone to fingerprints, has tapered edges, and adds a bit of heft, when compared with the Onyx variant. The tapered edges help provide a very seamless feel between the ceramic back, the metal frame in the middle, and the glass on the top.
The device features a 5-inch Full HD (1920x1080) AMOLED display with a pixel density of 441ppi, it’s the company’s first smartphone to boast an AMOLED panel — outsourced from Samsung. Just like any other AMOLED panel, it has outstanding black levels, however, I found the colours to be way oversaturated. And, I have been using Samsung’s Galaxy S series as my primary smartphones of choice, since the last 5 years now, when I say it’s way oversaturated, it really is. I hope OnePlus tones it down a bit with the colours on the retail units. The company has brought its Alert Slider from the OnePlus 2 to its OnePlus X, the slider allows you to switch between sound profiles.
In terms of raw performance, it’s packing a quad-core Qualcomm Snapdragon 801 SoC — yes, that’s not a typo — clocked at 2.3GHz, an Adreno 330 GPU, and 3GB of RAM. Yes, the Chinese manufacturer is shipping its latest device with a year old processor, but it’s not really a bad thing. If you try remembering, the Galaxy S5 shipped with an 801, and that was Samsung’s 2014 flagship device. If the company didn't went with the S801, which is still classified as a high-end chip, it would have to go with the Snapdragon 617, which is a chip design for mid-range devices. The company tested both silicons and found the 801 to be better. Also, in my hands on time with the device, I have found the overall performance to be actually quite good.
The smartphone comes with 16GB of built-in storage, which is expandable via a microSD card slot; I wouldn’t say it’s a microSD card slot, it’s a 2nd nano SIM card slot, as the device has dual-sim functionality, but OnePlus allows you to use it for a microSD card, if you only use a single SIM card.
The Chinese manufacturer has also changed camera sensor vendors as well. This time around, the company knocked Samsung’s doors for its 13 megapixel ISOCELL camera sensor. Even before you ask, no, it can’t shoot 4K videos, but it can shoot Full HD (1080p) videos at 60FPS, and HD (720p) videos at 120FPS. Also, I noticed that there was no shutter lag on the OnePlus X; the shutter lag was simply unbearable on the OnePlus 2. For the front-facing camera, company went with an 8 megapixel sensor, vendor is currently unknown.
Out of the box, the device ships with Android 5.1.1 Lollipop with Oxygen OS 2.1.2 running on top of it. Yes, there’s no Marshmallow yet, but it’s coming soon. It has all the usual Oxygen OS features you would expect: Dark mode, Shelf, Gestures, App Permissions, Accent colours, and custom buttons. Furthermore, two new features have been added to Oxygen, especially for the X, and they are called Ambient display and FM Radio. You’re probably already familiar with them from other devices.
Powering everything is a pretty large 2,525mAh LiPo battery. There’s no wireless charging, quick charging, or NFC — just like the OnePlus 2.
The Onyx model will launch in Europe and India on November 5, in the U.S. on November 19, and will retail for £199/€269/$249. On the other hand, the Ceramic model will launch in Europe and India on November 24, it won’t be coming to the U.S., and will cost £269/€369. Furthermore, just like previous OnePlus devices, you won’t actually be able to buy them straight away, you’ll need an invite. However, the company states that the invite-system will only be valid for a month, afterwards it would allow anyone to buy it.

Fujifilm X100T Review

Compare Prices from Amazon
Fujifilm X100T Review


The Bottom Line

While the my Fujifilm X100T review shows a camera that has a couple of significant drawbacks and certainly isn't going to appeal to every photographer, it's a very impressive model in many areas. The image quality is very impressive, even in low light conditions, and this model's f/2 lens is of an amazing quality.
Fujifilm gave the X100T a hybrid viewfinder, which allows you to switch back and forth between an optical viewfinder and electronic viewfinder, depending on whether you need to see data about the settings in the viewfinder window.
The X100T can give advanced photographers plenty of control over the camera's settings.
Now for the drawbacks. First, if you're looking for a big zoom setting -- or any kind of zoom setting for that matter -- the X100T isn't your camera. It has a prime lens, meaning there's no optical zoom. And then there's the four-figure price tag of this model, which will leave it outside of the budget range of many photographers.
As long as you know exactly what the Fujifilm X100T can and cannot do, and it fits what you're seeking from a camera, it's worth considering. You'll definitely be hard-pressed to find anything like it in the market.

Specifications

  • Resolution: 16.3 megapixels
  • Optical zoom: None, fixed focal length
  • LCD: 3.0-inch, 1,040,000 pixels (also hybrid viewfinder)
  • Maximum image size: 4896 x 3264 pixels
  • Battery: Rechargeable Li-Ion
  • Dimensions: 5.0 x 2.9 x 2.1 inches
  • Weight: 15.5 ounces (with battery and memory card)
  • Image sensor: APS-C CMOS, 23.6 x 15.6 mm
  • Movie mode: HD 1080p

Pros

  • Great hybrid (optical and electronic) viewfinder option
  • Very good image quality in all shooting situations, including low light
  • Fast performance in burst shooting
  • Plenty of manual control options
  • Camera's design looks like a vintage model with plenty of dials and toggles
  • Accurate autofocus mode alongside good manual focus system

Cons

  • Lens has no optical zoom capability
  • Starting price is very high
  • Flash is embedded in front of camera body, rather than popup unit
  • Requires practice to use all of the features properly
  • Autofocus could work more quickly to minimize shutter lag

Image Quality

Fujifilm gave this high-end fixed-lens camera an impressive APS-C image sensor, which yields great image quality, no matter what kind of lighting you encounter. Low light performance is especially good with the X100T versus other fixed-lens cameras. It has 16.3 megapixels of resolution. You can record in RAW, JPEG, or both image formats at the same time.
Another interesting factor with this model is its inclusion of film simulation modes, some of which are not really available with other cameras.
The lack of an optical zoom lens with the X100T really limits its effectiveness to portraits or landscape photos. Action photos or wildlife photos are going to be a challenge with this model's lack of an optical zoom.

Performance

The prime lens included with the X100T is a very impressive unit. It's a fast lens, offering a maximum f/2 aperture. And the X100T's autofocus mechanism works quickly and accurately.
With a maximum burst performance of 6 frames per second, this Fujifilm model is one of the fastest performers among non-DSLR cameras on the market.
I was surprised with how effective the X100T's built-in flash unit was, especially considering its small size. You also can add an external flash to this unit's hot shoe.
Battery life is very good for a camera of this type, and you can gain even more battery life by making use of the viewfinder more than the LCD to frame photos.

Design

You'll definitely notice this model's design immediately. It's a retro looking camera that is similar in physical design to Fujifilm's X100 and X100S models that were released in the past few years.
The hybrid viewfinder is a great design feature of this camera, allowing you to switch between optical viewfinder, electronic viewfinder, or LCD/Live View modes to meet whatever you happen to need to frame a particular type of scene.
I liked the fact that this model has several buttons and dials that allow the photographer to control it easily without having to work through a series of on-screen menus. However, the placement of a couple of dials is poor, meaning you might bump a dial out of position inadvertently through normal camera usage or even while moving in and out of a camera bag.
Even though you may rely on the viewfinder most of the time when using the X100T, Fujifilm provided this model with a sharp LCD screen with more than 1 million pixels of resolution.

Predicting the Future of Tech

Predicting the Future of Tech

Understanding new technology is important. This is obvious if you work in tech, where you can probably feel the ground shifting beneath your feet. But even if you ostensibly don't work in tech, economies and job markets are being affected by new technologies like never before.

Tech Matters to Everyone

It’s harder now to be a luddite than ever. In fact, writers like Kevin Kelly believe that luddites don’t really exist.
He’s followed Amish cultures that have traditionally avoided technology. It turns out they are full of innovations. 
Amish culture is filled with hacks and workarounds that allow them to maintain their cultural ideals while getting things done. For example, they have created complex pneumatic systems as a way to power tools and manufacturing while remaining off the electrical grid.
They've simply created their own forms of tech.
Technology is fundamental to our humanity, and understanding how it evolves is essential to our livelihood. So, how do we predict where tech is going?

Crazy Ideas

Nicholas Negroponte has shown a knack for predictions. He, along with the MIT Media Lab that he founded, accurately predicted things like car GPS navigation and touchscreen interfaces decades before their time.
What is he predicting now? Ingestible learning. A pill you can take that will instantly give you knowledge, like the ability to speak French. The common theme among all these predictions has been that they were all initially dismissed as unattainable.
An idea like this brings to mind what Paul Graham has said about startups.
Disruptive startups begin with an idea that seems not just wrong, but maybe even crazy. Most truly disruptive technologies are initially laughable. 

Non-Linear Progress

How do laughable ideas end up coming true? One reason is because progress isn’t linear. Humans are good at extrapolating things in a linear way, but when exponential curves like Moore’s Law come into play, our cognitive machinery sputters.
To say that computing power doubles every two years is simple enough. To really appreciate what that means for tech progress is near impossible.
While many debate whether Moore’s Law will hold over time, progress in any developmental sense is rarely linear. Look at how quickly human civilization has sprung up within earth’s history: certainly not a linear progress. It’s for this reason that ideas like runaway AI and The Singularity are worth some attention, despite seeming incredibly far off.

How to Predict the Future

So where does this leave us? How do we predict the future?
Mostly it leaves us in the dark; or at best in a dense fog. But here are some clarifying principles for predicting the future of tech:
One of the most important concepts to understand is the Power Law distribution. It is the notion of one or two big hits, with many, many misses. Think of the results of entering a lottery.
New technology follows the Power Law: most technology won’t make an impact, but the few things that break out result in giant, unpredictable paradigm shifts. Even the best tech investors put money into many failed startups.  The one investment in a company like Facebook pays for hundreds of failed investments.
It’s for this reason that one should be skeptical of “experts” in this arena. Experts often believe that with experience, predictions can get better, but when the world itself is changing, you can’t become more confident in predictions over time. Experience in fact often makes thinking less flexible. In the early 90s, writers at Wired predicted that the Internet would become like TV, only better. Quite the understatement.
The trick, then, is to remain steadfastly open minded and flexible. Have ideas as a template to guide one’s actions, but be prepared to hold them loosely.
Technology has a recursive effect on the people that use it. New technology can power more ideas. As such, it pays to try everything. Though many worry about the effect that tech has on our culture, it isn’t by itself good or bad. It’s an extension of our humanity. Innovations will happen in the area of making technology a more personal, sociable and emotional experience.
With the rate of change accelerating, predicting the future will become more difficult over time. But by remaining energetic, open-minded, and surrounding yourself with new ideas, you stand the best chance of staying slightly ahead of the very sharp curve.

CipherShed: TrueCrypt's Replacement


TrueCrypt was an open source software program that enabled you to encrypt your computer files using keys that were protected by a separate TrueCrypt passphrase. It allowed users to create hidden volumes whose existence would only be revealed with a secret password. The encryption is transparent to the user and it is done locally at the user’s PC. On Wednesday, May 28th, a message was posted on the TrueCrypt website, alerting TrueCrypt users not to use the application because it isn’t secure enough.
Ever since then, users have been looking for an alternative, safe encryption utility solution.
Cryptographers Matthew Green and Kenneth White, Principal Scientist at Social & Scientific Systems, head the Open Crypt Audit Project and have been considering to take over TrueCrypt’s development and are working on the second phase of its audit process.
  The audit process consists of a thorough analysis of TrueCrypt’s code that accountable for the actual encryption process.  A TrueCrypt developer has expressed disapproval for the project, which could potentially fork the software (taking a copy of source code from on software package and start independent development on it).  "I don't feel that forking TrueCrypt would be a good idea, a complete rewrite was something we wanted to do for a while," he said. "I believe that starting from scratch wouldn't require much more work than actually learning and understanding all of TrueCrypt's current codebase. I have no problem with the source code being used as reference."

CypherShed Development
As the need for a secure alternative to TrueCrypt escalades, there have been several other attempts to fork the software.
 One of these projects is called CipherShed. According to the TrueCrypt open source license, use of the code is permitted if all references to TrueCrypt are removed from it, and if the final software doesn’t contain "TrueCrypt" in its name.

"CipherShed is cross-platform; it will be available for Windows, Mac OS and GNU/Linux," the developers say.
CipherShed is a program that can be used to create encrypted files or encrypt entire drives (including USB flash drives and external HDDs). There’s no complicated commands or knowledge required; a simple wizard guides you step-by-step through every process. After creating an encrypted file or disk drive, the encrypted volume is mounted through CipherShed. The mounted volume shows up as a regular disk that can be read and written to on-the-fly. The encryption is transparent to the operating system and any programs. When finished, the volume can be unmounted, and stored or transported elsewhere, fully secured. Encryption volumes can be moved from OS-to-OS (eg, Windows to Mac) with full compatibility.
CipherShed is still under development.  According to project initiator, Jos Doekbrijder, an alpha release of CipherShed will be made available for download soon. The goal for its first release includes the following:
  • Scrub forked code of images and the name TrueCrypt
  • Fix known security issues pointed out by security experts
  • Recompile binaries for Windows, Linux, and Mac, with updated libraries
  • Openly review changes, and solicit feedback from security community
  • Release signed binaries and source packages
This release will be based on the latest full version of TrueCrypt (v7.1a), but eventually the group is aiming to create an entirely new product that will contain none of TrueCrypt's code.