USD $1
| EUR: $0.0000 $0.0000 0.0000% | THB: $0.0000 $0.0000 0.0000% | SGD: $0.0000 $0.0000 0.0000% | PHP: $0.0000 $0.0000 0.0000% | NZD: $0.0000 $0.0000 0.0000% | MYR: $0.0000 $0.0000 0.0000% | MXN: $0.0000 $0.0000 0.0000% | KRW: $0.0000 $0.0000 0.0000% | INR: $0.0000 $0.0000 0.0000% | ILS: $0.0000 $0.0000 0.0000% | IDR: $0.0000 $0.0000 0.0000% | HKD: $0.0000 $0.0000 0.0000% | CNY: $0.0000 $0.0000 0.0000% | CAD: $0.0000 $0.0000 0.0000% | BRL: $0.0000 $0.0000 0.0000% | AUD: $0.0000 $0.0000 0.0000% | TRY: $0.0000 $0.0000 0.0000% | RUB: $0.0000 $0.0000 0.0000% | HRK: $0.0000 $0.0000 0.0000% | NOK: $0.0000 $0.0000 0.0000% | ISK: $0.0000 $0.0000 0.0000% | CHF: $0.0000 $0.0000 0.0000% | SEK: $0.0000 $0.0000 0.0000% | RON: $0.0000 $0.0000 0.0000% | PLN: $0.0000 $0.0000 0.0000% | HUF: $0.0000 $0.0000 0.0000% | GBP: $0.0000 $0.0000 0.0000% | DKK: $0.0000 $0.0000 0.0000% | CZK: $0.0000 $0.0000 0.0000% | BGN: $0.0000 $0.0000 0.0000% | ZAR: $0.0000 $0.0000 0.0000% | THB: $0.0000 $0.0000 0.0000% | SGD: $0.0000 $0.0000 0.0000% | PHP: $0.0000 $0.0000 0.0000% | NZD: $0.0000 $0.0000 0.0000% | MYR: $0.0000 $0.0000 0.0000% | MXN: $0.0000 $0.0000 0.0000% | KRW: $0.0000 $0.0000 0.0000% | INR: $0.0000 $0.0000 0.0000% | ILS: $0.0000 $0.0000 0.0000% | IDR: $0.0000 $0.0000 0.0000% | HKD: $0.0000 $0.0000 0.0000% | CNY: $0.0000 $0.0000 0.0000% | CAD: $0.0000 $0.0000 0.0000% | BRL: $0.0000 $0.0000 0.0000% | AUD: $0.0000 $0.0000 0.0000% | TRY: $0.0000 $0.0000 0.0000% | RUB: $0.0000 $0.0000 0.0000% | HRK: $0.0000 $0.0000 0.0000% | NOK: $0.0000 $0.0000 0.0000% | ISK: $0.0000 $0.0000 0.0000% | CHF: $0.0000 $0.0000 0.0000% | SEK: $0.0000 $0.0000 0.0000% | RON: $0.0000 $0.0000 0.0000% | PLN: $0.0000 $0.0000 0.0000% | HUF: $0.0000 $0.0000 0.0000% | GBP: $0.0000 $0.0000 0.0000% | DKK: $0.0000 $0.0000 0.0000% | CZK: $0.0000 $0.0000 0.0000% | BGN: $0.0000 $0.0000 0.0000% | JPY: $0.0000 $0.0000 0.0000% | USD: $0.0000 $0.0000 0.0000%

I.T. catalyzes your business!


IURIX supports you to succeed!

Find out more

We've got what you need


IURIX has everything you need

Get Started

At your Service


Sturdy Templates

Our templates are updated regularly so they don't break.

Ready to Ship

You can use this theme as is, or you can make changes!

Up to Date

We update dependencies to keep things fresh.

Made with Love

You have to make your websites with love these days!

Free Download at GitHub!

Download Now!

Let's Get In Touch!


Ready to start your next project with us? That's great! Give us a call or send us an email and we will get back to you as soon as possible!

+55 11 99889 6571

Blog Posts!

What is the Pattern?

  • What is the key Insight we should know about this technology pattern?

    • A serverless architecture is a software architecture that separates the application logic (business logic) from the underlying execution environment (processes, operating systems, servers or virtual machines). The developer is only concerned about writing the application logic code while the service provider is responsible for provisioning and managing the infrastructure. This allows a service provider to efficiently utilize its infrastructure serving requests from all of its clients and automatically scale as it no longer needs to run a permanent workload for a specific client (no dedicated instances/VMs per client).

  • Describe the important things that you would want to know to understand why it is good at what it is good at

    • Be able to provide BaaS (Backend as a Service) for apps that do not have application-specific, server-side logic and fully depend on third-party services to manage their server-side logic and state (ex. of third-party services: Auth0, AWS Cognito, Parse, Firebase)

    • Be able to provide FaaS (Function as a Service) for apps that still require some amount of server-side logic to be written by the application but the logic is a short-living stateless functions that are triggered by events/requests and can communicate with each other and the external world.

    • Be able to automatically scale without any extra code development, configuration setup or human intervention.

    • Be able to compile and run multiplelanguages used to write the functions to support a wide range of developers / applications. For example. AWS Lambda supports supports Java, Node.js, C#, and Python.

  • What do they do well

    • Separate application logic from the running environment by wrapping application code with functions that are executed by the service provider and are triggered by events or incoming requests.

    • Horizontal scaling is completely automatic and elastic. The ‘compute containers’ executing the functions are ephemeral and are provisioned and destroyed at runtime by the service provider with no extra configuration.

    • Reduces operational management as the service provider is responsible for provisioning servers, increasing memory, killing hanging processes and scaling.

  • What do they do poorly

    • Slow to handle first request by a Function (Cold Start). The platform needs to initialize internal resources (start a container, spin up a JVM, etc.) which takes some time the first time a function is invoked (somewhere between 10ms and 2 minutes). It also releases such resources if there have been no requests to your function for a long time.

      • One option to avoid recurring cold start is to make sure your function remains in an active state by sending periodic requests to your function (ugly hack).

    • Inefficient at handling spikes in requests as instances/resources are constantly being allocated/deallocated which take time.

    • Limited tooling. Deployment / application bundling, configuration, monitoring / logging, and debugging are tricky in Serverless app and there is no sufficient support from the service providers.

    • Overly complicated API Gateway Logic/Implementation. API Gateways performs much of the application specific-logic within their own configuration / definition domain such as triggering functions to be executed as a response to inbound HTTP requests and providing authentication, input validation, and response code mapping. This logic is typically hard to test, version control, and even oftentimes define with very limited tooling provided. It would be simpler to have this logic as a separate code rather than vendor specific

    • Raise security concerns:

      • Multiple customers’ functions run in isolated containers on the same machine and bugs in the system might expose sensitive data to other customers

      • Each serverless vendor used increases the number of different security implementations embraced by your ecosystem and increases the likelihood for a successful attack.

      • If using a BaaS Database directly from your mobile platforms you are losing the protective barrier a server-side application provides in a traditional application.

    • Hard to implement integration testing as most current vendors do not provide a local implementation that could be used for testing. Remote testing on the regular production implementation is expensive configuration/deployment tools are still immature.

  • What are the fundamental ITDs that really drive how the technology pattern works the way it does?

    • All functions are stateless as they provide pure functional transformations of their input.

    • To maintain state across requests, functions must make use of a database, a cross-application cache (e.g. Redis), or network file store (e.g. S3) as local machine’s RAM and disk will not be available after a function terminates.

    • Each function invocation is allowed to run for a short period of time and is terminated after that. AWS Lambda functions are usually terminated if they run for longer than 5 minutes.

    • Each customers’ code is wrapped in a container or VM to isolate workloads, ensure data security and avoid interference.

    • Identify if a function should run on an existing VM instance/physical machine or if a new one should be spun up based on CPU utilization, memory requirements and workload.

When should the pattern be applied?

  • Does your application have little application-specific or server-side logic? (Yes)

  • Is most of your application functionality implemented using third-party services, for example Auth0 for identity and authentication and Firebase for data storage? (Yes)

  • Is your application logic composed of microservices? (Yes)

  • Can your application run without any long-running processes? (Yes)

  • Does your application deal with highly-sensitive data? (No)

    • Customers’ workloads are isolated in virtual machines or containers. However, bugs in FaaS offerings can be a major security issue for applications that work with sensitive data as some information might be leaked to other customers.


How to apply the pattern

  • Identify application logic that could be moved to the client side to create ‘rich client’  applications ( such as single page web apps or mobile apps).

  • Identify application logic that can be replaced by third-party services. For example Firebase for Database Storage and Auth0 for authentication.

  • Identify long processes or execution logic blocks that could be broken down into smaller components and write a function for each.

  • Identify which requests/workflows require maintaining state and determine if a DB, a cross-platform cache or a network file store is best suited to maintain state between requests/workflows

10:20 AM, 14 Jul 2018 by Iuri Sampaio Permalink | Comments (0)

In the MVC grand architectural design, the views are responsible for generating the response sent back to the requesting web browser. Views use data that the controller sends and the html templates to generate the response. Up to this point in developing our Bootsshop online store, we have only been working on the CodeIgniter code. In this tutorial, we will download the Bootsshop html template and integrate it into CodeIgniter. Bootsshop is a free html template for registered users. You can download it using the link below. Bootsshop download link

10:56 PM, 02 Jul 2018 by Iuri Sampaio Permalink | Comments (0)

These tutorial series are working with a real world example of an online shopping store. Read this article for more details CodeIgniter Powered Online Store. The following table shows the URLs that our online store will have. Read this article on CodeIgniter Controllers Tutorial for more details.
S/NURLControllerMethod
01/Pagesindex
02/pagePagespage_details
03/productsProductsindex
04/products/details/1Productsproduct_details
05/products/categoryProductsproduct_categories
06/user/registerUsersregister
07/user/loginUserslogin
08/user/logoutUserslogout
09/shopping-cartShopping_Cartindex
10/shopping-cart/addShopping_Cartadd
11/shopping-cart/updateShopping_Cartupdate
12/shopping-cart/deleteShopping_Cartdelete

10:55 PM, 02 Jul 2018 by Iuri Sampaio Permalink | Comments (0)

For this tutorial, we are going to learn how to download, install and configure CodeIgniter before we can start developing our application. This article assumes you have a working web server, PHP installation and MySQL database. It is also assumed that you understand PHP basics.

10:54 PM, 02 Jul 2018 by Iuri Sampaio Permalink | Comments (0)

By Victor Hernandez

Forbes magazine's website published an article confirming that employees who work from home are more productive than employees working at an office. Titled People Who Work From Home Really Get More Done, the article showcases data from a study conducted by the University of Cardiff on British employees, proving employees working from home not only get more work done, but they also work more overtime.

From the Forbes article:

...while 69% of in-office workers said they put in more effort than required of their jobs, 73% of remote workers said they did the same. The study also found that those who work from home have higher job satisfaction. That said, the benefits come at a price: Work-from-home employees reported putting in more overtime (39%) than their in-office counterparts (24%).

01:58 PM, 30 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

After setting up Postfix to relay on my email provider, it returns the following message in the logs, when attempted to send random emails? Why do I need MX record, if it's only SMTP is necessary. div <hostname> command line returns dig ip-172-31-11-190.sa-east-1.compute.internal ; <<>> DiG 9.10.3-P4-Ubuntu <<>> ip-172-31-11-190.sa-east-1.compute.internal ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17589 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;ip-172-31-11-190.sa-east-1.compute.internal. IN A ;; ANSWER SECTION: ip-172-31-11-190.sa-east-1.compute.internal. 20 IN A 172.31.11.190 ;; Query time: 1 msec ;; SERVER: 172.31.0.2#53(172.31.0.2) ;; WHEN: Thu Jun 28 02:02:09 UTC 2018 ;; MSG SIZE rcvd: 77 Do I need to set up MX record. How? Logs Jun 28 01:48:50 ip-172-31-11-190 postfix/qmgr[8635]: E57B04B138: from=<root@ip-172-31-11-190.sa-east-1.compute.internal>, size=371, nrcpt=1 (queue active) Jun 28 01:48:52 ip-172-31-11-190 postfix/smtp[8644]: E57B04B138: to=<iuri.sampaio@gmail.com>, relay=smtpout.secureserver.net[173.201.192.101]:465, delay=1.6, delays=0.02/0.01/1.2/0.37, dsn=5.0.0, status=bounced (host smtpout.secureserver.net[173.201.192.101] said: 550 <root@ip-172-31-11-190.sa-east-1.compute.internal> Sender Rejected - MAILFROM must be a valid domain. Ensure the mailfrom domain: "ip-172-31-11-190.sa-east-1.compute.internal" has a valid MX or A record. (in reply to end of DATA command)) Jun 28 01:48:52 ip-172-31-11-190 postfix/cleanup[8642]: 8D0FD4B139: message-id=<20180628014852.8D0FD4B139@evex> Jun 28 01:48:52 ip-172-31-11-190 postfix/bounce[8647]: E57B04B138: sender non-delivery notification: 8D0FD4B139 Jun 28 01:48:52 ip-172-31-11-190 postfix/qmgr[8635]: 8D0FD4B139: from=<>, size=2654, nrcpt=1 (queue active) Jun 28 01:48:52 ip-172-31-11-190 postfix/qmgr[8635]: E57B04B138: removed Jun 28 01:48:54 ip-172-31-11-190 postfix/smtp[8644]: 8D0FD4B139: to=<root@ip-172-31-11-190.sa-east-1.compute.internal>, relay=smtpout.secureserver.net[173.201.192.229]:465, delay=1.7, delays=0/0/1.4/0.35, dsn=5.0.0, status=bounced (host smtpout.secureserver.net[173.201.192.229] said: 550 <> Sender Rejected - MAILFROM must be a valid domain. Ensure the mailfrom domain: "" has a valid MX or A record. (in reply to end of DATA command)) Jun 28 01:48:54 ip-172-31-11-190 postfix/qmgr[8635]: 8D0FD4B139: removed Jun 28 01:48:50 ip-172-31-11-190 postfix/qmgr[8635]: E57B04B138: from=<root@ip-172-31-11-190.sa-east-1.compute.internal>, size=371, nrcpt=1 (queue active) Jun 28 01:48:52 ip-172-31-11-190 postfix/smtp[8644]: E57B04B138: to=<iuri.sampaio@gmail.com>, relay=smtpout.secureserver.net[173.201.192.101]:465, delay=1.6, delays=0.02/0.01/1.2/0.37, dsn=5.0.0, status=bounced (host smtpout.secureserver.net[173.201.192.101] said: 550 <root@ip-172-31-11-190.sa-east-1.compute.internal> Sender Rejected - MAILFROM must be a valid domain. Ensure the mailfrom domain: "ip-172-31-11-190.sa-east-1.compute.internal" has a valid MX or A record. (in reply to end of DATA command)) Jun 28 01:48:52 ip-172-31-11-190 postfix/cleanup[8642]: 8D0FD4B139: message-id=<20180628014852.8D0FD4B139@evex> Instance ID(s): i-007045985a63e3343

10:17 PM, 27 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

root@ip-172-31-11-190:~# emacs /etc/hosts

root@ip-172-31-11-190:~# tail -f /var/log/nginx/www.evex.error.log 

#2 /media/sites/evex/main/index.php(213): require_once('/media/sites/ev...')

#3 {main}

  thrown in /media/sites/evex/main/application/front-modules/welcome/models/welcome_model.php on line 768" while reading response header from upstream, client: 201.50.48.151, server: www.evex.co, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "www.evex.co"

2018/06/27 23:53:44 [error] 32587#32587: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function curl_init() in /media/sites/evex/main/application/front-modules/welcome/models/welcome_model.php:768

Stack trace:

#0 /media/sites/evex/main/application/front-modules/welcome/controllers/welcome.php(117): Welcome_model->requestDataJSON('https://evex.co...', '', '', '')

#1 /media/sites/evex/main/system/core/CodeIgniter.php(359): Welcome->index()

#2 /media/sites/evex/main/index.php(213): require_once('/media/sites/ev...')

#3 {main}

  thrown in /media/sites/evex/main/application/front-modules/welcome/models/welcome_model.php on line 768" while reading response header from upstream, client: 201.50.48.151, server: www.evex.co, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "www.evex.co"

08:14 PM, 27 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

Automate NaviServer Startup [project-open.com]

We now have to automate the startup of NaviServer (the application server of ]project-open[) for production use:

Create a new file /lib/systemd/system/projop.service with the following content:   

[Unit]

Description=NaviServer Web Server as user projop
After=postgresql.service network.target
Wants=postgresql.service

[Service]
Type=forking
PIDFile=/web/projop/log/nsd.pid

ExecStartPre=rm -f /web/projop/log/nsd.pid
ExecStart=/usr/local/ns/bin/nsd -t /web/projop/etc/config.tcl -u projop -g projop
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s 9 $MAINPID

Restart=always
# Restart=on-abort
# Restart=on-abnormal

KillMode=process

[Install]
WantedBy=multi-user.target

Please execute the following commands in order to activate the configuration:

systemctl daemon-reload
systemctl enable projop.service
systemctl start projop.service
You can check that NaviServer is running by monitoring it's error file (debugging is switched on by default):  

tail -f /web/projop/log/error.log 

 

12:36 PM, 24 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

PHP 7.1 has some new and interesting features that you might want to use with Nginx. Currently Ubuntu 17.04 and previous version can only install up to PHP 7.0 from the default repository. Ubuntu 17.10 will be released with PHP 7.1.

This brief tutorial shows students and new users how to install PHP 7.1 and setup Nginx webserver to use it and take advantage of some of its newest features. If you’re running Ubuntu 17.04 and prior version, you can’t install PHP 7.1 by default.

PHP 7.1 packages are not in Ubuntu default repository for those versions.. so if you’ll need PHP 7.1, you must install and enable third-party repositories.

To install PHP 7.1 on Ubuntu, follow the steps below:

10:34 PM, 23 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

I got a big problem.
I formatted 4 harddrives from NTFS to ext4 with gparted and in terminal 
Code:
sudo mkfs -t ext4 /dev/sdb
all went smoothly.

Today after finally get my htpc done. After a reboot

fstab cannot mount any of my drives

In /etc/fstab it's an error after my system partition

And the output of 

Code:
fdisk -l
Is

Code:
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

05:02 PM, 22 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

Hello,

i'm running mailcow on ubuntu 16.04 and i get this error when i restart nginx-mailcow:
nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32

Problem is that nginx can't build the server hash table if there are large numbers of server names and this value is too low.

http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size


04:23 PM, 22 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

RubyLane/rl_json [github.com]

Extends Tcl with a json value type and a command to manipulate json values directly. Similar in spirit to how the dict command manipulates dictionary values, and comparable in speed

04:22 PM, 22 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

I am trying to start my nginx server. When I type "$> /etc/init.d/nginx start", I have a message appearing "Starting nginx:", and then nothing happens. There is no error message, and when I check the status of nginx I see that it is not running.

Here is my /etc/nginx/nginx.conf file:

04:21 PM, 22 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

How to copy files with rsync over SSH [www.digitalocean.com]

In this tutorial we will cover the steps needed to copy files with rsync over SSH in CentOS 6.4, Debian or Ubuntu platform.

Requirements

  • CentOS 6.4, Debian or Ubuntu installed on your computer/server
  • SSH access (Command line access to the server)
  • root privileges
  • Basic skills for working on a Linux environment

04:18 PM, 22 Jun 2018 by Iuri Sampaio Permalink | Comments (0)

XML