Skip to main content

Posts

Showing posts from 2017

"Parsing with Perl 6 Regexes and Grammars" mega book review

This is Moritz Lenz's second book release. One could argue that you  have to tackle the first one, "Perl 6 Fundamentals" before progressing to this one. This is not the case, however, as the book is written in such a way that it can be consumed independently without requiring any kind of knowledge in Perl 6.Saying that, it does however dedicate a chapter to getting started with Per l 6, just enough to ready you to work with its regular expressions.That aside, the author does indeed go into detail explaining the Perl 6 features used in the examples. A question that I also posed to Moritz was whether the knowledge obtained from studying this book is transferable to Perl5 or to other languages, or, is it rather unique to Perl6? Moritz's reply was that the general skills/knowledge is transferable, but p6 regexes and grammars offer much awesome stuff that other implementations simply don't have. So while the material is only applicable to Perl 6, since its imp

Hour of Code 2017 Introduces App Lab

t's the time of year when the world-class Hour of Code once more commences; just an hour for introducing coding to the uninitiated, having them complete self guided tutorials. But is a hour sufficient? What can a beginner actually code within this limit? The answer is a bit more complicated than that, so let's find out all about it! Integrated into the larger, worldwide, annual Computer Science Education week, this year taking place December 4-10, Hour of Code's novel mission has always been to get everybody coding, aged from 4 to 104, by providing: "a one-hour introduction to computer science, designed to demystify code, showing that anybody can learn the basics, and broadening participation in the field of computer science". But first of all, why this obsession with Computer Science, in particular in getting  kids as young as 4 to learn to code? The answer is simple. Nowadays code is everywhere around us, from desktop computers to mobile phones and, thank

Headless Chrome and the Puppeteer Library for Scraping and Testing the Web

With the advent of Single Page Applications, scraping pages for information as well as running automated user interaction tests has become much harder due to its highly dynamic nature. The solution? Headless Chrome and the Puppeteer library. While there's always been Selenium, PhantomJS and others, and despite headless Chrome and Puppeteer arriving late to the party, they make for valuable additions to the team of web testing automation tools, which allow developers to simulate interaction of real users with a web site or application. Headless Chrome is able to run without Puppeteer, as it can be programmatically controlled through the  Chrome DevTools Protocol , typically invoked by attaching to a remotely running Chrome instance: chrome --headless --disable-gpu                      --remote-debugging-port=9222 Subsequently loading the protocol's sideckick module 'chrome-remote-interface' which provides  a simple abstraction of commands and notifications using

Insider's Guide To Udacity Android Developer Nanodegree Part 6 - Capstone Stage 1

The Capstone, this is what it has all been leading up to.This is where you're set free to design your own project and utilize your own ideas, albeit always within the boundaries set by the specifications. These boundaries are placed for good reason, though.The rubric is there to make you think hard about every detail of your project and to foresee and anticipate every requirement that could lead to congestion or extraneous effort, protecting you from crying out it's "too late" when deep into the project. They take shape in a generic template which sets them in boilerplate text which you are expected to replace with your own comments in order to demonstrate the ability to communicate your ideas formally.They are grouped by : An app description UI flow mocks Key Considerations A list of required tasks After filling out the document you have to submit it and await feedback on it in order to complete Capstone's first stage.This is done for preventing and

Insight.io - Code Intelligence on GitHub

Ever wanted to browse Github code like an IDE? Tired of cloning repos just to examine their code structure? If the answer to either of these questions is yes then you will welcome Insight.io. Insight.io adds features such as jump to definition, find references, class hierarchy, directory tree and code search to Github browsing.These become available when you install its Chrome or Firefox browser extension and register for a free account at Insight.io. The plugin goes hand in hand with the Insight.io indexing service. You can see that the plugin is enabled when its icon becomes visible at the top left corner of the web page you are currently looking at when you navigate to a repository that is indexed by the backend service. If it isn't then you can always request for the repo to be indexed. Indexed sites are distinguishable from the 'insight.io' prefix which gets prepended to their Github urls as in  https://insight.io/github.com/lambdalab-mirror/jdk8u-jdk/  .If y

Visual Search Adopted by eBay - will it render Google's search obsolete?

Artificial Intelligence is rapidly taking over all aspects of our lives, from calorie counting, to personal assistance and financial advice. Shopping is no exception. Now, with eBay's new powered-by-AI visual search engine, it's even easier as well as more accurate. The traditional way of searching for that favorite, but elusive, product which you somewhere stumbled upon, was through performing text-based keyword lookups. For example, say while checking your Facebook activity, you notice an ad about boots but your attention is instead drawn to the sunglasses that the model is wearing. From their unique shape you infer that they must be Ray-bans. So the next logical step would be to Google something like  "Ray-ban  sunglasses with blue lenses" . This query will return a number of product models. But which one is the specific one I've been looking for? Is it model RB3025, RB4239, or maybe RB4221? Of course, the vaguer the query the vaguer the resulting prod

3D Face Reconstruction with Neural Networks applied to Art

In yet another AI breakthrough, researchers from the University of Nottingham Computer Vision laboratory, have managed to transform 2D facial images to their 3D counterparts in a most productive and efficient way and have made the project available for the rest of us to enjoy. The best part is that it can even work with Art such as historical portraits and pencil sketches. Scientifically the process of mapping facial pixels to 3D coordinates falls within the realm of 3D face reconstruction and is one of the most difficult problems that Computer Vision and Graphics research is trying to solve. full article on i-programmer.info

Insider's Guide To Udacity Android Developer Nanodegree Part 5 - Make Your App Material

Having embarked on this account of the Android Developer Nanodegree, designed by Google and delivered through Udacity's platform, in March, we've already covered a lot of skills. This part  tackles mission impossible, turning a Coder into a Designer. I always aim for functionality first and design second, something clearly evident in my Nanodegree projects submitted thus far which satisfied just the UI essentials but also in my other unrelated-to Android-work, such as Ultimate Extract and Recover , a Win32 application and Smart Device Seeker , a Website about smart devices. So "design second" doesn't pertain just to Android applications but crosses boundaries and I guess that's something prevalent to most backend-oriented developers out there. This has to change since design plays a big role in what breaks or makes success and, with so much competition in the Android store, producing just a functional application is not enough. This makes

Google's Teachable Machine - What it really signifies

The Teachable Machine is an effort by Google to make Machine Learning and AI accessible to the wider public, without requiring any specialized training, knowledge in Computer Science or coding. The site  https://teachablemachine.withgoogle.com/  is a move that reflects the current trend of the personalization of AI in shifting the algorithms from the Cloud to the user's space, be it their desktop, their phone or other smart device. That's not the biggest problem though; the real issue is that the models used for training the algorithms under the common supervised learning model, require massive datasets and excessive amounts of CPU power. So as the situation currently stands, the bulk processing is done on the Cloud by Platform as a Services which offer Machine Learning as plug and play API's which encapsulate the necessary pre-trained  algorithms, with offerings including tone analysis, visual recognition or conversation analysis. Prevalent examples of su

How Much Gameplay Can You Pack In Just 13K?

Given our expectations of Xbox games, you might consider writing a game within a 13K limit, which is the challenge for the annual js13K competition far too restrictive. Its results are now out and prove that it is possible to produce a game that is fun to play.  Back in the tape loading days and on platforms the likes of Commodore64 games came in sizes of 4K or less. As proof of concept, here's a list of a few such 4K titles, copied over from Lemon64 's archive: Alien Sidestep Bug Crusher Dot Gobbler Close Encounters Dot Gobbler v2 Gridrunner Laser Cycles Marios Brewery Space Action Space Ricoshay Tank Wars Hesmon64 Retro Ball  Fast forward to now, at a time when Javascript's eating the world by making all sorts of applications or  games available to everyone through the medium of the browser, rendering the need of dedicated platforms and Operating systems obsolete, 13K is sufficient enough to pack both gameplay AND cool graphics due to the a

INSIDER'S GUIDE TO UDACITY ANDROID DEVELOPER NANODEGREE PART 4 - BUILD IT BIGGER

Steadily advancing through the Android Developer Nanodegree, I've now reached Level 3 on the curriculum, "Gradle for Android and Java" in which students learn how to use Gradle to  "turn a pile of source code and resources into a shipped,tested and functioning app" . Tools which automate a project's build process have become an essential part of any developer's toolchain, considering that nowadays the making of an application is not just constrained to writing code.There's also other accompanying tasks that should be run in parallel.Some of those are identifying and bundling dependencies, copying resources such as images and strings, running unit tests, diversifying through product flavors, minifying or obfuscating the source, handling signing keys, packing a jar or apk and deploying the finished product to a repository or even publishing it to Google Playstore. Trying to follow a sequence and manual tracking of all those tasks as well as repeat
 

Hardcore DevOps:Building A Portable Weblogic Client on the CLI

It shouldn't be that difficult to build a standalone Weblogic WS-Security enabled client for invoking JAX Web Services, but the reality is that it is. Let's find out why. What is recurring in the above passages is 'classpath' and the need for the Weblogic Server libraries to be available to it.Thing is I don't want to go through setting up a WebLogic instance just to get  to those libraries, or build a client that depends on the classpath as well as the machine's or host OS's intricacies.Furthermore, any setup would have to be multiplied by 10, the number of machines looking to access the same web service. In any case my Java client should always call into a Weblogic, well, 'client' library in order to consume the necessary functionality.Turns out that choosing the appropriate one is convoluted: Do I need wlfullclient.jar, wlthint3client.jar, wlclient.jar, wljmsclient.jar, wlclient.jar , or maybe wlsafclient.jar ? Also, don't for

Book Review : How To Create Pragmatic, Lightweight Languages

At last, a guide that makes creating a language with its associated baggage of lexers, parsers and compilers, accessible to mere mortals, rather to a group of a few hardcore eclectics as it stood until now. The first thing that catches the eye, is the subtitle: The unix philosophy applied to language design, for GPLs and DSLs" What is meant by "unix philosophy" ?. It's taking simple, high quality components and combining them together in smart ways to obtain a complex result; the exact approach the book adopts. I'm getting ahead here, but a first sample of this philosophy becomes apparent at the beginnings of Chapter 5 where the Parser treats and calls the Lexer like  unix's pipes as in lexer|parser. Until the end of the book, this pipeline is going to become larger, like a chain, due to the amount of components that end up interacting together. The book opens by putting things into perspective in Chapter 1: Motivation: why do you want

Think Perl 6 mega book review

This title comes amid a shower of announcements of forthcoming Perl 6 books, therefore I initially thought  that so many releases at the same time could potentially disorient the aspiring reader. Fortunately it looks more like that each title addresses different kinds of audiences and at I Programmer we aims to find more about what's in it for each audience.   Think Perl 6  is targeting the uninitiated in programming in general, as such it goes over the pure basics and the raw elements that make up programming as a science. That said, I don't have the answer as to why someone would be compelled to kick off his exploration of Computer Science with Perl 6 as his first language when there are so many, popular and well tried alternatives such as Python, JavaScript or Java. That person would be someone already versed in some computing, more like a teacher or mentor who finds the idea of tackling Perl 6 rather exciting, and rightly so, as 6 is a post-modern programmi

Insider's Guide To Udacity Android Developer Nanodegree Part 3 - Making the Baking App

Continuing to chart my experience of Udacity's Android Developer Nanodegree we step up in level, embarking on the advanced part of the super-course. Completing project "Popular Movies" (see Part 2 of this series) signaled the end of "Android Developer". Now we are ready to tackle the second element of the program "Advanced Android Developer", a new class with a new syllabus and project. Continuing to chart my experience of Udacity's Android Developer Nanodegree we step up in level, embarking on the advanced part of the super-course. Completing project "Popular Movies" (see Part 2 of this series) signaled the end of "Android Developer". Now we are ready to tackle the second element of the program "Advanced Android Developer", a new class with a new syllabus and project. "Advanced Android Developer" is a mixed bag of self contained material and of coding seven different sample apps to learn about

Grimoire Lab-GitHub - Stats On Steroids

Grimoire Lab is an open source toolkit built on Python, Elasticsearch and Kibana. It taps into GitHub's raw data through Perceval, a module designed for retrieving data from repositories related to software development. Perceval forwards the data to another tool for filtering, the so called Sorting Hat, responsible for managing and merging identities that correspond to the same real person/commiter and potentially come from different sources, before finally rendering the data manageable and accessible through rich UI Kibiter dashboards. Kibiter, a fork of Kibana, is what enables the user to create and edit visualizations as well as perform queries facilitated by the underlying Elasticsearch REST APIs. full article on i-programmer.info

JSON Feed - The New RSS?

SON Feed is a new take on the web syndication format, but unlike RSS and Atom it's in JSON, not XML. So what does it try to do better? Mainly overcome the perils of XML; it's complex, heavyweight, difficult to parse and not in sync with the current trend wanting web data exchange happening almost exclusively in JSON document representation. In contrast, JSON is easier to both write and parse, manipulate and consume, especially given that its data types are exact reflections of their native Javascript counterparts. Devised by Brent Simmons, the original developer of the popular  NetNewsWire and Manton Reece creator of  Micro Blogs , both with a great background on publishing with RSS, it's a certainty that JSON Feed will emerge as a strong competitor to both Atom and RSS, being based upon their decade long experience on decentralized formats. On top of that it also tries to tackle a few other issues plaguing RSS, mainly the lack of realtime client notificat

Graphcool Eases Your Way Into GraphQL

GraphQL, dubbed by many as REST's successor, is a query language in which you can query database driven, JSON schema-exposed APIs. The problem is that because it is so different from REST, getting the hang of GraphQL when starting out is not that easy. But why go the trouble now that there are cloud-based FaaS (Framework as a Service) services such as Graphcool which take the pain out of the process of setting up, configuring, running and testing your GraphQL backend? Graphcool is a newly established GraphQL backend for mobile and web developers that lives on the AWS cloud: Data is persisted in a high-availability cluster of AWS Aurora databases combined with a Redis-powered caching layer. Files are securely stored in Amazon S3 and can be accessed through a fast CDN. Business Logic is implemented as serverless functions and deployed to AWS Lambda. Website Hosting uses Netlify's CDN. and lowers the entry barrier in getting into GraphQL. With Graphcool you don

Perlito - 4 Years On

Perlito, the open source compiler collection that implements a Perl5 and a Perl6 compiler has just launched a brand new Java backend. It seemed a good time to catch up with the project by talking to its lead contributor, Flavio Glock. Last time I interviewed Flavio Glock about Perlito  was back in 2013 when the project was in its first steps. At that time Perlito could compile Perl 5 or Perl 6 programs into various backends,  including JavaScript, Python, Ruby and Go, but it was also designed with extensibility from the ground up so it could be further extended to other backends in the future. Well this time has come, with Flavio just announcing a brand new Java backend! In those 4 years the project has really taken off, a lot has changed, and given the opportunity of this new and great development I thought that a follow up was in order. Flavio was once more deeply insightful and provided links to three very interesting video presentations on the topic that took plac

AWS and Ionic Team Up In Starter Project

Amazon is quick in recognizing that just offering support for a number of popular programing languages is not enough to lure hoards of developers to the platform. That's why we are seeing a move towards wrapping its AWS services with greater user-friendliness. The start was made with the introduction of CodeStar, which aimed to simplify the setting up of a project's AWS infrastructure, especially  with regard to policy and authorization, as we examined in CodeStar to Simplify Development On AWS.  It continues this trend with the release of the open source Ionic AWS starter project Mobile Web and Hybrid Application which aims to act as a skeleton, or boilerplate, Ionic application tweaked in such a way to give developers a headstart in configuring their mobile Ionic front-end applications in relation to an AWS backend. full article on i-programmer

Three Tips for the Linux Shell Addict

This time around we have three great tips for the Linux shell addict, three sites that will increase your productivity and save valuable time in your daily interactions with the shell. The first one is  ok-b.org . It's a shell snippet search engine where you get to  describe the task you are after in natural English and in return be presented with closely related snippets. For example, in looking up "How to list only files?" , will bring up: Bash: How to list only files? find . -maxdepth 1 -type f ls -l | egrep -v '^d' ls -l | grep -v '^d' List only common parent directories for files read -r FIRSTLINE DIR=$(dirname "$FIRSTLINE") while read -r NEXTLINE; do   until [[ "${NEXTLINE:0:${#DIR}}" = "$DIR" || "$DIR" = "/" ]]; do     DIR=$(dirname "$DIR")   done done echo $DIR How to list files in directory using bash? for file in /source/directory/* do     if [[ -f $f

Codetracer - Have Your Code Peer Reviewed

Codetracer is a new free service for coders who seek wisdom through brainstorming when stuck in writing their code. Here's how it works - you post the snippet of code that puzzles you on the forum, annotate with inline comments the specific lines that give you the trouble, provide a general description of the problem and wait for help from the hosts or any peers, i.e. any interested member subscribed to the service. Let's see an example. The member a.osman had the following issue: "What i want to do is to create static method in a class that convert any json type to any HashMap. More details on lines comments."    full article on i-programmer.info

Who to blame? Scapegoating Encryption

Blaming everything on encryption is a recurring event. Whenever something bad happens that the intelligence services have no control over, it's because the encryption is at fault. The latest outcry against it was UK Home Secretary Amber Rudd's take on What's Ups end-to-end encryption arguing that Britain’s intelligence services must have: “ the ability to get into situations like encrypted WhatsApp ” adding to the voices supporting the weakening of encryption or the planting of backdoors to popular consumer-level applications. In stark contradiction to the Home Secretary's fruitless political talk, consider the position of ENISA, the European Union Agency for Network and Information Security, and the centre of network and information security expertise for the member states, the private sector and Europe’s citizens. This was outlined in its  December 2016 essay on its recommendations on cryptography in the context of proposals to reduce its strength

Export your Wunderlist tasks with XPath

As brought up in this ProductHunt thread , the news is that Wunderlist is going to be deprecated in favor of the new Microsoft To-Do note taking platform. This is what Wunderlist support had to say in response to my inquiry on Wunderlist's future: " Now that the next evolution of Wunderlist is here, in the form of Microsoft To-Do Preview ( https://www.wunderlist.com/blog/... ), Wunderlist will no longer receive any updates or bug fixes and will eventually be retired. It won’t happen in the next few months and we’ll be sure to give our users plenty of notice beforehand. In the meantime, you can continue to use Wunderlist normally. Of course, we’d also love for you to try To-Do and let us know how you like it – and how we can improve it. While Wunderlist will continue to exist alongside To-Do for the time being, support for Wunderlist will eventually be removed. Not to worry, though! We will inform all Wunderlist users prior to shutting down service. You'll have ampl

Kite - Smart Copilot For Programmers

The best products and ideas always spring out of identifying and addressing a general and widespread need. In the case of programming it's the time required when coding for searching the Internet for relevant documentation and code samples. Kite was invented to address those needs and looks set to become very popular among the programmer tribe; well the Python ones at the moment but Kite's engineers are looking into adding support for languages like C#, Java and Javascript to widen their audience. So how does actually Kite help a programmer in becoming more productive? Kite sits next to your favourite code editor, Atom, Sublime Text 3, IntelliJ and PyCharm are currently supported, monitoring what you actually type in order to display highly relevant information. full article on i-programmer

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

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 syno

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

Google Goes Serverless with Cloud Functions

The view that serverless is the way of the future is once more reinforced by Google's recent announcement of its Cloud Functions for Firebase. These can be seen as an attempt to catch up with the already established players of the Function-as-a-Service scene, AWS Lambda and Azure Functions. more info 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 publi c. However there's a new technique that exploits other innocently leaked information by the browser in

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

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 ar

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

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, {     &qu

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: Wh

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 ,