﻿<html xmlns="http://www.w3.org/1999/xhtml"><head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, height=device-height, initial-scale=0.5, minimum-scale=0.5, user-scalable=yes, maximum-scale=2.0, target-densitydpi=device-dpi" />
				<meta name="robots" content="all"/>
        <meta name="description" content="description">
        <meta name="keywords" content="">
        <title>Page 133 - The Black Box Book</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
  
#container {margin:50px auto;padding:0px;width:910px;}
#left-button{ width:90px; height:100%;float:left }
#middle{ width:730px; margin:0px; float: left;}
#right-button{ width:90px; float:left;}
html, body, div, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, form, input, dd,select, button, textarea, iframe, table, th, td { margin: 0; padding: 0; }
img { border: 0 none; displayblock}
span,ul,li,image{ padding:0px; margin:0px; list-style:none;}
#top-title{ width:714px; margin-bottom:10px; float:left; padding:0px 8px}
#top-title2{ width:320px;  float:right;}
#content{ width: 730px; float:left;float:left;word-wrap: break-word;}
#content-top{ width:730px; background-image:url(images/top_bg.jpg); height:56px; background-repeat:no-repeat; float:left;}
#content-top1{ width:70%; padding:16px 0px 0px 30px; font-family:Arial, Helvetica, sans-serif; font-size:24px; color:#636363;float:left;}
#content-top2{ width:60px; float:right; padding:25px 30px 0px 0px;font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#2f2f2f; font-weight:bold; text-align:right}
#content-middle{ width:730px; background-image:url(images/middle_bg.jpg); background-repeat:repeat-y;float:left;}
#content-middle1{ width:475px; padding:25px 0px 25px 35px; font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#636363; line-height:150%;float:left;}
#content-middle2{  padding:7px; float:right; margin:25px 35px 0px 0px; border:solid 1px #c8c8c9; background-color:#FFF; text-align:center}
#content-bottom{ width:730px; background-image:url(images/bottom_bg.jpg); background-repeat:no-repeat; height:58px;float:left;}
#content-bottom2{ width:110px; height:42px; margin:0px auto; padding-top:4px;}
#input{ width:58px; height:20px; background-color:#FFF; border:solid 1px #dfdfe0; color:#636363; text-align:center; font-size:11px;}
.font1{ font-family:Arial, Helvetica, sans-serif; font-size:10px; color:#2f2f2f;}
.font1 a:link{
	text-decoration: none;
    color:#2f2f2f;

}
.font1 a:visited{
	text-decoration: none;
    color:#2f2f2f;
	
}
.font1 a:hover{
	color: #2f2f2f;
	text-decoration: underline;

}



.text-container {
padding: 20px;
color: #333;
margin-top: 24px;
line-height: 22px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}

.use-as-video {
float: right;
padding-left: 20px;
}
.cc-float-fix:before, .cc-float-fix:after {
content: "";
line-height: 0;
height: 0;
width: 0;
display: block;
visibility: hidden;
}
.use-as-video-img {
cursor: pointer;
position: relative;
width: 320px;
height: 180px;
}
.use-as-video-title {
font-size: 15px;
font-weight: bold;
color: #000000;
padding-bottom: 5px;
}
-->
</style>
<script type="text/javascript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onload="MM_preloadImages('images/next2.png','images/previous2.png')">
<div id="container">
<div id="left-button">
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><a href="page132.html"><img src="images/previous_big.png" width="90" height="80" /></a></p>
</div>
<div id="middle">
  <div id="top-title"><span class="font1">Basic HTML Version</span>
    <div id="top-title2">
      <table width="100%" border="0" align="right" cellpadding="0" cellspacing="0">
        <tr>
        	<td width="66%"> </td>
          <td width="35%" style="display:none" align="right"><img src="images/content.png" width="19" height="16" /></td>
          <td width="31%" style="display:none" class="font1"><a href="">Table of Contents</a></td>
          <td width="6%"><img src="images/view.png" width="19" height="16" /></td>
          <td width="28%" class="font1"><a href="../../index.html#p=133">View Full Version</a></td>
        </tr>
      </table>
    </div>
  </div>
  <div id="content">
     <div id="content-top">
        <div id="content-top1">Page 133 - The Black Box Book</div>
        <div id="content-top2">P. 133</div>
     </div>
     <div id="content-middle">
     	
     	  <div class="text-container">
    <div class="use-as-video cc-float-fix">
      <a style="text-decoration: none;" href="../../index.html#p=133"><img src="../thumb/133.jpg" /></a>
    </div>

    <p class="use-as-video-title"></p>
    <pre style="white-space:pre-line"><code>The current way of developing programming tools  tends to prioritize   Final thoughts about the AI curator: In this project, Machine Learning
 4
 the developer’s time by means of making it as easy as possible to use.   (ML)  was used to sort visual content based on its similarities. From my
                     8
 The demand for a fast development process leads towards detaching     point of view – like any type of ML of this kind, including current popstars
 the praxes of programming from its core (hardware) functionality. One   like DALL-E / Imagen or GPT, this process was developed, handpicked,
 thing is trans-compiled to another several times, layer after layer before    adjusted, and supervised by a person and is, therefore, deterministic and
 the final transcription gets compiled and the final production code is built.   traceable to the last byte. I think we should approach it as such. I often
 This is due to the tendency to make programming faster, universally op-  encounter starry-eyed approaches to ML results. Treating the process
 timized, secure and maintained by approaching natural language syntax   itself as a “black box” where we cannot actually see what is happening
 – bringing the first layer of some programming tools almost to the realm   should not make it more divine than pressing the enter key on a keyboard,
 of written speech. This method may result in lengthier computation times,   being oblivious to the process behind the wonders it just set in motion.
 but more crucially, it places modern programming tools within the black   Thus, getting used to the enter button performing so many things seemed
 boxes of superior compilers, even for developers. This is inevitable as   amazing back in the 90s; this is also bound to be the case concerning
 technology becomes increasingly complex and layered; specialization is   ML generating new sets of novel or creative combinations in the 2020s.
 normal as programming becomes more widespread. In addition, this does
 not imply that the final code is ineffective; on the contrary, it is standard-
 ized and efficient. It is just a process that is indirect and straightforward.
 In the end, there is a machine-level effective code.  8  I prefer to refer to current AI models as Machine Learning because,
                                  in my experience, AI does not exist yet, and it is more of a sci-fi concept,
 Using the Tensorflow  code library to compute the ML results in this   a catchphrase if you will; current mechanisms are better described as
 5
 project can serve as an example. To use it, a developer writes a couple   ML. I believe this saves some thought because it does not sound so out
                                  of hand, as we are talking about node-pulling vectors.
 of dozens of lines of code where the content is selected and prepared to
 be processed and where the core library is set up and called to action.
 While the real code computing the result is millions of lines long, written
 and maintained by thousands of contributors, the programmer just uses
 it. In the end, there could be a GUI (Graphic User Interface, the common
 way users interact with applications – buttons, images, textareas, etc.)
 to set up TensorFlow, so that we would not need Python  code to run it.
 6
 The programmer would select the images, tweak a few sliders, and wait
 for a result. It is also possible to set it up using voice commands, con-
 7
 tributing to about a quarter of queries in HCI . With OpenAI’s DALL-E2
 or ChatGPT it becomes apparent that the process of creation in terms
 of HCI is strictly dependent on the ability of the user to describe their
 thoughts with words or sentences, as that is their fundamental method
 – using keywords. Following the same trend – to quantify the means of
 creation that mirror the user’s native language.



 4  Programming tools could be, for example, APIs, frameworks or pro-
 gramming languages.


 5  Tensorflow is a framework that allows developers to build and deploy
 ML models.


 6  Python – programming language

 7  HCI – Human-Computer Interaction, could be writing text using
 a keyboard, clicking on a button, or speaking to a microphone (e.g. “Hey
 Siri” commands).


 132                                           133</code></pre>
     	</div>
    
     </div>
     <div id="content-bottom">
       <div id="content-bottom2">
         <table width="110" border="0" cellspacing="0" cellpadding="0">
           <tr>
             <td width="22%" height="44"><a href="page132.html"><img src="images/previous.png" width="26" height="19" id="Image2" onmouseover="MM_swapImage('Image2','','images/previous2.png',1)" onmouseout="MM_swapImgRestore()" /></a></td>
             <td width="43%">
             	&nbsp;&nbsp;&nbsp;<a href="page128.html">128</a>&nbsp;&nbsp;&nbsp;<a href="page129.html">129</a>&nbsp;&nbsp;&nbsp;<a href="page130.html">130</a>&nbsp;&nbsp;&nbsp;<a href="page131.html">131</a>&nbsp;&nbsp;&nbsp;<a href="page132.html">132</a>&nbsp;&nbsp;&nbsp;<a href="page133.html">133</a>&nbsp;&nbsp;&nbsp;<a href="page134.html">134</a>&nbsp;&nbsp;&nbsp;<a href="page135.html">135</a>&nbsp;&nbsp;&nbsp;<a href="page136.html">136</a>&nbsp;&nbsp;&nbsp;<a href="page137.html">137</a>&nbsp;&nbsp;&nbsp;<a href="page138.html">138</a>
             </td>
             <td width="35%"><a href="page134.html"><img src="images/next.png" width="26" height="19" id="Image1" onmouseover="MM_swapImage('Image1','','images/next2.png',1)" onmouseout="MM_swapImgRestore()" /></a></td>
           </tr>
         </table>
       </div>
     </div>
  </div>
</div>
<div id="right-button">
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><a href="page134.html"><img src="images/next_big.png" width="90" height="80" /></a></p>
</div>


</div>

</body>
</html>
