Tuesday, January 29, 2013

DARPA's 1.8-gigapixel cam touts surveillance from 20,000 feet (video)

DARPA's 1.8-gigapixel cam touts surveillance from 20,000 feet (video):
DNP 18gigapixel drone cam from DARPA touts surveillance from 20,000 feet
It's been three years since we first heard about DARPA's ARGUS-IS, but thanks to a PBS Nova special entitled "Rise of the Drones," we finally have more information about the 1.8-gigapixel camera that is supposedly the highest-resolution surveillance system in the world. The documentary showed video footage of the imaging system in action, though the camera itself remains shrouded in mystery for security reasons. Designed to be used with UAVs like the Predator, the ARGUS-IS (which stands for Autonomous Real-time Ground Ubiquitous Surveillance - Imaging System) can spot a six-inch object within a ten square mile radius from 20,000 feet in the air. As shown in the clip after the break, the high-res cam doesn't quite reveal facial features, but you can spot details like a bird flying around a building and the color of someone's clothes.
The video goes on to reveal that the camera's internals are actually a collection of 368 sensors that are identical to the ones found in 5-megapixel smartphones. But the ARGUS-IS wouldn't be much without the processing power of the platform behind it. We're not entirely sure how this is done, but the camera allegedly streams around 1 million terabytes (that's an exabyte, folks) of video, which adds up to roughly 5,000 hours of HD footage per day. Thankfully, there's software that helps guys on the ground filter through the mass of data. As seen in the image above, it lets them track moving objects with up to 65 simultaneous windows. The military potential here is obvious, but DARPA is keeping mum on any future implementations of the ARGUS-IS -- or if it's been in use all this time.
Filed under: ,
Comments
Source: ExtremeTech, PBS

Wednesday, January 23, 2013

Petrolicious Showcases Jack Olsen's "Black Beauty" Porsche 911 RSR

Petrolicious Showcases Jack Olsen's "Black Beauty" Porsche 911 RSR:

A frequent inclusion on dream car shortlists, the Porsche 911 has near infinite capability. Jack Olsen is a writer by trade, though his Porsche 911 RSR--often referred to as the "Black Beauty"-- is no work of fiction. In fact, the car has very serious history about it: the body of a 1972 911, combined with the engine of one from 1995, and a transaxle system from 1977. It's a functional Frankenstein, in many regards, and the various components obviously require a great deal of care. The project car looks no safer than in the hands of Olsen, who has dedicated the past 12 years to maintaining his vehicle. Petrolicious sat down with Olsen and was able to explore the specifications, capabilities, and home of the refined Porsche.
Read more at Hypebeast.com




Thursday, January 17, 2013

9 Friends Don Tuxedoes for Epic 30-Day Vacation

9 Friends Don Tuxedoes for Epic 30-Day Vacation:


Have you ever daydreamed with your best friends about the epic adventures you should go on, once you get the chance?
Most of these fantasy trips never make it out of the imagination, but nine determined friends spent two years planning the ultimate 30-day vacation. Oh, and the group wore nothing but tuxedoes for the month-long adventure.
Reddit user irkima, part of the adventurous group of friends, filmed the entire trip. The former developer quit his four-year day job to follow his passion, and now he's freelancing.
SEE ALSO: Your Profile Pic Has Nothing on These Guys
The group traveled across Europe, visiting 24 cities and 10 countries. The original invite list had 20 peop…
Continue reading...
More About: reddit, travel, vacation, viral videos, Watercooler

How to Hire a Hacker

How to Hire a Hacker: Comments

Why 2013 is the Year of PHP

Why 2013 is the Year of PHP:
2012 was an excellent year for the PHP community, thanks to many badly needed features being added to version 5.4, as well as the countless projects, advancing PHP to the next level.
In this article, I’d like to review a handful of the issues that people had with PHP in the past, and provide a glimpse at why 2013 just may be the year of PHP!


Why the Hostility?

This may come as a surprise to you, but many people have negative feelings toward PHP developers, and the language as a whole. You likely know exactly what I mean, if you’ve considered learning Ruby in the past couple of years, due to some sense of peer pressure.
However, before you make any changes, you have to ask yourself: “Why does PHP have such a stigma?”
Well, like many of life’s important questions, there is no clear-cut answer. After doing a bit of searching online, for some PHP arguments, you’ll find that roughly eighty percent of the arguments against PHP are rooted in ignorance, in one form or another.
Roughly eighty percent of the arguments against PHP are rooted in ignorance.

The Beginners

There are the beginners, who don’t really know how PHP works. This results in questions, like “Why can’t you listen for button events with PHP?,” and similar questions about AJAX.

One Language to Rule Them All

Next, you have the folks who don’t know about other language or framework than the one that they currently use. These are the types of people who make arguments, such as “Rails is much easier then PHP,” and things like that.

Fighting PHP 4

The third form of misconception comes from the people who haven’t kept up with PHP’s advances over the years. Instead, they’re still fighting the language, as it existed years and years ago. This results in statements, like: “PHP isn’t object oriented” or “PHP sucks because it doesn’t support namespacing.” You get the idea.

Scaling

Lastly, we have the more intelligent developers who believe that “PHP can’t scale” or “PHP has no standards,” which is completely false. Scaling has less to do with the language, and more with the server and how your app is structured. As for standards? Well, it only takes a quick Google search for PHP-FIG.
What is the PHP-FIG? “The idea behind the group is for project representatives to talk about the commonalities between our projects and find ways we can work together. Our main audience is each other, but we’re very aware that the rest of the PHP community is watching. If other folks want to adopt what we’re doing they are welcome to do so, but that is not the aim.”
It’s an unfortunate truth that some arguments, which permeate through the web are either completely false, or updated.

PHP Isn’t Perfect

There’s truth in every criticism, however.
There’s truth in every criticism, however. PHP isn’t perfect. When it comes to its implementation of core features and functions, PHP is inconsistent. These arguments are entirely valid.
These inconsistencies are not without reason, though. PHP started out as what we would refer to today as a templating language. Since then, it has gone through multiple paradigm shifts, transforming into a functional language, like C, and then to the fully OOP language that we enjoy today. Along the way, best practices have emerged, and different people have been in control of what is added. This results in a lot of “different” kinds of code in one language. Now you might ask, “Why not just deprecate the bad parts?
The answer to this question is the same as to why we are still building sites for old versions of Internet Explorer. Don’t get me wrong; I would love to just drop it, but massive changes like this can’t be done without a bit of time. Hopefully, over time, PHP will advance further into OOP, and begin converting its objects to use their functions with the dot notation, rather than the admittedly awkward -> syntax. So, instead of array_push($arr, "Value");, you would write something, like $arr.push("Value");.
Don’t worry; things like this have been happening slowly. Just look at the new PHP 5.5 features. The old function-oriented MySQL add-on has been deprecated, in favor of the newer object-oriented approach.

The Present

Now with the past covered, let’s move up to the present. There are a handful of really cool projects and movements, some of which borrow ideas from other languages, in order to propel PHP to the next level.
Let’s consider the following:

Composer

The PHP community can now stop reinventing the wheel over and over again, thanks to Composer.
Inspired by tools, like Bundler and NPM, the PHP community can now stop reinventing the wheel over and over again, thanks to Composer. Node.js was the first language that made me feel comfortable with using packages. If you’ve used it before, then you know what I mean. Packages are installed locally to your project’s directory, it’s easy to find documentation for most of the plugins, and it’s relatively simple to submit your own packages.

PEAR?

PHP did offer an alternative for years, PEAR, but it wasn’t overly intuitive or easy to use. It felt bulky for something that ultimately fetched plain-text files. Further, it installed all packages globally. This forced you to inform people which packages you used when distributing your source code. As you might guess, this resulted in mis-matched versions, and other things of that nature.
If you so desire, you can pick and choose your components.
Composer fixes all of this, thanks to locally stored packages, and the ability to create per-project dependency files. This means you can easily distribute your project with this dependency file, and others can use their own copy of Composer to automatically download all specified dependencies, while simultaneously keeping them up to date.
Additionally, Composer is a light application – written in PHP, itself – and comes with an autoloader feature. This works off of the PSR-0 standard (mentioned above), which will automatically load your dependancies as you need them, so your application remains as clean as possible.
All of these features are a definite improvement, however, without community adoption, it means nothing. I’m happy to inform you that it’s been very well accepted. Big projects, such as Symfony and Laravel, have already uploaded their components to the Composer library, Packagist. Having the framework split up into components means that you can easily build your own custom framework to match your liking. In other words, no more bloated frameworks. If you so desire, you can pick and choose your components.
Need an example? You could take the database component from Laravel, and pair it with the templating component from the Symfony framework. In fact, the Laravel framework, itself, leverages many well-tested Symfony components. Why rebuild the wheel, when you can instead focus your efforts on other areas?

Laravel

Even if you do have issues with some of PHP’s inconsistencies, Laravel abstracts nearly all of it.
Now this wouldn’t be an article about PHP’s future without discussing Laravel in a bit more detail. We’re often asked why Nettuts+ seems to be pushing Laravel as much as it has been. This is the wrong question. Instead, ask “Why not?
Even if you do have issues with some of PHP’s inconsistencies, Laravel abstracts nearly all of it, providing you with the feel and elegance of a language, like Ruby, but with the ease of PHP.
Laravel comes with Eloquent, an ORM that completely rethinks everything to do with databases. I mostly use MySQL with PHP; what you get back from the database is a resource object, which you then have to run through a function to capture the results. In Laravel, everything is returned as standard PHP; you’re given objects, which you can modify and save. You can do things, such as combining results from multiple tables to save on database calls (referred to as eager loading), and laughably simple to do things, like validation and custom queries. As a bonus, if you don’t like SQL, well all of this can be done with an OOP style, using simple and readable methods, such as find and delete.
We’ve only seen the tip of the iceberg with what Eloquent brings to the table, but, already, you can see the improvements. Laravel brings this kind of innovation to nearly every field of PHP, including things like templating, routing, migrations, RESTful classes, and more. The best part, though, is that, with each new release, Laravel’s creator, Taylor Otwell, continues to raise the bar.
If you’d like to learn more about Laravel, I recommend the Tuts+ Premium course, Laravel Essentials, taught by our very own Jeffrey Way. I’m not saying this as a part of the Nettuts+ staff, but as a person who watched the series. I can honestly say that I had zero knowledge of Laravel going in, and Jeffrey did an excellent job of covering as much as possible.
Ultimately it’s not really about the framework, but the community support. As long as there is support for a project, it will be updated and will remain relevant. If your worried about how long it will remain popular, then, simply by actively using it, you are securing your odds!

PHP 5.4 / 5.5

The next thing that I’d like to discuss is the updates to PHP that were released in 2012. With the release of version 5.4 came a plethora of excellent new features. For a full overview of the updates, you can take a look at these two articles here on Nettuts+: 5.4 article, 5.5 article.
But, for a quick recap of my favorites:

Traits

  • Traits add the ability to create Class “partials,” which allows you to create consistent objects without re-writing everything over and over.

Generators

  • Generators let you do some cool things with lists of data, as well as allow you to benefit from all the features that come with lazy-evaluation.

CLI Web Server

  • Another great addition is the built in web server, which allows you to test your applications with different versions of PHP, without the need for something like Apache.

Dereferencing

  • Dereferencing is not a major addition, but it’s nice to be able to reference child elements without the use of functions. This includes things like accessing individual characters of a constant by using only square bracket notation.

The New Password Hashing API

  • With the new API, you are given the ability to both encrypt strings, as well as verify and strengthen passwords – all without any knowledge of bcrypt or any other hashing algorithm.
These represent just a few of the new improvements, and their is a whole list of things that are currently being discussed for the next version, scheduled to be released later this year.

Test Driven Development

Finally, let’s talk a bit about testing your code. While admittedly a bit late to the game, in 2012, our community saw widespread adoption of the test driven development methodology. I could make up a growth percentage, but I feel that a better indication of truth is to simply looking around on different dev sites and forums. You’ll surely see a spike! When it comes to testing in PHP, PHPUnit is the well-accepted standard.

Why is it Important?

Think about your project before diving in, like a cowboy.
Many times, you set out to write some code, but you lose something in the translation. What I mean by this is that you plan on one thing, but when implementing it, you lose a bit of the integrity or functionality. Another common problem arises when writing code for large projects: you end up with multiple classes and files that each have their own dependancies. What your left with is an “intertwined evolution” of functionality that can prove difficult to keep track of and maintain. Like a game of Jenga, by updating one piece, you may break another, crippling your application. These are just two example problems, but there are certainly others.

How Does TDD Help?

Well, you write clear tests before writing any production code. This means, when you get to writing your actual code, it is forced to conform to your original plan. Not only this, but, down the line all, dependencies will be tracked in your tests. If you update a bit of code, and inadvertently break one of the tests, you will immediately be notified.
Yes setting up these tests requires an extra step, but so is thinking before you speak. Does anyone the benefits of that? Of course not. The same is true for tests: think about your project before diving in, like a cowboy.
Additional Learning

Conclusion

It’s an exciting time to be a PHP developer. Many of the inherent problems have or are being fixed. AS for the other issues, we’ll those are easily remedied with a good framework and testing.
So what do you think? Are you getting on board? Disagree with me? If so, let’s continue the discussion below!

Wednesday, January 16, 2013

Kayak Adds Price Forecasting to Predict Price Drops and Increases

Kayak Adds Price Forecasting to Predict Price Drops and Increases:
The travel booking site Kayak added price forecasting to its flight booking site today, which should help you decide when the best time to book a cheap flight is. More »


Friday, January 4, 2013

Land Yacht Concept Trailer by Airstream

Make it driverless and I'm sold.

Land Yacht Concept Trailer by Airstream:
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Everyone knows the iconic, silvery Airstream trailers from spotting them on the highways or various vacation spots and now they’ve partnered with Tecnoform (cabinet makers) and Officinia Italiana Design (a design studio) to create the 28′ Airstream Land Yacht, a top-notch luxury trailer.
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
The interior reflects that of a multi-million-dollar yacht by incorporating details that come in luxury watercraft. So now you can get the best of both land and sea vessels thanks to Tecnoform, who partnered with Riva Yachts designer Mauro Micheli to create the sleek cabin that can even sleep up to five people comfortably.
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
There’s a bedroom up front with a lift that unveils storage underneath it, a bathroom, and a social space in the back. They used sleek finishes throughout like teak and white wood boat-deck flooring, Corian® solid surfaces, and durable, soft leathers.
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Land Yacht Concept Trailer by Airstream in technology interior design architecture Category
Now there’s no need to get your sea legs to enjoy that yacht-like feeling.

Share This: Twitter | Facebook | Discover more great design by following Design Milk on Twitter and Facebook.

© 2013 Design Milk | Posted by Caroline in Architecture, Interior Design, Technology | Permalink | 1 comment

Tuesday, January 1, 2013

When in doubt, turn on Tracing

When in doubt, turn on Tracing:
One of my favorite posts that I've done is "The Internet is not a black box. Look inside."
I really want to encourage folks to look inside "black boxes" - or more accurately, what they perceive as black boxes - in order to solve their issues.
I got a great question from blog reader Eddie F. He also knows I don't like to waste keystrokes so he mentioned that I could blog the result if I answered his question. Hat tip to Eddie.
He says:
I have a case with an Entity Framework 5.0 entity that refuses to “PUT” to my ASP.NET WebApi controller (all .NET 4.5 RTM) if I add the [Required] data annotation to a property on my entity class which I find really bizarre.
So Eddie has an entity with the [Required] attribute on a property. When he PUTS (not POSTS) he gets an error:
var response = client.PutAsJsonAsync("/api/MagicPants/Update", entry).Result; 

//HERE IS THE POINT OF FAILURE when the [Required] attribute 

// is added to the EF poco type PortfolioEntry.
If he removes [Required] it works. If he uses any other DataAnnotation like RangeValidation, it also works.
Eddie points out that he's Googled (with Bing) all over and found nothing. He has asked lots of friends and StackOverflow before asking me. Very thoughtful.
I replied with this to get more info.
What happens underneath? You're describing an interaction with a black box without pushing under....what does tracing say? What does Fiddler say?

http://blogs.msdn.com/b/henrikn/archive/2012/08/15/asp-net-web-api-released-and-a-preview-of-what-s-next.aspx
Eddie replied:
That question, along with your provided hyperlink to Henrik’s blog (bookmark… check) allowed me to discover web api tracing.  Genius!  I feel like I’ve been riding in the car, but now I feel like I’ve taken the wheel.  Thank you!
As an ASP.NET guy I take this to mean that Tracing isn't easily discoverable in the product. However, once you know it exists (through all of ASP.NET) things get interesting. You have to know to ask about Tracing (and hence, Google) before you can unlock its power. Most products have tracing or logging or "turn diagnostics up to 11."
Eddie said:
Tracing was very clear about the problem:
iisexpress.exe Error: 0 : Operation=FormatterParameterBinding.ExecuteBindingAsync, 

Exception=System.InvalidOperationException: 

Property 'OrderOfMagnitude' on type 'TFSPortfolio.Models.PortfolioEntry' is invalid. 

Value-typed properties marked as [Required] must also be marked with 

[DataMember(IsRequired=true)] to be recognized as required. 

Consider attributing the declaring type with [DataContract] 

and the property with [DataMember(IsRequired=true)].



   at System.Web.Http.Validation.Validators.ErrorModelValidator.Validate(ModelMetadata metadata, Object container)

  ...

   at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancellationToken)
I had the DataMember attribute on the property but not the IsRequired=True
So I add the attribute and bingo!
Even better, Eddie knows about T4 and is code-generating his Entities so he adds:
I’ll have to make another minor tweak to the T4 template for this attribute to fix this globally… gotta love T4 for this job.
A great result via a clarifying question about a question. When in doubt, turn on tracing!


© 2012 Scott Hanselman. All rights reserved.