1 2<!DOCTYPE html> 3<html lang="en-gb" dir="ltr"> 4 <head> 5 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 66 bytes, lines 5-6
5 6 <script async src="https://www.googletagmanager.com/gtag/js?id=
6UA-9645537-2
vendor: 14 bytes, lines 6-7
6"></script> 7
7<script> 8
vendor: 141 bytes, lines 8-12
8window.dataLayer = window.dataLayer || []; 9 function gtag(){dataLayer.push(arguments);} 10 gtag('js', new Date()); 11 12 gtag('config', '
12UA-9645537-2
vendor: 6 bytes, lines 12-13
12'); 13
13</script>
13 14 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 15 <link rel="canonical" href="https://www.i-programmer.info" /> 16 <base href="https://www.i-programmer.info/" /> 17 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 18 <meta name="robots" content="index, follow" /> 19 <meta name="keywords" content="Programming book reviews, programming tutorials,programming news, developer news,software programmer news, C#, Ruby, Python,C, C++, PHP, Visual Basic, Computer book reviews, computer history, programming history, joomla, theory, spreadsheets, developer book reviews, programmer news, developer news, news" /> 20 <meta name="description" content="Programming book reviews, programming tutorials,programming news, C#, Ruby, Python,C, C++, PHP, Visual Basic, Computer book reviews, computer history, programming history, joomla, theory, spreadsheets and more." /> 21 <meta name="generator" content="I Programmer CMS" /> 22 <title>i-programmer.info</title> 23 <link href="/index.php?format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" /> 24 <link href="/index.php?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" /> 25 <link href="/templates/rhuk_milkyway/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 26 <link href="https://www.i-programmer.info/index.php?option=com_ninjarsssyndicator&feed_id=3&format=raw" rel="alternate" type="application/rss+xml" title="I Programmer - full contents" /> 27
27<script type="text/javascript" src="/media/system/js/mootools.js"></script>
27 28
28<script type="text/javascript" src="/media/system/js/caption.js"></script>
28 29 <link rel="stylesheet" type="text/css" href="/modules/mod_minifrontpage/css/style.css" title="default" /> 30 <link rel="stylesheet" type="text/css" href="/modules/mod_minifrontpage/css/style.css" title="default" /> 31 32 33 <!--iprogrammer scripts--> 34
34<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
34 35
35<script src="/includes/js/iprogrammer/frontpage.js" type="text/javascript"></script>
35 36 37 38 <link rel="stylesheet" 39 href="/templates/news/css/template.css" 40 type="text/css" /> 41 <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet"> 42 43</head> 44 45<body class="site" > 46 <!-- Body --> 47 <div class="body" id="top"> 48 <div class="container"> 49 <!-- Header --> 50 <header class="header" role="banner"> 51 <div class="header-inner clearfix"> 52 <div class="header-search pull-left"> 53 <div class="bannergroup"> 54 55<div class="banneritem"><div id="iptop"></div>
56<script> 57 58IPtop={}; 59IPtop.UK=[]; 60 61IPtop.World=[]; 62IPtop.World[0]={}; 63IPtop.World[0].name="ianbooksTop"; 64IPtop.World[0].code='<a href="/component/banners/click/359.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/ianElliot.gif" alt="Banner"></a>'; 65IPtop.World[0].W=1; 66 67IPtop.World[1]={}; 68IPtop.World[1].name="mikebooksTop"; 69IPtop.World[1].code='<a href="/component/banners/click/361.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/fourmike.gif" alt="Banner"></a>'; 70IPtop.World[1].W=1; 71 72IPtop.World[2]={}; 73IPtop.World[2].name="effectus"; 74IPtop.World[2].code='<iframe width="728" height="90" scrolling=No frameborder=0 marginheight=0 marginwidth=0 src="https://effectus.nui.media/pipeline/674042/0/vh?z=effectus&dim=602464&kw=&click=">'; 75IPtop.World[2].code+='
75<script type="text/javascript" language="JavaScript" src="https://effectus.nui.media/pipeline/674042/0/vj?z=effectus&dim=602464&kw=&click=&abr=$scriptiniframe">'; 76IPtop.World[2].code+="<\/script>"; 77IPtop.World[2].code+='<noscript><a href="https://effectus.nui.media/pipeline/674042/0/cc?z=effectus"><img src="https://effectus.nui.media/pipeline/674042/0/vc?z=effectus&dim=602464&kw=&click=&abr=$imginiframe" width="728" height="90" alt="" border="0">'; 78IPtop.World[2].code+="<\/a><\/noscript><\/iframe>"; 79IPtop.World[2].W=0; 80 81IPtop.World[3]={}; 82IPtop.World[3].name="GoogleTop"; 83IPtop.World[3].code='
83<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"><\/script>'; 84IPtop.World[3].code+='<ins class="adsbygoogle"'; 85IPtop.World[3].code+='style="display:inline-block;width:728px;height:90px"'; 86IPtop.World[3].code+='data-ad-client="ca-pub-9936000140414196" data-ad-slot="6248088135"></ins>'; 87IPtop.World[3].code+='
87<script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script>'; 88IPtop.World[3].W=1; 89 90IPtop.World[4]={}; 91IPtop.World[4].name="LQTop"; 92IPtop.World[4].code='<div data-type="ad" data-publisher="lqm.iprogrammer.site" data-format="728x90" data-zone="ros" ></div>'; 93IPtop.World[4].W=0; 94 95IPtop.World[5]={}; 96IPtop.World[5].name="harrybooksTop"; 97IPtop.World[5].code='<a href="/component/banners/click/379.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/HarryF.gif" alt="Banner"></a>'; 98IPtop.World[5].W=1; 99 100IPtop.World[6]={}; 101IPtop.World[6].name="JanetbooksTop"; 102IPtop.World[6].code='<a href="/component/banners/click/380.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/topbannerswift.jpg" alt="Banner"></a>'; 103IPtop.World[6].W=1; 104 105IPtop.World[7]={}; 106IPtop.World[7].name="Python"; 107IPtop.World[7].code='<a href="/component/banners/click/391.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/python.gif" alt="Banner"></a>'; 108IPtop.World[7].W=1; 109 110IPtop.World[8]={}; 111IPtop.World[8].name="Undemy2"; 112IPtop.World[8].code='<a href="https://click.linksynergy.com/fs-bin/click?id=d2N6hGst4zs&offerid=1060092.28884&subid=0&type=4"><IMG border="0" alt="Knowledge opens doors. Courses on sale from $13.99" src="https://ad.linksynergy.com/fs-bin/show?id=d2N6hGst4zs&bids=1060092.28884&subid=0&type=4&gridnum=16"></a>'; 113IPtop.World[8].W=0; 114 115IPtop.World[9]={}; 116IPtop.World[9].name="ESP32"; 117IPtop.World[9].code='<a href="/component/banners/click/392.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/ESP32.gif" alt="Banner"></a>'; 118IPtop.World[9].W=1; 119 120IPtop.World[10]={}; 121IPtop.World[10].name="Pico"; 122IPtop.World[10].code='<a href="/component/banners/click/390.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/Pico.gif" alt="Banner"></a>'; 123IPtop.World[10].W=1; 124 125//IPtop.Region = document.cookie.match(/Region=COM|Region=UK|Region=CA|Region=FR|Region=DE|Region=JP|Region=CN|Region=BR|Region=ES|Region=IT/)[0]; 126//if (IPtop.Region === null) IPtop.Region = "COM"; 127//IPtop.Region = IPtop.Region.match(/COM|UK|CA|FR|DE|JP|CN|BR|ES|IT/)[0]; 128IPtop.Region = "COM"; 129IPtop.div=jQuery("#iptop"); 130if(IPtop.Region==="UK" && IPtop.UK.length>0 && Math.random()<0.5){ 131 IPtop.num = Math.floor(Math.random() * IPtop.UK.length); 132 IPtop.div.append(IPtop.UK[IPtop.num].code); 133 gtag('event', IPtop.UK[IPtop.num].name, { 134 'event_category': "Adverts" 135}); 136}else{ 137 138 IPtop.tot=0; 139 for(i=0;i<IPtop.World.length;i++){ 140 IPtop.tot += IPtop.World[i].W; 141 } 142 IPtop.num = IPtop.World.length-1; 143 IPtop.random=Math.floor(Math.random()*IPtop.tot); 144 IPtop.tot=0; 145 for(i=0;i<IPtop.World.length;i++){ 146 IPtop.tot+=IPtop.World[i].W; 147 if(IPtop.random<IPtop.tot){ 148 IPtop.num = i; 149 break; 150 } 151 } 152 153 154 IPtop.div.append(IPtop.World[IPtop.num].code); 155 gtag('event', IPtop.World[IPtop.num].name, {'event_category':"Adverts"}); 156}; 157 158</script>
158<div class="clr"></div> 159 </div> 160 161</div> 162 </div> 163 <!-- Load Icons --> 164<svg class="icon" aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 165 <defs> 166 <symbol id="iconsearch" viewBox="0 0 32 32"> 167 <title>search</title> 168 <path d="M31.008 27.231l-7.58-6.447c-0.784-0.705-1.622-1.029-2.299-0.998 1.789-2.096 2.87-4.815 2.87-7.787 0-6.627-5.373-12-12-12s-12 5.373-12 12 5.373 12 12 12c2.972 0 5.691-1.081 7.787-2.87-0.031 0.677 0.293 1.515 0.998 2.299l6.447 7.58c1.104 1.226 2.907 1.33 4.007 0.23s0.997-2.903-0.23-4.007zM12 20c-4.418 0-8-3.582-8-8s3.582-8 8-8 8 3.582 8 8-3.582 8-8 8z"></path> 169 </symbol> 170 </defs> 171</svg> 172<svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 173<defs> 174 <symbol id="icon-cog" viewBox="0 0 32 32"> 175<title>cog</title> 176<path d="M29.181 19.070c-1.679-2.908-0.669-6.634 2.255-8.328l-3.145-5.447c-0.898 0.527-1.943 0.829-3.058 0.829-3.361 0-6.085-2.742-6.085-6.125h-6.289c0.008 1.044-0.252 2.103-0.811 3.070-1.679 2.908-5.411 3.897-8.339 2.211l-3.144 5.447c0.905 0.515 1.689 1.268 2.246 2.234 1.676 2.903 0.672 6.623-2.241 8.319l3.145 5.447c0.895-0.522 1.935-0.82 3.044-0.82 3.35 0 6.067 2.725 6.084 6.092h6.289c-0.003-1.034 0.259-2.080 0.811-3.038 1.676-2.903 5.399-3.894 8.325-2.219l3.145-5.447c-0.899-0.515-1.678-1.266-2.232-2.226zM16 22.479c-3.578 0-6.479-2.901-6.479-6.479s2.901-6.479 6.479-6.479c3.578 0 6.479 2.901 6.479 6.479s-2.901 6.479-6.479 6.479z"></path> 177</symbol> 178</defs> 179</svg> 180 181 182<!-- Logo --> 183 184<nav class="navigation pull-left" role="navigation" style="clear:both"> 185 <div class="nav"> 186 <ul class="nav menu nav-pills"> 187 188 <li class="item-998 active pull-right"> 189 <a href="https://www.i-programmer.info"> 190 I Programmer HOME 191 </a> 192 </li> 193 </ul> 194 </div> 195</nav> 196<nav class="navigation pull-left" role="navigation" > 197 198 <!-- Collapse place holder --> 199 <div class="navbar pull-left"> 200 <a class="btn btn-navbar collapsed" data-toggle="collapse" data-target=".nav-collapse"> 201 <span class="element-invisible">Toggle Navigation</span> 202 <span class="icon-bar"></span> 203 <span class="icon-bar"></span> 204 <span class="icon-bar"></span> 205 </a> 206 </div> 207 208 <!-- Collapse part of main menu --> 209 <div class="nav-collapse pull-left collapse" > 210 <ul class="nav menu nav-pills" > 211 <!-- BOOKS --> 212 <li class="item-110 active"> 213 <a>Books</a> 214 <ul class="nav-child"> 215 <li class="item-102"> 216 <a href="/bookreviews.html" >Book Reviews</a> 217 </li> 218 <li class="item-115"> 219 <a href="/book-watch-archive.html" >Book Watch</a> 220 </li> 221 <li class="item-167"> 222 <a href="/professional-programmer/183-programmers-bookshelf.html" >Programmer's Bookshelf</a> 223 </li> 224 </ul> 225 </li> 226 <!-- ARTICLES --> 227 <li class="item-111 active"> 228 <a>Articles</a> 229 <ul class="nav-child"> 230 231 <li class="item-116"> 232 <a>The Core</a> 233 <ul class="nav-child"> 234 <li class="item-153"> 235 <a href="/programming/211-android.html">Android</a> 236 </li> 237 <li class="item-138"> 238 <a href="/programming/102-artificial-intelligence.html" >Artifical Intelligence</a> 239 </li> 240 <li class="item-117"> 241 <a href="/programming/195-python.html" >Python</a> 242 </li> 243 <li class="item-118"> 244 <a href="/programming/113-javascript.html" >Javascript</a> 245 </li> 246 <li class="item-132"> 247 <a href="/programming/54-wpf-workings.html" >WPF Workings</a> 248 </li> 249 <li class="item-133"> 250 <a href="/programming/55-joomla.html" >Joomla</a> 251 </li> 252 <li class="item-134"> 253 <a href="/programming/56-php.html" >PHP</a> 254 </li> 255 <li class="item-135"> 256 <a href="/programming/72-theory.html" >Theory</a> 257 </li> 258 <li class="item-136"> 259 <a href="/programming/79-silverlight.html" >Silverlight</a> 260 </li> 261 <li class="item-137"> 262 <a href="/programming/100-c.html" >C#</a> 263 </li> 264 <li class="item-139">
265 <a href="/programming/108-other-languages.html" >Other Languages</a> 266 </li> 267 <li class="item-140"> 268 <a href="/programming/109-visual-basic.html" >Visual Basic</a> 269 </li> 270 <li class="item-141"> 271 <a href="/programming/111-cc.html" >C/C++</a> 272 </li> 273 <li class="item-142"> 274 <a href="/programming/117-mobile.html" >Mobile</a> 275 </li> 276 <li class="item-143"> 277 <a href="/programming/139-database.html" >Database</a> 278 </li> 279 <li class="item-144"> 280 <a href="/programming/147-asp-net.html" >ASP .NET</a> 281 </li> 282 <li class="item-145"> 283 <a href="/programming/148-hardware.html" >Hardware/IoT</a> 284 </li> 285 <li class="item-146"> 286 <a href="/programming/153-graphics-and-imaging.html" >Graphics/Imaging</a> 287 </li> 288 <li class="item-147"> 289 <a href="/programming/154-uiux.html" >UI/UX</a> 290 </li> 291 <li class="item-148"> 292 <a href="/programming/176-perl.html" >Perl</a> 293 </li> 294 <li class="item-149"> 295 <a href="/programming/179-winrt.html" >WinRT</a> 296 </li> 297 <li class="item-150"> 298 <a href="/programming/180-htmlcss.html">HTML/CSS</a> 299 </li> 300 <li class="item-151"> 301 <a href="/programming/207-jquery.html" >jQuery</a> 302 </li> 303 <li class="item-152"> 304 <a href="/programming/210-ruby.html" >Ruby</a> 305 </li> 306 <li class="item-154"> 307 <a href="/programming/223-security.html" >Security</a> 308 </li> 309 <li class="item-155"> 310 <a href="/programming/226-methodology-a-testing.html" >Methodology & Testing</a> 311 </li> 312 <li class="item-156"> 313 <a href="/programming/228-cloud.html">Cloud</a> 314 </li> 315 <li class="item-157"> 316 <a href="/programming/241-devops.html">DevOps</a> 317 </li> 318 <li class="item-158"> 319 <a href="/programming/178-java.html">Java</a> 320 </li> 321 </ul> 322 </li> 323 <li class="item-197 active"> 324 <a href="/babbages-bag.html">Babbage's Bag</a> 325 </li> 326 327 <li class="item-122 active"> 328 <a href="/projects.html">Projects</a> 329 </li> 330 331 <li class="item-168 active"> 332 <a>Programmer Puzzles</a> 333 <ul class="nav-child"> 334 <li class="item-172"> 335 <a href="/programmer-puzzles/140-c.html" >C#</a> 336 </li> 337 <li class="item-173"> 338 <a href="/programmer-puzzles/168-cpp.html" >C++</a> 339 </li> 340 <li class="item-174"> 341 <a href="/programmer-puzzles/170-java.html" >Java</a> 342 </li> 343 <li class="item-175"> 344 <a href="/programmer-puzzles/137-javascript.html" >JavaScript</a> 345 </li> 346 <li class="item-177"> 347 <a href="/programmer-puzzles/212-python.html" >Python</a> 348 </li> 349 <li class="item-179"> 350 <a href="/programmer-puzzles/142-php.html" >PHP</a> 351 </li> 352 <li class="item-178"> 353 <a href="/programmer-puzzles/203-sharpen-your-coding-skills.html" >Sharpen Your Coding Skills</a> 354 </li> 355 </ul> 356 </li> 357 358 <li class="item-109 active"> 359 <a>History</a> 360 <ul class="nav-child"> 361 <li class="item-119"> 362 <a href="/history/9-machines.html" >Machines</a> 363 </li> 364 <li class="item-120"> 365 <a href="/history/8-people.html" >People</a> 366 </li> 367 <li class="item-120"> 368 <a href="/history/57-computer-languages.html" >Software & computer languages</a> 369 </li> 370 </ul> 371 </li> 372 373 <li class="item-158 active"> 374 <a>Swift's Spreadsheets</a> 375 <ul class="nav-child"> 376 <li class="item-159"> 377 <a href="/spreadsheets/53-finance.html" >Finance</a> 378 </li> 379 <li class="item-160"> 380 <a href="/spreadsheets/58-personal.html" >Personal</a> 381 </li> 382 <li class="item-161"> 383 <a href="/spreadsheets/60-general.html" >General</a> 384 </li> 385 </ul> 386 </li> 387 <li class="item-163 active"> 388 <a>Professional Programmer</a> 389 <ul class="nav-child"> 390 <li class="item-164"> 391 <a href="/professional-programmer/67-certification.html" >Accreditation & Training</a> 392 </li> 393 <li class="item-166"> 394 <a href="/professional-programmer/103-i-programmer.html" >I Programmer</a> 395 </li> 396 <li class="item-166"> 397 <a href="/professional-programmer/127-resources-and-tools.html" >
397Resources and Tools</a> 398 </li> 399 </ul> 400 </li> 401 <li class="item-170 active"> 402 <a href="/i-programmer-weekly.html">I Programmer Weekly</a> 403 </li> 404 <li class="item-171 active"> 405 <a href="/ebooks.html">eBooks</a> 406 </li> 407 <li class="item-162 active"> 408 <a href="/the-stone-tapes.html">Stone Tapes</a> 409 </li> 410 <li class="item-169 active"> 411 <a href="/codebin.html">CodeBin</a> 412 </li> 413 </ul> 414 </li> 415 <!-- NEWS --> 416 <li class="item-112 active"> 417 <a href="/news.html" >News</a> 418 </li> 419 </div> 420</nav> 421<!-- 'Sticky' (non-collapsing) right-side menu item(s) --> 422<nav class="navigation pull-right" role="navigation" > 423 <div class="nav"> 424 <ul class="nav menu nav-pills"> 425 426 <li class="item-998 active pull-right"> 427 <a> 428 <svg class="icon"> 429 <use xlink:href="#icon-cog"/> 430 </svg> 431 </a> 432 <ul class="nav-child"> 433 <li class="item-129"> 434 <a href="/register.html" >Register</a> 435 </li> 436 <li class="item-131"> 437 <a href="/about-us.html" >About Us</a> 438 </li> 439 </ul> 440 </li> 441 442 <li class="item-999 active pull-right"> 443 <a href="/search.html" > 444 <svg class="icon"> 445 <use xlink:href="#iconsearch"/> 446 </svg> 447 </a> 448 </li> 449 450 451 </ul> 452 453 </ul> 454 </div> 455</nav> 456 457 </div> 458 459 </header> 460 461 462 <!-- 463 464 --> 465 <div class="row-fluid"> 466 467 <main id="content" role="main" class="fixedwidth600"> 468 469 <!-- Begin Content --> 470 471 472 473 474 <div class="blog-featured" itemscope="" itemtype="https://schema.org/Blog"> 475 476 <div class="items-row cols-2 row-0 row-fluid"> 477 <!-- First column --> 478 <div class="item column-1 fixedwidth300" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"> 479 <!-- NEWS --> 480 <h1><span style="color: #ff0000;">Programming News and Views</span></h1> 481 <p><strong>Send your programming press releases, news items or comments to</strong>: <a href="mailto:[email protected]">[email protected]</a></p> 482 483<table width="100%" class="minifp"><tr> 484 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/245-view-point/19164-ai-has-no-motivation.html">AI Has No Motivation</a></span><br class="minifp-seperator" /><span class="minifp-date">23 Sep</span> | <span class="minifp-date">Mike James</span><br class="minifp-seperator" /><a href="/news/245-view-point/19164-ai-has-no-motivation.html"><img src="https://www.i-programmer.info/images/stories/minifp//AIchaos_thumb.jpg" width="120" height="91" align="left" alt="article thumbnail" /></a><p><p>We seem to be worried a lot about the threat from AI going rogue, and there are lots of examples of it doing just that. However, they are all misrepresentations, as AI has no intent and no motivation.</p> 485</p><br class="minifp-seperator" /> 486 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/245-view-point/19164-ai-has-no-motivation.html">+ Full Story</a></div></td></tr><tr> 487 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/105-artificial-intelligence/19165-gpt-6-astra-scores-at-cryptanalysis.html">GPT-6 Astra Scores At Cryptanalysis</a></span><br class="minifp-seperator" /><span class="minifp-date">23 Sep</span> | <span class="minifp-date">Sue Gee</span><br class="minifp-seperator" /><a href="/news/105-artificial-intelligence/19165-gpt-6-astra-scores-at-cryptanalysis.html"><img src="https://www.i-programmer.info/images/stories/News/2018/Sep/B/enigmasoldatauction.JPG" width="100" height="120" align="left" alt="article thumbnail" /></a><p><p>OpenAI's latest generation LLM has successfully deciphered unsolved coded messages from both World War I and World War II, demonstrating yet another area of expertise. Is this a
487superhuman achievement?</p> 488</p><br class="minifp-seperator" /> 489 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/105-artificial-intelligence/19165-gpt-6-astra-scores-at-cryptanalysis.html">+ Full Story</a></div></td></tr><tr> 490 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/105-artificial-intelligence/19162-cloudflare-os-an-open-ai-platform-for-enterprise-work.html">Cloudflare OS: An Open AI Platform For Enterprise Work</a></span><br class="minifp-seperator" /><span class="minifp-date">22 Sep</span> | <span class="minifp-date">Nikos Vaggalis</span><br class="minifp-seperator" /><a href="/news/105-artificial-intelligence/19162-cloudflare-os-an-open-ai-platform-for-enterprise-work.html"><img src="https://www.i-programmer.info/images/stories/minifp//cloudflarelogo_thumb.jpg" width="120" height="120" align="left" alt="article thumbnail" /></a><p><p>Cloudflare OS is an open source productivity platform designed to integrate AI agents, custom applications and secure corporate workflows into a unified workspace.</p> 491</p><br class="minifp-seperator" /> 492 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/105-artificial-intelligence/19162-cloudflare-os-an-open-ai-platform-for-enterprise-work.html">+ Full Story</a></div></td></tr><tr> 493 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/90-tools/19161-google-releases-adk-for-kotlin.html">Google Releases ADK For Kotlin</a></span><br class="minifp-seperator" /><span class="minifp-date">22 Sep</span> | <span class="minifp-date">Mike James</span><br class="minifp-seperator" /><a href="/news/90-tools/19161-google-releases-adk-for-kotlin.html"><img src="https://www.i-programmer.info/images/stories/minifp//kotlinlogo_thumb.jpg" width="120" height="122" align="left" alt="article thumbnail" /></a><p><p>Google has released version 1.0 of the Agent Development Kit (ADK) for Kotlin. The ADK comes with a set of tools, custom functions, and OpenAPI specs which can be used to define agent logic, tools, and orchestration directly in Kotlin.</p> 494</p><br class="minifp-seperator" /> 495 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/90-tools/19161-google-releases-adk-for-kotlin.html">+ Full Story</a></div></td></tr><tr> 496 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/80-java/19158-java-27-released-whats-new.html">Java 27 Released - What's New?</a></span><br class="minifp-seperator" /><span class="minifp-date">21 Sep</span> | <span class="minifp-date">Nikos Vaggalis</span><br class="minifp-seperator" /><a href="/news/80-java/19158-java-27-released-whats-new.html"><img src="https://www.i-programmer.info/images/stories/News/2026/April/A/openjdk_logo.JPG" width="100" height="100" align="left" alt="article thumbnail" /></a><p><p>Java 27 brings 9 official JDK Enhancement Proposals, comprising of 4 finalized features, 4 preview features, and 1 incubator feature, along with several notable runtime cleanups and performance improvements.</p> 497</p><br class="minifp-seperator" /> 498 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/80-java/19158-java-27-released-whats-new.html">+ Full Story</a></div></td></tr><tr> 499 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/98-languages/19160-swift-64-improves-interoperability.html">Swift 6.4 Improves Interoperability</a></span><br class="minifp-seperator" /><span class="minifp-date">21 Sep</span> | <span class="minifp-date">Kay Ewbank</span><br class="minifp-seperator" /><a href="/news/98-languages/19160-swift-64-improves-interoperability.html"><img src="https://www.i-programmer.info/images/stories/minifp//swiftlogo_thumb.jpg" width="120" height="120" align="left" alt="article thumbnail" /></a><p><p>Apple has released Swift 6.4 with enhanced interoperability, and a new stable, cross-platform way to run and interact with other programs from Swift, from command-line tools to streaming processes.</p> 500</p><br class="minifp-seperator" /> 501 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/98-languages/19160-swift-64-improves-interoperability.html">+ Full Story</a></div></td></tr><tr>
502 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/105-artificial-intelligence/19157-smart-weed-killing-at-scale.html">Smart Weed-Killing At Scale</a></span><br class="minifp-seperator" /><span class="minifp-date">20 Sep</span> | <span class="minifp-date">Lucy Black</span><br class="minifp-seperator" /><a href="/news/105-artificial-intelligence/19157-smart-weed-killing-at-scale.html"><img src="https://www.i-programmer.info/images/stories/News/2026/Sep/B/Weed_Zap.JPG" width="100" height="122" align="left" alt="article thumbnail" /></a><p><p>The claims made this month that AI could be an existential threat to humans and wipe out mankind within the decade may have dented our confidence and optimism in what the era of AI brings. However, it being an existential threat to weeds in agricultural crops sounds much more promising, </p> 503</p><br class="minifp-seperator" /> 504 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/105-artificial-intelligence/19157-smart-weed-killing-at-scale.html">+ Full Story</a></div></td></tr><tr> 505 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/i-programmer-weekly/246-i-programmer-weekly-2026/19152-september-week-2.html">September Week 2</a></span><br class="minifp-seperator" /><span class="minifp-date">19 Sep</span> | <span class="minifp-date">Editor</span><br class="minifp-seperator" /><a href="/i-programmer-weekly/246-i-programmer-weekly-2026/19152-september-week-2.html"><img src="https://www.i-programmer.info/images/stories/minifp//IP2_thumb.jpg" width="100" height="99" align="left" alt="article thumbnail" /></a><p><p>Get up to speed on stuff that affects with our weekly digest. It summarizes the week's news together and includes new titles selected for our Book Watch Archive. This week to mark the date that would have been Dennis Ritchie's 85th birthday, we've raided our history section to bring you the story of the creators of C and Unix.</p> 506</p><br class="minifp-seperator" /> 507 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/i-programmer-weekly/246-i-programmer-weekly-2026/19152-september-week-2.html">+ Full Story</a></div></td></tr><tr> 508 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/82-heritage/19037-j-w-cooley-of-fft-fame-born-100-years-ago.html">Cooley Of FFT Fame Born 100 Years Ago</a></span><br class="minifp-seperator" /><span class="minifp-date">18 Sep</span> | <span class="minifp-date">Mike James</span><br class="minifp-seperator" /><a href="/news/82-heritage/19037-j-w-cooley-of-fft-fame-born-100-years-ago.html"><img src="https://www.i-programmer.info/images/stories/minifp//FFTdiagram_thumb.jpg" width="120" height="83" align="left" alt="article thumbnail" /></a><p><p>There was a time when the Fast Fourier Transform was the star of the show, but today it is simply the foundation that we take for granted. This makes it no less amazing. We celebrate it on the occasion of the 100th birthday of one of its inventors.</p> 509</p><br class="minifp-seperator" /> 510 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/82-heritage/19037-j-w-cooley-of-fft-fame-born-100-years-ago.html">+ Full Story</a></div></td></tr><tr> 511 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/216-python/19155-what-happened-at-pycon-us-2026.html">What Happened At PyCon US 2026</a></span><br class="minifp-seperator" /><span class="minifp-date">18 Sep</span> | <span class="minifp-date">Nikos Vaggalis</span><br class="minifp-seperator" /><a href="/news/216-python/19155-what-happened-at-pycon-us-2026.html"><img src="https://www.i-programmer.info/images/stories/minifp//pyconlogo_thumb.jpg" width="120" height="120" align="left" alt="article thumbnail" /></a><p><p>PyCon US is the largest and longest running annual gathering of the Python community. We provide an overview of this year's event.</p> 512</p><br class="minifp-seperator" /> 513 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/216-python/19155-what-happened-at-pycon-us-2026.html">+ Full Story</a></div></td></tr><tr>
514 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/98-languages/19154-nvidia-introduces-cuda-gpu-programming-in-rust.html">NVidia Introduces CUDA GPU Programming In Rust</a></span><br class="minifp-seperator" /><span class="minifp-date">17 Sep</span> | <span class="minifp-date">Kay Ewbank</span><br class="minifp-seperator" /><a href="/news/98-languages/19154-nvidia-introduces-cuda-gpu-programming-in-rust.html"><img src="https://www.i-programmer.info/images/stories/minifp//nvidia_thumb.jpg" width="114" height="109" align="left" alt="article thumbnail" /></a><p><p>NVIDIA has announced a new Rust environment for writing native GPU kernels. CUDA Rust will join CUDA C++ and CUDA Python in NVIDIA's range of CUDA languages. </p> 515</p><br class="minifp-seperator" /> 516 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/98-languages/19154-nvidia-introduces-cuda-gpu-programming-in-rust.html">+ Full Story</a></div></td></tr><tr> 517 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/98-languages/19153-julia-113-improves-latency.html">Julia 1.13 Improves Latency</a></span><br class="minifp-seperator" /><span class="minifp-date">17 Sep</span> | <span class="minifp-date">Kay Ewbank</span><br class="minifp-seperator" /><a href="/news/98-languages/19153-julia-113-improves-latency.html"><img src="https://www.i-programmer.info/images/stories/minifp//julialogo1_thumb.jpg" width="120" height="92" align="left" alt="article thumbnail" /></a><p><p>Julia 1.13 has been released. This version improves latency and the Julia REPL now has syntax highlighting.</p> 518</p><br class="minifp-seperator" /> 519 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/98-languages/19153-julia-113-improves-latency.html">+ Full Story</a></div></td></tr><tr> 520 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/105-artificial-intelligence/19150-open-ai-claims-ai-has-solved-a-millenium-prize-problem.html">Open AI Claims AI Has Solved A Millenium Prize Problem</a></span><br class="minifp-seperator" /><span class="minifp-date">16 Sep</span> | <span class="minifp-date">Sue Gee</span><br class="minifp-seperator" /><a href="/news/105-artificial-intelligence/19150-open-ai-claims-ai-has-solved-a-millenium-prize-problem.html"><img src="https://www.i-programmer.info/images/stories/News/2026/Sep/B/Navier_stokes_Eq.JPG" width="100" height="69" align="left" alt="article thumbnail" /></a><p><p>Open AI has announced an AI-generated proof of the Navier-Stokes Existence and Smoothness, one of the seven Millennium Prize Problems. Whether it is accepted as a fully verified solution is now the subject of intense academic scrutiny, but Open AI has already said it doesn't intend to claim the million-dollar prize.</p> 521</p><br class="minifp-seperator" /> 522 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/105-artificial-intelligence/19150-open-ai-claims-ai-has-solved-a-millenium-prize-problem.html">+ Full Story</a></div></td></tr><tr> 523 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/91-hardware/19149-arduino-reaches-core-zephyr-10.html">Arduino Reaches Core Zephyr 1.0</a></span><br class="minifp-seperator" /><span class="minifp-date">16 Sep</span> | <span class="minifp-date">Harry Fairhead</span><br class="minifp-seperator" /><a href="/news/91-hardware/19149-arduino-reaches-core-zephyr-10.html"><img src="https://www.i-programmer.info/images/stories/minifp//zephyricon_thumb.jpg" width="120" height="96" align="left" alt="article thumbnail" /></a><p><p>So the deed is done - Zephyr is now Arduino's operating system. After a lot of work it has now reached Version 1.0 and is fully part of the Arduino family. This is good, but it raises some interesting questions. </p> 524</p><br class="minifp-seperator" /> 525 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/91-hardware/19149-arduino-reaches-core-zephyr-10.html">+ Full Story</a></div></td></tr><tr>
526 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/89-net/19147-net-11-rc1-released-with-go-live-support.html">.NET 11 RC1 Released With Go-Live Support</a></span><br class="minifp-seperator" /><span class="minifp-date">15 Sep</span> | <span class="minifp-date">Kay Ewbank</span><br class="minifp-seperator" /><a href="/news/89-net/19147-net-11-rc1-released-with-go-live-support.html"><img src="https://www.i-programmer.info/images/stories/minifp//dotnet_thumb.jpg" width="100" height="105" align="left" alt="article thumbnail" /></a><p><p>Microsoft has released .NET 11 Release Candidate 1 with a go-live support license, so it can be used in production applications.</p> 527</p><br class="minifp-seperator" /> 528 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/89-net/19147-net-11-rc1-released-with-go-live-support.html">+ Full Story</a></div></td></tr><tr> 529 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/150-training-a-education/19146-mits-missing-semester-of-your-cs-education-2026-edition.html">MIT's Missing Semester of Your CS Education, 2026 Edition</a></span><br class="minifp-seperator" /><span class="minifp-date">15 Sep</span> | <span class="minifp-date">Nikos Vaggalis</span><br class="minifp-seperator" /><a href="/news/150-training-a-education/19146-mits-missing-semester-of-your-cs-education-2026-edition.html"><img src="https://www.i-programmer.info/images/stories/minifp//mitlogo_thumb.jpg" width="120" height="120" align="left" alt="article thumbnail" /></a><p><p>The Missing Semester of Your CS Education course aims to teach students essential tools and techniques that are often overlooked in the traditional computer science curriculum.</p> 530</p><br class="minifp-seperator" /> 531 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/150-training-a-education/19146-mits-missing-semester-of-your-cs-education-2026-edition.html">+ Full Story</a></div></td></tr><tr> 532 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/90-tools/19143-vs-code-gets-updated-agent-sessions.html">VS Code Gets Updated Agent Sessions</a></span><br class="minifp-seperator" /><span class="minifp-date">14 Sep</span> | <span class="minifp-date">Kay Ewbank</span><br class="minifp-seperator" /><a href="/news/90-tools/19143-vs-code-gets-updated-agent-sessions.html"><img src="https://www.i-programmer.info/images/stories/minifp//vscodeicon_thumb.jpg" width="120" height="120" align="left" alt="article thumbnail" /></a><p><p>Visual Studio Code 1.136 has been released with multi-root workspaces for agent sessions, and a redesigned new-session input that brings the prompt, model selection, workspace selection, and other session controls together in one layout.</p> 533</p><br class="minifp-seperator" /> 534 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/90-tools/19143-vs-code-gets-updated-agent-sessions.html">+ Full Story</a></div></td></tr><tr> 535 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/news/90-tools/19144-apache-iggy-achieves-top-level-status.html">Apache Iggy Achieves Top Level Status</a></span><br class="minifp-seperator" /><span class="minifp-date">14 Sep</span> | <span class="minifp-date">Alex Denham</span><br class="minifp-seperator" /><a href="/news/90-tools/19144-apache-iggy-achieves-top-level-status.html"><img src="https://www.i-programmer.info/images/stories/minifp//iggy_thumb.jpg" width="120" height="98" align="left" alt="article thumbnail" /></a><p><p>The Apache Software Foundation (ASF) has announced that Apache Iggy has become a Top-Level Project (TLP). Iggy is a hyper-efficient, persistent message streaming platform written in Rust, built for predictable ultra-low latency and a minimal infrastructure footprint. </p> 536</p><br class="minifp-seperator" /> 537 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/news/90-tools/19144-apache-iggy-achieves-top-level-status.html">+ Full Story</a></div></td></tr><tr><td valign="top" colspan="1"><span class='minifp-anotherlinks'>Other Recent News</span><ul class="minifp"><li class='minifp'><a href="/news/82-heritage/19142-zuse-computer-museum-forced-to-close.html">Zuse Computer Museum Forced To Close</a></li><li class='minifp'><a href="/i-programmer-weekly/246-i-programmer-weekly-2026/19136-september-week-1.html">September Week 1</a></li><li class='minifp'><a href="/news/169-robotics/19141-berkeley-develops-humanoid-lite.html">Berkeley Develops Humanoid Lite</a></li><li class='minifp'><a href="/news/126-os/19140-cern-moves-to-debian.html">CERN Moves To Debian</a></li><li class='minifp'><a href="/news/84-database/19138-polygres-advanced-search-on-postgresql.html">Polygres: Advanced Search On PostgreSQL</a></li><li class='minifp'><a href="/news/177-windows-8/19137-microsoft-announces-windows-11-for-developers.html">
537Microsoft Announces Windows 11 For Developers</a></li><li class='minifp'><a href="/news/150-training-a-education/19133-learn-python-for-date-analysis-with-jetbrains.html">Learn Python For Date Analysis With JetBrains</a></li><li class='minifp'><a href="/news/86-browsers/19117-chrome-deletes-manifest-v2-extensions.html">Chrome Deletes Manifest V2 Extensions</a></li><li class='minifp'><a href="/news/98-languages/19132-bun-14-rewritten-in-rust.html">Bun 1.4 Rewritten In Rust</a></li><li class='minifp'><a href="/news/167-javascript/19131-sveltekit-3-release-candidate-available.html">Sveltekit 3 Release Candidate Available</a></li><li class='minifp'><a href="/news/84-database/19130-actian-vectorai-db-a-new-player-in-the-vector-database-space.html">Actian VectorAI DB: A New Player In The Vector Database Space</a></li><li class='minifp'><a href="/news/80-java/19129-eclipse-jnosql-11-adds-asynchronous-repository-methods.html">Eclipse JNoSQL 1.1 Adds Asynchronous Repository Methods</a></li><li class='minifp'><a href="/news/167-javascript/19127-jquery-turns-20.html">jQuery Turns 20</a></li><li class='minifp'><a href="/i-programmer-weekly/246-i-programmer-weekly-2026/19121-august-week-5.html">August Week 5</a></li><li class='minifp'><a href="/news/99-professional/19126-what-happened-at-pgconfdev-2026.html">What happened At PGconf.dev 2026</a></li><li class='minifp'><a href="/news/204-challenges/19125-kaggle-knee-check-competition-now-open.html">Kaggle Knee Check Competition Now Open</a></li><li class='minifp'><a href="/news/197-data-mining/19122-apache-tike-40-adds-vision-language-model-parsers.html">Apache Tika 4.0 Adds Vision Language Model Parsers</a></li></ul></td></tr></table> 538 <p><img src="/images/banners/newssmall.jpg" alt="news" style="display: block; margin-left: auto; margin-right: auto;" /></p> 539 </div> 540 541 <!-- Second column />--> 542 <div class="item column-2 fixedwidth300" itemprop="blogPost" itemscope="" itemtype="https://schema.org/BlogPosting"> 543 544 <!-- BOOK REVIEW --> 545 <div id="reviewoftheday"> 546 <h1><span style="color: #ff0000;">I Programmer Library</span></h1> 547 </div> 548 549 <!-- ARTICLES --> 550 <div> 551 <h1><span style="color: #ff0000;">Featured Articles</span></h1> 552 553<table width="100%" class="minifp"><tr> 554 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/programming/72-theory/19163-programmers-guide-to-theory-computation.html">Programmer's Guide To Theory - Computation?</a></span><br class="minifp-seperator" /><span class="minifp-date">23 Sep</span> | <span class="minifp-date">Mike James</span><br class="minifp-seperator" /><a href="/programming/72-theory/19163-programmers-guide-to-theory-computation.html"><img src="https://www.i-programmer.info/images/stories/minifp//church_thumb.jpg" width="100" height="134" align="left" alt="article thumbnail" /></a><p><p class="western">Computationâ we all know what it is but can you define it? This is the first problem to be solved, before we can even start on a theory of computation.</p> 555</p><br class="minifp-seperator" /> 556 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/programming/72-theory/19163-programmers-guide-to-theory-computation.html">+ Full Story</a></div></td></tr><tr> 557 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/programming/72-theory/6431-functional-and-dysfunctional-programming.html">Functional And Dysfunctional Programming</a></span><br class="minifp-seperator" /><span class="minifp-date">22 Sep</span> | <span class="minifp-date">Mike James</span><br class="minifp-seperator" /><a href="/programming/72-theory/6431-functional-and-dysfunctional-programming.html"><img src="https://www.i-programmer.info/images/stories/News/2026/Sep/B/xkcdfunctional.JPG" width="100" height="118" align="left" alt="article thumbnail" /></a><p><p>What is functional programming? Surely all our programs should function in some way or other? No - that's not what it means. Functional programming is altogether different....</p> 558</p><br class="minifp-seperator" /> 559 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/programming/72-theory/6431-functional-and-dysfunctional-programming.html">+ Full Story</a></div></td></tr><tr>
560 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/programming/148-hardware/19148-esp32-risc-v-in-micropython-basic-gpio.html">ESP32 RISC-V In MicroPython: Basic GPIO</a></span><br class="minifp-seperator" /><span class="minifp-date">16 Sep</span> | <span class="minifp-date">Harry Fairhead and Mike James</span><br class="minifp-seperator" /><a href="/programming/148-hardware/19148-esp32-risc-v-in-micropython-basic-gpio.html"><img src="https://www.i-programmer.info/images/stories/minifp//espriscgpio3_thumb.jpg" width="100" height="24" align="left" alt="article thumbnail" /></a><p><p>A fundamental is how fast GPIOs are. This extract from <strong>Programming the ESP32 RISC V in MicroPython, </strong>part of the I Programmer Library, shows you how to work with GPIO.</p> 561</p><br class="minifp-seperator" /> 562 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/programming/148-hardware/19148-esp32-risc-v-in-micropython-basic-gpio.html">+ Full Story</a></div></td></tr><tr> 563 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/history/8-people/547-ritchie-a-thompson.html">Ritchie & Thompson - Creators of C and Unix</a></span><br class="minifp-seperator" /><span class="minifp-date">11 Sep</span> | <span class="minifp-date">Harry Fairhead</span><br class="minifp-seperator" /><a href="/history/8-people/547-ritchie-a-thompson.html"><img src="https://www.i-programmer.info/images/stories/minifp//Kendennis_thumb.jpg" width="100" height="65" align="left" alt="article thumbnail" /></a><p><p>Dennis Ritchie and Kenneth Thompson produced both Unix and C, two groundbreaking inventions that have shaped computer programming. This account of how it all happened is posted to mark what would have been Ritchie's 85th birthday..</p> 564</p><br class="minifp-seperator" /> 565 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/history/8-people/547-ritchie-a-thompson.html">+ Full Story</a></div></td></tr><tr> 566 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/programming/207-jquery/19134-jquery-4-modifying-dom-objects.html">jQuery 4 - Modifying DOM Objects</a></span><br class="minifp-seperator" /><span class="minifp-date">09 Sep</span> | <span class="minifp-date">Ian Elliot</span><br class="minifp-seperator" /><a href="/programming/207-jquery/19134-jquery-4-modifying-dom-objects.html"><img src="https://www.i-programmer.info/images/stories/minifp//jquery180_thumb.jpg" width="100" height="143" align="left" alt="article thumbnail" /></a><p><p class="western">Finding things with selectors etc is only the start. Usually you want to modify the DOM as well as searching it. This is an exclusive extract from Ian Elliot's new book on jQuery 4.</p> 567</p><br class="minifp-seperator" /> 568 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/programming/207-jquery/19134-jquery-4-modifying-dom-objects.html">+ Full Story</a></div></td></tr></table> 569 </div> 570 571 <!-- CARTOON --> 572 <table style="width: 300px; margin-left: auto; margin-right: auto;"> 573<tbody> 574<tr> 575<td style="margin-left: 30px;" align="center"> 576<h1 style="text-align: center;"><span style="color: #ff0000;">Unhandled Exception!<br />Forth<br /></span></h1> 577<p style="text-align: center;"><span style="font-size: 8pt;"> <em>More cartoon fun at <a href="https://xkcd.com/" rel="noopener noreferrer" target="_blank">xkcd</a> a webcomic of romance,sarcasm, math, and language</em></span></p> 578<img style="display: block; margin-left: auto; margin-right: auto;" src="https://imgs.xkcd.com/comics/forth.png" alt="" />I it Like. 579<p><a class="mfp-readon" href="/component/content/article/235/942.html">+ More Cartoons</a></p> 580</td> 581</tr> 582</tbody> 583</table> 584 585 <hr /> 586 <!-- BOOKWATCH --> 587 <div class="bookwatch"> 588 <h1><span style="color: #ff0000;">Book Watch<br /></span></h1> 589 <p><em><a href="http://www.i-programmer.info/book-watch-archive.html" target="_self">Book Watch</a> 590 is I Programmer's listing of new books and is compiled using 591 publishers' publicity material. 592 It is not to be read as a review where we provide an independent assessment. 593 </em></p> 594 595<table width="100%" class="minifp"><tr>
596 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/book-watch-archive/19166-murachs-python-programming-3rd-ed-murachs.html">Murach's Python Programming, 3rd Ed (Murachs)</a></span><br class="minifp-seperator" /><span class="minifp-date">23 Sep</span><br class="minifp-seperator" /></a><p><p>This book takes a self-paced approach to cater for new and existing programmers. If you already know other languages, you can move quickly through the familiar to focus on the new as you learn Python faster. Joel Murach and Michael Urban start with an 8-chapter introduction course to Python that gets as far as using functions and modules to organize a program that uses file I/O to read and write data. Section 2 builds on that foundation with additional skills every Python programmer needs. Section 3 dives into object-oriented programming. And section 4 brings it all together as you build realistic database and GUI applications.</p> 597<p><ASIN:B0H1ZNKWDD ></p> 598</p><br class="minifp-seperator" /> 599 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/book-watch-archive/19166-murachs-python-programming-3rd-ed-murachs.html">+ Full Story</a></div></td></tr><tr> 600 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/book-watch-archive/19159-fundamentals-of-computer-graphics-5th-ed-crc-press.html">Fundamentals of Computer Graphics, 5th Ed (CRC Press)</a></span><br class="minifp-seperator" /><span class="minifp-date">21 Sep</span><br class="minifp-seperator" /></a><p><p>This book provides a comprehensive introduction to basic computer graphic technology and theory. Focusing on geometric intuition, Steve Marschner and Peter Shirley give the necessary information for understanding how images get onto the screen by using the complementary approaches of ray tracing and rasterization. It covers topics common to an introductory course, such as sampling theory, texture mapping, spatial data structure, and splines. It also includes a number of contributed chapters from authors known for their expertise and clear way of explaining concepts.</p> 601<p><ASIN:0367505584 ></p> 602</p><br class="minifp-seperator" /> 603 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/book-watch-archive/19159-fundamentals-of-computer-graphics-5th-ed-crc-press.html">+ Full Story</a></div></td></tr><tr> 604 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/book-watch-archive/19156-unreal-engine-5-for-beginners-packt.html">Unreal Engine 5 for Beginners (Packt)</a></span><br class="minifp-seperator" /><span class="minifp-date">18 Sep</span><br class="minifp-seperator" /></a><p><p>Subtitled "A step-by-step guide to building your first playable third-person game", this book teaches Unreal Engine 5 via a hands-on game project, progressing from editor basics and Blueprints to AI, UI, cinematics, polish, and packaging.<br/> Authors Zhenyu George Li , Charles Shih-I Yeh and Michael Oakes begin by showing how to install Unreal Engine, setting up a first project, and exploring the editor to build and light levels. As the book progresses, readers will create gameplay with Blueprints, import and animate a player character, and configure controls with Enhanced Input. They'll then develop AI enemies and implement gameplay rules, mission objectives, and win-and-lose conditions.</p> 605<p><ASIN:1806105918 ></p> 606</p><br class="minifp-seperator" /> 607 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/book-watch-archive/19156-unreal-engine-5-for-beginners-packt.html">+ Full Story</a></div></td></tr><tr> 608 <td valign="top" width="100%" class="minifp"><hr/><span class="minifp-introtitle"><a href="/book-watch-archive/19151-the-well-grounded-rubyist-4th-ed-manning.html">The Well-Grounded Rubyist 4th Ed (Manning)</a></span><br class="minifp-seperator" /><span class="minifp-date">16 Sep</span><br class="minifp-seperator" /></a><p><p>This book puts the core principles of the language on full display rather than treating it as a collection of syntax rules. In the updated fourth edition, David A Black and Joseph Leo III tell a clear programming story: start with basic language literacy, explore how objects and methods interact, build a strong foundation in object-oriented design, and finally move into dynamic features like runtime introspection.</p> 609<p><ASIN:1633434869></p> 610</p><br class="minifp-seperator" /> 611 <div class="minifp-full-link-wrp"><a class="minifp-full-link" href="/book-watch-archive/19151-the-well-grounded-rubyist-4th-ed-manning.html">+ Full Story</a></div></td></tr><tr><td valign="top" colspan="1"><span class='minifp-anotherlinks'>More Book Watch</span><ul class="minifp"><li class='minifp'><a href="/book-watch-archive/19145-designing-and-implementing-semantic-data-layers-technics-publications.html">Designing and Implementing Semantic Data Layers (Technics Publications)</a></li><li class='minifp'><a href="/book-watch-archive/19139-no-one-planned-this-how-platforms-rewired-entertainment--dca.html">No One Planned This: How Platforms Rewired Entertainment ( DCA)</a></li><li class='minifp'><a href="/book-watch-archive/19135-python-automation-cookbook-3rd-ed-packt.html">Python Automation Cookbook, 3rd Ed (Packt)</a></li><li class='minifp'><a href="/book-watch-archive/19128-rust-for-c-engineers-fromc2rust.html">Rust for C Engineers (FromC2Rust)</a></li><li class='minifp'><a href="/book-watch-archive/19124-the-evolution-of-the-swipe-taps-and-apps-manuscripts.html">
611The Evolution of the Swipe: Taps and Apps (Manuscripts)</a></li><li class='minifp'><a href="/book-watch-archive/19120-python-3-2nd-ed-rheinwerk-computing.html">Python 3 2nd Ed (Rheinwerk Computing)</a></li></ul></td></tr></table> 612 <hr /><a href="/book-watch-archive.html"><strong>Previous Book Watch</strong>.</a> 613 <p>Publishers send your book news to:<br /><a href="mailto:[email protected]">[email protected]</a></p> 614 </div> 615 <hr /> 616 </div> 617 </div> 618 619 620 <span class="breadcrumbs pathway"> 621</span> 622 623 <div class="clearfix"></div> 624 625 <!-- End Content --> 626 </main> 627 628 629 <div id="aside" class="hidden-tablet hidden-phone" style="float:left"> 630 631 <!-- Begin Right Sidebar --> 632 <!-- <div class="bannergroup"> 633 634<div class="banneritem"><a href="/component/banners/click/317.html" target="_blank"><img src="https://www.i-programmer.info/images/banners/iot.gif" alt="Banner" /></a><div class="clr"></div> 635 </div> 636<div class="banneritem"><div id="azk4904"></div><div class="clr"></div> 637 </div> 638 639</div><div class="bannergroup"> 640 641<div class="banneritem"><div id="azk23147"></div><div class="clr"></div> 642 </div> 643 644</div><div class="bannergroup"> 645 646<div class="banneritem"><div id="azk4904"></div><div class="clr"></div> 647 </div> 648<div class="banneritem">
648<script id="mNCC" language="javascript"> 649 medianet_width = "160"; 650 medianet_height = "600"; 651 medianet_crid = "661715628"; 652 medianet_versionId = "111299"; 653 (function() { 654 var isSSL = 'https:' == document.location.protocol; 655 var mnSrc = (isSSL ? 'https:' : 'http:') + '//contextual.media.net/nmedianet.js?cid=8CUG5J6EY' + (isSSL ? '&https=1' : ''); 656 document.write('<scr' + 'ipt type="text/javascript" id="mNSC" src="' + mnSrc + '"></scr' + 'ipt>'); 657 })(); 658</script>
658<div class="clr"></div> 659 </div> 660 661</div><div class="bannergroup"> 662 663<div class="banneritem">
663<script type="text/javascript"> 664google_ad_client = "pub-9936000140414196"; 665/* 160x600, created 08/01/09 */ 666google_ad_slot = "1615484292"; 667google_ad_width = 160; 668google_ad_height = 600; 669</script>
669
670<script src="//pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
670<div class="clr"></div> 671 </div> 672 673</div><div class="bannergroup"> 674 675 676</div> 677 End Right Sidebar --> 678 </div> 679 680 </div> 681 </div> 682 <footer class="footer" role="contentinfo"> 683 <div class="container fluidContainer"> 684 <div class="bannergroup"> 685 686<div class="banneritem"><div id="amzn-assoc-ad-06b2a910-2ea4-402d-ad19-e3c81b1cd26e"></div>
686<script async src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=06b2a910-2ea4-402d-ad19-e3c81b1cd26e"></script>
686<div class="clr"></div> 687 </div> 688<div class="banneritem">
688<script async src="//pagead2.googlesyndication.com/pagead
688<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
688 689<!-- newBottomAd --> 690<ins class="adsbygoogle" 691 style="display:block" 692 data-ad-client="ca-pub-9936000140414196" 693 data-ad-slot="9386811720" 694 data-ad-format="auto" 695 data-full-width-responsive="true"></ins>
696<script> 697(adsbygoogle = window.adsbygoogle || []).push({}); 698</script>
698<div class="clr"></div> 699 </div> 700 701</div><div style="text-align:left" class="bcarss"> 702 <div style="text-align:left" class="bcarss_message"> 703 RSS feed of all content </div> 704<div style="text-align:left" class="bcarss_feed"><a href="https://www.i-programmer.info/index.php?option=com_ninjarsssyndicator&feed_id=3&format=raw"><img src="https://www.i-programmer.info/components/com_ninjarsssyndicator/assets/images/buttons/rss20.gif" alt="I Programmer - full contents" title="I Programmer - full contents" /></a></div></div> 705 706 <div style="padding:4px;"> 707 Copyright 2009-2026 i-programmer.info. All Rights Reserved. 708 <br><br> 709 </div> 710 </div> 711 </footer> 712 </div> 713 714</body> 715</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.