Skip to main content

Posts

Showing posts from 2017

CodeStar to Simplify Development On AWS

For developers the most important announcement made at last week's AWS Summit was CodeStar, which is intended is to enable you to quickly develop, build, and deploy applications on AWS.

CodeStar is thus an attempt to fix the tedious process of setting up your development infrastructure on the AWS platform, which we uncovered in the AWS for the Impatient series of articles

"The problem with entering the AWS world for the first time is that it's like entering a labyrinth, a futile attempt of navigating through an endless maze of documentation, policies, endpoints, services, tokens and authentications. The task of having to hook all that up in order to get on with your job is daunting."
To alleviate this situation, Codestar provides a set of preconfigured project templates and by taking care of all the necessary permissions, where AWS is particularly picky, "so you don't need to create or manage complex IAM policies".

full article on i-programmer

Insider's Guide To Udacity Android Developer Nanodegree Part 2

Continuing the journal charting my progress through Udacity's course for intermediate Java programmers, we come to the second module - the final stage of project Popular Movies. Here we add  functionality to produce a fully featured application that looks and feels natural on the latest Android operating system.

But before that, let's do a short recap on what we've accomplished in Stage 1. Up to this point, our application can :
Fetch data from the Internet with theMovieDB API.
Use adapters and custom list layouts to populate list views.
Incorporate libraries to simplify the amount of code you need to write.
Present the user with a grid arrangement of movie posters upon launch.
Allow your user to change sort order via a setting; the sort order can be by most popular or by highest-rated.
Allow the user to tap on a movie poster and transition to a details screen with additional information such as: original title, movie poster image thumbnail, a plot synopsis (called overview…

Carnegie Mellon CyLab Challenge: Learn Hacking At School

picoCTF, the world's largest online hacking competition, is a computer security game for middle and high school students. Organised by CMU's CyLab, the third contest opens on March 31st and runs for two weeks.

It's no secret that there's a shortage of professionals with skills in computer security or, put another way, skills in computer hacking.The justification is simple; to be able to defend yourself you first have to be able to think like an attacker.

Awareness about cyber warfare on a national scale, on the latest trends in ransomware, IoT DDOS attacks, sophisticated phishing attempts and XSS exploitations is just the minimum requirement on the ever increasing check list of the security professional.

full article on i-programmer

The Malmo Challenge - Collaborative AI

Project Malmo, established in 2015, called Project AIX back then, finds its way out of infancy and into childhood, and is now looking to engage in its first social interactions. To further this it has launched a contest for PhD students.

It all started with Microsoft researchers trying to make a Minecraft character climb a virtual hill. This might not sound a big deal, but the difference was that this AI agent tried to overcome its hurdle through learning and interacting with its environment, not by being programmed to do so.

Since then, many other research initiatives have found their way into the mainstream, like OpenAI's Gym, a most interesting platform involving AIs that learn  to play a video game on a variety of gaming environments such as Atari, Board Games or even Box2d (Angry Birds anyone?), just as humans do.

full article on i-programmer 

Insider's Guide To Udacity Android Developer Nanodegree

The Android Developer Nanodegree, designed by Google and delivered through Udacity's platform, is for intermediate Java developers, or even those experienced in other object-oriented languages, looking to start developing for Android. As such it teaches the tools, principles, patterns and conventions pertaining to Android.

full article on i-programmer

Password Cracking RAR Archives With Perl

Cracking RAR archives is something not yet achievable as the format has no known vulnerabilities.Let me correct that, no known vulnerabilities as far as unlocking an encrypted RAR archive without the use of a password goes. In this article we look at password cracking by dictionary attack.  Along the way we explore how to turn a single threaded Perl/Tk GUI application into a multi-threaded one.

full article on i-programmer

High-Tech, Cross-Browser Fingerprinting

Do you trust that getting rid of third party cookies keeps you safe from tracking? Think again as there's a new cross-browser tracking that can follow you no matter how often you delete cookies or switch browser.

Nowadays, privacy issues arising from surfing the web are well known to the public and so are their countermeasures: cleaning your browser's cache, removing cookies, deleting history, installing ad-blockers and privacy aware extensions which reveal the trackers behind every page you visit. These are more or less the minimum of actions you can employ in feeling moderately safe.

Of course there's much more you can do, such as Tor-enabled browsing, using a VPN or embrace the extremes of SilentKeys' Privacy Aware Keyboard. Nevertheless, all these measures fall within the realm of the superuser and are beyond the expertise of the general public.

However there's a new technique that exploits other innocently leaked information by the browser in order…

Google's Cloud Spanner To Settle the Relational vs NoSQL Debate?

Cloud Spanner is a new proposition for database as a service that emphatically offers "Relational with NoSQL scaling". Will Google come to dominate yet another market?

Once upon a time there was only one kind of database management system, the RDBMS, "R" for relational. Despite its resilience and trustworthiness, it had its shortcomings; it did not scale well, and the relational model it served proved inadequate in the dawn of the Big Data era for handling massive amounts of schema-less, unstructured data.
For this and a few other reasons, a new breed of DBMS's emerged, one that could handle the avalanche of big data, based on the notion of the key-value pair, and doing so by scaling horizontally. But, in order to become versatile, this new breed of management systems had to forgo the safety of the ACID and the cosiness of SQL, both long term partners of the relational model. full article on i-programmer

AWS Lambda For The Impatient Part 3

We completed Part 2 of our tutorial on AWS Lambda by calling our Lambda function through an authenticated HTTP endpoint, aided by Postman and leveraging IAM security. In this third and final part, we do the same, only this time programmatically, with the aid of Perl and the Paws module.
Introducing Paws Paws is a namespace rather than a module, that encompasses a plethora of sub-modules, which aim to, and actually succeed, in achieving the unprecedented:
to provide a unified programming interface to all accessible through APIs Amazon hosted services, be it Amazon Simple Queue Service, Amazon Simple Notification Service, EC2, DynamoDB or as in this case, AWS Lambda.
We're going to consider Paws in action from two perspectives, assuming a user and assuming a role.

full article on i-programmer

Find Your 2000-Year-Old Double With Face Recognition

Wouldn't you like to know if you look like Caesar or Venus? It's now possible thanks to advanced face recognition software. Discover how the Quebec Musée de la Civilisation is using the Betaface API to find lookalikes of its collection of classical sculptures.

Most people are pleasantly surprised the moment they're told that they resemble a celebrity. Of course, nowadays when VIP's photos are everywhere on the media, comparing oneself to modern day celebrities is very easy.

But what if with today's technology you could discover if you resemble a celebrity of the ancient times, hundreds or thousands of years back? Wouldn't you like to know if you look like Caesar, Augustus, Demosthenes or another historical figure, or are more like a mythical one such as Heracles or Aphrodite?

full article on i-programmer

Bitesnap - Applying Deep Learning to Calorie Counting

Bitesnap is a recently launched mobile app that uses photo recognition to help you control your calorie intake. To learn more, we interviewed Keith Ito, one of the app's core developers to discuss Bitesnap's revolutionary vision for the food sector as well as the technological infrastructure behind it.

 We all know that a healthy diet is very difficult to maintain, especially nowadays where work is mostly done while sitting and entertainment is a matter of staring at screens of all shapes and sizes. The problem is made worse by the plethora of tasty but unhealthy food in existence.

Whereas dietary usually try to impose radical change, Bitesnap in contrast works with what you normally eat, trying to keep it or even turn it healthy, by closely monitoring food intake on a daily basis.Not sure how many calories the meal you are about to eat is? Take a picture of it and let Bitesnap reveal the calories and nutrients behind it, an action that allows you to make qui…

Associate Android Developer Certification by Google

To meet the job market's ever growing demand for  certified Android developers, Google once more in partnership with Udacity, has started offering an "Associate Android Developer Certification",  obtainable through just a single exam.

It's a move that might seem in contradiction to the certifications already offered by Udacity through its Android Developer Nanodegrees, again co-created by Google, but in contrast to a Nanodegree, getting hold of this certification doesn't require attending a lengthy or expensive course, in which you do projects and stick to class deadlines.
The candidate has to only take a one-off exam for a fee of $149. It requires the downloading of a few Android Studio project files and working on them for a period of  48 hours of work before  handing them over for their grading.

full article on i-programmer

Predix IoT for Developers

We have seen businesses transform into software houses to withstand competition. To continue surviving into the near future they'll also have to embrace IoT, as the industry responds to the ever-increasing presence of connected devices.
In this quest of automating everything, smart and embedded devices will play an increasingly significant role in collecting data at its source, data that they then transmit to remote monitoring centers for further analysis and real-time automated decision making. A prime examples of this is monitoring the state of a wind turbine and automatically shutting it down to avoid overheating.
Therefore in essence IoT provides an ecosystem that consists of the hardware and the software
running on the device, as well as a remote management center, typically cloud based, that hosts the facilities necessary for deriving the crucial insights from the raw data received in order to use them as the basis of all further decision making.

full articl…

Pythonroom Brings Coding to the Classroom

Describing itself as a book, Pythonroom is available to all, whether in a classroom or not. Needing just a browser to run, and so suitable for a multitude of desktops and mobile devices, it provides an ideal jump start for kids to start learning coding.

The availability of step-by-step lessons is one reason for choosing Pythonroom as a starting point in learning to code. The other reason for jumping on the Pythoonroom bandwagon is Python itself. The language's clean, readable and English-sounding syntax makes it easy for someone not familiar with coding to get started.That aside,Python is also a fully featured, general purpose programming language with which you can do just about anything: Mathematics, Data science, Statistics, Automation, Natural language processing, Artificial intelligence, you name it.

The platform is built with a curriculum centered on the student, as such it makes it super easy to get started with tasks that require just one, or two lines of cod…

Mozilla Firefox Replacing Gecko With Servo

The time has finally come for Firefox to upgrade the aging Gecko rendering engine that served it for 20 or some years.The upgrade will enable Firefox to take full advantage of modern CPU's and GPU's, and result in lighting fast performance improvements on both desktop and mobile devices.

"Pages will load faster, and scrolling will be silky smooth. Animations and interactive apps will respond instantly, and be able to handle more intensive content while holding consistent frame rates. And the content most important to you will automatically get the highest priority, focusing processing power where you need it the most."

It wouldn't be that easy however.Switching from a solid, long serving and well proven engine to something new, constitutes a formidable task, especially when the project in question, the Firefox browser, is live and in production.

full article on i-programmer

AWS Lambda For The Impatient Part 2

In the first part of the AWS Lambda for the Impatient tutorial series we set to create our very first lambda function and call it through an open, public, unrestricted and unauthenticated endpoint.This time around we add security so that calling our lambdas will require the client to authenticate through an IAM Role and User name.

Step 1 - Create a new Lambda function and API Gateway endpoint
As happened in the first part, we create a new lambda called lambda_basic_execution_helloWorldNodeJS but with the added suffix of _auth. So that we can tell it apart, call it lambda_basic_execution_helloWorldNodeJS_auth.
Despite the name change, the function's code remains the same as last time:
use strict';
exports.handler = (event, context, callback) => {
 console.log('Received event:',
                 JSON.stringify(event, null, 2));
 var inputObj = JSON.parse(event["body"]);
 callback(null, {
    "statusCode": …

Serverless JavaScript

We recently joined in an interesting two-hour long conversation about Serverless JavaScript led by Steve Faulkner of Bustle who answered questions on Bustle, the Shep framework, the mindset behind the AWS Lambda infrastructure, and related topics.

The discussion took place on the Sideway conversation-sharing platform on January 6th. Here we present the best takeaways from the session which really should be taken notice of by anyone working on AWS.

Steve Faulkner:
At Bustle we serve over 50 million unique readers per month through a "serverless" architecture based on AWS Lambda and Node.js.  Of course there are still servers but we don't manage them. This shift has allowed us to develop products faster and decreased the cost of our infrastructure. I'll answer any questions about how we made this transition and how it has worked out. I'll also discuss some of the tools and best practises including our open source framework shep

Eran Hammer:
When would you…

New Facebook Computer Vision Tags

Show Facebook Computer Vision Tags is a new Chrome and Firefox extension that overlays all images appearing on your Facebook timeline with a neural-network derived classification. This reveals what Facebook's algorithms makes of them. Should we be worried?
Before any image reaches your timeline, Facebook's Deep ConvNet deep learning framework scans it in order to recognize the objects that it consists of so that  it classifies it based upon those findings.
Subsequently, these classifications make their way into HTML alt tags in order to annotate the image before it appears on the web and your timeline.
As an example of how it works, consider the following picture of a dog out on the snow, shot by people inside a café.


full article on i-programmer.info

AWS Lambda For The Impatient Part

The problem with entering the AWS world for the first time is that it's like entering a labyrinth, a futile attempt of navigating through an endless maze of documentation, policies, endpoints, services, tokens and authentications. The task of having to hook all that up in order to get on with your job is daunting. Here is the help you need for AWS Lambda.

Tthe range of AWS offerings is just immense with so many services and providers to choose from, like EC2, S3, Athena, Kinesis, Lambdas, CloudFront, DynamoDB, API Gateway, and the list goes on.

In this tutorial, however, we're going to take a deep look into the Lambdas and the serverless architecture they support.The beauty of serverless computing isn't that you don't need a server, but you don't need to manage one.Your function lives in its own space on the cloud, capable of being called through multiple entry points, while despite self-contained, still capable of calling other functions or APIs , tr…