Academia Exponencial

Banner Academia

TL;DR

Argentina is currently investing in all sorts of new technologies from the recycling of food all the way up to a global satellite network. As a company, we contribute to the cause co-organizing an event and most importantly developing the solutions for the future.

The goal of Academia Exponencial is enlightening youth minds to advocate their lives to science, whereas been IT industries or renewable energies. The sky’s the limit and this experience proves it.

Intro

We believe Argentinian people bring a lot to the table in several scenarios. Our creativity is outstanding and our resilience looked upon all over the globe. I’m writing this post to spread the word about our progress. And mostly to give you a glance of the already tangible future in our hands.

Drones are agriculture BFF’s

This was a recurrent topic all along the 3 days. We live in an agricultural country, and the drone industry has too much to offer to look another way. As we mentioned before there are a lot of companies that work on microtechnologies improving the growth of crops.

With the help of drones is possible to spray pesticide, synthetic nutrients, and more with extreme precision; Avoiding flooding the fields with this chemical substances. Not only that, we can even measure which areas growth with the most efficiency, and which ones need more attention.

With the help of satellites, we can even identify larger portions of fields with precision. As you may see. Drones are definitely agriculture best friend.

Humanity says NO to fossil energy, green ones are here to stay!

It may not be yet a generally accepted idea… but fossil energy is dying. This overly used & abused fuel material is not only getting depleted but also killing our environment. Let me brighten things a little bit… over the years companies and countries got mother’s earth message, with this I mean even the Arabs Emirates are investing in green energies. I double the bet… they are the most interested in this not-so-new technology.

In Argentina, even tho we still have a lot of dependency on fossil fuels. We have people giving their best to push this change forward, locally and internationally speaking. The most remarkable case is VOLTU, a company going head-to-head with TESLA MOTORS on the making of electric motorcycles. On the production level we are implementing several solar panel farms all over the country (Santa Fe, Mendoza, Salta, San Luis, Neuquén y Misiones) In this states consumers are able to produce power, store, use it and sell it back to the grid.

 Mix Reality, the next step in human life.

We live in an era where the line between fiction and reality is getting thinner with each second. Technology is dropping jaws all over the globe, one of the most shocking ones is the possibility of exploring the world with a different point of view… Picture this, you are a traveler and have no idea what surrounds you. You pull up a device, point towards a near building. A virtual guide pop-up from your device and gives you a tour of all the place. It could even re-construct some ruins that are lying in front of you.

As futuristic as it sounds, this is already happening in the world… Imagine the possibilities this kind of technology enables us to do. Your imagination is the only limit.

Robots will change the work environment, not destroy it.

Far are we from the times where robots where picture as metal boxes with blinking lights and beep-boop sounds. With the cutting-edge advances in AI (artificial intelligence) robots are able to establish a regular human conversation, follow instructions from top to bottom without errors and much more.

With all of this in mind, we should start training people on how to be employable in this new era. Even tho several jobs will be fully automated, a hundred new ones will be created to supply incoming demands. Argentina has some companies that are focusing on automation of industries.

Our mind is getting closer to be decoded

What Am about to tell you, will seem to be taken out from a science fiction book. But is actually a very real situation. Nowadays we have discovered plenty of how our brains work, how it stores memory, how we react to things, how we blackout thoughts. All these studies have culminated in the translation of those cerebral waves into data… THIS IS HUGE… It means we can observe human generated waves and understand what information is it.

Let me give you some examples to make you understand the implications of this. Sensors can detect cerebral waves and interpret those waves. Wifi thought transmission wifi Facial recognition is primary With a thought we can reconstruct a face

We have our own Argentine made satellite network.

That’s right, what you read is a reality. We are part of the new space race, satellite race… Argentina has at least two companies dedicated to this topic. One has a focus on agricultural care, the other one aspires to be a real-life search engine for objects (ships, buildings, crops fields, military bases).

So we could ask queries such as… How many cars are on the highway today? How many fishing ships were sailing on the coast yesterday? How many buildings were constructed in the rural area km 8 last year?

This networks will consist of a series of 233 satellites orbiting the earth. This will allow to accurately have pictures of the whole globe up to a view area of 2m at any time.

  • Emiliano Karigeman – Satellogic

The blockchain is more than cryptocurrency, it can even aid democracy.

People think that blockchain is just a cryptocurrency. But they couldn’t be furthest from wrong. Actually, this is just a storage pattern… a democratic database.

How does it work you may ask?

Easy, just imagine a classroom in which every student has a notebook. The teacher asks their students to write down the test grades from the whole class (even themselves). Now, everybody has the same information. A notebook will be “true” if it whole content matches with the half +1 of the class notebooks.

All “operations” are made sequentially, this means they are stacked one over another.

  • To add a record everyone has to write down the new data.
  • Delete data is not possible in this system. It compromises the integrity of the stack.
  • All previous data is unable to be altered, just new one can be added.

This pattern is secure because of its transparency. Everything is “visible” to everyone, all operations are recorded in everyone’s base. This concept can be implemented in a variety of system such as the electoral process, certification of documents, public finances and salaries transactions. Everything can be converted to this process, but not everything is worth been converted.

Passion is key!

As I mention above, we Argentinan, have a lot offer. One thing all speakers had in common is their passion about what they do. In this category, we can see a variety of examples, from a girl succeeding in her professional (0 to hero) all the way to PUMAS’s technical director speeches

Conclusion

Our future can be bright if we go in the right direction. Whichever road will go, technology will play a big part in it. Having this in mind, we better embrace the changes. Luckily we Argentineans are known for our sense of adaptability, and even better, we already have people working in all of this fields at the moment. As we have seen in this article, we are making ground-breaking discoveries and implementing them.


Ionic 3 – Fast mobile development

TL;DR


Ionic is a web-based framework for Angular to develop cross-platform mobile apps. Because of its component base and quick development speed it allows us to enter the app market without the hassle of training/hiring new personnel for it. If you want to know more about Ionic

Mobile development


Why should we make apps?

  • Users are shifting towards apps.
  • It’s a hot topic and will remain so.
  • All major companies have at least one themselves.
  • It increases your company stack value an overall quality.

Is it worth?

Heck yeah! If all the reasons above don’t convince you to start coding apps, just take a look at what statistics have to say about it.

How much time do you need?

Traditional mobile building consumes a lot of resources. Overall coding this kind of technologies requires time. Finding a good native developer for a platform is hard, having one dev for each platform is expensive.


So… How can my company sell this stack? you may ask.

 

Ionic Framework

What is it?

Ionic is a complete open-source SDK for hybrid mobile app development. The Ionic framework wraps the Angular5 framework with HTML5+SASS and uses Cordova to access native device functions. Ionic offers great possibilities to build hybrid apps which not only look awesome but also behave as natural as a native app and rely on one shared code base. And if you are scared with JavaScript, it’s not as bad as you might think.

The Platform provides a set of Angular5 directives (custom HTML elements) for its own components, making it as easy to use the widgets as writing a line of HTML code. Angular and Ionic complement each other perfectly because it uses the same folder structure as any angular project. The ionic framework was built thinking of this technology. But according to their blog, the v4 version of it will support ANY STACK vue.js, react, vanilla, whatever you want.

Angular: The main framework to code ionic apps so far.

Cordova: A framework for wrapping all the project and build the app itself.

Why should we use it?

  • Your regular UI guy can handle all of this (Angular knowledge required).
  • Code once deploy for every system (iOS, Android, Windows OS).
  • It’s lightning speed fast to develop.
  • It has native capabilities thanks to the awesome community and project devs.
  • You can use NPM to get whatever package you need, or export one yourself.

Have we ever coded with it?

Yes, we have. And it is an awesome experience. Our devs quickly got the hang of it and we built some apps. Unfortunately, we can’t publish examples of them because they were for companies internal use.

Let’s code… shall we?

Getting started

If you want to follow the tutorial from the source. If you don’t have them: NPM and NodeJs (This package includes a npm version).

Ionic CLI

The source, this tooling enables us to generate our components easier and in order to structure our code better:

Some templates Ionic provides for us.

If you know angular these command lines won’t scare you much. If you don’t, do not worry. They are intuitive once you start coding.

Rule of thumb

  • Almost everything is a page! Each view you’ll need in the app use needs a PAGE.
  • Please be DRY (don’t repeat yourself) use COMPONENT.
  • If you need a custom string modifier or a stuff like that, use PIPE

Find native functionalities

Ionic devs and its community gives us a large number of native libraries. With all of these functions, you are able to build some extraordinary things. That was impossible to build for this kind of web-based app.

Some of the useful ones:

  • Camera
  • Facebook
  • Splash art
  • Toast
  • SMS
  • Push notifications
  • NFC
  • Geolocation
  • Network use

Which components are prebuild? 

You’ll LOVE their component list. It has a preview render of each element, for us that was a huge win. Their doc on how to use them is also quite good, go check it out.

Build the app

Building it’s as easy as typing this lines.

Conclusion

Being able to produce Apps is a must for current software companies. Not because it is “just a trend”, but a requirement for clients themselves.  If you wanna get your company into the leading technologies train… this is a good way to start.


Automate your UI testing

Intro

QA is a necessary step in every software life cycle. We guaranteed the correct functionality of any requested feature as a whole (integrity, speed, functionality, acceptance…). But as you may know, this is an expensive and dull task to do. That’s where automation comes in to save the day.

Automate!

What do you mean by this?

Easy, just delegate the task to a script. Automation at its core is simple, we set a non-human entity do something for us. In this case, test UI interfaces and follow workflow. 

Which tasks should I delegate?

  • Filling forms.
  • Check responses.
  • Watch for unexpected errors.
  • Whatever you want to.

 

How do I implement it?

You could use several testing tools. Selenium, PhantomJS, Ranorex, Inter…
Or you could rock the new era with Puppeteer.

Puppeteer

Puppeteer Logo

What is this puppet-thingy?

Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome or Chromium.

What can I do?

Most things that you can do manually in the browser can be done using Puppeteer! Here are a few examples to get you started:

  • Generate screenshots and PDFs of pages.
  • Crawl a SPA and generate pre-rendered content (i.e. “SSR”).
  • Scrape content from websites.
  • Automate form submission, UI testing, keyboard input, etc. Create an up-to-date, automated testing environment. Run your tests directly in the latest version of Chrome using the latest JavaScript and browser features.
  • Capture a timeline trace of your site to help diagnose performance issues.

 

Why not Selenium or PhantomJs?

Puppeteer works only with Chromium or Chrome. However, many teams only run unit tests with a single browser (e.g. PhantomJS). In non-testing use cases, Puppeteer provides a powerful but simple API because it’s only targeting one browser that enables you to rapidly develop automation scripts.

Syntax

Installation

$ yarn add puppeteer
$ npm i puppeteer

Hello World!

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page    = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({
     path: 'example.png'
  });
  await browser.close();
})();

Selectors

const $selector = ‘css_selector’;

const selector = ‘value’;

await page.type( $selector , selector); // Types

await page.click( $selector , options ); // Clicks

await page.select( $selector, selector); // DropDown

Page

await page.content(); // Html of page

await page.cookie(); // name,value,domain,expires...

Request

await request.failure().errortext; // Human readable error

await request.headers(); // HTTP request´s headers

Response

await response.failure().errortext; // Human readable error

await response.status();  // Response code

await response.json();  // Fuck yaass...

Our implementation

Pixel’s Hive

The Art Portal gives our clients a way to manage their designs orders with the ability to see the entire process from start to finish. In addition, they can see reports, statistics, invoices and all other types of notifications. We offer integration with our Client’s Portals using an API, making the communication in real time, and improving the delivery of our client’s orders!
For Clients without their own portal, we offer our software as a service (SaaS)!

So far

  • Login: Automate the endlessly tedious task of filling user and password.
  • Order: We offer different UI for each type of work. Every one of them has different required inputs.
  • Purchase: Tired of typing random credit card numbers? Fixed that with puppeteer.

Demo

Where is the catch?

Chrome only

This framework ‘s only meant to be used with chromium browser. No cross-browser compatibility

Audio & Video

Puppeteer does not support licensed formats such as AAC or H.264. But it is possible to use a Chrome version instead of Chromium.

Mobile limit

Puppeteer does not support HTTP Live Streaming HLS (mobile feature only).

Conclusion

If you aren’t doing QA you are missing in a critical area of software development. If you are doing but not automated, you surely losing precious human QA testing time. Bottom line start automating it’s great! 

if(!QA) {
  console.log('You are missing a critical area of software development');
}
if (QA && !automate) {
  console.log('You are losing precious human QA testing time');
}
if (QA) {
 console.log('Congratulations, you are on the right track! :)');
}