Futurama in 3D, Animation, Computer Animation, Illustration by Alexey Zakharov

Futurama in 3D is absolutely stunning

Futurama in 3D, Animation, Computer Animation, Illustration by Alexey Zakharov

Whoa. Artist Alexy Zakharov re-imagined the world of Futurama in 3D and transformed the cartoon into a complete stunner. It makes me want to watch a movie version of Futurama set in this world right now. Hell, it makes me want to cryogenically freeze myself so I can live in this world when I wake up.

Using 3ds Max, Nuke, Photoshop and After Effects, Zakharov was able to create a ‘test shot’ to see what his Futurama would look like. It’s so awesome. Here it is in full:



Advertisements

Inbox launches as an open-source email platform

Inbox app - email platform

Email is a painfully out-of-date technology, but it’s not going anywhere. A new startup, Inbox, is launching its “next-generation email platform” as an alternative to aging protocols like IMAP and SMTP.

Before you email junkies get too excited, this is a platform play, so there’s no user-facing app just yet. The core of Inbox’s efforts is an Inbox Sync Engine for developers that adds a modern API on top of mail providers, including Gmail, Yahoo and Outlook.com.

The engine itself is open source, but Inbox is planning to release a hosted SaaS version of its platform later this year. In the meantime, developers can get started on building apps and clients with their own installations.

The Inbox team is comprised mostly of MIT alumni. CEO Michael Grinich worked as an engineer at Dropbox and a designer at Nest, while co-founder Christine Spang previously worked on the Linux kernel at Ksplice. The firm’s seed investors include Fuel Capital, SV Angel, CrunchFund, Data Collective, and Betaworks.

Inbox emerges just weeks after Gmail announced its own API. However, Inbox touts its own service as a better option because it is open source, supports multiple providers and is built by an “email company” rather than an “advertising company.” Zing.

We’re always on the lookout for a killer solution to the email problem, so we’re eager to see what developers come up with on the Inbox platform later this year.

 Inbox Source – TNW

Error codes, HTTP codes

HTTP CODES – a glance

Informational 1xx

  • 100 Continue
  • 101 Switching Protocols

Successful 2xx

  • 200 OK
  • 201 Created
  • 202 Accepted
  • 203 Non-Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content

Redirection 3xx

  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Moved Temporarily
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy

Client Error 4xx

  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 406 Not Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 411 Length Required
  • 412 Precondition Failed
  • 413 Request Entity Too Large
  • 414 Request-URI Too Long
  • 415 Unsupported Media Type

Server Error 5xx

  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
Tesla Motors Logo car bonnet

Tesla tells automotive world to go ahead and use its patented technology

Tesla Motors Logo car bonnet

Tesla just removed patents from the walls of its Palo Alto headquarters both literally and figuratively. If you want to build something using the technology found in a Tesla patent, the company is totally fine with that.

Today Tesla Founder and all around super-smart guy, Elon Musk, posted to the company’s blog that Tesla would not pursue legal action against anyone that uses Tesla’s patented technology in good faith.

In the post Musk says that the goal of Tesla is to further the development of sustainable transportation. “If we clear a path to the creation of compelling electric vehicles, but then lay intellectual property landmines behind us to inhibit others, we are acting in a manner contrary to that goal,” he writes.

The purpose of patents is to protect the creator of a technology from being ripped off by copy cats. In theory, it’s a great idea. In recent years though, the patent world has become a quagmire of legal fights and trolls hoping to cash in on tiny features. By removing itself from that mess, Tesla is embracing the open source movement.

It’ll be interesting to see how this affects the automotive market.

2013 Tesla model s red street rear view

 

We need authors. Are you the one?

Motorola G isn’t coming until January in India

Motorola G - Delayed release in India

Motorola G – Delayed release in India

For all the people out there in India, waiting eagerly for the release of the awesome budget phone Moto G in India,

Hold your horses!!!.

We’ve heard motorola replying to the eager buyers who wants to get their hands on the Moto G machine since it was announced way back in 2013, that it wll be launched in early January 2014.
But while everyone were done partying the new year week, seems Motorola was still on the hangover,  and forgot the most awaited release in India.

We’ve seen some people getting responses from Motorola social representatives and the responses went from saying “It will be release in early January” to “Will be released later this month”. And this makes us think that if a product couldn’t be released after few months of announcements, how can it be released in couple of days.

Anyway, we’ve received another tip from Motorola that predicts that the Moto G isn’t anywhere around the days, or weeks.
Below is a screenshot of an email received from the Motorola Sales department (India).

Motorola G release launch in India - Email from motorola customer care

 

What do you think, when will the product be actually launched?
Would it be worth waiting further for the device?

 

Clean code

Writing cleaner conditional statements

Just a thought on using cleaner code while using a lot of nested if statements.

Clean code

Clean code

Ugly code

if(process_x()) {
    /* do a lot of other things */
    if(process_y()) {

         /* do a lot of other things */
         if(process_z()) {
              /* do a lot of other things */
              /* SUCCESS */
         }
         else {
              clean_all_processes();
         }
    }
    else {
         clean_all_processes();
    }
}
else {
    clean_all_processes();
}

Good looking code

do {

  if( !process_x() )
    { clean_all_processes();  break; }

  /* do a lot of other things */

  if( !process_y() )
    { clean_all_processes();  break; }

  /* do a lot of other things */

  if( !process_z() )
    { clean_all_processes();  break; }

  /* do a lot of other things */
  /* SUCCESS */

} while (0);

The use of goto is an alternative, the bad thing about this is you always need to define the label.

TimeAgo function in PHP

This can be used for comments and other from of communication to tell the time ago instead of the exact time which might not be correct to some one in another time zone.

The function only uses unix time stamp like the result of time();

function timeago($time) {
        $time = strtotime($time);
        $periods = array(L('second'), L('minute'), L('hour'), L('day'), L('week'), L('month'), L('year'), L('decade'));
        $periodsPlural = array(L('seconds'), L('minutes'), L('hours'), L('days'), L('weeks'), L('months'), L('years'), L('decades'));
        $lengths = array("60","60","24","7","4.35","12","10");

        $now = time();

        $difference     = $now - $time;
        $tense         = L('ago');

        for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++)
        {
            $difference /= $lengths[$j];
        }

        $difference = round($difference);

        if($difference != 1)
        {
            return "$difference $periodsPlural[$j] $tense";
        } else {
            return "$difference $periods[$j] $tense";
        }
    }

Needs a time() value, and it will tell you how many seconds/minutes/hours/days/years/decades ago.

Google Play Services

Your android is old but the apps are new, and you love it? Google’s new game – Google Play Services

Android 4.3 was released to Nexus devices a little over a month ago, but, as is usual with Android updates, it’s taking much longer to roll out the general public. Right now, a little over six percent of Android users have the latest version. And if you pay attention to the various Android forums out there, you may have noticed something: no one cares.

4.3’s headline features are a new camera UI, restricted user profiles, and support for new versions of Bluetooth and OpenGL ES. Other than the camera, these are all extremely dull, low-level enhancements. It’s not that Google is out of ideas, or the Android team is slowing down. Google has purposefully made every effort to make Android OS updates as boring as possible.

Why make boring updates? Because getting Samsung and the other OEMs to actually update their devices to the latest version of Android is extremely difficult. By the time the OEMs get the new version, port their skins over, ship a build to carriers, and the carriers finally push out the OTA update, many months pass. If the device isn’t popular enough, this process doesn’t happen at all. Updating a phone is a massive project involving several companies, none of which seem to be very committed to the process or in much of a hurry to get it done.

Since it’s really hard to push out an Android update, Google’s solution is to sidestep the process completely. The company stopped putting all the good stuff in Android updates. It’s not that good stuff isn’t coming out at all, the exciting features are just not being included as part of a big Android release.

This year’s Google I/O was a show of force for this new delivery concept. No new Android version was at the show, yet Google announced Google Hangouts, Google Play Games, cloud saving of game and app data, a complete redesign of Google Play Music and Google Maps, a new version of the Google Maps API, and new location and activity recognition APIs. Post I/O, we’ve seen seemingly OS-level features added like the Android Device Manager, a remote wipe and device tracking system, without needing to touch the base OS.

It’s such a simple idea: Android updates roll out too slowly, so start releasing all the cool stuff separately. The hard part is making it actually work. But the first reason this is now possible is a little app that has finally come of age: “Google Play Services.”

Enlarge / Google Play Services can do whatever it wants.

Calling Play Services an “app” doesn’t really tell the whole story. For starters, it has an insane amount of permissions. It’s basically a system-level process, and if the above list isn’t enough for whatever it needs to do next, it can actually give itself more permissions without the user’s consent. Play Services constantly runs in the background of every Android phone, and nearly every Google app relies on it to function. It’s updatable, but it doesn’t update through the Play Store like every other app. It has its own silent, automatic update mechanism that the user has no control over. In fact, most of the time the user never even knows an update has happened. The reason for the complete and absolute power this app has is simple: Google Play Services is Google’s new platform.

Enlarge / What happens when you try living without Google Play Services.

Andrew Cunningham looked at this shortly after Google I/O, but now things are truly crystallizing. Google’s strategy is clear. Play Services has system-level powers, but it’s updatable. It’s part of the Google apps package, so it’s not open source. OEMs are not allowed to modify it, making it completely under Google’s control. Play Services basically acts as a shim between the normal apps and the installed Android OS. Right now Play Services handles the Google Maps API, Google Account syncing, remote wipe, push messages, the Play Games back end, and many other duties. If you ever question the power of Google Play Services, try disabling it. Nearly every Google App on your device will break.

Play Services supports over the entire Android install base.

The reason for all the permissions and sneaky updates is best illustrated in that chart above. While the latest version of Android is on six percent of devices, Play Services rolls out to everyone in a week or two and works all the way back to Android 2.2. That means any phone that is three years old or newer has the latest version of Google Play Services. According to Google’s current Android statistics, that’s 98.7 percent of active devices. So at Google I/O, when Google announced their slew of new APIs, nearly every Android device was immediately compatible in a week. Play Services is a direct line from Google to the core of your phone, and, really, no one outside of Google is quite sure of just how powerful it can get.

Google Play Services takes care of lower-level APIs and background services, and the other part of Google’s fragmentation takedown plan involves the Play Store. Google has been on a multi-year mission to decouple just about every non-system app from the OS for easy updating on the Play Store. Take a quick look at Google’s Play Store account and you’ll see a huge list of apps, many of which ship by default in Android. Gmail, Maps, Search, Chrome, Calendar, the keyboard, YouTube, and even the Play Store itself are all separately updatable.

The above list is a good representation of the current update situation in Android. Nearly everything that can be moved out of the main OS has been. The only features left that would require an OS update are things like hardware support, Application Frameworks APIs, and Apps that require a certain level of security or access (like the lock screen, Phone, and Settings apps).

This is how you beat software fragmentation. When you can update just about anything without having to push out a new Android version, you have fewer and fewer reasons to bother calling up Samsung and begging them to work on a new update. When the new version of Android brings nothing other than low-level future-proofing, users stop caring about the update.

This gets even more interesting when you consider the implications for future versions of Android. What will the next version of Android have? Well, what is left for it to have? Android is now on more of a steady, continual improvement track than an all-at-once opening of the floodgates like we last saw with Android 4.1. It seems like Google has been slowly moving down this path for some time; the last three releases have all kept the name “Jelly Bean.” Huge, monolithic Android OS updates are probably over—”extinct” may be a more appropriate term.

Not having to package everything into a major OS update means Google can get features out to more users much faster and more frequently than before. Android feature releases can now work just like Google’s Web app updates: silent, continual improvement that happens in the background. Your device is constantly getting better without your having to do anything or wait for a third party, and developers can take advantage of new APIs without having to wait for the install base to catch up. This should all lead to a more unified, less fragmented, healthier Android ecosystem.

Source – Arstechnica

PHP Dynamic page

How to create dynamic pages with php

This tutorial will show you how to create dynamic pages with php. As you know php is the best language to create dynamic website and today we are going to see how it’s done.

Step 1: Create files

First we need few separate pages so let’s go ahead and create few pages. First page we need is index.php that will be our main page, so create a page and name it index.php. After that we need to add some HTML to the page.

<html>
<head>
<title>My PHP Site</title>
</head>
<body>
<h1>Welcome to my PHP Site.</h1>
 <ul>
 <li>Products</li>
 <li>Blog</li>
 <li>About Us</li>
</ul>
</body>
</html>

This is going to be our main page that’s why we are putting our navigation here, it doesn’t look fancy because our main focus is PHP right now.

Add Links:

Now we need to add links to our navigation. As we have three items in our navigation so we will need three more pages for our website but first let’s add some links to our navigation items.

<ul>
 <li><a href="#">Products</a></li>
 <li><a href="#">Blog</a></li>
 <li><a href="#">About Us</a></li>
</ul>

For now we will not specify any path in our links, we will get back to it later. Now if you have done everything alright you will get a page like this:

Dynamic PHP pages

PHP Dynamic Page

Other pages:

Now that we are done with our main page, we want to create few other pages. So just create three pages and name them products.php , blog.php and about.php. After that we want to put some content in these pages, we don’t have to put all those HTML tags again. We will just have to put the content that we want to show on the website, so for product’s page put the following lines in the page.

<?php
echo "<h2>Products</h2>";
echo "This is our product page.<br/>";
echo "You should be able to see all of our products here.";
?>

Do same for other two pages. You can put in there whatever you like, just keep in mind one thing that you won’t have to put <html> tags again.

Step 2: Making Pages Dynamic

As we are done with our main page and we have created other pages, now its turn to make those pages dynamic. We will just have to change the url to get the requested page and after that use GET variable to catch the value and assign it to another variable. Then we can just print that variable and we will get all the content from other pages on our main page.

Add this php code on top of your main page:

<?php
 if(isset($_GET['page'])){
 $page = $_GET['page'];
 }
 else
 $page = NULL;
 ?>

So basically what we have done here is, we have checked if the value in GET is set or not and if it is set we have assigned the value in GET to page variable and if it is not set we have set page variable equal to NULL.
Secondly we need to add some code to our main page where we want to show the content of other pages. As we need to show the content of other pages after our navigation so put these line after closing ul tag.

<?php
 if(empty($page)){
 echo "This is our main page.";
 }
 else
 include($page);
 ?>

Here we are checking if the page variable is empty then show the content of main page and if the page variable is not empty then we will include page variable. Basically the page variable contains our page which we want to show on our main page, don’t worry it will all make sense in a minute.

Changing Links:

After our main page is all set the last thing we need to do is to change our link in the main page. So just make these changes in the links of main page.

<ul>
 <li><a href="index.php?page=products.php">Products</a></li>
 <li><a href="index.php?page=blog.php">Blog</a></li>
 <li><a href="index.php?page=about.php">About</a></li>
 </ul>

As you can see all these pages are referring to the index.php but here our concern is the part after the index.php that is the part after ?. After ? we are using a variable or you can say reference name ‘page’, you can use any name here but you will have to change the GET variable too. We are taking page equal to our required page.

After it’s all set you can try it and hopefully it will work.

Image Not Available

PHP Dynamic Page

Image Not Available

PHP Dynamic Page

Image Not Available

PHP Dynamic Page

Step 3: Improving Links

You can take it one step farther by modifying the code little bit and making your link more attractive instead of index.php?page=about.php. So what you need to do is add a line right after where you are assigning GET variable value to page in index page.

<?php
 if(isset($_GET['page'])){
 $page = $_GET['page'];
 $page .= '.php';  //Add this line here and you are all set.
 }
 else
 $page = NULL;
 ?>

Now last thing you want to do is to remove the .php extension from all the links and after that our links will become:

<ul>
 <li><a href="index.php?page=products">Products</a></li>
 <li><a href="index.php?page=blog">Blog</a></li>
 <li><a href="index.php?page=about">About</a></li>
 </ul>

Now when you will browse to any of these links it will not show .php and your link will look more lively like index.php?page=about. We are done and now you can play a little bit more if you want with your pages. Go ahead and try this and leave a comment if you get stuck anywhere or want to share something new.