domingo, 27 de fevereiro de 2011

photos by Martin Schoeller

photos by Martin Schoeller: "


Iggy Pop


Marc Jacobs


Helen Mirren


Paris Hilton


Valentino


Cate Blanchett


Angelina Jolie


Zinedine Zidane


Heath Ledger


Sarah Palin


Jack Nicholson


George Clooney


Mark Zuckerberg


Jay-Z


Clint Eastwood


Dennis Hopper


Barack Obama


Colin Farrell


Zach Galifianakis


Christopher Walken


Bill Murray


Mickey Rourke


Justin Timberlake


Del Valte Ozbbel


Harriet Sykes


Kelly Slater


Toni Cipolla


John McEnroe


Marina Abramovic

"

sexta-feira, 25 de fevereiro de 2011

In Graphics: How to Buy a Home

In Graphics: How to Buy a Home: "


After years of gloom-and-doom news on the real estate front, things may finally be picking up — at least according to the latest home sales numbers released by the National Association of Realtors. According to NAR, sales of existing homes rose for the third consecutive month in January and are now 5.3% above the levels registered in January 2010. First-time buyers still account for a good portion of sales activity, according to a parallel NAR practitioner survey: 29% of all sales in January, though down from 33% in December and 40% in January 2010 (when the first-time home buyer tax credit was still in place).


That many renters are making the big jump these days is not a surprise, considering where home prices are compared with, say, three years ago, and the fact that interest rates are still at historic lows. For many renters, now is the time to consider what was previously simply an unaffordable proposition.


That said, the process of buying a home has hardly gotten simpler. Between the day you begin your search and the day you actually get to hold your first very own house key, you will have to go through a series of complex steps and often frustrating procedures. We explain the process in this infographic.




"

terça-feira, 22 de fevereiro de 2011

RELATIVITY This Animated Video Simplifies Einstein’s Complicated Twin Paradox


A Tale of Two Twins from Yuanjian Luo on Vimeo.

Final Android 3.0 Platform and Updated SDK Tools

Final Android 3.0 Platform and Updated SDK Tools: "

We are pleased to announce that the full SDK for Android 3.0 is now available to developers. The APIs are final, and you can now develop apps targeting this new platform and publish them to Android Market. The new API level is 11.

For an overview of the new user and developer features, see the Android 3.0 Platform Highlights.

Together with the new platform, we are releasing updates to our SDK Tools (r10) and ADT Plugin for Eclipse (10.0.0). Key features include:

  • UI Builder improvements in the ADT Plugin:
    • New Palette with categories and rendering previews. (details)
    • More accurate rendering of layouts to more faithfully reflect how the layout will look on devices, including rendering status and title bars to more accurately reflect screen space actually available to applications.
    • Selection-sensitive action bars to manipulate View properties.
    • Zoom improvements (fit to view, persistent scale, keyboard access) (details).
    • Improved support for <merge> layouts, as well as layouts with gesture overlays.
  • Traceview integration for easier profiling from ADT. (details)
  • Tools for using the Renderscript graphics engine: the SDK tools now compiles .rs files into Java Programming Language files and native bytecode.

To get started developing or testing applications on Android 3.0, visit the Android Developers site for information about the Android 3.0 platform, the SDK Tools, and the ADT Plugin.



"

segunda-feira, 21 de fevereiro de 2011

[Tutorial] How to Host Your Website on Amazon S3

[Tutorial] How to Host Your Website on Amazon S3: "

Most web hosting companies charge you a fixed monthly fee and in return, they offer you a finite amount of storage space for hosting your web pages, images and other files.


amazon s3 for web hostingIt doesn’t really matter if you are hosting a simple website with 10 pages or a comprehensive product catalogue with thousands of pages – the amount you pay for hosting will be the same.


There’s also a limit on the amount of traffic (bandwidth quota) that your site can receive in a month. If you exceed that limit, the hosting provider is likely to suspend your site or you’ll be asked to upgrade to a different plan. On the other side, if your site receives only minimal traffic, you’ll still have to pay for the full bandwidth.


Amazon S3 vs Regular Web Hosting


Unlike web hosting companies, Amazon S3 follows a ‘pay for what you use’ model where you only have to pay for the exact amount of storage and bandwidth that your website is consuming in a month.


There’s another advantage - the Amazon S3 SLA guarantees a monthly uptime of at least 99.9% which, I doubt, is offered by any of the traditional web hosting companies.


And thanks to some recent enhancements, hosting your website on Amazon S3 is almost as easy as uploading your files to an FTP server. The only limitation is that Amazon S3 can only be used for hosting HTML websites and not dynamic sites like WordPress blogs.


How to host websites with Amazon S3


Step 1: Assuming that you already an Amazon.com account, log in to your Amazon S3 console. You may also use desktop-based S3 clients but to keep things simple, we’ll use the web client in this tutorial.


Step 2: Create a bucket here and give it a name which is the same as your website. For instance, if you are planning to host your website mybeautifulfamily.com with Amazon, create an S3 bucket with same name.


Step 3: Select the new bucket and click the Upload button to upload all the web pages, images, CSS and other static files from your desktop to your Amazon S3 bucket. Click ‘Set Permissions,’ select ‘Make Everything Public’ and start the upload process.


Step 4: Now that your files have been uploaded, right-click the bucket name and choose Properties. Switch to the Websites tab, enable the websites feature and set your index.html file as the index document. Save the changes.


That’s it. Here's a recap of all the above steps in the form of a video screencast:










Map Amazon S3 to your own Web Domain


There’s one last step. Your website is now hosted on Amazon S3 but it has a confusing web address (aka Endpoint) which looks something like this:


mybeautifulfamily.com.s3-website-us-east-1.amazonaws.com

Since we want people to find our site at mybeautifulfamily.com and not through the above address, we need to map the Amazon bucket address to our sweet web domain.


That’s also simple – log in to your domain hosting service and create a new CNAME Record for your domain. Set the value of this CNAME record as the Endpoint provided by Amazon S3 and save your changes. The DNS changes might take a while to propagate across the web and once that happens, your new site can be accessed from anywhere.


The Cost of Hosting Websites with Amazon S3


According to some rough calculations, if you have a 20-page website that takes about 10 MB of storage space and your site gets 200 visitors per day, the monthly hosting bill with Amazon S3 should be around $5 per month.


Not exactly cheap but the site’s uptime will be close to 100% and it won’t crash even if you make it to the front page of CNN.com.


Also see: How to Lower your Amazon S3 Bill


Facebook Twitter Digital Inspiration @labnol

This article, titled [Tutorial] How to Host Your Website on Amazon S3, was originally published at Digital Inspiration under Amazon S3, Internet.

"

domingo, 20 de fevereiro de 2011

quinta-feira, 17 de fevereiro de 2011

New Interview Questions for Senior Software Engineers

New Interview Questions for Senior Software Engineers: "

I'm putting together some practice interview questions for a friend who lost his job. I thought it'd be useful to crowd-source some questions from you, Dear Reader.

These questions should be more software design focused, less technical trivia like my previous two lists of interview questions:

Here's what I have so far.

  • What is SOLID?
  • Why is the Single Responsibility Principle important?
  • What is Inversion of Control? How does that relate to dependency injection?
  • How does a 3 tier application differ from a 2 tier one?
  • Why are interfaces important?
  • What is the Repository pattern? The Factory Pattern? Why are patterns important?
  • What are some examples of anti-patterns?
  • Who are the Gang of Four? Why should you care?
  • How do the MVP, MVC, and MVVM patterns relate? When are they appropriate?
  • Explain the concept of Separation of Concerns and it's pros and cons.
  • Name three primary attributes of object-oriented design. Describe what they mean and why they're important.
  • Describe a pattern that is NOT the Factory Pattern? How is it used and when?
  • You have just been put in charge of a legacy code project with maintainability problems. What kind of things would you look to improve to get the project on a stable footing?
  • Show me a portfolio of all the applications you worked on, and tell me how you contributed to design them.
  • What are some alternate ways to store data other than a relational database? Why would you do that, and what are the trade-offs?
  • Explain the concept of convention over configuration, and talk about an example of convention over configuration you have seen in the wild.
  • Explain the differences between stateless and stateful systems, and impacts of state on parallelism.
  • Discuss the differences between Mocks and Stubs/Fakes and where you might use them (answers aren't that important here, just the discussion that would ensue).
  • Discuss the concept of YAGNI and explain something you did recently that adhered to this practice.
  • Explain what is meant by a sandbox, why you would use one, and identify examples of sandboxes in the wild.
  • Concurrency
    • What's the difference between Locking and Lockless concurrency models?
    • What kinds of problems can you hit with locking model? And a lockless model?
    • What trade offs do you have for resource contention?
    • How might a task-based model differ from a threaded model?
    • What's the difference between asynchrony and concurrency?
  • Are you still writing code? Do you love it?
  • You've just been assigned to a project in a new technology how would you get started?
  • How does the addition of Service Orientation change systems? When is it appropriate to use?

Your thoughts? I'll add good questions from the comments throughout the day.



© 2011 Scott Hanselman. All rights reserved.



"

domingo, 13 de fevereiro de 2011

What All This MD5 Hash Stuff Actually Means [Technology Explained]

What All This MD5 Hash Stuff Actually Means [Technology Explained]: "

md5 hashIn a recent article about checking whether you were affected by Gawker’s hacking incident, one of the steps involved converting your email address into an MD5 hash.

We had a few questions from readers asking exactly what was going on, and why this process was necessary. It’s not our style to leave you guys asking questions, so here’s a full run-down of MD5, hashing and a small overview of computers and cryptography.

Cryptographic Hashing

MD5 stands for Message Digest algorithm 5, and was invented by celebrated US cryptographer Professor Ronald Rivest in 1991 to replace the old MD4 standard. MD5 is simply the name for a type of cryptographic hashing function Ron came up with, way back in ’91.

The idea behind cryptographic hashing is to take an arbitrary block of data and return a fixed-size “hash” value. It can be any data, of any size but the hash value will always be fixed. Try it for yourself here.

md5 hash

Cryptographic hashing has a number of uses, and there are a vast number of algorithms (other than MD5) designed to do a similar job. One of the main uses for cryptographic hashing is for verifying the contents of a message or file after transfer.

If you’ve ever downloaded a particularly large file (Linux distributions, that sort of thing) you’ll probably have noticed the hash value that accompanies it. Once this file has been downloaded, you can use the hash to verify that the file you downloaded is in no way different to the file advertised.

The same method works for messages, with the hash verifying that the message received matches the message sent. On a very basic level, if you and a friend have a large file each and wish to verify they’re exactly the same without the hefty transfer, the hash code will do it for you.

Hashing algorithms also play a part in data or file identification. A good example for this is peer to peer file sharing networks, such as eDonkey2000. The system used a variant of the MD4 algorithm (below) which also combined file’s size into a hash to quickly point to files on the network.

what is md5 hash

A signature example of this is in the ability to quickly find data in hash tables, a method commonly used by search engines.

Another use for hashes is in the storage of passwords. Storing passwords as clear text is a bad idea, for obvious reasons so instead they are converted to hash values. When a user inputs a password it is converted to a hash value, and checked against the known stored hash. As hashing is a one-way process, provided the algorithm is sound then there is theoretically little chance of the original password being deciphered from the hash.

Cryptographic hashing is also often used in the generation of passwords, and derivative passwords from a single phrase.

Message Digest algorithm 5

The MD5 function provides a 32 digit hexadecimal number. If we were to turn ‘makeuseof.com’ into into an MD5 hash value then it would look like: 64399513b7d734ca90181b27a62134dc. It was built upon a method called the Merkle–Damgård structure (below), which is used to build what are known as “collision-proof” hash functions.

what is md5 hash

No security is everything-proof, however and in 1996 potential flaws were found within the MD5 hashing algorithm. At the time these were not seen as fatal, and MD5 continued to be used. In 2004 a far more serious problem was discovered after a group of researchers described how to make two separate files share the same MD5 hash value. This was the first instance of a collision attack being used against the MD5 hashing algorithm. A collision attack attempts to find two arbritary outputs which produce the same hash value – hence, a collision (two files existing with the same value).

Over the next few years attempts to find further security problems within MD5 took place, and in 2008 another research group managed to use the collision attack method to fake SSL certificate validity. This could dupe users into thinking they are browsing securely, when they are not. The US Department of Homeland Security announced that: “users should avoid using the MD5 algorithm in any capacity. As previous research has demonstrated, it should be considered cryptographically broken and unsuitable for further use“.

md5 hash

Despite the government warning, many services still use MD5 and as such are technically at risk. It is however possible to “salt” passwords, to prevent potential attackers using dictionary attacks (testing known words) against the system. If a hacker has a list of random often-used passwords and your user account database, they can check the hashes in the database against those on the list. Salt is a random string, which is linked to existing password hashes and then hashed again. The salt value and resulting hash is then stored in the database.

If a hacker wanted to find out your users’ passwords then he would need to decipher the salt hashes first, and this renders a dictionary attack pretty useless. Salt does not affect the password itself, so you must always choose a hard-to-guess password.

Conclusion

MD5 is one of many different methods of identifying, securing and verifying data. Cryptographic hashing is a vital chapter in the history of security, and keeping things hidden. As with many things designed with security in mind, someone’s gone and broken it.

You probably won’t have to worry too much about hashing and MD5 checksums in your daily surfing habits, but at least now you know what they do and how they do it.

Ever needed to hash anything? Do you verify the files you download? Do you know of any good MD5 web apps? Let us know in the comments!

Intro image: Shutterstock


Do you like MakeUseOf articles? Don’t forget to share our articles with others! It’s really important to us.


Similar MakeUseOf Articles



"

Minha lista de blogs