<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>BRICS Business Magazine - EN</provider_name><provider_url>https://bricsmagazine.com/en</provider_url><author_name>tjilavian</author_name><author_url>https://bricsmagazine.com/en/author/tjilavian/</author_url><title>Shelter for a Digital Nomad - BRICS Business Magazine - EN</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="qvHvaIOJMl"&gt;&lt;a href="https://bricsmagazine.com/en/business/service/shelter-for-a-digital-nomad/"&gt;Shelter for a Digital Nomad&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://bricsmagazine.com/en/business/service/shelter-for-a-digital-nomad/embed/#?secret=qvHvaIOJMl" width="600" height="338" title="&#xAB;Shelter for a Digital Nomad&#xBB; &#x2014; BRICS Business Magazine - EN" data-secret="qvHvaIOJMl" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/**
 * WordPress inline HTML embed
 *
 * @since 4.4.0
 * @output wp-includes/js/wp-embed.js
 *
 * Single line comments should not be used since they will break
 * the script when inlined in get_post_embed_html(), specifically
 * when the comments are not stripped out due to SCRIPT_DEBUG
 * being turned on.
 */
(function ( window, document ) {
	'use strict';

	/* Abort for ancient browsers. */
	if ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) {
		return;
	}

	/** @namespace wp */
	window.wp = window.wp || {};

	/* Abort if script was already executed. */
	if ( !! window.wp.receiveEmbedMessage ) {
		return;
	}

	/**
	 * Receive embed message.
	 *
	 * @param {MessageEvent} e
	 */
	window.wp.receiveEmbedMessage = function( e ) {
		var data = e.data;

		/* Verify shape of message. */
		if (
			! ( data || data.secret || data.message || data.value ) ||
			/[^a-zA-Z0-9]/.test( data.secret )
		) {
			return;
		}

		var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ),
			blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ),
			allowedProtocols = new RegExp( '^https?:$', 'i' ),
			i, source, height, sourceURL, targetURL;

		for ( i = 0; i &lt; blockquotes.length; i++ ) {
			blockquotes[ i ].style.display = 'none';
		}

		for ( i = 0; i &lt; iframes.length; i++ ) {
			source = iframes[ i ];

			if ( e.source !== source.contentWindow ) {
				continue;
			}

			source.removeAttribute( 'style' );

			if ( 'height' === data.message ) {
				/* Resize the iframe on request. */
				height = parseInt( data.value, 10 );
				if ( height &gt; 1000 ) {
					height = 1000;
				} else if ( ~~height &lt; 200 ) {
					height = 200;
				}

				source.height = height;
			} else if ( 'link' === data.message ) {
				/* Link to a specific URL on request. */
				sourceURL = new URL( source.getAttribute( 'src' ) );
				targetURL = new URL( data.value );

				if (
					allowedProtocols.test( targetURL.protocol ) &amp;&amp;
					targetURL.host === sourceURL.host &amp;&amp;
					document.activeElement === source
				) {
					window.top.location.href = data.value;
				}
			}
		}
	};

	function onLoad() {
		var iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),
			i, source, secret;

		for ( i = 0; i &lt; iframes.length; i++ ) {
			/** @var {IframeElement} */
			source = iframes[ i ];

			secret = source.getAttribute( 'data-secret' );
			if ( ! secret ) {
				/* Add secret to iframe */
				secret = Math.random().toString( 36 ).substring( 2, 12 );
				source.src += '#?secret=' + secret;
				source.setAttribute( 'data-secret', secret );
			}

			/*
			 * Let post embed window know that the parent is ready for receiving the height message, in case the iframe
			 * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the
			 * window will then (re-)send the height message right away.
			 */
			source.contentWindow.postMessage( {
				message: 'ready',
				secret: secret
			}, '*' );
		}
	}

	window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
	document.addEventListener( 'DOMContentLoaded', onLoad, false );
})( window, document );
//# sourceURL=https://bricsmagazine.com/en/wp-includes/js/wp-embed.js
&lt;/script&gt;
</html><thumbnail_url>http://bricsmagazine.com/en/wp-content/uploads/sites/2/2025/08/shutterstock_2192018835.jpg</thumbnail_url><thumbnail_width>1000</thumbnail_width><thumbnail_height>667</thumbnail_height><description>After travelling through nearly 50 countries around the world, the Moscow-based IT entrepreneur and digital nomad Anton Minkovsky settled in Brazil, a place he describes as ideal from every perspective. Throughout this time, his primary professional focus has remained on Russian-speaking technology companies that have expanded successfully onto international markets. The culmination of these explorations is encapsulated in his book First Steps GoGlobal, which draws upon interviews with founders and management teams to provide an insightful study. A continuation of this work is currently under way. In an interview with BRICS Business Magazine, Minkovsky shares some insights gleaned from respondents and recounts his personal experience of living in Brazil.</description></oembed>
