1<!DOCTYPE html><html lang="en" dir="ltr" class="client-nojs"><head>
1<script>var __ezHttpConsent={setByCat:function(src,tagType,attributes,category,force,customSetScriptFn=null){var setScript=function(){if(force||window.ezTcfConsent[category]){if(typeof customSetScriptFn==='function'){customSetScriptFn();}else{var scriptElement=document.createElement(tagType);scriptElement.src=src;attributes.forEach(function(attr){for(var key in attr){if(attr.hasOwnProperty(key)){scriptElement.setAttribute(key,attr[key]);}}});var firstScript=document.getElementsByTagName(tagType)[0];firstScript.parentNode.insertBefore(scriptElement,firstScript);}}};if(force||(window.ezTcfConsent&&window.ezTcfConsent.loaded)){setScript();}else if(typeof getEzConsentData==="function"){getEzConsentData().then(function(ezTcfConsent){if(ezTcfConsent&&ezTcfConsent.loaded){setScript();}else{console.error("cannot get ez consent data");force=true;setScript();}});}else{force=true;setScript();console.error("getEzConsentData is not a function");}},};</script>
vendor: 1 bytes, line 1
1
2<script>var ezTcfConsent=window.ezTcfConsent?window.ezTcfConsent:{loaded:false,store_info:false,develop_and_improve_services:false,measure_ad_performance:false,measure_content_performance:false,select_basic_ads:false,create_ad_profile:false,select_personalized_ads:false,create_content_profile:false,select_personalized_content:false,understand_audiences:false,use_limited_data_to_select_content:false,};function getEzConsentData(){return new Promise(function(resolve){document.addEventListener("ezConsentEvent",function(event){var ezTcfConsent=event.detail.ezTcfConsent;resolve(ezTcfConsent);});});}</script>
vendor: 1 bytes, line 2
2
3<script>if(typeof _setEzCookies!=='function'){function _setEzCookies(ezConsentData){var cookies=window.ezCookieQueue;for(var i=0;i<cookies.length;i++){var cookie=cookies[i];if(ezConsentData&&ezConsentData.loaded&&ezConsentData[cookie.tcfCategory]){document.cookie=cookie.name+"="+cookie.value;}}}} 4window.ezCookieQueue=window.ezCookieQueue||[];if(typeof addEzCookies!=='function'){function addEzCookies(arr){window.ezCookieQueue=[...window.ezCookieQueue,...arr];}} 5addEzCookies([{name:"ezoab_20049",value:"mod1; Path=/; Domain=techotopia.com; Expires=Thu, 24 Sep 2026 12:18:41 UTC",tcfCategory:"store_info",isEzoic:"true",},{name:"ezoab_20049",value:"mod1; Path=/; Domain=techotopia.com; Max-Age=7200",tcfCategory:"store_info",isEzoic:"true",},{name:"ezoid",value:"8201bdd4-27fc-4b3b-beb3-7e413acafcc4; Path=/; Domain=ezoic.net; Max-Age=31536000; SameSite=None; Secure; HttpOnly",tcfCategory:"store_info",isEzoic:"true",},{name:"ezoid",value:"8201bdd4-27fc-4b3b-beb3-7e413acafcc4; Path=/; Max-Age=31536000; SameSite=None; Secure; HttpOnly",tcfCategory:"store_info",isEzoic:"true",}]);if(window.ezTcfConsent&&window.ezTcfConsent.loaded){_setEzCookies(window.ezTcfConsent);}else if(typeof getEzConsentData==="function"){getEzConsentData().then(function(ezTcfConsent){if(ezTcfConsent&&ezTcfConsent.loaded){_setEzCookies(window.ezTcfConsent);}else{console.error("cannot get ez consent data");_setEzCookies(window.ezTcfConsent);}});}else{console.error("getEzConsentData is not a function");_setEzCookies(window.ezTcfConsent);}</script>
5<script type="text/javascript" data-ezscrex='false' data-cfasync='false'>window._ezaq = Object.assign({"edge_cache_status":11,"edge_response_time":207,"url":"https://www.techotopia.com/index.php/Main_Page"}, typeof window._ezaq !== "undefined" ? window._ezaq : {});</script>
5<script type="text/javascript" data-ezscrex='false' data-cfasync='false'>window._ezaq = Object.assign({"ab_test_id":"mod1"}, typeof window._ezaq !== "undefined" ? window._ezaq : {});window.__ez=window.__ez||{};window.__ez.tf={"VideoBidderPolicySerialization":"enabled","pbsHost":"aws-pbserver.ezoic.com","vdurbandit2":"true"};window.__ez=window.__ez||{};window.__ez.fs={"ACFloorTSV2Split":"off","ACFloorTSV3Split":"false","ADXHardFloorsSplit":"true","AdaptiveExclusion":"true","AffiliateWidgets":"false","AllowMultipleBigAdsAboveFold":"false","AnchorExpansionBanditSplit":"true","BidderScaleTSSplit":"off","CenteredAds":"false","DirectRenderBanditSplit":"true","DirectRenderDoseSplit":"off","DirectRenderFloormultHoldoutSplit":"off","DirectRenderLowGridSplit":"lowgrid","DirectRenderPt4ThresholdSplit":"off","DurationBanditV2Split":"true","EscalationDownround":"false","EscalationEarlyGam":"true","EscalationHighFloorDownround":"true","EscalationMidFloorDownround":"true","EscalationS2sLowFloor":"true","EscalationS2sMidFloor":"true","EscalationUpwalkMap2":"true","FloatingInterstitialBanditSplit":"true","FloorBanditSplit":"true","FloorEscalation":"true","FlyingCarpet":"false","HbFloorBanditSplit":"true","LazyloadBanditSplit":"true","MonopolyReserveFloorSplit":"true","OutstreamAspectBanditV3Split":"control","OutstreamBidderInclusionCurve":"standard","OutstreamBidderInclusionSplit":"true","OutstreamReserveBanditSplit":"true","OutstreamTSV2Split":"off","PoolAuctionLockDomain":"false","RefreshFloorBanditSplit":"true","SizeBanditSplit":"true","SlotMachineAuctions":"false","SyncFrequencyCap":"true","SyncSpacing":"false","TSDepthScaleSplit":"false","TimeoutBanditSplit":"false","VideoACLifecycleTelemetrySplit":"off","VideoBidderPolicyHoldbackSplit":"off","VideoStackLazy":"true"};window.__ez.fss='2001164334';</script>
5<script type="text/javascript" data-ezscrex='false' data-cfasync='false'>window.ezDisableAds = true;</script>
5<meta charset="UTF-8"/>
6<script data-ezscrex='false' data-cfasync='false' data-pagespeed-no-defer>var __ez=__ez||{};__ez.stms=Date.now();__ez.evt={};__ez.script={};__ez.ck=__ez.ck||{};__ez.template={};__ez.template.isOrig=true;__ez.queue=__ez.queue||function(){var e=0,i=0,t=[],n=!1,o=[],r=[],s=!0,a=function(e,i,n,o,r,s,a){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,d=this;this.name=e,this.funcName=i,this.parameters=null===n?null:w(n)?n:[n],this.isBlock=o,this.blockedBy=r,this.deleteWhenComplete=s,this.isError=!1,this.isComplete=!1,this.isInitialized=!1,this.proceedIfError=a,this.fWindow=l,this.isTimeDelay=!1,this.process=function(){f("... func = "+e),d.isInitialized=!0,d.isComplete=!0,f("... func.apply: "+e);var i=d.funcName.split("."),n=null,o=this.fWindow||window;i.length>3||(n=3===i.length?o[i[0]][i[1]][i[2]]:2===i.length?o[i[0]][i[1]]:o[d.funcName]),null!=n&&n.apply(null,this.parameters),!0===d.deleteWhenComplete&&delete t[e],!0===d.isBlock&&(f("----- F'D: "+d.name),p())}},l=function(e,i,t,n,o,r,s){var a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,l=this;this.name=e,this.path=i,this.async=o,this.defer=r,this.isBlock=t,this.blockedBy=n,this.isInitialized=!1,this.isError=!1,this.isComplete=!1,this.proceedIfError=s,this.fWindow=a,this.isTimeDelay=!1,this.isPath=function(e){return"/"===e[0]&&"/"!==e[1]}
6,this.getSrc=function(e){return void 0!==window.__ezScriptHost&&this.isPath(e)?window.__ezScriptHost+e:e},this.process=function(){l.isInitialized=!0,f("... file = "+e);var i=this.fWindow?this.fWindow.document:document,t=i.createElement("script");t.src=this.getSrc(this.path),!0===o?t.async=!0:!0===r&&(t.defer=!0),t.onerror=function(){var e={url:window.location.href,name:l.name,path:l.path,user_agent:window.navigator.userAgent};"undefined"!=typeof _ezaq&&(e.pageview_id=_ezaq.page_view_id);var i=encodeURIComponent(JSON.stringify(e)),t=new XMLHttpRequest;t.open("GET","//g.ezoic.net/ezqlog?d="+i,!0),t.send(),f("----- ERR'D: "+l.name),l.isError=!0,!0===l.isBlock&&p()},t.onreadystatechange=t.onload=function(){var e=t.readyState;f("----- F'D: "+l.name),e&&!/loaded|complete/.test(e)||(l.isComplete=!0,!0===l.isBlock&&p())},i.getElementsByTagName("head")[0].appendChild(t)}},d=function(e,i){this.name=e,this.path="",this.async=!1,this.defer=!1,this.isBlock=!1,this.blockedBy=[],this.isInitialized=!0,this.isError=!1,this.isComplete=i,this.proceedIfError=!1,this.isTimeDelay=!1,this.process=function(){}};function c(e,i,n,s,a,d,c,u,f){var p=new l(e,i,n,s,a,d,c,f);!0===u?o[e]=p:r[e]=p,t[e]=p,h(p)}function h(e){!0!==u(e)&&0!=s&&e.process()}function u(e){if(!0===e.isTimeDelay&&!1===n)return f(e.name+" blocked = TIME DELAY!"),!0;if(w(e.blockedBy))for(var i=0;i<e.blockedBy.length;i++){var o=e.blockedBy[i];if(!1===t.hasOwnProperty(o))return f(e.name+" blocked = "+o),!0;if(!0===e.proceedIfError&&!0===t[o].isError)return!1;if(!1===t[o].isComplete)return f(e.name+" blocked = "+o),!0}return!1}function f(e){var i=window.location.href,t=new RegExp("[?&]ezq=([^&#]*)","i").exec(i);"1"===(t?t[1]:null)&&console.debug(e)}function p(){++e>200||(f("let's go"),m(o),m(r))}function m(e){for(var i in e)if(!1!==e.hasOwnProperty(i)){var t=e[i];!0===t.isComplete||u(t)||!0===t.isInitialized||!0===t.isError?!0===t.isError?f(t.name+": error"):!0===t.isComplete?f(t.name+": complete already"):!0===t.isInitialized&&f(t.name+": initialized already"):t.process()}}function w(e){return"[object Array]"==Object.prototype.toString.call(e)}return window.addEventListener("load",(function(){setTimeout((function(){n=!0,f("TDELAY -----"),p()}),5e3)}),!1),{addFile:c,addFileOnce:function(e,i,n,o,r,s,a,l,d){t[e]||c(e,i,n,o,r,s,a,l,d)},addDelayFile:function(e,i){var n=new l(e,i,!1,[],!1,!1,!0);n.isTimeDelay=!0,f(e+" ... FILE! TDELAY"),r[e]=n,t[e]=n,h(n)},addFunc:function(e,n,s,l,d,c,u,f,p,m){!0===c&&(e=e+"_"+i++);var w=new a(e,n,s,l,d,u,f,m);!0===p?o[e]=w:r[e]=w,t[e]=w,h(w)},addDelayFunc:function(e,i,n){var o=new a(e,i,n,!1,[],!0,!0);o.isTimeDelay=!0,f(e+" ... FUNCTION! TDELAY"),r[e]=o,t[e]=o,h(o)},items:t,processAll:p,setallowLoad:function(e){s=e},markLoaded:function(e){if(e&&0!==e.length){if(e in t){var i=t[e];!0===i.isComplete?f(i.name+" "+e+": error loaded duplicate"):(i.isComplete=!0,i.isInitialized=!0)}else t[e]=new d(e,!0);f("markLoaded dummyfile: "+t[e].name)}},logWhatsBlocked:function(){for(var e in t)!1!==t.hasOwnProperty(e)&&u(t[e])}}}();__ez.evt.add=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n()},__ez.evt.remove=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):delete e["on"+t]};__ez.script.add=function(e){var t=document.createElement("script");t.src=e,t.async=!0,t.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(t)};__ez.dot=__ez.dot||{};__ez.queue.addFileOnce('/detroitchicago/boise.js', '/detroitchicago/boise.js?gcb=195-4&cb=5', true, [], true, false, true, false);__ez.queue.addFileOnce('/parsonsmaize/abilene.js', '/parsonsmaize/abilene.js?gcb=195-4&cb=651274f0d1', true, [], true, false, true, false);__ez.queue.addFileOnce('/parsonsmaize/mulvane.js', '/parsonsmaize/mulvane.js?gcb=195-4&cb=e75e48eec0', true, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFileOnce('/detroitchicago/birmingham.js', '/detroitchicago/birmingham.js?gcb=195-4&cb=c4ed651ab8', true, ['/parsonsmaize/abilene.js'], true, false, true, false);</script>
vendor: 1 bytes, line 6
6
7<script data-ezscrex="false" type="text/javascript" data-cfasync="false">window._ezaq = Object.assign({"ad_cache_level":0,"adpicker_placement_cnt":0,"ai_placeholder_cache_level":0,"ai_placeholder_placement_cnt":-1,"domain":"techotopia.com","domain_id":20049,"ezcache_level":0,"ezcache_skip_code":14,"has_bad_image":0,"has_bad_words":0,"is_sitespeed":0,"lt_cache_level":0,"response_size":75308,"response_size_orig":69497,"response_time_orig":214,"template_id":5,"url":"https://www.techotopia.com/index.php/Main_Page","word_count":0,"worst_bad_word_level":0}, typeof window._ezaq !== "undefined" ? window._ezaq : {});__ez.queue.markLoaded('ezaqBaseReady');if(window._ezaq&&window._ezaq.page_view_id==="01a0d2ec-ad77-7331-95b9-b77b24143d45"){window.__ezPvSig=window.__ezPvSig||"tlv5z5.07b8e1fb7c8823c0728975c67bf248a0";}</script>
vendor: 1 bytes, line 7
7
8<script type='text/javascript' data-ezscrex='false' data-cfasync='false'> 9window.ezAnalyticsStatic = true; 10 11function analyticsAddScript(script) { 12 var ezDynamic = document.createElement('script'); 13 ezDynamic.type = 'text/javascript'; 14 ezDynamic.innerHTML = script; 15 document.head.appendChild(ezDynamic); 16} 17function getCookiesWithPrefix() { 18 var allCookies = document.cookie.split(';'); 19 var cookiesWithPrefix = {}; 20 21 for (var i = 0; i < allCookies.length; i++) { 22 var cookie = allCookies[i].trim(); 23 24 for (var j = 0; j < arguments.length; j++) { 25 var prefix = arguments[j]; 26 if (cookie.indexOf(prefix) === 0) { 27 var cookieParts = cookie.split('='); 28 var cookieName = cookieParts[0]; 29 var cookieValue = cookieParts.slice(1).join('='); 30 cookiesWithPrefix[cookieName] = decodeURIComponent(cookieValue); 31 break; // Once matched, no need to check other prefixes 32 } 33 } 34 } 35 36 return cookiesWithPrefix; 37} 38function getOrMintFss() { 39 var UINT32_MAX = 4294967295; 40 var UINT32_DECIMAL = /^\d{1,10}$/; 41 function ensureEz() { 42 if (!window.__ez || typeof window.__ez !== 'object') { 43 window.__ez = {}; 44 } 45 return window.__ez; 46 } 47 function isValidUint32String(value) { 48 if (typeof value !== 'string' || !value) { 49 return false; 50 } 51 if (!UINT32_DECIMAL.test(value)) { 52 return false; 53 } 54 return Number(value) <= UINT32_MAX; 55 } 56 if (window.__ez && isValidUint32String(window.__ez.fss)) { 57 return window.__ez.fss; 58 } 59 var cookieStr = ''; 60 try { 61 cookieStr = document.cookie; 62 } catch (err) { 63 cookieStr = ''; 64 } 65 if (cookieStr && typeof cookieStr === 'string') { 66 var parts = cookieStr.split(';'); 67 for (var i = 0; i < parts.length; i++) { 68 var part = parts[i]; 69 var eq = part.indexOf('='); 70 if (eq === -1) { 71 continue; 72 } 73 var name = part.slice(0, eq).trim(); 74 if (name.indexOf('ezfs_') !== 0) { 75 continue; 76 } 77 var raw = part.slice(eq + 1).trim(); 78 var value; 79 try { 80 value = decodeURIComponent(raw); 81 } catch (err) { 82 continue; 83 } 84 if (!isValidUint32String(value)) { 85 continue; 86 } 87 ensureEz().fss = value; 88 return value; 89 } 90 } 91 var seed; 92 if ( 93 typeof crypto !== 'undefined' && 94 typeof crypto.getRandomValues === 'function' && 95 typeof Uint32Array === 'function' 96 ) { 97 seed = crypto.getRandomValues(new Uint32Array(1))[0]; 98 } else { 99 seed = Math.floor(Math.random() * 4294967296); 100 } 101 var minted = String(seed >>> 0); 102 ensureEz().fss = minted; 103 return minted; 104} 105function productAnalytics() { 106 var d = {"pr":[6],"omd5":"b5bf677428628228ced17156d18ae898","nar":"risk score","fs_seed":"2001164334"}; 107 d.u = _ezaq.url; 108 d.p = _ezaq.page_view_id; 109 d.v = _ezaq.visit_uuid; 110 d.ab = _ezaq.ab_test_id; 111 d.e = JSON.stringify(_ezaq); 112 d.ref = document.referrer; 113 d.dw = document.documentElement.clientWidth || window.innerWidth || 0; 114 d.dh = window.screen.height || 0; 115 d.vpw = window.innerWidth || document.documentElement.clientWidth || 0; 116 d.vph = window.innerHeight || document.documentElement.clientHeight || 0; 117 d.doch = Math.max((document.body && document.body.scrollHeight) || 0, (document.documentElement && document.documentElement.scrollHeight) || 0, (document.body && document.body.offsetHeight) || 0, (document.documentElement && document.documentElement.offsetHeight) || 0, (document.body && document.body.clientHeight) || 0, (document.documentElement && document.documentElement.clientHeight) || 0); 118 d.c = getCookiesWithPrefix('active_template', 'ez', 'lp_'); 119 if(typeof ez_utmParams !== 'undefined') { 120 d.utm = ez_utmParams; 121 } 122 d.qs = window.location.search; 123 if (typeof d.fs_seed === 'string' && d.fs_seed && (!window.__ez || !window.__ez.fss)) { 124 if (!window.__ez || typeof window.__ez !== 'object') { 125 window.__ez = {}; 126 } 127 window.__ez.fss = d.fs_seed; 128 } 129 d.fs_seed = getOrMintFss(); 130 131 var dataText = JSON.stringify(d); 132 var xhr = new XMLHttpRequest(); 133 xhr.open('POST','/ezais/analytics?cb=1', true); 134 xhr.onload = function () { 135 if (xhr.status!=200) { 136 return; 137 } 138 139 if(document.readyState !== 'loading') { 140 analyticsAddScript(xhr.response); 141 return; 142 } 143 144 var eventFunc = function() { 145 if(document.readyState === 'loading') { 146 return; 147 } 148 document.removeEventListener('readystatechange', eventFunc, false); 149 analyticsAddScript(xhr.response); 150 }; 151 152 document.addEventListener('readystatechange', eventFunc, false); 153 }; 154 xhr.setRequestHeader('Content-Type','text/plain'); 155 xhr.send(dataText); 156} 157__ez.queue.addFunc("productAnalytics", "productAnalytics", null, true, ['ezaqBaseReady'], false, false, false, true); 158</script>
158<base href="https://www.techotopia.com/index.php/Main_Page"/> 159 160<title>Techotopia</title>
161<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
vendor: 1 bytes, line 161
161
162<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () { 163mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"Main_Page","wgTitle":"Main Page","wgCurRevisionId":34724,"wgRevisionId":34724,"wgArticleId":1,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":!1,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Main_Page","wgRelevantArticleId":1,"wgIsProbablyEditable":!1,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgIsMainPage":!0,"wgWikiEditorEnabledModules":{"toolbar":!0,"dialogs":!0,"preview":!0,"publish":!0}});mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"variant":"en"});});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\"});});mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","skins.vector.js"]); 164} );</script>
164 165<link rel="stylesheet" href="/load.php?debug=false&lang=en&modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.sectionAnchor%7Cmediawiki.skinning.interface%7Cskins.vector.styles&only=styles&skin=vector"/> 166<meta name="ResourceLoaderDynamicStyles" content=""/> 167<link rel="stylesheet" href="/load.php?debug=false&lang=en&modules=site&only=styles&skin=vector"/> 168<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}</style>
169<script async="" src="/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=vector"></script>
169 170<meta name="generator" content="MediaWiki 1.26.2"/> 171<link rel="shortcut icon" href="/favicon.ico"/> 172<link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="Techotopia (en)"/> 173<link rel="EditURI" type="application/rsd+xml" href="https://www.techotopia.com/api.php?action=rsd"/> 174<link rel="copyright" href="/index.php/MediaWiki:Copyright"/> 175<link rel="alternate" type="application/atom+xml" title="Techotopia Atom feed" href="/index.php?title=Special:RecentChanges&feed=atom"/> 176<!--[if lt IE 7]><style type="text/css">body{behavior:url("/skins/Vector/csshover.min.htc")}</style><![endif]--> 177<link rel='canonical' href='https://www.techotopia.com/index.php/Main_Page' />
178<script type='text/javascript'> 179var ezoTemplate = 'orig_site'; 180var ezouid = '1'; 181var ezoFormfactor = '1'; 182</script>
182<script data-ezscrex="false" type='text/javascript'> 183var soc_app_id = '0'; 184var did = 20049; 185var ezdomain = 'techotopia.com'; 186var ezoicSearchable = 1; 187</script>
187</head> 188<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Main_Page skin-vector action-view">
189<script src="/javascript/tocscript30.js"> 190</script>
190 191<!-- Ezoic Ad Testing Code--> 192 193<!-- Ezoic Ad Testing Code--> 194<!-- Facebook Pixel Code -->
195<script>
vendor: 395 bytes, lines 195-201
195 196!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 197n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 198n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 199t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 200document,'script','https://connect.facebook.net/en_US/fbevents.js'); 201fbq('init', '
201492017207635887
vendor: 30 bytes, lines 201-202
201'); 202fbq('track', 'PageView');
203</script>
203 204<noscript><img height="1" width="1" style="display:none" 205src="https://www.facebook.com/tr?id=492017207635887&ev=PageView&noscript=1" 206/></noscript> 207<!-- DO NOT MODIFY --> 208<!-- End Facebook Pixel Code --> 209 210<style type="text/css"> 211#coverstyle { 212 padding: 5px 5px 5px 5px; 213 margin: 0px 3px 0px 0px; 214 text-align:center; 215 border:1px solid #808080; 216} 217a.coverstyle:link { 218 font-size: 12px; 219 font-weight: bold; 220} 221 222a.coverstyle:active { 223 font-size: 12px; 224 font-weight: bold; 225} 226#bookcaption { 227 font-size:0.8em; 228} 229#booktitle { 230 font-size:1.1em; 231} 232 233#bookprice { 234 font-size:1.1em; 235 color:red; 236} 237</style> 238
239<script> 240var trackOutboundLink = function(url) { 241 ga('send', 'event', 'outbound', 'click', url, { 242 'transport': 'beacon', 243 'hitCallback': function(){document.location = url;} 244 }); 245} 246</script>
246 247
248<script language="Javascript" type="text/javascript"> 249 250function googlebanner() 251{ 252} 253 254function googletocbanner() 255{ 256} 257 258function googlebox_async() 259{ 260} 261 262function googlelinkunit() 263{ 264} 265</script>
265 266 267 <div id="mw-page-base" class="noprint"></div> 268 <div id="mw-head-base" class="noprint"></div> 269 <div id="content" class="mw-body" role="main"> 270 <a id="top"></a> 271 272<div align="center"> 273<!-- Ezoic - Top of Page - top_of_page --> 274<div id="ezoic-pub-ad-placeholder-125"></div> 275<!-- End Ezoic - Top of Page - top_of_page --> 276</div> 277 278 <div class="mw-indicators"> 279</div> 280 <h1 id="firstHeading" class="firstHeading" lang="en">Main Page</h1> 281 <div style="padding-top:20px; width:728px; margin:0 "> 282 <!-- Ezoic - Banner Under Title - under_page_title --> 283 <div id="ezoic-pub-ad-placeholder-124"></div> 284 <!-- End Ezoic - Banner Under Title - under_page_title --> 285 </div> 286 <div style="margin-left:20px; float:right;"> 287<!-- Ezoic - SidebarRightOne - sidebar --> 288 </div> 289 <div id="bodyContent" class="mw-body-content"> 290 <div id="siteSub">From Techotopia</div> 291 <div id="contentSub"></div> 292 <div id="jump-to-nav" class="mw-jump"> 293 Jump to: <a href="#mw-head">navigation</a>, <a href="#p-search">search</a> 294 </div> 295 <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><p><br/> 296</p> 297<div style="float: right; margin-left: 20px;"><!-- Ezoic - RightSidebar Second Headline - under_second_paragraph --> <div id="ezoic-pub-ad-placeholder-141"></div> <!-- End Ezoic - RightSidebar Second Headline - under_second_paragraph --></div><h1><span class="mw-headline" id="Welcome_to_Techotopia">Welcome to Techotopia</span></h1> 298<p>Techotopia is a library of free on-line IT books covering a wide range of topics including iOS and Android app development, operating systems, programming, scripting, system administration, databases, networking and much more. The IT Essentials series of books is designed to provide detailed information that is accessible to both experienced and novice readers. Each on-line book contains everything that is needed to gain proficiency in the corresponding technology subject area. 299</p> 300<div style="float: left; margin-right: 20px;"><!-- Ezoic - Left SideBar In Content - sidebar --><div id="ezoic-pub-ad-placeholder-130"></div><!-- End Ezoic - Left SideBar In Content - sidebar --></div><h1><span class="mw-headline" id="Latest_Books">Latest Books</span></h1> 301<table cellspacing="15"> 302<tbody><tr> 303<td valign="top"><img alt="Click to Android Studio Giraffe Essentials - Kotlin Edition" src="/images/a/a3/Android_studio_giraffe_essentials.png" title="Click to Android Studio Giraffe Essentials - Kotlin Edition" width="150" height="190"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/book-toc/android-studio-essentials-kotlin-edition/">Android Studio Giraffe Essentials - Kotlin Edition</a> - Fully updated for Android Studio Flamingo, Android Jetpack and the modern architectural guidelines and components, the goal of this book is to teach the skills necessary to develop Android-based applications using the Kotlin programming language. 304<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/book-toc/android-studio-essentials-kotlin-edition/">Read this book>></a></td> 305</tr> 306<tr> 307<td valign="top"><img alt="Click to Read CentOS Stream 9 Essentials" src="/images/f/f8/Centos_9_essentials.png" title="Click to Read CentOS Stream 9 Essentials" width="150" height="190"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/centos-stream/centos-stream-essentials/">CentOS Stream 9 Essentials</a> - Fully updated for CentOS Stream 9, the goal of this book is to teach the skills necessary to install, administer and deploy CentOS Stream 9 systems. 308<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/centos-stream/centos-stream-essentials/">Read this book>></a></td> 309</tr> 310<tr> 311<td valign="top"><img alt="Click to Read Rocky Linux 9 Essentials" src="/images/2/27/Rocky_9_essentials.png" title="Click to Read Rocky Linux 9 Essentials" width="150" height="190"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/rocky-linux/rocky-linux-essentials/">Rocky Linux 9 Essentials</a> - Fully updated for Rocky Linux 9, the goal of this book is to teach the skills necessary to install, administer and deploy Rocky Linux 9 systems. 312<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.c
312om/rocky-linux/rocky-linux-essentials/">Read this book>></a></td> 313</tr> 314<tr> 315<td valign="top"><img alt="Click to Read Red Hat Enterprise Linux 9 Essentials" src="/images/a/a6/Rhel_9_essentials.png" title="Click to Read Red Hat Enterprise Linux 9 Essentials" width="153" height="191"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/rhel/red-hat-enterprise-linux-essentials/">Red Hat Enterprise Linux 9 Essentials</a> - Fully updated for RHEL 9, the goal of this book is to teach the skills necessary to install, administer and deploy RHEL 9 systems. 316<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/rhel/red-hat-enterprise-linux-essentials/">Read this book>></a></td> 317</tr> 318<tr> 319</tr><tr> 320<td valign="top"><img alt="Click to Read Ubuntu 20.04 Essentials" src="/images/6/67/Ubuntu_2004_essentials.png" title="Click to Read Ubuntu 20.04 Essentials" width="164" height="206"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/ubuntu/ubuntu-essentials/">Ubuntu 20.04 Essentials</a> provides in-depth information on the installation, use and administration of Ubuntu 20.04. 321<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/ubuntu/ubuntu-essentials/">Read this book>></a></td> 322</tr> 323<tr> 324<td valign="top"><img alt="Click to Read SwiftUI Essentials - iOS Edition" src="/images/f/f0/Swiftui_essentials.png" title="Click to Read SwiftUI Essentials - iOS Edition" width="127" height="160"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/swiftui/swiftui-essentials-ios-edition/">SwiftUI Essentials - iOS Edition</a> The goal of this book is to teach the skills necessary to build iOS 13 applications using SwiftUI, Xcode 11 and the Swift 5 programming language. 325<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/swiftui/swiftui-essentials-ios-edition/">Read this book>></a></td> 326</tr> 327<tr> 328<td valign="top"><img alt="Click to Read Red Hat Enterprise Linux 9 Essentials" src="/images/a/a6/Rhel_9_essentials.png" title="Click to Read Red Hat Enterprise Linux 9 Essentials" width="153" height="191"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/rhel/red-hat-enterprise-linux-essentials/">Red Hat Enterprise Linux 9 Essentials</a> - Fully updated for RHEL 9, the goal of this book is to teach the skills necessary to install, administer and deploy RHEL 9 systems. 329<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/rhel/red-hat-enterprise-linux-essentials/">Read this book>></a></td> 330</tr> 331<tr> 332<td valign="top"><img alt="Click to Read Android Studio 3.2 Development Essentials - Android 9 Edition" src="/images/6/65/Android_studio_3.2_essentials.png" title="Click to Read Android Studio 3.2 Development Essentials - Android 9 Edition" width="162" height="205"/></td><td><a href="/index.php/Android_Studio_Development_Essentials_-_Java_Edition" title="Android Studio Development Essentials - Java Edition">Android Studio 3.2 Development Essentials - Java Edition</a> Fully updated for Android Studio 3.2, Android 9 and Android Jetpack, the goal of this book is to teach the skills necessary to develop Android based applications using the Android Studio 3.2 Integrated Development Environment (IDE) and the Android 9 Software Development Kit (SDK). 333<br/><br/><a href="/index.php/Android_Studio_Development_Essentials_-_Java_Edition" title="Android Studio Development Essentials - Java Edition">Read this book>></a></td> 334</tr> 335<tr> 336<td valign="top"><img alt="Click to Read iOS 16 App Development Essentials" src="/images/c/c4/Ios_16_app_development_essentials.png" title="Click to Read iOS 16 App Development Essentials" width="150" height="190"/></td><td>The aim of <a rel="nofollow" class="external text" href="https://www.answertopia.com/book-toc/ios-16-app-development-essentials/">iOS 16 App Development Essentials</a> is to teach you the skills necessary to build your own applications for the iPhone and iPad using Xcode 14, the iOS 16 SDK and the Swift 5 programming language. Beginning with the basics, this book provides an overview of the architecture of iOS 16. Introductions to Xcode 14 and programming in Swift 5 are provided, followed by an in-depth look at the design of iOS applications and user interfaces. More advanced topics such as user interface layout, file handling, database management, graphics drawing and animation are also covered, as are touch screen handling, multitasking, in-app purchasing, iCloud storage, CloudKit, App Extensions, camera access and video playback. Other features are also covered in detail including 2-D game development using Sprite Kit, user interface animation using UIKit Dynamics, Siri integration, and drag and drop support. 337<br/>
337<br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/book-toc/ios-16-app-development-essentials/">Read this book>></a></td> 338</tr> 339<tr> 340<td valign="top"><img alt="Click to Read Kotlin / Android Studio 3.0 Development Essentials" src="/images/d/da/Kotlin_essentials_android.png" title="Click to Read Kotlin / Android Studio 3.0 Development Essentials" width="151" height="193"/></td><td><a href="/index.php/Kotlin_/_Android_Studio_Development_Essentials" title="Kotlin / Android Studio Development Essentials">Kotlin / Android Studio Development Essentials</a> Fully updated for Android Studio 3.0 and Android 8, the goal of this book is to teach the skills necessary to develop Android based applications using the Android Studio Integrated Development Environment (IDE), the Android 8 Software Development Kit (SDK) and the Kotlin programming language. 341<br/><br/><a href="/index.php/Kotlin_/_Android_Studio_Development_Essentials" title="Kotlin / Android Studio Development Essentials">Read this book>></a></td> 342</tr> 343<tr> 344<td valign="top"><img alt="Jetpack Compose Essentials" src="/images/3/37/Jetpack_compose_essentials.png" title="Jetpack Compose Essentials" width="141" height="178"/></td><td><a rel="nofollow" class="external text" href="https://www.answertopia.com/jetpack-compose/jetpack-compose-essentials/">Jetpack Compose Essentials</a> The goal of this book is to teach the skills necessary to build Android apps using Android Studio, Jetpack Compose and the Kotlin programming language. 345<br/><br/><a rel="nofollow" class="external text" href="https://www.answertopia.com/jetpack-compose/jetpack-compose-essentials/">Read this book>></a></td> 346</tr> 347<tr> 348<td valign="top"><img alt="Click to Read Firebase Essentials - Android Edition" src="/images/5/56/Firebase_essentials_se_android.png" title="Click to Read Firebase Essentials - Android Edition" width="162" height="205"/></td><td><a href="/index.php/Firebase_Essentials_-_Android_Edition" title="Firebase Essentials - Android Edition">Firebase Essentials - Android Edition</a> provides everything you need to successfully integrate Firebase cloud features into your Android apps. This book covers the key features of Android app development using Firebase including integration with Android Studio, User Authentication (including email, Twitter, Facebook and phone number sign-in), Realtime Database, Cloud Storage, Firebase Cloud Messaging (both upstream and downstream), Dynamic Links, Invites, App Indexing, Test Lab, Remote Configuration, Cloud Functions, Analytics and Performance Monitoring. The book is organized into chapter groups that focus on specific Firebase features, with each topic area consisting of a detailed overview followed by tutorial style examples that put theory into practice.<br/><br/><a href="/index.php/Firebase_Essentials_-_Android_Edition" title="Firebase Essentials - Android Edition">Read this book>></a></td> 349</tr> 350<tr> 351<td valign="top"><img alt="Click to Read Android Stuidio Development Essentials - Android 6 Edition" src="/images/6/64/Android_studio_A6_front_cover_150x190.png" title="Click to Read Android Stuidio Development Essentials - Android 6 Edition" width="162" height="205"/></td><td><a href="/index.php/Android_Studio_Development_Essentials_-_Android_6_Edition" title="Android Studio Development Essentials - Android 6 Edition">Android Studio Development Essentials - Android 6 Edition</a> is an online book designed to teach the skill necessary to develop Android apps using Android Studio and the Android 6 SDK. The goal of this book is to teach the skills necessary to develop Android based applications using the Android Studio Integrated Development Environment (IDE) and the Android 6 Software Development Kit (SDK).<br/><br/> 352<p>Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development and testing environment. An overview of Android Studio is included covering areas such as tool windows, the code editor and the Designer tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. This edition of the book also covers printing, transitions and cloud-based file storage. The concepts of material design are also covered in detail, including the use of floating action buttons, Snackbars, tabbed interfaces, card views, navigation drawers and collapsing toolbars.<br/> 353</p> 354<br/><a href="/index.php/Android_Studio_Development_Essentials_-_Android_6_Edition" title="Android Studio Development Essentials - Android 6 Edition">Read this book>></a></td> 355</tr> 356<tr> 357<td valign="top"><img alt="Click to Read watchOS 2 App Development Essentials" src="/images/5/5a/Watchos_2_app_development_essentials.png" title="Click to Read watchOS 2 App Development Essentials" width="162" height="194"/></td><td> watchOS 2 App Development Essentials is intended for readers with some existing experience of iOS development using Xcode and the Swift programming language. Beginning with the basics, this book provides an introduction to watchOS apps and the WatchKit app development architecture before covering topics such as tables, navigation, user input handling, image handling, animation, maps and menus. 358<p>More advanced topics are also covered throughout the book, including communication and data sharing between a WatchKit app and the parent iOS app, working with custom fonts and the design and implementation of custom notifications and complications. 359</p> 360<br/><br/><a href="/index.php/WatchOS_2_App_Development_Essentials" title="WatchOS 2 App Development Essentials">Read this book>></a></td> 361</tr> 362 363</tbody></table> 364<br/><div id="bodyelement" align="center"></div><h1><span class="mw-headline" id="iOS_App_Development_Books">iOS App Development Books</span></h1> 365<table cellspacing="15"> 366 367<tbody><tr> 368<td valign="top"><img alt="Click to read Objective-C 2.0" src="/images/2/2b/Objective_c_print_cover_3rd_150x120.png" title="Click to read Objective-C 2.0" width="121" height="150"/></td><td>Now fully updated for Modern Objective-C, the goal of this book is to teach the skills necessary to program in Objective-C using a style that is easy to follow, rich in examples and accessible to those who have never used Objective-C before. Topics covered include the fundamentals of Objective-C such as variables, looping and flow control. Also included are details of object oriented programming, working with files and memory and the Objective-C Foundation framework. Regardless of whether you are developing for Mac OS X or the iPhone, this book covers everything you need to know about the Objective-C language. <br/><br/><a href="/index.php/Objective-C_2.0_Essentials" title="Objective-C 2.0 Essentials">Read this book>></a><br/><br/></td> 369</tr> 370</tbody></table> 371<div align="\"center\""><!-- Ezoic - Under Third Headline - mid_content --> <div id="ezoic-pub-ad-placeholder-131"></div> <!-- End Ezoic - Under Third Headline - mid_content --></div><h1><span class="mw-headline" id="Apple_Watch_Development_Books">Apple Watch Development Books</span></h1> 372<table> 373<tbody><tr> 374<td valign="top"><img alt="Click to Read watchOS 2 App Development Essentials" src="/images/5/5a/Watchos_2_app_development_essentials.png" title="Click to Read watchOS 2 App Development Essentials" width="162" height="194"/></td><td> watchOS 2 App Development Essentials is intended for readers with some existing experience of iOS development using Xcode and the Swift programming language. Beginning with the basics, this book provides an introduction to watchOS apps and the WatchKit app development architecture before covering topics such as tables, navigation, user input handling, image handling, animation, maps and menus. 375<p>More advanced topics are also covered throughout the book, including communication and data sharing between a WatchKit app and the parent iOS app, working with custom fonts and the design and implementation of custom notifications and complications. 376</p> 377<br/><br/><a href="/index.php/WatchOS_2_App_Development_Essentials" title="WatchOS 2 App Development Essentials">Read this book>></a></td> 378</tr> 379<tr> 380<td valign="top"><img alt="Click to Read WatchKit App Development Essentials" src="/images/d/d5/Watchkit_app_development_essentials2.png" title="Click to Read WatchKit App Development Essentials" width="150" height="180"/></td><td>WatchKit App Development Essentials is intended for readers with some existing experience of iOS development using Xcode and the Swift programming language. Beginning with the basics, this book provides an introduction to WatchKit apps and the WatchKit app development architecture before covering topics such as tables, navigation, user input handling, image handling, animation, maps and menus. 381<p>More advanced topics are also covered throughout the book, including communication and data sharing between a WatchKit app and the parent iOS app, working with custom fonts and the design and implementation of custom notifications. 382</p> 383<br/><br/><a href="/index.php/WatchKit_App_Development_Essentials" title="WatchKit App Development Essentials">Read this book>></a></td> 384</tr> 385</tbody></table> 386<div align="center"><!-- Ezoic - Above Fifth Section - long_content --> <div id="ezoic-pub-ad-placeholder-132"></div> <!-- End Ezoic - Above Fifth Section - long_content --></div><h1><span class="mw-headline" id="Android_Development_Books">Android Development Books</span></h1> 387<table> 388<tbody><tr> 389<td valign="top"><img alt="Click to Read Android Stuidio Development Essentials - Android 6 Edition" src="/images/6/64/Android_studio_A6_front_cover_150x190.png" title="Click to Read Android Stuidio Development Essentials - Android 6 Edition" width="162" height="205"/></td><td><a href="/index.php/Android_Studio_Development_Essentials_-_Android_6_Edition" title="Android Studio Development Essentials - Android 6 Edition">Android Studio Development Essentials - Android 6 Edition</a> is an online book designed to teach the skill necessary to develop Android apps using Android Studio and the Android 6 SDK. The goal of this book is to teach the skills necessary to develop Android based applications using the Android Studio Integrated Development Environment (IDE) and the Android 6 Software Development Kit (SDK).<br/><br/> 390<p>Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development and testing environment. An overview of Android Studio is included covering areas such as tool windows, the code editor and the Designer tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. This edition of the book also covers printing, transitions and cloud-based file storage. The concepts of material design are also covered in detail, including the use of floating action buttons, Snackbars, tabbed interfaces, card views, navigation drawers and collapsing toolbars.<br/> 391</p> 392<br/><a href="/index.php/Android_Studio_Development_Essentials_-_Android_6_Edition" title="Android Studio Development Essentials - Android 6 Edition">Read this book>></a></td> 393</tr> 394<tr> 395<td valign="top"><img alt="Click to Read Android Studio Development Essentials" src="/images/0/0e/Android_studio_app_development_essentials.png" title="Click to Read Android Studio Development Essentials" width="129" height="162"/></td><td>The goal of <a href="/index.php/Android_Studio_Development_Essentials" title="Android Studio Development Essentials">Android Studio Development Essentials</a> is to teach the skills necessary to develop Android based applications using the Android Studio Integrated Development Environment (IDE) and the Android 4.4 Software Development Kit (SDK). 396<p>Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development and testing environment. An overview of Android Studio is included covering areas such as tool windows, the code editor and the Designer tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. This edition of the book also covers features introduced with Android 4.4 including printing, transitions and cloud-based file storage. 397</p> 398In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API, in-app billing and submitting apps to the Google Play Developer Console. Chapters also cover advanced features of Android Studio such as Gradle build configuration and the implementation of build variants to target multiple Android device types from a single project code base. Assuming you already have some Java programming experience, are ready to download Android Studio and the Android SDK, have access to a Windows, Mac or Linux system and ideas for some apps to develop, you are ready to get started.<br/><br/><a href="/index.php/Android_Studio_Development_Essentials" title="Android Studio Development Essentials">Read this book>></a></td> 399</tr> 400<tr> 401<td valign="top"><img alt="Click to Read Android 4.4 App Development Essentials" src="/images/3/3b/Android_app_development_essentials3.png" title="Click to Read Android 4.4 App Development Essentials" width="120" height="150"/></td><td>The goal of <a href="/index.php/Android_4_App_Development_Essentials" title="Android 4 App Development Essentials">Android 4.4 App Development Essentials</a> is to teach the skills necessary to develop Android based applications using the Eclipse Integrated Development Environment (IDE) and the Android 4.4 Software Development Kit (SDK). Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development and testing environment. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API and submitting apps to the Google Play Developer Console.<br/><br/><a href="/index.php/Android_4_App_Development_Essentials" title="Android 4 App Development Essentials">Read this book>></a></td> 402</tr> 403<tr> 404<td valign="top"><img alt="Click to Read Kindle Fire Development Essentials" src="/images/a/a6/Kindle_Fire_Essentials2.png" title="Click to Read Kindle Fire Development Essentials" width="120" height="150"/></td><td>The goal of Kindle Fire App Development Essentials is to teach the skills necessary to develop Android based applications for the Kindle Fire family of devices. Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development environment. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. 405<br/><br/><a href="/index.php/Kindl
405e_Fire_Development_Essentials" title="Kindle Fire Development Essentials">Read this book>></a></td> 406</tr> 407</tbody></table> 408<div align="center"><!-- Ezoic - Above Sixth Section - longer_content --> <div id="ezoic-pub-ad-placeholder-139"></div> <!-- End Ezoic - Above Sixth Section - long_content --></div><h1><span class="mw-headline" id="Virtualization_Books">Virtualization Books</span></h1> 409<table cellspacing="15"> 410<tbody><tr> 411<td valign="top"><img alt="VMM 2008 Essentials cover.png" src="/images/f/f9/VMM_2008_Essentials_cover.png" width="100" height="150"/></td><td>The <a href="https://www.virtuatopia.com/index.php/VMM_2008_Essentials" class="extiw" title="virtuatopia:VMM 2008 Essentials">VMM 2008 Essentials</a> on-line book covers the installation, deployment and management of virtualized infrastructures using Microsoft System Center Virtual Machine Manager 2008 (VMM 2008), including an overview of the VMM 2008 architecture, the VMM Administrator Console, creation of virtual machine templates, deploying Self-Service Portals, configuring VMM Libraries and performing both P2V and V2V conversions. <br/><br/><a href="https://www.virtuatopia.com/index.php/VMM_2008_Essentials" class="extiw" title="virtuatopia:VMM 2008 Essentials">Read this book>></a><br/><br/></td> 412</tr> 413<tr> 414<td valign="top"><img alt="Hyper-V Essentials cover.png" src="/images/0/0f/Hyper-V_Essentials_cover.png" width="100" height="150"/></td><td><a href="https://www.virtuatopia.com/index.php/Hyper-V_Essentials" class="extiw" title="virtuatopia:Hyper-V Essentials">Hyper-V Essentials</a> covers the installation, deployment and management of virtualized infrastructures using Microsoft Hyper-V technology. Included in this publication are chapters on creating and configuring virtual machines, Hyper-V architecture, virtual network configuration, Hyper-V Integration Services, remote access, the Hyper-V Manager and much more. <br/><br/><a href="https://www.virtuatopia.com/index.php/Hyper-V_Essentials" class="extiw" title="virtuatopia:Hyper-V Essentials">Read this book>></a><br/><br/></td> 415</tr> 416<tr> 417<td valign="top"><img alt="VMware Server 2 Essentials cover.jpg" src="/images/6/6f/VMware_Server_2_Essentials_cover.jpg" width="100" height="150"/></td><td><a href="https://www.virtuatopia.com/index.php/VMware_Server_2.0_Essentials" class="extiw" title="virtuatopia:VMware Server 2.0 Essentials">VMware Server 2.0 Essentials</a> is an online book intended as both a learning resource and reference guide designed to be of use to new and experienced VMware Server users alike. Comprising 20 chapters of detailed information, the book covers a wide range of topics relating to this entry level virtualization solution. <br/><br/><a href="https://www.virtuatopia.com/index.php/VMware_Server_2.0_Essentials" class="extiw" title="virtuatopia:VMware Server 2.0 Essentials">Read this book>></a><br/><br/></td> 418</tr> 419<tr> 420<td valign="top"><img alt="Click to Read Xen Essentials" src="/images/f/f5/Xen_Essentials_cover.jpg" title="Click to Read Xen Essentials" width="100" height="150"/></td><td><a href="https://www.virtuatopia.com/index.php/Xen_Virtualization_Essentials" class="extiw" title="virtuatopia:Xen Virtualization Essentials">Xen Virtualization Essentials</a> is an online book which takes a practical approach to learning about and deploying Xen based virtualization solutions. The book covers a wide range of Xen virtualization related topics including the creation and configuration of both paravirtualized and HVM guests, and the ongoing configuration and maintenance of the virtualized environment. <br/><br/><a href="https://www.virtuatopia.com/index.php/Xen_Virtualization_Essentials" class="extiw" title="virtuatopia:Xen Virtualization Essentials">Read this book>></a><br/><br/></td> 421</tr> 422</tbody></table> 423<div align="center"><!-- Ezoic - Above Seventh Section - longest_content --> <div id="ezoic-pub-ad-placeholder-157"></div> <!-- End Ezoic - Above Seventh Section - longest_content --></div><h1><span class="mw-headline" id="Windows_Books">Windows Books</span></h1> 424<table cellspacing="15"> 425<tbody><tr> 426<td valign="top"><img alt="Click to read Windows Server 2008 R2 Essentials" src="/images/7/7b/Windows_server_2008_r2_essentials_cover.png" title="Click to read Windows Server 2008 R2 Essentials" width="100" height="150"/></td><td>Consisting of over 30 chapters of detailed, in depth and practical information, <a href="/index.php/Windows_Server_2008_Essentials" title="Windows Server 2008 Essentials">Windows Server 2008 Essentials</a> is intended to cover all aspects of installing, configuring and administering Windows Server 2008 systems. Whether you are new to Windows Server or upgrading from Windows Server 2003, this on-line book is designed to help the reader traverse the learning curve as rapidly as possible. <br/><br/><a href="/index.php/Windows_Server_2008_Essentials" title="Windows Server 2008 Essentials">Read this book>></a><br/><br/></td> 427</tr> 428<tr> 429<td valign="top"><img alt="Click to read PowerShell Essentials" src="/images/4/4d/PowerShell_1.0_Essentials_cover.png" title="Click to read PowerShell Essentials" width="100" height="150"/></td><td><a href="/index.php/Windows_PowerShell_1.0_Essentials" title="Windows PowerShell 1.0 Essentials">Windows PowerShell 1.0 Essentials</a> is an online book intended to cover everything necessary to rapidly gain proficiency using the Windows PowerShell scripting and Shell environment. The book consists of 25 chapters of detailed information on this powerful new tool for Windows system administrators. <br/><br/><a href="/index.php/Windows_PowerShell_1.0_Essentials" title="Windows PowerShell 1.0 Essentials">Read this book>></a><br/><br/></td> 430</tr> 431</tbody></table> 432<h1><span class="mw-headline" id="Linux_Books">Linux Books</span></h1> 433<table cellspacing="15"> 434<tbody><tr> 435<td valign="top"><img alt="Click to Read RHEL 6 Essentials" src="/images/7/7f/RHEL6_Essentials.jpg" title="Click to Read RHEL 6 Essentials" width="100" height="150"/></td><td>RHEL 6 Essentials is intended to provide detailed information on the use and administration of the Red Hat Enterprise Linux 6 distribution. For beginners, the book covers the basics of configuring the desktop environment, resolving screen resolution issues and configuring email and web servers. Installation to
435pics such as network installation and dual booting with Microsoft Windows are covered together with all important security topics such as configuring a firewall, use of the shell environment and user and group administration. For the experienced user, topics such as remote access, logical volume management (LVM), disk partitioning, swap management, KVM virtualization, Secure Shell (SSH) and file sharing using both Samba and NFS are covered in detail to provide a thorough overview of this enterprise class operating system. <a href="/index.php/Red_Hat_Enterprise_Linux_6_Essentials" title="Red Hat Enterprise Linux 6 Essentials">Read this book>></a><br/><br/> 436</td></tr> 437<tr> 438<td valign="top"><img alt="Click to Read CentOS 6 Essentials" src="/images/b/bc/Centos6_essentials.png" title="Click to Read CentOS 6 Essentials" width="100" height="150"/></td><td>CentOS 6 Essentials is intended to provide detailed information on the use and administration of the CentOS 6 distribution. For beginners, the book covers the basics of configuring the desktop environment, resolving screen resolution issues and configuring email and web servers. Installation topics such as network installation and dual booting with Microsoft Windows are covered together with all important security topics such as configuring a firewall, use of the shell environment and user and group administration. For the experienced user, topics such as remote access, logical volume management (LVM), disk partitioning, swap management, KVM virtualization, Secure Shell (SSH) and file sharing using both Samba and NFS are covered in detail to provide a thorough overview of this enterprise class operating system. 439<br/><br/><a href="/index.php/CentOS_6_Essentials" title="CentOS 6 Essentials">Read this book>></a></td> 440</tr> 441<tr> 442<td valign="top"><img alt="Click to Read CentOS Essentials" src="/images/9/93/CentOS_essentials.png" title="Click to Read CentOS Essentials" width="100" height="150"/></td><td>CentOS Essentials is a book designed to provide detailed information on the use and administration of the CentOS 5.x Linux distribution. For beginners, the book covers the basics of configuring the desktop environment, resolving screen resolution issues and configuring the email client to send and receive email messages. Installation topics such as dual booting with Microsoft Windows are covered together with all important security topics such as configuring a firewall. For the experienced user, topics such as configuring email and web servers, Xen and KVM virtualization, Secure Shell (SSH), remote desktop access and file sharing are covered in detail to provide a thorough overview of this enterprise class operating system. <a href="/index.php/CentOS_Essentials" title="CentOS Essentials">Read this book>></a><br/><br/> 443</td> 444</tr> 445<tr> 446<td valign="top"><img alt="Click to Read RHEL 5 Essentials" src="/images/7/77/RHEL5_essentials.png" title="Click to Read RHEL 5 Essentials" width="100" height="150"/></td><td>RHEL 5 Essentials is designed to provide detailed information on the use and administration of the Red Hat Enterprise Linux 5 distribution. For beginners, the book covers the basics of configuring the desktop environment, resolving screen resolution issues and configuring email and web servers. Installation topics such as network installation and dual booting with Microsoft Windows are covered together with all important security topics such as configuring a firewall and user and group administration. For the experienced user, topics such as remote access, logical volume management (LVM), disk partitioning, swap management, Xen and KVM virtualization, Secure Shell (SSH) and file sharing using both Samba and NFS are covered in detail to provide a thorough overview of this enterprise class operating system. <a href="/index.php/RHEL_5_Essentials" title="RHEL 5 Essentials">Read this book>></a><br/><br/> 447</td> 448</tr> 449<tr> 450<td valign="top"><img alt="Click to read Ubuntu 11.04 Essentials" src="/images/8/83/Ubuntu_11_essentials2.png" title="Click to read Ubuntu 11.04 Essentials" width="100" height="150"/></td><td>The purpose of this book is to provide an overview of the essential knowledge required to use and maintain an Ubuntu 11.04 system. Designed both as a learning tool and a reference guide, it is intended that Ubuntu 11.04 Essentials provide the reader with a sound basis of knowledge for installing, using and maintaining an Ubuntu 11.04 system. <br/><br/><a href="/index.php/Ubuntu_11.04_Essentials" title="Ubuntu 11.04 Essentials">Read this book>></a></td> 451</tr> 452<tr> 453<td valign="top"><img alt="Click to read Ubuntu 10.10 Essentials" src="/images/4/48/Ubuntu10cover.png" title="Click to read Ubuntu 10.10 Essentials" width="100" height="150"/></td><td>The purpose of this book is to provide an overview of the essential knowledge required to use and maintain an Ubuntu system. From the basics of installation, configuring the desktop and implementing wireless networking through to tasks such as configuring firewalls, setting up a web server, adding disk drives and swap space, configuring KVM based virtualization and providing remote desktop access via an SSH tunnel, Ubuntu Essentials takes a step by step approach to installing, using and administering Ubuntu.<a href="/index.php/Ubuntu_10.x_Essentials" title="Ubuntu 10.x Essentials">Read this book>></a><br/><br/></td> 454</tr> 455<tr> 456<td valign="top"><img alt="Click to Read Ubuntu Linux Essentials" src="/images/8/8d/Ubuntu_essentials_cover.jpg" title="Click to Read Ubuntu Linux Essentials" width="100" height="150"/></td><td><a href="/index.php/Ubuntu_Linux_Essentials" title="Ubuntu Linux Essentials">Ubuntu Linux Essentials</a> provides the knowledge required to use and maintain an Ubuntu Linux system. From the basics of installation, configuring the desktop and implementing wireless networking through to tasks such as configuring firewalls, setting up a web server and providing remote desktop access via an SSH tunnel, Ubuntu Linux Essentials takes a step by step approach to installing, using and administering Ubuntu Linux. <br/><br/><a href="/index.php/Ubuntu_Linux_Essentials" title="Ubuntu Linux Essentials">Read This Book>></a><br/><br/></td> 457</tr> 458 459<tr> 460<td valign="top"><img alt="Click to read Ubuntu Desktop Essentials" src="/images/9/9d/Ubuntu_desktop_essentials_cover.png" title="Click to read Ubuntu Desktop Essentials" width="96" height="143"/></td><td> 461<a href="/index.php/Ubuntu_Desktop_Essentials" title="Ubuntu Desktop Essentials">Ubuntu Desktop Essentials</a> is designed to cover everything that a user needs to know to use and customize the Ubuntu GNOME de
461sktop. In terms of usability, guided tour provides a detailed overview of the how the desktop works. The book then provides step by step tutorials covering every aspect of customizing the desktop, from changing the background and desktop themes to activating and configuring the new Compiz Fusion desktop visual effects. Chapters are also dedicated to topics such as changing fonts, setting up keyboard shortcuts, enhancing the desktop with desklets, configuring and saving sessions and customizing the file manager. <br/><br/><a href="/index.php/Ubuntu_Desktop_Essentials" title="Ubuntu Desktop Essentials">Read this book>></a><br/><br/></td> 462</tr> 463 464<tr> 465<td valign="top"><img alt="Click to read Fedora Desktop Essentials" src="/images/8/8c/Fedora_dtp_essentials_cover.jpg" title="Click to read Fedora Desktop Essentials" width="100" height="150"/></td><td>The objective of the book is to provide the reader with the necessary information to use, customize and configure the GNOME desktop on a Fedora system. This book is intended as a companion to the <a href="/index.php/Fedora_Linux_Essentials" title="Fedora Linux Essentials">Fedora Linux Essentials</a> book which covers the use and maintenance of the underlying Fedora operating system. The book is designed to provide everything a user needs to know to customize, configure and use the GNOME desktop on a Fedora Linux system. 466<br/><br/><a href="/index.php/Fedora_Desktop_Essentials" title="Fedora Desktop Essentials">Read this book>></a><br/><br/></td> 467</tr> 468 469<tr> 470<td valign="top"><img alt="Click to Read Fedora Linux Essentials" src="/images/8/8f/Fedora_essentials_cover2.jpg" title="Click to Read Fedora Linux Essentials" width="100" height="150"/></td><td><a href="/index.php/Fedora_Linux_Essentials" title="Fedora Linux Essentials">Fedora Linux Essentials</a> provides detailed information on the use and administration of Fedora Linux. The book covers the basics of configuring the desktop environment, resolving screen resolution issues and configuring the email client to send and receive email messages via web based services such as GMail. Installation topics such as dual booting with Microsoft Windows and configuring wireless networking are covered together with all important security topics such as configuring a firewall. 471<p>For the experienced user, configuring email and web servers, Xen virtualization, Secure Shell (SSH), remote desktop access and file sharing are described in detail. <br/><br/><a href="/index.php/Fedora_Linux_Essentials" title="Fedora Linux Essentials">Read This Book>></a><br/><br/> 472</p> 473</td> 474</tr> 475 476<tr> 477<td valign="top"><img alt="Click to read openSUSE Desktop Essentials" src="/images/1/18/Opensuse_desktop_essentials_cover.jpg" title="Click to read openSUSE Desktop Essentials" width="100" height="150"/></td><td> 478This purpose of this book is to cover all aspects of the use and configuration of the openSUSE GNOME desktop environment. Topics covered include changing the openSUSE GNOME Desktop background, installing and customizing themes, configuring fonts, configuring workspaces, remote access to the openSUSE desktop and much more. On completion of this book, it is hoped that the reader will be confidently using and configuring the openSUSE implementation of the GNOME desktop. <br/><br/><a href="/index.php/OpenSUSE_Desktop_Essentials" title="OpenSUSE Desktop Essentials">Read this book>></a><br/><br/></td> 479</tr> 480</tbody></table> 481<h1><span class="mw-headline" id="Programming.2FScripting_Books">Programming/Scripting Books</span></h1> 482<table cellspacing="15"> 483<tbody><tr> 484<td valign="top"><img alt="Click to read Objective-C 2.0" src="/images/2/2b/Objective_c_print_cover_3rd_150x120.png" title="Click to read Objective-C 2.0" width="121" height="150"/></td><td>Now fully updated for Modern Objective-C, the goal of this book is to teach the skills necessary to program in Objective-C using a style that is easy to follow, rich in examples and accessible to those who have never used Objective-C before. Topics covered include the fundamentals of Objective-C such as variables, looping and flow control. Also included are details of object oriented programming, working with files and memory and the Objective-C Foundation framework. Regardless of whether you are developing for Mac OS X or the iPhone, this book covers everything you need to know about the Objective-C language. <br/><br/><a href="/index.php/Objective-C_2.0_Essentials" title="Objective-C 2.0 Essentials">Read this book>></a><br/><br/></td> 485</tr> 486<tr> 487<td valign="top"><img alt="Click to Read C# Essentials" src="/images/7/7f/C_Sharp_Essentials_cover.jpg" title="Click to Read C# Essentials" width="100" height="150"/></td><td><a href="/index.php/C_Sharp_Essentials" title="C Sharp Essentials">C# Essentials</a> The C# Essentials online book contains 27 chapters of detailed information intended to provide everything necessary to gain proficiency as a C# programmer. The book begins with a detailed overview of the C# development and runtime environment with overviews of the Common Language Infrastru
487cture (CLI), Common Intermediate Language (CIL) and Virtual Execution System (VES) followed by simple steps to creating both Windows and console based C# applications. A number of chapters are dedicated to the fundamentals of the C# programming language, including topics such as variables, constants, operators, flow control, looping and object oriented programming (including topics such as inheritance and abstract classes). Subsequent chapters focus on issues such as manipulating and formating strings and working with arrays and collection classes. Once the basics of the C# language have been covered the final stages of the book focus on the design of GUI based applications using C# in conjunction with Visual Studio. <br/><br/><a href="/index.php/C_Sharp_Essentials" title="C Sharp Essentials">Read this book>></a><br/><br/></td> 488</tr> 489 490<tr> 491<td valign="top"><img alt="Click to read Ruby Essentials" src="/images/7/7e/Ruby_essentials_cover.jpg" title="Click to read Ruby Essentials" width="100" height="150"/></td><td>Ruby Essentials is a free on-line book designed to provide a concise and easy to follow guide to learning Ruby. Everything from installing Ruby and the basics of the language through to topics such as arrays, file handling and object-oriented programming are covered, all combined with easy to understand code examples which serve to bridge the gap between theory and practice. Ruby Essentials is intended to be of equal use both to those experienced in other programming languages and to novices who have chosen Ruby as their "first programming language". <br/><br/><a href="/index.php/Ruby_Essentials" title="Ruby Essentials">Read this book>></a><br/><br/></td> 492</tr> 493 494<tr> 495<td valign="top"><img alt="Click to Read Visual Basic Essentials" src="/images/e/ec/Visual_Basic_Essentials_cover.jpg" title="Click to Read Visual Basic Essentials" width="100" height="150"/></td><td><a href="/index.php/Visual_Basic_Essentials" title="Visual Basic Essentials">Visual Basic Essentials</a> is intended to provide everything the aspiring Visual Basic programmer needs to get up to speed with this language. Chapters include the installation of Visual Studio, Variable and Constant types, looping and flow control, Visual Basic string manipulation, form designing, database access, working with arrays, graphics drawing and much, much more. <br/><br/><a href="/index.php/Visual_Basic_Essentials" title="Visual Basic Essentials">Read this book>></a><br/><br/> 496</td> 497</tr> 498 499<tr> 500<td valign="top"><img alt="Click to Read JavaScript Essentials" src="/images/2/28/Javascript_essentials_cover.jpg" title="Click to Read JavaScript Essentials" width="100" height="150"/></td><td><a href="/index.php/JavaScript_Essentials" title="JavaScript Essentials">JavaScript Essentials</a> provides detailed information enabling web site designers to utilize this powerful scripting language quickly and effectively to build interactive, dynamic web sites. This book provides detailed and in-depth knowledge of all aspects of JavaScript from language basics through to advanced topics. 501<p>This book is designed to provide a detailed and comprehensive, yet easy to follow, guide to developing powerful, dynamic web pages using JavaScript. It could be said that the object of JavaScript Essentials is to provide you with everything you need to use JavaScript, and nothing that you don't. <br/><br/><a href="/index.php/JavaScript_Essentials" title="JavaScript Essentials">Read This Book>></a><br/><br/> 502</p> 503</td> 504</tr> 505 506<tr> 507<td valign="top"><img alt="Click to Read PHP Essentials" src="/images/f/f5/PHP_Essentials_cover.png" title="Click to Read PHP Essentials" width="100" height="150"/></td><td><a href="/index.php/PHP_Essentials" title="PHP Essentials">PHP Essentials</a> is intended to cover all aspects of PHP. It begins by covering the history of PHP before providing a high level overview of how PHP works and why it is so useful to web developers. It then moves on to cover each area of PHP in detail, from the basics of the scripting language through to object oriented programming, file and filesystem handling and MySQL and SQLite database access. In addition, chapters are also provided covering the creation and handling of HTML based forms and maintaining state using cookies and PHP sessions. All topics are accompanied by extensive real world examples intended to bring theory to life. <br/><br/><a href="/index.php/PHP_Essentials" title="PHP Essentials">Read This Book>></a><br/><br/></td> 508</tr> 509</tbody></table> 510<h1><span class="mw-headline" id="Database_Books">Database Books</span></h1> 511<table cellspacing="15"> 512<tbody><tr> 513<td valign="top"><img alt="Click to Read MySQL Essentials" src="/images/d/dd/MySQL_Essentials_cover.png" title="Click to Read MySQL Essentials" width="100" height="150"/></td><td valign="top">It is not an exaggeration to say that MySQL has brought the power of a fully featured, scalable relation database management system into the reach of anyone with a computer and the desire to build a data driven application or web site. With this goal in mind, MySQL Essentials is designed to provide a step by step path to proficiency with MySQL. 514<p>Beginning with the basics of relational databases and the installation of MySQL, the book goes on to cover everything needed to successfully build, maintain and secure MySQL based databases. <br/><br/><a href="/index.php/MySQL_Essentials" title="MySQL Essentials">Read this book>></a><br/><br/> 515</p> 516</td> 517</tr> 518</tbody></table> 519<h1><span class="mw-headline" id="IT_Security_Books">IT Security Books</span></h1> 520<table cellspacing="15"> 521<tbody><tr> 522<td valign="top"><img alt="Click to Read Security+ Essentials" src="/images/c/cd/Security%2B_essentials_cover.png" title="Click to Read Security+ Essentials" width="100" height="150"/></td><td><a href="/index.php/Security%2B_Essentials" title="Security+ Essentials">Security+ Essentials</a> is an online book designed for both those studying for the CompTIA Security+ exam and for those interested in learning key issues involves in designing and implementing secure IT environments. Security+ Essentials is largely a platform agnostic book and as such many of the concepts described apply equally to a range of popular operating systems including Windows, Linux, MacOS X and UNIX. On completion of this book it is intended that the reader will have a clear understanding of both the threats faced by IT infrastru
522ctures together with a basic understanding of the steps involved in planning and implementing a comprehensive multi-layered IT security strategy. 523<br/><br/><a href="/index.php/Security%2B_Essentials" title="Security+ Essentials">Read this book>></a></td> 524</tr> 525</tbody></table> 526<h1><span class="mw-headline" id="Coming_Soon">Coming Soon</span></h1> 527<table cellspacing="15"> 528<tbody><tr> 529<td><a href="/index.php/Red_Hat_Enterprise_Linux_Essentials" title="Red Hat Enterprise Linux Essentials">Red Hat Enterprise Linux 8 Essentials</a> is currently under development. 530<br/><br/><a href="/index.php/Red_Hat_Enterprise_Linux_Essentials" title="Red Hat Enterprise Linux Essentials">Track our progress>></a></td> 531</tr> 532<tr> 533<td><a href="/index.php/Android_Studio_2_Development_Essentials" title="Android Studio 2 Development Essentials">Android Studio 2 Development Essentials</a> is currently under development. 534<br/><br/><a href="/index.php/Android_Studio_2_Development_Essentials" title="Android Studio 2 Development Essentials">Track our progress>></a></td> 535</tr> 536<tr> 537<td><a href="/index.php/Android_Studio_Development_Essentials_-_Android_7_Edition" title="Android Studio Development Essentials - Android 7 Edition">Android Studio Development Essentials - Android 7 Edition</a> is currently under development. 538<br/><br/><a href="/index.php/Android_Studio_Development_Essentials_-_Android_7_Edition" title="Android Studio Development Essentials - Android 7 Edition">Track our progress>></a></td> 539</tr> 540</tbody></table> 541<p><br/> 542</p><div align="center"> 543<!-- Ezoic - Bottom - bottom_of_page --> 544<div id="ezoic-pub-ad-placeholder-136"></div> 545<!-- End Ezoic - Bottom - bottom_of_page -->
546<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
546 547<!-- Techotopia Matched Content --> 548<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7393409044112403" data-ad-slot="3837024310" data-ad-format="autorelaxed"></ins>
549<script> 550(adsbygoogle = window.adsbygoogle || []).push({}); 551</script>
551 552</div> 553<div style="width:728px; margin:0 auto;"> 554<!-- Techotopia Bottom Banner goes here --> 555<iframe id="bottombanner" width="728" height="90" frameborder="0" marginheight="0" marginwidth="0" src="/TechotopiaFiles/contextbottom.html" scrolling="no"></iframe> 556</div> 557 558 559<br/> 560<p></p> 561<!-- 562NewPP limit report 563Cached time: 20260924101841 564Cache expiry: 0 565Dynamic content: true 566CPU time usage: 0.055 seconds 567Real time usage: 0.062 seconds 568Preprocessor visited node count: 106/1000000 569Preprocessor generated node count: 184/1000000 570Postâexpand include size: 0/2097152 bytes 571Template argument size: 0/2097152 bytes 572Highest expansion depth: 2/40 573Expensive parser function count: 0/100 574--> 575 576<!-- 577Transclusion expansion time report (%,ms,calls,template) 578100.00% 0.000 1 - -total 579--> 580</div> <div class="printfooter"> 581 Retrieved from "<a dir="ltr" href="https://www.techotopia.com/index.php?title=Main_Page&oldid=34724">https://www.techotopia.com/index.php?title=Main_Page&oldid=34724</a>" </div> 582 <div id="catlinks" class="catlinks catlinks-allhidden"></div> <div class="visualClear"></div> 583 <div style="width:728px; margin:0 auto;"> 584<!-- Techotopia Bottom Banner goes here --> 585<div align="center"> 586<!-- Ezoic - BottomOfPage - bottom_of_page --> 587</div> 588 </div> 589 590 </div> 591 </div> 592 <div id="mw-navigation"> 593 <h2>Navigation menu</h2> 594 595 <div id="mw-head"> 596 <div id="p-personal" role="navigation" class=" emptyPortlet" aria-labelledby="p-personal-label"> 597 <h3 id="p-personal-label">Personal tools</h3> 598 <ul> 599 </ul> 600 </div> 601 <div id="left-navigation"> 602 <div id="p-namespaces" role="navigation" class="vectorTabs" aria-labelledby="p-namespaces-label"> 603 <h3 id="p-namespaces-label">Namespaces</h3> 604 <ul> 605 <li id="ca-nstab-main" class="selected"><span><a href="/index.php/Main_Page" title="View the content page [c]" accesskey="c">Main page</a></span></li> 606 <li id="ca-talk" class="new"><span><a href="/index.php?title=Talk:Main_Page&action=edit&redlink=1" title="Discussion about the content page [t]" accesskey="t" rel="discussion">Discussion</a></span></li> 607 </ul> 608 </div> 609 <div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label"> 610 <h3 id="p-variants-label"> 611 <span>Variants</span><a href="#"></a> 612 </h3> 613 614 <div class="menu"> 615 <ul> 616 </ul> 617 </div> 618 </div> 619 </div> 620 <div id="right-navigation"> 621 <div id="p-views" role="navigation" class="vectorTabs" aria-labelledby="p-views-label"> 622 <h3 id="p-views-label">Views</h3> 623 <ul> 624 <li id="ca-view" class="selected"><span><a href="/index.php/Main_Page">Read</a></span></li> 625 <li id="ca-viewsource"><span><a href="/index.php?title=Main_Page&action=edit" title="This page is protected. 626You can view its source [e]" accesskey="e">View source</a></span></li> 627 <li id="ca-history" class="collapsible"><span><a href="/index.php?title=Main_Page&action=history" title="Past revisions of this page [h]" accesskey="h">View history</a></span></li> 628 </ul> 629 </div> 630 <div id="p-cactions" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-cactions-label"> 631 <h3 id="p-cactions-label"><span>More</span><a href="#"></a></h3> 632 633 <div class="menu"> 634 <ul> 635 </ul> 636 </div> 637 </div> 638 <div id="p-search" role="search"> 639 <h3> 640 <label for="searchInput">Search</label> 641 </h3> 642 643<form action="https://www.techotopia.com/SearchResults.html" id="cse-search-box"> 644 <div> 645 <input type="hidden" name="cx" value="partner-pub-7393409044112403:ik9yl7-82ri"/> 646 <input type="hidden" name="cof" value="FORID:10"/> 647 <input type="hidden" name="ie" value="ISO-8859-1"/> 648 <input type="text" name="q" size="16"/> 649 <input type="submit" name="sa" value="Search"/> 650 </div> 651</form> 652
653<script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script>
653 654 655 </div> 656 </div> 657 </div> 658 <div id="mw-panel"> 659 <div id="p-logo" role="banner"><a class="mw-wiki-logo" href="/index.php/Main_Page" title="Visit the main page"></a></div> 660 <div class="portal" role="navigation" id="p-Navigation" aria-labelledby="p-Navigation-label"> 661 <h3 id="p-Navigation-label">Navigation</h3> 662 663 <div class="body"> 664 <ul> 665 <li id="n-Home"><a href="/index.php/Main_Page">Home</a></li><li id="n-Android"><a href="/index.php/Free_Android_Development_eBooks">Android</a></li><li id="n-iOS-.2F-iPhone-.2F-iPad"><a href="/index.php/IOS_iPhone_iPad_eBooks">iOS / iPhone / iPad</a></li><li id="n-Objective-C"><a href="/index.php/Objective-C_2.0_Essentials">Objective-C</a></li><li id="n-PowerShell"><a href="/index.php/Windows_PowerShell_1.0_Essentials">PowerShell</a></li><li id="n-Hyper-V"><a href="https://www.virtuatopia.com/index.php/Hyper-V_Essentials">Hyper-V</a></li><li id="n-VMM-2008"><a href="https://www.virtuatopia.com/index.php/VMM_2008_Essentials">VMM 2008</a></li><li id="n-VMware-Server"><a href="https://www.virtuatopia.com/index.php/VMware_Server_2.0_Essentials">VMware Server</a></li><li id="n-Xen-Virtualization"><a href="https://www.virtuatopia.com/index.php/Xen_Virtualization_Essentials">Xen Virtualization</a></li><li id="n-Windows-Server-2008"><a href="/index.php/Windows_Server_2008_Essentials">Windows Server 2008</a></li><li id="n-Security.2B"><a href="/index.php/Security%2B_Essentials">Security+</a></li><li id="n-Red-Hat-Linux"><a href="/index.php/Red_Hat_Enterprise_Linux_eBooks">Red Hat Linux</a></li><li id="n-Linux-eBooks"><a href="/index.php/Linux_eBooks">Linux eBooks</a></li><li id="n-Ubuntu-Linux"><a href="/index.php/Ubuntu_Linux_eBooks">Ubuntu Linux</a></li><li id="n-Fedora-Linux"><a href="/index.php/Fedora_Linux_Essentials">Fedora Linux</a></li><li id="n-Fedora-Desktop"><a href="/index.php/Fedora_Desktop_Essentials">Fedora Desktop</a></li><li id="n-OpenSUSE-Desktop"><a href="/index.php/OpenSUSE_Desktop_Essentials">OpenSUSE Desktop</a></li><li id="n-C.23"><a href="/index.php/C_Sharp_Essentials">C#</a></li><li id="n-Visual-Basic"><a href="/index.php/Visual_Basic_Essentials">Visual Basic</a></li><li id="n-MySQL"><a href="/index.php/MySQL_Essentials">MySQL</a></li><li id="n-PHP"><a href="/index.php/PHP_Essentials">PHP</a></li><li id="n-JavaScript"><a href="/index.php/JavaScript_Essentials">JavaScript</a></li><li id="n-Ruby"><a href="/index.php/Ruby_Essentials">Ruby</a></li><li id="n-Ad-Blocking-Survival"><a href="/index.php/Ad_Blocking_Survival">Ad Blocking Survival</a></li><li id="n-Windows"><a href="/index.php/Category:Windows">Windows</a></li><li id="n-Networking"><a href="/index.php/Category:Networking">Networking</a></li><li id="n-Web-Development"><a href="/index.php/Category:Web_Development">Web Development</a></li><li id="n-Feedback"><a href="/index.php/Techotopia_Feedback">Feedback</a></li><li id="n-Answertopia.com"><a href="https://www.answertopia.com" rel="nofollow">Answertopia.com</a></li><li id="n-Linuxtopia.org"><a href="https://www.linuxtopia.org" rel="nofollow">Linuxtopia.org</a></li><li id="n-Virtuatopia.com"><a href="https://www.virtuatopia.com" rel="nofollow">Virtuatopia.com</a></li><li id="n-eBook-Store"><a href="https://www.payloadbooks.com" rel="nofollow">eBook Store</a></li> </ul> 666 </div> 667 </div> 668 <br/> 669<!-- Ezoic - SidebarLeftOne - sidebar --> 670<!-- Techotopia Book Link goes here --> 671<a href="https://www.payloadbooks.com/product/android-studio-hedgehog-essentials-kotlin-edition/"><img src="/c/Kotlin_Wide_Sky_Hedge.png"/></a><br/><br/> 672 <div id="coverstyle" style="padding-top: 20px"> 673 <a class="coverstyle" href="https://www.payloadbooks.com/product/ios-17-app-development-essentials-ebook/"><img id="coverthumb" width="130" src="/cover_images/ios_17_front_cover_150x190.png"/></a><br/><br/> 674 <a id="booktitle" href="https://www.payloadbooks.com/product/ios-17-app-development-essentials-ebook/">iOS 17 App<br/>Development<br/>Essentials<br/>eBook</a><br/><br/><div id="bookprice">$32.99</div><br/> 675 <a href="https://www.payloadbooks.com/product/ios-17-app-development-essentials-ebook/"><img src="/c/NewBuyeBook.png" style="border:5px solid #ffffff;" alt="Buy eBook"/></a></div> 676 <div id="bookwide" style="padding-top: 20px" width:160px;="" height:="" 600px;=""></div> 677 678
679 <!-- Techotopia Sky 1 goes here --> 680 <div style="height:600px;width:160px;"> 681 <!-- Ezoic - LeftNavigationBar - sidebar --> 682 <div id="ezoic-pub-ad-placeholder-137"></div> 683 <!-- End Ezoic - LeftNavigationBar - sidebar --> 684 </div> 685 686 <!-- Techotopia Sky 2 goes here --> 687 <div style="height:600px;width:160px;"> 688 <!-- Ezoic - Sidebar Middle Wrapper - sidebar_middle --> 689 <div id="ezoic-pub-ad-placeholder-155"> 690 </div> 691 <!-- End Ezoic - Sidebar Middle Wrapper - sidebar_middle --> 692 </div> 693 694 <!-- Techotopia Sky 3 goes here --> 695 <div style="height:600px;width:160px;"> 696 <!-- Ezoic - Sidebar Bottom Wrapper - sidebar_bottom --> 697 <div id="ezoic-pub-ad-placeholder-156"> 698 </div> 699 <!-- End Ezoic - Sidebar Bottom Wrapper - sidebar_bottom --> 700 </div> 701 702<div style="height:600px;width:160px;"> 703 <!-- Ezoic - BottomSidebar - bottom_of_page --> 704 <div id="ezoic-pub-ad-placeholder-138"></div> 705 <!-- End Ezoic - BottomSidebar - bottom_of_page --> 706</div> 707 </div> 708 </div> 709 <div id="footer" role="contentinfo"> 710 <ul id="footer-info"> 711 <li id="footer-info-lastmod"> This page was last modified on 29 June 2023, at 18:50.</li> 712 <li id="footer-info-copyright">Copyright 2023 Payload Media, Inc. / Neil Smyth. All Rights Reserved.</li> 713 </ul> 714 <ul id="footer-places"> 715 <li id="footer-places-privacy"><a href="/index.php/Techotopia:Privacy_policy" title="Techotopia:Privacy policy">Privacy policy</a></li> 716 <li id="footer-places-about"><a href="/index.php/Techotopia:About" title="Techotopia:About">About Techotopia</a></li> 717 <li id="footer-places-disclaimer"><a href="/index.php/Techotopia:General_disclaimer" title="Techotopia:General disclaimer">Disclaimers</a></li> 718 <li id="footer-places-mobileview"><a href="https://www.techotopia.com/index.php?title=Main_Page&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> 719 </ul> 720 <ul id="footer-icons" class="noprint"> 721 <li id="footer-poweredbyico"> 722 <a href="//www.mediawiki.org/"><img src="/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31"/></a> </li> 723 </ul> 724 <div style="clear:both"></div> 725 </div> 726
726<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () { 727mw.loader.state({"user":"ready","user.groups":"ready"}); 728} );</script>
728 729<link rel="stylesheet" href="/load.php?debug=false&lang=en&modules=ext.MobileDetect.nomobile&only=styles&skin=vector"/>
730<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () { 731mw.loader.load(["mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"]); 732} );</script>
732<script>
vendor: 339 bytes, lines 732-738
732 733 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 734 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 735 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 736 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 737 738 ga('create', '
738UA-350808-4
vendor: 14 bytes, lines 738-739
738', 'auto'); 739
739ga('set', 'anonymizeIp', true); 740 ga('send', 'pageview'); 741 742</script>
vendor: 1 bytes, line 742
742
743<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () { 744mw.config.set({"wgBackendResponseTime":98}); 745} );</script>
745 746<div class="afs_ads">Â </div>
747<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
747 748 749
750<script data-cfasync="false">function _emitEzConsentEvent(){var customEvent=new CustomEvent("ezConsentEvent",{detail:{ezTcfConsent:window.ezTcfConsent},bubbles:true,cancelable:true,});document.dispatchEvent(customEvent);} 751(function(window,document){function _setAllEzConsentTrue(){window.ezTcfConsent.loaded=true;window.ezTcfConsent.store_info=true;window.ezTcfConsent.develop_and_improve_services=true;window.ezTcfConsent.measure_ad_performance=true;window.ezTcfConsent.measure_content_performance=true;window.ezTcfConsent.select_basic_ads=true;window.ezTcfConsent.create_ad_profile=true;window.ezTcfConsent.select_personalized_ads=true;window.ezTcfConsent.create_content_profile=true;window.ezTcfConsent.select_personalized_content=true;window.ezTcfConsent.understand_audiences=true;window.ezTcfConsent.use_limited_data_to_select_content=true;window.ezTcfConsent.select_personalized_content=true;} 752function _clearEzConsentCookie(){document.cookie="ezCMPCookieConsent=tcf2;Domain=.techotopia.com;Path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT";} 753_clearEzConsentCookie();if(typeof window.__tcfapi!=="undefined"){window.ezgconsent=false;var amazonHasRun=false;function _ezAllowed(tcdata,purpose){return(tcdata.purpose.consents[purpose]||tcdata.purpose.legitimateInterests[purpose]);} 754function _handleConsentDecision(tcdata){window.ezTcfConsent.loaded=true;if(!tcdata.vendor.consents["347"]&&!tcdata.vendor.legitimateInterests["347"]){window._emitEzConsentEvent();return;} 755window.ezTcfConsent.store_info=_ezAllowed(tcdata,"1");window.ezTcfConsent.develop_and_improve_services=_ezAllowed(tcdata,"10");window.ezTcfConsent.measure_content_performance=_ezAllowed(tcdata,"8");window.ezTcfConsent.select_basic_ads=_ezAllowed(tcdata,"2");window.ezTcfConsent.create_ad_profile=_ezAllowed(tcdata,"3");window.ezTcfConsent.select_personalized_ads=_ezAllowed(tcdata,"4");window.ezTcfConsent.create_content_profile=_ezAllowed(tcdata,"5");window.ezTcfConsent.measure_ad_performance=_ezAllowed(tcdata,"7");window.ezTcfConsent.use_limited_data_to_select_content=_ezAllowed(tcdata,"11");window.ezTcfConsent.select_personalized_content=_ezAllowed(tcdata,"6");window.ezTcfConsent.understand_audiences=_ezAllowed(tcdata,"9");window._emitEzConsentEvent();} 756function _handleGoogleConsentV2(tcdata){if(!tcdata||!tcdata.purpose||!tcdata.purpose.consents){return;} 757var consents=tcdata.purpose.consents;var googConsentV2={ad_storage:consents[1]?'granted':'denied',analytics_storage:consents[1]?'granted':'denied',ad_personalization:(consents[3]&&consents[4])?'granted':'denied',ad_user_data:(consents[1]&&consents[7])?'granted':'denied'};if(googConsentV2.analytics_storage==='denied'){gtag('set','url_passthrough',true);} 758gtag('consent','update',googConsentV2);} 759__tcfapi("addEventListener",2,function(tcdata,success){if(!success||!tcdata){window._emitEzConsentEvent();return;} 760if(!tcdata.gdprApplies){_setAllEzConsentTrue();window._emitEzConsentEvent();return;} 761if(tcdata.eventStatus==="useractioncomplete"||tcdata.eventStatus==="tcloaded"){if(typeof gtag!='undefined'){_handleGoogleConsentV2(tcdata);} 762_handleConsentDecision(tcdata);if(tcdata.purpose.consents["1"]===true&&tcdata.vendor.consents["755"]!==false){window.ezgconsent=true;(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0;} 763if(window.__ezconsent){__ezconsent.setEzoicConsentSettings(ezConsentCategories);} 764__tcfapi("removeEventListener",2,function(success){return null;},tcdata.listenerId);if(!(tcdata.purpose.consents["1"]===true&&_ezAllowed(tcdata,"2")&&_ezAllowed(tcdata,"3")&&_ezAllowed(tcdata,"4"))){if(typeof __ez=="object"&&typeof __ez.bit=="object"&&typeof window["_ezaq"]=="object"&&typeof window["_ezaq"]["page_view_id"]=="string"){__ez.bit.Add(window["_ezaq"]["page_view_id"],[new __ezDotData("non_personalized_ads",true),]);}}}});}else{_setAllEzConsentTrue();window._emitEzConsentEvent();}})(window,document);</script>
764<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f2c42ec2a7ce4b16a6f9cc6c8e8c8950","r":1,"spa":2}' crossorigin="anonymous"></script>
764 765</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.